Click here to close now.

Welcome!

Microservices Journal Authors: JP Morgenthal, Baruch Sadogursky, Elizabeth White, Liz McMillan, Plutora Blog

Related Topics: Java, XML, Microservices Journal, Websphere, Weblogic, .NET, AJAX & REA

Java: 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.

@MicroservicesExpo Stories
How can you compare one technology or tool to its competitors? Usually, there is no objective comparison available. So how do you know which is better? Eclipse or IntelliJ IDEA? Java EE or Spring? C# or Java? All you can usually find is a holy war and biased comparisons on vendor sites. But luckily, sometimes, you can find a fair comparison. How does this come to be? By having it co-authored by the stakeholders. The binary repository comparison matrix is one of those rare resources. It is edite...
There’s a lot of discussion around managing outages in production via the likes of DevOps principles and the corresponding software development lifecycles that does enable higher quality output from development, however, one cannot lay all blame for “bugs” and failures at the feet of those responsible for coding and development. As developers incorporate features and benefits of these paradigm shift, there is a learning curve and a point of not-knowing-what-is-not-known. Sometimes, the only way ...
Working with Big Data is challenging, especially when decision makers depend on market insights and intelligence from your data but don't have quick access to it or find it unusable. In their session at 6th Big Data Expo, Ian Khan, Global Strategic Positioning & Brand Manager at Solgenia; Zel Bianco, President, CEO and Co-Founder of Interactive Edge of Solgenia; and Ermanno Bonifazi, CEO & Founder at Solgenia, discussed how a revolutionary cloud-based BI along with mobile analytics is already c...
Hardware will never be more valuable than on the day it hits your loading dock. Each day new servers are not deployed to production the business is losing money. While Moore's Law is typically cited to explain the exponential density growth of chips, a critical consequence of this is rapid depreciation of servers. The hardware for clustered systems (e.g., Hadoop, OpenStack) tends to be significant capital expenses. In his session at Big Data Expo, Mason Katz, CTO and co-founder of StackIQ, disc...
Container frameworks, such as Docker, provide a variety of benefits, including density of deployment across infrastructure, convenience for application developers to push updates with low operational hand-holding, and a fairly well-defined deployment workflow that can be orchestrated. Container frameworks also enable a DevOps approach to application development by cleanly separating concerns between operations and development teams. But running multi-container, multi-server apps with containers ...
There is no doubt that Big Data is here and getting bigger every day. Building a Big Data infrastructure today is no easy task. There are an enormous number of choices for database engines and technologies. To make things even more challenging, requirements are getting more sophisticated, and the standard paradigm of supporting historical analytics queries is often just one facet of what is needed. As Big Data growth continues, organizations are demanding real-time access to data, allowing immed...
SYS-CON Events announced today that EnterpriseDB (EDB), the leading worldwide provider of enterprise-class Postgres products and database compatibility solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. EDB is the largest provider of Postgres software and services that provides enterprise-class performance and scalability and the open source freedom to divert budget from more costly traditiona...
Do you think development teams really update those BMC Remedy tickets with all the changes contained in a release? They don't. Most of them just "check the box" and move on. They rose a Risk Level that won't raise questions from the Change Control managers and they work around the checks and balances. The alternative is to stop and wait for a department that still thinks releases are rare events. When a release happens every day there's just not enough time for people to attend CAB meeting...
Enterprises are fast realizing the importance of integrating SaaS/Cloud applications, API and on-premises data and processes, to unleash hidden value. This webinar explores how managers can use a Microservice-centric approach to aggressively tackle the unexpected new integration challenges posed by proliferation of cloud, mobile, social and big data projects. Industry analyst and SOA expert Jason Bloomberg will strip away the hype from microservices, and clearly identify their advantages and d...
Data-intensive companies that strive to gain insights from data using Big Data analytics tools can gain tremendous competitive advantage by deploying data-centric storage. Organizations generate large volumes of data, the vast majority of which is unstructured. As the volume and velocity of this unstructured data increases, the costs, risks and usability challenges associated with managing the unstructured data (regardless of file type, size or device) increases simultaneously, including end-to-...
SYS-CON Events announced today that the "First Containers & Microservices Conference" will take place June 9-11, 2015, at the Javits Center in New York City. The “Second Containers & Microservices Conference” will take place November 3-5, 2015, at Santa Clara Convention Center, Santa Clara, CA. Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities.
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists will peel away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud en...
I’ve been thinking a bit about microservices (μServices) recently. My immediate reaction is to think: “Isn’t this just yet another new term for the same stuff, Web Services->SOA->APIs->Microservices?” Followed shortly by the thought, “well yes it is, but there are some important differences/distinguishing factors.” Microservices is an evolutionary paradigm born out of the need for simplicity (i.e., get away from the ESB) and alignment with agile (think DevOps) and scalable (think Containerizati...
In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, president of Intellyx, panelists Roberto Medrano, Executive Vice President at Akana; Lori MacVittie, IoT_Microservices Power PanelEvangelist for F5 Networks; and Troy Topnik, ActiveState’s Technical Product Manager; will peel away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of ...
Announced separately, New Relic is joining the Cloud Foundry Foundation to continue the support of customers and partners investing in this leading PaaS. As a member, New Relic is contributing the New Relic tile, service broker and build pack with the goal of easing the development of applications on Cloud Foundry and enabling the success of these applications without dedicated monitoring infrastructure. Supporting Quotes "The proliferation of microservices and new technologies like Docker ha...
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, will cover the union between the two topics and why this is important. He will cover an overview of Immutable Infrastructure then show how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He will end the session with some interesting case study examples.
SYS-CON Media named Andi Mann editor of DevOps Journal. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. DevOps Journal brings valuable information to DevOps professionals who are transforming the way enterprise IT is done. Andi Mann, Vice President, Strategic Solutions, at CA Technologies, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, communicator, and thought lea...
Even though it’s now Microservices Journal, long-time fans of SOA World Magazine can take comfort in the fact that the URL – soa.sys-con.com – remains unchanged. And that’s no mistake, as microservices are really nothing more than a new and improved take on the Service-Oriented Architecture (SOA) best practices we struggled to hammer out over the last decade. Skeptics, however, might say that this change is nothing more than an exercise in buzzword-hopping. SOA is passé, and now that people are ...
"People are a lot more knowledgeable about APIs now. There are two types of people who work with APIs - IT people who want to use APIs for something internal and the product managers who want to do something outside APIs for people to connect to them," explained Roberto Medrano, Executive Vice President at SOA Software, in this SYS-CON.tv interview at Cloud Expo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
The 5th International DevOps Summit, co-located with 17th International Cloud Expo – being held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the...