Right-Size Your Agile Planning
Sprint 0 shouldn’t last months. Here’s how to keep it short and sweet.
Recently, I listened to a well-known Agile guru describe Sprint 0, the planning period before development starts on an Agile software development initiative, by stating that, “…it could easily last six months.” I almost choked on my lunch when I heard that, not because I don’t have great esteem for this individual and their work, but because I’ve led teams that have built entire systems in less time. After all, Agilists like me pride ourselves on delivering working software quickly and frequently, so telling a client they’ll have to wait six months before we start development seems hypocritical. In fact, my teams have never taken more than two months to start development (sprint 1), even on multi-million dollar per year development efforts; in nearly all cases, they’ve delivered a semi-functioning prototype at the end of sprint 0, both to demonstrate they are ready for development, and to give user experience a starting point for usability testing.
How do we pull this off? At Cedar Point Consulting, we coach Agile teams to
- Leverage the cloud and virtual machines. Many teams assume that setting up their development infrastructure means they have to buy hardware, deploy it and have it approved for use in the client’s environment. But both virtual machines and the cloud make it possible to build and deploy needed infrastructure in days or weeks instead of months.
- Write stories, not books. Too often, teams try to define every user story (requirement) up front before they start development. Not only is that unnecessary, it’s often wasteful because many of those stories will never be built. Instead, write enough user stories for the first one-to-two sprints of development, while building the discovery pipeline to ready more stories for the third sprint once sprint one begins. We call this a two-sprint look-ahead, and it keeps the development team busy without generating a lot of busywork.
- Focus on value. Many teams struggle to define what they are trying to accomplish and how their upcoming development work will bring value to users. We use a combination of value propositions, value chain mapping and impact mapping to speed the process and to identify needed user stories. This often saves months of time that are spent trying to decide what needs to be built, as well as what makes for a minimum viable product (MVP).
- Bring in UX early. User experience (UX) team members need to be among the first boots on the ground at the start of an Agile effort. From user research, to gaps and pain points in the current system, to defining styles for your system, UX team members play a critical role in any software development, so they need to be brought in early to lay the groundwork for the development team.
- Nominate a candidate. Frequently, architectural team members insist that a “final” architectural approach be defined before development begins. Yet, this runs counter to an Agile philosophy that emphasizes empiricism, experimentation and continuous learning to inform subsequent development. Instead, we at Cedar Point Consulting identify a combination of tools and technologies that are likely to work well for a client, called a candidate architecture, and then run a series of tests over the course of the first few sprints to confirm those tools are well suited. When one is not, we simply substitute in another tool or, on occasion, build our own to deliver a tailored solution. In doing so, we avoid the analysis paralysis that inevitably comes from trying to define a final architecture up-front.
So, if the head of your development team tells you it will take six months before development can begin, don’t be afraid to ask more questions. There’s a good chance they can start more quickly, and an even better chance that we can help them to learn how.
Donald Patti is a Principal Consultant with Cedar Point Consulting, a business coaching and consulting firm based in the Washington, DC area, where he assists organizations in applying Lean and Agile to develop new products and services as well as improve organizational performance. Cedar Point Consulting can be found at http://www.cedarpointconsulting.com.