Building Software will always be hard
Recently, Brian Kernighan gave a lecture at Princeton talking about “The Changing Face of Programming”.
(Warning: PDF Link) The Changing Face of Programming – Brian Kernighan
(Warning: MP3 download) The Changing Face of Programming – Brian Kernighan
At the end he references Fred Brooks and his 1986 article “No Silver Bullet”
Kernighan quotes:
“There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.”
Brooks also states that he believes the hardest part of developing software is always going to be the design/conceptualizing stage. He says:
I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. We still make syntax errors, to be sure; but they are fuzz compared with the conceptual errors in most systems.
If this is true, building software will always be hard. There is inherently no silver bullet.
Embrace the Sketchy Prototype
We tend to really like paper prototypes in our line of work. We often find that by just doing three or four prototypes that we have significantly increased our knowledge of what the client needs up front.
Techniques and tools are discussed at introspectiveH.
We think it’s worth examining.
Creating Advanced Web Application Deliverables
User Interface Engineering (UIE) has an interesting podcast discussing some of the problems when using wireframes for complex designs. They cover issues like preserving context, explaining why interface elements are there (or not), and setting priorities for what can be cut. Keith Robinson call his solution the Page Description Diagrams which describe what the wireframe is trying to accomplish.
Example at Keith Robinson’s blog




