Alan Cooper impresses me. He has become the spokesperson for the software development community to me. Alan gave the closing keynote talk at Agile 2008. Alan blogged about the event and makes his slides and speaker notes available for download here. Here's what I got from the presentation:
- The presentation is a crazy 111 slides thick. I suspect this is the outline of Alan's next book brought to slide form.
- Alan trashes Waterfall development methodology as a perfect way to deliver bad software. Alan says Waterfall also introduces new problems: provides a way for incompetent people to hide in silo'd groups, obscures management visibility, reduces collaboration, and adds delays to development time.
- Alan says that Waterfall and Agile recognize that building software is a multi-stage process: Big idea, design, engineering, and construction. Engineering is where technical construction issues are identified and examined. I wish he added operational considerations to be identified and examined in the Engineering phase too. I am a big proponent for repurposing tests as functional tests, load and performance tests, and business service monitoring. Alan describes Construction as the phase where the product is built, tested, debugged, and fine tuned.
- Alan has a good sense for where Agile is appropriate: Design and Engineering phases benefit from the open, collaborative, democratic, iterative nature of the Agile process. I really like and appreciate his focus here. So what about Agile and the Big Idea and Construction process? Alan says Fragile techniques. Fragile because these phases (especially the Engineering phase) is so lengthy, so difficult, so delicate and hellishly expensive. Alan does not see the use of paired development and other Agile techniques here.
- The rest of the presentation talks about how Interaction Designers (Cooper's company is all about interaction design) work within an Agile environment. It's compelling.