Welcome!

Machine Learning Authors: Pat Romanski, Elizabeth White, Liz McMillan, Progress Blog, Kevin Jackson

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.

@CloudExpo Stories
Cloud-based disaster recovery is critical to any production environment and is a high priority for many enterprise organizations today. Nearly 40% of organizations have had to execute their BCDR plan due to a service disruption in the past two years. Zerto on IBM Cloud offer VMware and Microsoft customers simple, automated recovery of on-premise VMware and Microsoft workloads to IBM Cloud data centers.
Why Federal cloud? What is in Federal Clouds and integrations? This session will identify the process and the FedRAMP initiative. But is it sufficient? What is the remedy for keeping abreast of cutting-edge technology? In his session at 21st Cloud Expo, Rasananda Behera will examine the proposed solutions: Private or public or hybrid cloud Responsible governing bodies How can we accomplish?
SYS-CON Events announced today that Daiya Industry will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Daiya Industry specializes in orthotic support systems and assistive devices with pneumatic artificial muscles in order to contribute to an extended healthy life expectancy. For more information, please visit https://www.daiyak...
The last two years has seen discussions about cloud computing evolve from the public / private / hybrid split to the reality that most enterprises will be creating a complex, multi-cloud strategy. Companies are wary of committing all of their resources to a single cloud, and instead are choosing to spread the risk – and the benefits – of cloud computing across multiple providers and internal infrastructures, as they follow their business needs. Will this approach be successful? How large is the ...
Enterprises are moving to the cloud faster than most of us in security expected. CIOs are going from 0 to 100 in cloud adoption and leaving security teams in the dust. Once cloud is part of an enterprise stack, it’s unclear who has responsibility for the protection of applications, services, and data. When cloud breaches occur, whether active compromise or a publicly accessible database, the blame must fall on both service providers and users. In his session at 21st Cloud Expo, Ben Johnson, C...
In his session at @ThingsExpo, Greg Gorman is the Director, IoT Developer Ecosystem, Watson IoT, will provide a short tutorial on Node-RED, a Node.js-based programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using a wide range of nodes in the palette that can be deployed to its runtime in a single-click. There is a large library of contributed nodes that help so...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
Many organizations adopt DevOps to reduce cycle times and deliver software faster; some take on DevOps to drive higher quality and better end-user experience; others look to DevOps for a clearer line-of-sight to customers to drive better business impacts. In truth, these three foundations go together. In this power panel at @DevOpsSummit 21st Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, industry experts will discuss how leading organizations build application success from all...
Most of the time there is a lot of work involved to move to the cloud, and most of that isn't really related to AWS or Azure or Google Cloud. Before we talk about public cloud vendors and DevOps tools, there are usually several technical and non-technical challenges that are connected to it and that every company needs to solve to move to the cloud. In his session at 21st Cloud Expo, Stefano Bellasio, CEO and founder of Cloud Academy Inc., will discuss what the tools, disciplines, and cultural...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory?
SYS-CON Events announced today that App2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct. 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. App2Cloud is an online Platform, specializing in migrating legacy applications to any Cloud Providers (AWS, Azure, Google Cloud).
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, will introduce two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a mu...
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
Mobile device usage has increased exponentially during the past several years, as consumers rely on handhelds for everything from news and weather to banking and purchases. What can we expect in the next few years? The way in which we interact with our devices will fundamentally change, as businesses leverage Artificial Intelligence. We already see this taking shape as businesses leverage AI for cost savings and customer responsiveness. This trend will continue, as AI is used for more sophistica...
21st International Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Me...
Trying to improve density, lower costs and run applications faster than before? Today, enterprises looking for a secure cloud strategy are increasingly turning to container-based Platform as a Service solutions for on-premises hosted DevOps. In her session at 21st Cloud Expo, Alise Cashman Spence, Offering Manager, Power Systems Cloud Solutions at IBM, will discuss the driving factors behind these cloud trends and how IBM customers are realizing exceptional performance, security and control for ...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.