I was lucky enough to catch Dave Thomas’s promotional YOW presentation in Perth on Thursday night. His first talk was entitled “Improving the Quality and Productivity of Backlogs Through Envisioning: Collaborative Agile Product Analysis, Architecture and Design”. His concept of ‘Envisioning’ consists of establishing old-school product design functions in order to improve the quality of the Product Backlog. I particularly liked:
- A little more emphasis on upfront requirements — not to the level of a BDUF, but I’ve always struggled with pulling together a useful backlog as part of a Sprint 0, let alone in a half-day planning session. Much of the focus in Agile seems to revolve around managing an existing project, rather than bootstrapping a new one.
- ‘Architect is a role, not a job!’ Dave made a strong point that ‘Architecture’ should be done by full-fledged members of the development team(s) that will have to implement it. I’ve long felt that a good technical architecture can only be done in conjunction with actually putting the design into practice, so it was nice to see this approach advocated. He used the analogy of a hockey playing coach — I guess that’s a captain-coach in AFL/cricket terminology.
- A good acceptance test being worth 100 ‘fragile’ automated unit tests. I’ve predominantly worked in small teams in the past and it’s difficult to justify 100% unit test coverage, particularly when a large number of tests break every refactoring. In contrast, we’ve always struggled to get user testing resources and investment in automation in that area would be much more beneficial.
- The value of prototyping, even if just paper prototypes, should not be underestimated. I recently read an interview with Chris Clark, UX designer at iOS development shop Black Pixel, and was struck by how much of the design process consists of mockups and prototypes.
In all, Dave achieved his objective of making me want to attend YOW, although unfortunately I won’t make it this year.