Warning this article may contain opinions of the author that you and iTWire don't necessarily agree with. Don't let them get away with it - have your say with a comment!

No. 1 Story

ACCC clears Optus to scrap HFC network and use NBN instead

The ACCC has cleared, provisionally, the proposed deal between Optus and NBN Co under which Optus is to be paid around $800m to shut down its HFC network and transfer customers onto the NBN. read more

Software engineering is dead, long live engineering of software

Opinion and Analysis

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.