How do you know when you’re ready to do work?  How much design is un-agile?

Agile teams tend to make the mistake of doing almost no up-front design before plowing into the work at hand.  Being agile doesn’t meant the work should be a complete mystery when you’re being asked to estimate and deliver it.  Here at iContact, we’re rolling out a checklist that helps us determine when we’re ready to move forward from an idea to an Epic and when a Story is ready to go into a sprint.

Epic Readiness – know what we need to build so we can design

  1. Business Requirements
  2. Technical Requirements
  3. Documentation

Story Readiness – know how we’ll build it so we can estimate

  1. Design
  2. Stories
  3. Documentation

We’ve developed some checklists to help us get to this level of readiness:

Business Requirements Checklist

  • Do I know who the stakeholders are and what they want?
  • Do I know how we plan to roll this out to customers?
  • Do I understand feature-wise priority?

Technical Requirements Checklist

  • Will this affect areas of the software known to be more risky?
  • Do I have a high level understanding of environment/infrastructure/architecture impact?
  • What type of testing is needed? Load testing?

Design Checklist

  • Do we have a design documented?
  • Have I read it?
  • Have we solicited feedback from stakeholders? Are there collaboration points?
  • Do we have a diagram?
  • Do we understand the interfaces and the data passed between components?
  • Will there be additional data to store? Where? How will it be used?
  • Does our design manage risk?
  • Are there standards we can apply?
  • Is the design iterative?  Can it be built in stages?

These tools are helping our teams plan backward from their grooming sessions to determine what level of technical vetting is necessary.