The Essence of Software Engineering – or, why agile is not enough

Sadly, too much literature about agile Ways of Working (WoW) is all about agile Ways of Working – and it stops there.

For Grossly Oversimplified (GO) Impossible Utopia (IU) situations, that works.

But in my own experience, for the real world complexity, agile Ways of Working are only the beginning.

Much, much more is needed for success. As put in the following article: Successful software development teams need to strike a balance between quickly delivering working software systems, satisfying their stakeholders, addressing their risks, and improving their ways of working.

There’s an interesting framework that may help; this is really very interesting and pragmatic stuff:

Don’t let this fool you, however. When I first looked at it, it immediately reminded me of maturity models, such as CMMI. In a maturity model, you can stop at the level that makes sense for you, or even have mixtures of maturity in different areas.

This is not that! As you’ll notice, here’s it’s all about degree of operationalization.