The Rise and Fall of Software Recipes

Autor / Redakteur: Dr. Darius Blasband* / Martina Hafner

Why attend this conference? If you are a strong believer in formal methodologies for software development, you must participate to this conference and read Darius’ book. You will hate it.

Anbieter zum Thema

(Bild: gemeinfrei / CC0 )

If you have doubts about the usefulness of recipes for how to develop software, you should read this book, and you’ll love it. It is not just about methodologies. It is also about programming languages, garbage collectors, assertions, dogmas, rice on chessboards. It is about money, project, technology and more. But above all, it is about people.

Confessions of a codeaholic

The book and the conference that goes with it are confessions of a codeaholic. To give you a sense of the topic and how far it can go here are several extracts from The Rise and Fall of Software Recipes: “The quality of the people is the single most important factor contributing to success in software development projects, but good people are hard to find.

If manpower were only a matter of money, it would not be that bad. But people are not only expensive. They are also volatile and unpredictable. They are hard to manage. They quit. They die. In software as in many trades, depending on people increases uncertainties.

Taylorism was all about the rationalization of factories, by reducing the individual's latitude to personal initiative, turning people into robots, by a scientifically designed division of labor. Formalizing well-defined tasks by decomposing them in the simplest possible movements was a way of ensuring that people could be trained and replaced easily.

Software recipes are Taylorism applied to software development. It starts with division of labor: gurus design recipes, in the form of methodologies, rulebooks and processes. These recipes are then applied by less acute and less experienced software development teams, in the hope that zealously following the recipe can replace personal involvement of gurus in projects, that their intelligence will apply transitively in their absence, just by being faithful to their gospel.

[…] is about recognizing that the multiple attempts to implement software recipes over the years have failed. It is now time to see this statistical evidence as a damning fact more than a circumstantial trend. It may have made sense in theory, but reality has proven a different matter. As a consequence of this failure to industrialize software development, this is about claiming that software development remains intrinsically a people's business.”