Category Archives: software engineering

On the Future of Software Engineering by Ivar Jacobson

I listened to a very interesting key note by Ivar Jacobson on the future of software engineering. Many of the things he said were spot on true, and some were a bit provocative and I disagree, but the talk was still very interesting.

Ivar Jacobson starts his key note with a historical overview of the history of software engineering, and the presentation included reflections on organisational learning and good practices. According to Jacobson there has been a few different paths in software engineering, but very little learning from past experiences. Software developers are not trained in learning from the past, and to rework and improve. They are trained in doing new things. I think he has a point here, and this is a wider phenomena than something unique for software engineering:

“Every new path starts by throwing away what you had and starting all over with new vocabulary, “new” practices, new gurus”

When talking about Agile, Ivar Jacobson claims that it is definitely a good practice. He claims that if you are a methodologist you need to be out of marketing, otherwise you are out of the game, and Agile has succeeded here. The method also needs to be accepted and appreciated by the software developers, and there is where Agile is successful. However, he also claims that many of the good practices and things we learned about software development was thrown over board when moving to agile:

“I am a firm believer in Agile, but lots were lost when we moved to Agile.”

One cornerstone of learning in an organisation, according to Jacobson, is the common ground and a common vocabulary. And we need methodologies, processes and a common vocabulary to coordinate the work with ITC in organizations. Work that includes several thousand people cannot be only creative design.

We also need to know more about how software developers learn, and how the marketing of new methods work. I really agree with this, and studies of learning in relation to software engineering is really a part of my interest. Ivar Jacobson continues by  saing that people learn through using, and working with methods, and he is reflecting on the use of books as a source of learning:

“People buy the books, but they don’t read them. How do we know what they know?”

Finally Ivar Jacobson presents the concepts of Essence, which is built on previous methods and ideas. According to Jacobson Essence is:

Essence – a standard that defines the smallest set of concepts that are common to all software projects – helps embed agile professional practices and governance across an organization for sustainable, scalable and responsive solution delivery.

The future of software engineering is human centred, of course, but there is still some way to go before we are there . According to Ivar Jacobson the way forward is to create a learning organisation, that includes a kernel of common concepts and knowledge. I agree with him completely, and the problem is how to create this situation. Perhaps action research and practice oriented research is the answer to this question?