SEMAT and Essence

What is it and why should you care?

The situation

There are millions of software engineers on the planet in countless programs, projects and teams; the millions of lines of software that run the world are testament to their talents. However, as a community we still find it difficult to share our best practices, truly empower our teams, seamlessly integrate software engineering with other engineering disciplines and into our businesses, and maintain the health of our endeavors avoiding embarrassing and unnecessary catastrophic failures.

The industry’s habit of constantly switching between no method and the latest "one true way” (an affliction that sadly is even affecting the agile community) is not the way forward.

Big Data, Cloud Computing and Industrial Internet are major resources in the development of software. Having sophisticated software engineering skills and practices are paramount for success.  Many different kinds of practices beyond the more common agile practices (Scrum, user stories, etc.) are needed to be successful. These include practices for architecture, system of systems, use cases, service-oriented development, teams of teams, process improvement, etc.

SEMAT and Essence are big thinking for Software Engineers.

What is SEMAT?

SEMAT is a community of people (about 2000), some companies (including ABB, Ericsson, Fujitsu UK, Huawei and TCS), and some universities around the world (including Carnegie Mellon West, Free University of Bozen Bolzano, Korea Advanced Institute of Science and Technology, KTH Royal Institute of Technology, Tsinghua University and University of Twente), supporting an initiative to create a common ground, a kernel or a foundation for software engineering; something that has been missing until now.  Today there are seven chapters of SEMAT around the world: China, India, Japan, Korea, Latin America, Russia and South Africa.

What is Essence?

Essence is one of the first and most prominent outputs from the SEMAT community – a standard for working with methods in software engineering adopted by OMG in June 2014. [1]

It is a common ground, a kernel or a foundation for software engineering.  This foundation will 1) enable teams to understand and visualize the progress and health of their endeavors regardless of their way of working, and 2) allow teams to easily share, adapt, and “plug and play” their practices to create the innovative ways of working that they need to excel and continuously improve. Essence provides a foundation that allows teams to share and free their practices from the shackles of big process. [2]

In the same way that a GPS system shows you where you are, where you want to go, and the best way to get there when making a journey, Essence can do the same for teams of engineers developing software.

Who is the audience for SEMAT and Essence?

It is for the whole software development community – both for the industry (developers and executives) and for the academics (teachers and researchers).

  1. It guides developers in achieving measurable results and to reuse their knowledge in a systematic way.

  2. It helps executives to lead programs and projects in a balanced way without more governance than necessary and to develop learning organizations.

  3. It allows teachers to teach software engineering in a logical and systematic way.

  4. Researchers can use Essence as a definition of the problem they want to understand and explore in their efforts to develop a General Theory of Software Engineering.

Such an initiative, addressing the entire software community, has never been in place before.

What impact will the adoption of Essence have on an organization?

Today software development is more of a craft and less of an engineering discipline.  It is based on practices formulated as rules of thumbs instead of standing on a scientific foundation. SEMAT helps organizations to move from relying on software development as a craft only (as typically with agile today) to being an engineering discipline - still of course being agile.  [3]

In practice this means better software, faster and with happier customers - and these improvements are measurable. 

Another key value expected from deploying Essence is that organizations become learning organizations. [4]

The industry discovers Essence - Case studies

Here are a few case studies among all the organizations already using Essence.

  1. Munich Re and Essence – a Case Study. One of the world’s largest reinsurers, Munich Re, has applied the Essence kernel with great results (Munich_Re_Essence_Case_Study-2014-12-01).

  2. Google Switzerland Explored Essence (here).

  3. Global telecom equipment vendor used the Essence standard to scale agile with 1200 people achieved within nine months. This case study involved developing a large number of practices around the Essence kernel for scaling agile (AsianTelecomm1).

  4. Development team at global Internet services company learns and applies Essence.  Team very engaged and interactive  (Essence_globaltech1)

Where can I read about SEMAT/Essence?

Several papers have been written about SEMAT and Essence.  These are recommended readings from an organization point of view, hard to prioritize but starting with [3], and then [2] is probably the easiest way to get an understanding of the values before a deeper understanding of the results.  Several of these papers are translated to other languages.

 

  1. The Essence of Software Engineering: The SEMAT Kernel [2]. This paper gives an overview of the Software Engineering Methods and Theory (SEMAT: http://www.semat.org/) initiative that resulted in the new Essence standard.

  2. Major-League SEMAT: Why should an executive care? [3].  A particularly important reason is in creating a learning organization, but there are several other examples of building a better, faster and happier organization.

  3. A New Software Engineering [4].  A thought provoking paper motivating the move from software development as a craft to software development as an engineering discipline. It downloaded in four days more than 30,000 times. A shorter version of this paper titled Real Software Engineering [5] was published in India.

  4. SEMAT Yesterday, Today and Tomorrow [6].  This article provides an historical overview of where SEMAT started, achievements of the past, today's priorities and plans for the future. The paper is aimed primarily at readers from Industry. The focus is on explaining how SEMAT achievements can help the software industry today and in the future. We have also written two books on SEMAT/Essence.

  5. The Essence of Software Engineering – Applying the SEMAT Kernel [7].  This book is now translated to Chinese and Spanish.

  6. 15 Fundamentals for Higher Performance in  Software Development [8]. The book highlights fifteen (15) fundamentals common to all successful improvement efforts and it shows how Essence can help.

Where can I learn about Essence

Ivar Jacobson International (IJI) (www.ivarjacobson.com) has been authorized by SEMAT to provide training and certification in SEMAT related products.  This is now done in Europe, USA and China.

You may also contact members of Regional Chapters of SEMAT to get help in learning about Essence.  Information about Regional Chapters can be found here.

References

[1] Object Management Group, Essence - Kernel And Language For Software Engineering Methods (Essence), November 2014. (http://www.omg.org/spec/Essence/)

[2] Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence and Svante Lidman, “The Essence of Software Engineering: The SEMAT Kernel,” Communications of the ACM, Volume 55, Issue 12, December 2012. Pages 42-49   (http://queue.acm.org/detail.cfm?id=2389616). 

[3] Ivar Jacobson, Pan-Wei Ng, Ian Spence and Paul E. McMahon, “Major-League SEMAT: Why should an executive care?” Communications of the ACM, Volume 57 Issue 4, April 2014. Pages 44-50 
(http://queue.acm.org/detail.cfm?id=2590809).

[4] Ivar Jacobson and Ed Seidewitz, “A New Software Engineering,” Communications of the ACM, Volume 57, Issue 12, December 2014. Pages 49-54 (http://queue.acm.org/detail.cfm?id=2693160)

[5] Ivar Jacobson and Ed Seidewitz, “Real Software Engineering,” CSI Communications, Aug 2014. Pages 7-9 (https://www.ivarjacobson.com/publications/articles/real-software-engineering).

[6] June Sung Park, Ivar Jacobson, Barry Myburgh, Pontus Johnson and Paul E. McMahon, “SEMAT Yesterday, Today and Tomorrow” (here).

[7] Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence and Svante Lidman The Essence of Software Engineering – Applying the SEMAT Kernel, Addison-Wesley, 2013. (http://amzn.to/1xtHugh).

[8] Paul E. McMahon, 15 Fundamentals for Higher Performance in Software Development, PEM Systems, 2014. (http://amzn.com/099045083X) .