The Cost of Complexity

There's an interesting eleven page article in the Economist considering the cost of software complexity:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2004/11/the-cost-of-complexity.html

You should take a look at Jakob Nielsen’s website (every usability info you need)

Misconceptions About Usability:
http://www.useit.com/alertbox/20030908.html

Usability 101: Introduction to Usability:
http://www.useit.com/alertbox/20030825.html

actually, the most alarming fact is, that the problem has not changed a bit since becoming initially evident as “software crisis” over 30(!) years ago.

for one of the first public mentions apart from the NATO conference in 1968, read dijkstra’s turing award lecture (EWD340). you might also want to have a look at EWD1304 (written in 2002). (archive at www cs utexas edu /users/EWD - sorry, your blog sw regards this link as “questionable content”…)

iirc there further are several reports from the late 70ies and early 80ies containing nearly the same percentage of failures etc. (no source at hand, sorry)

obviously, the attempts to solve the problem only in terms of software engineering techniques have failed.

now enter usability, so everybody’s got a nice buzzword to rave about. but one popular misconception about usability - which is btw not mentioned by nielsen - is, that usability engineering would be the solution to the problem. unfortunately, it isn’t - at least it’s not the whole story. usability in the first place is about knowing, what’s wrong, not about how to make it “right”. while it can and should reveal the weak points of a product, you still need design methods and knowledge (i.e. synthetic thinking) to tackle them. heavily recommented reading: cooper/reiman, about face 2.0 (www.amazon.com/exec/obidos/tg/detail/0764526413/104-4374149-1260717?v=glance) not flawless, but still the very best book on the issue, i know.

somehow, there has to be a way out of this mess. more multi-discliplinary and human-centered approaches might help a little bit on the way. :wink:

addendum: while the focus of the early software crisis years laid more on engineering complexity and did not automatically include the end user’s view of “complexity”, i don’t think this changes the general line of the problem.

obviously, the attempts to solve the problem only in terms of software engineering techniques have failed.
http://petrastroy.ru/