Projects Are About Humans. Now Deal With That!

Archive for March, 2007

MP3 Interview With Alistair Cockburn

If you are interested in agile software development this 40 minute interview from 2004 with Alistair Cockburn is highly recommended. The writer of Chrystal Clear speaks about all the fundamentals and nuances surrounding this topic.

To download the mp3, just click on "Download MP3″ on the page you reach by clicking on this link.

I love this interview as it touches some fundamentals of software development. First he mentions the use of the "cooperative game" as a metaphor / mental model of software development. Taken from his Crystal Clear book:

The cooperative game manifesto says: Software development is a series of resource-limited, goal directed cooperative games of invention and communication. The primary goal of each game is the production and deployment of a software system; the residue of the game is a set of markers to assist the players of the next game. People use markers and props to remind, inspire and inform each other in getting to the next move in the game. The next game is an alteration of the system or the creation of a neighboring system. Each game therefor has a secondary goal to create an advantageous position to the next game. Since each game is resource-limited, the primary and secondary goals compete for resources.

The good thing about thinking of development as a game is that you have moves, there is no right and wrong, it is about better or worse.

Fascinating is his explanation of the misconception people have of software development as engineering. Originally engineering was also a cooperative game of communication and invention. However after the second world war engineering took an odd turn. Because of the achievements of it during the war (rockets, bombs, radar) the emphasis got to applied maths and physics. Therefor applied maths got shoved into the engineering discipline curriculum at colleges and universities. So, engineering became equivalent to math and physics.

At the end of the 1960s some people argued that we had gone to far; that we had lost the art aspect of engineering, part were people have to communicate and get in touch with the materials they are using to get a deep understanding of domain, to be creative and inventive.

However, still at that time practitioners got devalued and the theorist more valued.

In 1986 at a NATO meeting people coined the term Software Engineering as a provocative term. Not to say "software development IS engineering", but more like "suppose it is like engineering, what will then happened"? Just see where we end up from there. The result is that software development is falsely associated with the term engineering within the context of today (applied maths and physics). But Cockburn helps us to remember, there are similarities: originally both are games, cooperative games of invention and communication.

No comments