I’ve long been a fan of Ivar Jacobson’s work – I attended a seminar he ran a few years ago on the topic of the Essential Unified Process, and it inspired me to introduce practices at my work place as a way of capturing the way we work – not just in technology, but across nearly all our disciplines.
Sadly, the Essential Unified Process didn’t really follow up on its promise for me – maybe I’m impatient, but the cards on which it depends didn’t get published in a place I could find, there was talk of a book that never happened, and I kinda lost interest.
A few days ago, I got an email from Ivar Jacobson International, announcing a new book – “The Essence of Software Engineering: The SEMAT Kernel”. I bought it, and read it. It was a disappointment. I kinda agree with the sentiment behind SEMAT – establishing the common practices by which we build software seems a good idea. What bothered me was that the book was very unfocused. Partly, it explained SEMAT and the processes by which it had arisen; it uses a story construct to introduce the various concepts within SEMAT, and it discusses the ideas behind those concepts. It just didn’t feel very actionable, and I felt that the organizational interruptions explaining the SEMAT background made the book significantly worse – I found myself skipping through paragraphs, then pages, and felt I’d extracted everything of value in 2 hours.
This is a shame – I believe that Jacobson’s focus on “practices” is hugely valuable, I love the “card” based approach, and the basic idea of capturing “what we know works” in software development makes sense. It just needs a book everyone can rally behind – much as Kent Beck’s “Extreme Programming”, Martin Fowler’s “Refactoring”, and the “Pragmatic Programmer” book built a wide consensus on their topics.