SParikh wrote: This article speaks true to the importance and capitalizing of the cloud. Me having experience dealing with cloud based tech and consulting and integration services, I realize the need for a secure and consistant cloud service. Many people are concerned with the privacy, or lack thereof, that could occur with storing personal documents into a non-physical storage unit. I can see, though with companies such as ours and Metacloud, we are working toward a more secure and easy to use cloud system for both personal and professional use.
I have had the opportunity to lead dozens of software development projects which I love doing. I have also had the opportunity to watch dozens of software development project from the sidelines, while working on my own project, or in place as a consultant to accomplish something other than run the development process.
From the sidelines I have seen some succeed, some crash and burn, and the rest get close enough to success that the team can sell it as a success. Sometimes the later takes a heck of a sales job. I would say in my book 80% of those sold as successes failed. They either came in well over budget, well beyond their projected delivery date, or delivered such buggy software that the maintenance effort was as big as the development effort. Success to the team simply meant they considered the project over. You will find of those project teams run as fast as they can instead of doing a retrospective study.
The hard and sad part of watching the projects flop is that they are so predictable. A lot of times I find an environment has just come to terms with the fact that all the projects will come in late, over budget, and buggy. They have accepted reaching the end of the project as the only measure of success. You will usually find those environments are running in fire mode. Meaning the highest priorities for the day are the hottest fires and there are fires for everyone every day. They can't see it, but even there larger strategic projects are reacting to fires. They never get ahead, they just keep slowly slipping further behind.
So by now you are probably wondering what all that blather has to do with this book? To be able to recognize a project that is going off-track takes years of experience. The SEMAT Kernel provides a set of tools that enable those, that would normally not have enough experience to recognize when the project is going off-track, to be able to. The book is broken down into seven parts. I have listed each part below with the chapters they contain.
Part I: The Kernel Idea Explained 1. A Glimpse of How the Kernel Can Be Used 2. A Little More Detail about the Kernel 3. A 10,000-Foot View of the Full Kernel 4. The Kernel Alphas Made Tangible with Cards 5. Providing More Details to the Kernel through Practices 6. What the Kernel Can Do for You
Part II: Using the Kernel to Run an Iteration 7. Running Iterations with the Kernel: Plan-Do-Check-Adapt 8. Planning an Iteration 9. Doing and Checking the Iteration 10. Adapting the Way of Working 11. Running an Iteration with Explicit Requirement Item States
Part III: Using the Kernel to Run a Software Endeavor 12. Running a Software Endeavor: From Idea to Production 13. Building the Business Case 14. Developing the System 15. Operating the Software
Part IV: Scaling Development with the Kernel 16. What Does It Mean to Scale? 17. Zooming In to Provide Details 18. Reaching Out to Different Kinds of Development 19. Scaling Up to Large and Complex Development
Part V: How the Kernel Changes the Way You Work with Methods 20. Thinking about Methods without Thinking about Methods 21. Agile Working with Methods
Part VI: What’s Really New Here? 22. Refounding Methods 23. Separation of Concerns Applied to Methods 24. The Key Differentiators
Part VII: Epilogue 25. This Is Not the End 26. ... But Perhaps It Is the End of the Beginning 27. When the Vision Comes True
Appendixes Appendix A. Concepts and Notation Appendix B. What Does This Book Cover with Respect to the Kernel?
This book is not about defining or executing a new software development process, so don't expect to find how to create user stories, manage a product backlog, implement an instance of the RUP, or document your software architecture. This book is about the essential elements that are part of every software development process and how to recognize their current state in order to understand where you are in the process of your choice. It also walks you through the process of assembling a method from activities you have selected to use.
The kernel is broken down into three areas of concern which include Customer, Solution, and Endeavor. Each area of concern encapsulates alphas (things that progress and evolve) and activities.
Alphas include Opportunity, Stakeholders, Requirements, Software System, Team, Work, and Way of Working. Each of these have six different states attached to them which reflect their maturity.
The book defines activity spaces as explore possibilities, understand stakeholder needs, ensure stakeholder satisfaction, use the system, understand the requirements, shape the system, implement the system, test the system, deploy the system, operate the system, prepare to do the work, coordinate activity, support the team, track progress, and stop the work.
The next step the book takes is to assemble the alphas and activities into practices. An example of a practice would be a requirements elicitation practice. The practices are then used to build methods.
One really nice thing this book does is provide a common vocabulary that can be use across processes. Meaning that no matter what process you are using the kernel's alphas and activities apply. This will make it easier to see the different processes for what they really are at their core and make them easier to understand.
One thing I would have like to see different with this book is the alphas full checklist be used instead of the short-form, or at least have the long form list included in an appendix. You can get the full checklist from the Essence – Kernel and Language for Software Engineering Methods which is on the SEMAT web site. This does not take anything away from the book, it is just a pet peeve of mine. I don't like when a book provides less detail than the free specifications available on line.
I have found some books that are just summaries of the online work and you end up being pointed to that work in every chapter. That is not the case with this book, there is a lot of information in this book you won't find in the specs on line. The format and writing style of the book also makes reading the book much more pleasurable than reading the Essence – Kernel and Language for Software Engineering Methods OMG submission.
Overall I found this book to be a breath of fresh air. It is hard to find any pure software engineering process books anymore. They all tend to be a rehash of all the latest agile processes out there, which are all just reworks of all the iterative processes out there. The book and its material is very usable. I highly recommend this book to anyone with any role in the software development field.
Organizational structures become obsolete just like the technology that they manage. Management structures must be reviewed and replaced just like systems, software and technology – especially in mission-critical applications.
In the last decade or so, more organizations have de...
Our client TescaraHats (name changed for commercial reasons), a European market leader in manufacturing customized hats, decided to expand its market reach with an e-commerce site where its potential customers could choose, customize and order hats online. TescaraHats used an APM...
In a previous post we showed how we hooked up our blog’s WordPress application with the new Compuware APMaaS offering. Since WordPress is a PHP application we use PurePath for PHP to monitor it. We highlighted that we got an alert about a response time violation on some of our bl...
For a while now I have been writing about how to analyze and optimize Hadoop jobs beyond just tweaking MapReduce options. The other day I took a look at some of our Outage Analyzer Hadoop jobs and put words into action.
A simple analysis of the Outage Analyzer jobs with Compuwar...
Google made its much anticipated move Tuesday and pocketed Waze, the Israeli real-time traffic map maker.
It didn’t disclose how much it’s paid to close the deal, but the Israeli paper Globes put the price at $1.3 billion. Bloomberg put it at $1.1 billion. Either way it’s repor...