There is a war going on in the world of software development. The battles have raged for decades in universities, software companies and anywhere where two or three software professionals have gathered to discuss their craft. It's a war that has been hidden from normal people until quite recently.
The Waterfall Model was famously described in a paper written by Winston Royce in 1970 titled "Managing the Development of Large Software Systems". Many people who have not actually read the paper assume that it validates the single pass waterfall model when in fact it explains why this model will only work in the simplest possible cases.
Royce was actually a supporter of iterative development as can be seen from these comments made by his son:
He was always a proponent of iterative, incremental, evolutionary development. His paper described the waterfall as the simplest description, but that it would not work for all but the most straightforward projects. The rest of his paper describes [iterative practices] within the context of the 60s/70s government-contracting models (a serious set of constraints).
The Waterfall model is originally invented by Winston W. Royce in 1970. He wrote a scientific article that contained his personal views on software development. In the first half of the article, he discusses a process that he calls “grandiose”. He even drew a figure of the model, and another showing why it doesn’t work (because the requirements always change). This model is the waterfall. He used it as an example of a process that simply does not work. In the latter half of the article he describes an iterative process that he deems much better.
OK, so why do people still advocate the waterfall? If you look at the scientific articles on software engineering that discuss the waterfall, they all cite Royce’s article. In other words, they’re saying something like “The waterfall is a proven method (Royce, 1970).” So they base their claims on an article that actually says the opposite: that the model does not work.
This is how science (unfortunately) often works - researchers just cite something, because everyone else does so as well, and don’t really read the publications that they refer to. So eventually an often cited claim becomes “fact”.
The Agile approach is seen as the people friendly, team based, flexible antidote to the waterfall model, but the truth is not quite as simple as that.
Anyone who has actually delivered large scale software systems that actually work, use a methodology that is between the two extremes which could be book-ended by Single Pass Waterfall at one end and Extreme Programming at the other end.
What about Usability?
This religious war is now being fought in the open as more people involved in software development have been blogging about how they actually do it. If you want to understand how the process works then I recommend that you read Jensen Harris' blog aout the development of Microsoft Office 12.
Usability testing is useless if there isn't an opportunity to use the knowledge gained from the testing to improve the next iteration of the product.
Usability professionals cannot sit on the sidelines and wait for the suits and the geeks to fight it out. They must get involved and ensure that the methodology adopted allows for User Centered Design practices to flourish and give the software development process the human aspect that is needed to create great software.
You cannot sit back and complain that the development process doesn't allow usability testing results to be used to improve the software because the geeks say it's too late to change the design.
Adopt a geek and find out about the software development process they use. It may be the best way to try and influence the direction of the product, system or feature that you are trying to improve.
If you want a more light hearted discussion of the issues then you might like to attend the Waterfall 2006 conference in April.
When I get a spare 90 minutes I must watch this Stanford Seminar:
Farewell, menus and toolbars. More than 20 years after the introduction of the Macintosh, software has outgrown the basic building blocks of today's standard user interface. The upcoming version of Microsoft Office does away with the top-level menus and toolbars in favor of a new task-oriented, contextual user interface.
This seminar will provide a historical perspective on the evolution of the Office user interface and the battle against the mounting complexity of the product. You'll get a behind-the-scenes look at the different design iterations, and an in-depth look at the new Office UI constructs, including the Ribbon, galleries, contextual tabs, and the MiniBar. You'll also learn the ideas behind "results-oriented design," which Jakob Nielsen wrote, "might well be the way to empower users in the future."
It's good to laugh at yourself sometimes. After watching the first two episodes of "The IT Crowd" last night I decided to make time to watch it again next week.
This sitcom follows the lives of three employees in the IT support department of a company run by a maniacal character played by the anarchic Chris Morris.
There were some great geeky touches like the o'reilly animals on the wall, the RTFM t-shirt as well as the posters promoting open source and fair use.
However, I do think that some of the characterisation may be over the top. There was a scene where "Moss" had his amazon books delivered to his desk. He had ordered both the adult and children's versions of the latest Harry Potter book so that he could compare the texts to make sure that they weren't different. Now who would be pedantic enough to do something like that?
You can watch the episodes online and get some useful links from the website.