David M Williams
Sunday, 19 July 2009 19:03
Opinion and Analysis
Page 3 of 3
I spoke about
one such example previously, where I automated margin reports for one employer and it truly transformed the entire culture. Now that’s a software project which had immense – even immeasurable – value.
Ironically, DeMarco’s newfound philosophy could have been identified long ago. I read the second edition of Ed Yourden’s “
Deathmarch” in 2003 – titled for projects that end in failure - and was struck by a particular section where Yourden sought to determine the metrics used on a massive project like Microsoft Word.
Yourden recounts how he called Microsoft and asked how many lines of code the software had. The Microsoft techie on the other end did not know. He asked how many developers were on the project. Again, the techie did not know. Yourden continued asking unanswerable questions until finally the irritated techie said, “Don’t you get it? We sold tens of millions of copies. Who cares how much it cost?”
Of course, with their layoffs earlier this year Microsoft may now be counting the cost, but authors did have evidence before them earlier this decade that a project’s cost and measurability diminished in significance the more its return increased.
The reason nobody went further with this view, I believe, is because of the felt need to relate software to established engineering principles despite the gross difference between constructing a building and constructing a word processor, for example.
Indeed, it is often said software development can be more of an art than a science and I tend to take this view. I regard it as a craft and a skill and a creative process. While the theory of programming can be taught it is much like the theory of music or painting. Unless you have that innate creative and expressive spark within you, you cannot aspire to be the greatest programmer or musician or artist that lives.
The modern trend away from strict waterfall methodologies to Agile development and rapid application development – RAD – before it, would also support that what DeMarco has come to realise has in fact been happening around us for many years, in practice.
The problem is until now nobody really had the mettle to come out and say software engineering is a concept we no longer need.