As you may know from our Three Year Vision, Semat’s first step was to create a common ground for software engineering. This common ground would be manifested as a kernel of essential elements that are universal to all software development efforts, and a simple language describing methods, practices and the kernel elements. Both the kernel and the language should be widely accepted. Right now, Semat is in the process of completing the first step, which has resulted in the following:
A submission, called “Essence — Kernel and Language for Software Engineering” to the OMG’s RFP (Request for Proposal) “A Foundation for the Agile Creation and Enactment of Software Engineering Methods“. Two other works have been submitted to OMG. The Semat results were very well received by OMG. The Semat submission will incorporate some ideas from the other two submissions into the new “Essence” submission. Semat will also incorporate ideas from the existing standard Spem.
Semat will be presented at the International Conference of Software Engineering (ICSE 2012) in Zurich on June 6, 2012. This will happen in the “Refounding Software Engineering” session. It is Semat’s first international publication and more publications are on the way.
A new book `The Essence of Software Engineering – Applying the Semat kernel’ is coming – now in peer review. The book’s objective is to put the kernel into a context. The book describes how the kernel can be used by the practitioners and how they can measure progress in an endeavor independent of which method they use. It also provides suggestions for how they can scale up, scale out or scale in their methods.
The Semat kernel is already being used on two academic project courses at KTH Royal Institute of Technology. On one project course, Mira Kajko-Mattsson is teaching the Semat kernel and evaluates its usefulness within software education. Using the kernel elements, her students continuously evaluate the progress and health of their projects. On the other KTH project course, Anders Sjögren uses the Essence book as a base for education in software engineering with extensive lab work. Moreover, two other universities use or plan to use the Semat approach when training their students. These are Peking University and Oslo University. Experiences on the use of the Semat kernel in education will be published on Semat’s website in the next couple of months.
Getting a widely agreed upon kernel is just the beginning. The kernel is a fundament that constitutes a critical milestone for moving forward in refounding software engineering. To be able to systematically work with practices and methods both in the industry and academia, more work needs to be done in form of creating products, creating practice market places, constructing supporting tools, revising software engineering curricula, doing research and writing books and papers.
Thanks to the kernel, our less experienced developers (and most of us belong to this group) will become professional much easier and much faster. Standing on the common ground, they will be able to learn from one another much better and move from one team to another much easier. Since we focus on you, the developers, and not the process engineers, the adoption of the Semet kernel is more of a pull than a push.
The Semat kernel stands on two important principles, which are ‘agile in everything we do’ and ‘separation of concerns’. For example, we value:
1) What helps the least experienced developers over what helps the experts?
2) What helps the practitioners over what helps the process engineers?
3) Method usage over method definition?
Of course, we must support the experts and process engineers as well, but not by having the practitioners to pay a price. And, of course, we can define methods, but most importantly, we have to make methods useful while we actually work in real endeavors.
Compared to earlier attempts, the Semat approach has several differentiators that make developers more motivated to work with methods. Maybe the most important one is that the whole approach is actionable. As already described in the Three Year Vision, the developers do not just use it for studying. They use it in their actual daily work when enacting their ways of working and when measuring their progress. part of the whole game. All this will help the industry. The education at a university level will become more fundamental, more systematic and effective. The research will become more disciplined and more useful to the software community.
In parallel with working on the proposal, a small team of people has been working on a new book ‘The Essence of Software Engineering – Applying the Semat kernel’. The authors are Ivar Jacobson, Pan Wei Ng, Paul Mc Mahon, Ian Spence, Svante Lidman. The book is now in its 3rd draft and about 30 people have reviewed it and given constructive feedback. We expect that the 4th draft will be widely published. If you are interested in reviewing and providing feedback, please send an email to firstname.lastname@example.org. A copy of the book will be sent to you asap.
— Ivar Jacobson and Mira Kajko-Mattsson