Juggling Projects


One company where I recently completed an agile adoption health check was experiencing a common problem in their first agile project: stressed out architects and BAs who were trying to design a solution during the iteration in which it was being developed and who could not keep up with the developers. What they (and many others) forget is that agile methods do not eliminate the need for requirements and some level of up-front design. What was missing in this case, was the concept of a "Sprint Zero" - a startup phase before the regular iterations begin - where requirements are captured and prioritized, some initial level of analysis is done, and a high-level design is prepared. By not having a good view of the broad set of requirements, and having no high-level design up front, the architects and BAs found themselves scrambling during the development iterations, unable to keep up with the pace of the developers. Architects were changing designs on the fly, forcing rework on the development team, and discovering requirements that should have been captured up front was compounding the number of times the architecture was being changed. Developers even had to stop a few times to wait for architects to resolve some high-level design issues before they could proceed. Avoiding this problem would have been easy if they had properly conducted the required up-front work as part of a phase zero/sprint zero/startup iteration.