Welcome!

Java IoT Authors: Liz McMillan, Yeshim Deniz, Elizabeth White, Zakia Bouachraoui, Pat Romanski

Related Topics: Java IoT, Industrial IoT, Microservices Expo, IBM Cloud, Weblogic, Microsoft Cloud, Machine Learning

Java IoT: Book Review

Book Review: The Essence of Software Engineering

Applying the SEMAT Kernel

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.

The Essence of Software Engineering: Applying the SEMAT Kernel

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

IoT & Smart Cities Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
DXWorldEXPO LLC, the producer of the world's most influential technology conferences and trade shows has announced the 22nd International CloudEXPO | DXWorldEXPO "Early Bird Registration" is now open. Register for Full Conference "Gold Pass" ▸ Here (Expo Hall ▸ Here)
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of ...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...