Agile Project Management: Three Steps to Better Sprint Planning and Execution

Jason Carlson | April 13, 2011

Agile Estimates Uncertainty
left Image

LiquidPlanner was built to give teams a clear view of reality—including estimation uncertainty and the impact of change. Let’s look at how LiquidPlanner can help Agile development teams avoid deadly blind spots with good estimates and honest schedules that optimize sprint planning and execution.

Step 1: Use estimates that reflect the way you actually work

LiquidPlanner lets you estimate task completion in ranged estimates of real time (4-7 hours, for example). Not only is this the way you really think about time and work, but it has a buffer of uncertainty built right in for everyone to see. It sounds simple, but the impact is profound.

With a ranged estimate you are giving a best-case (low end) and worst-case (high end) scenario of how long it will take you to complete the task. This range captures and conveys uncertainty; an estimate with a wide range, such as 2-5 days, conveys more uncertainty than a narrower estimate, such as 1-2 hours. As work progresses, the uncertainty narrows, and the schedule becomes an even more accurate reflection of reality.

Using ranged estimates also:

  • Let’s you plan accurately even with a large range of uncertainty
  • Allows teams to drive uncertainty out of the schedule early (since it can be seen clearly)
  • Prevents sandbagging
  • Creates a neutral, honest point of communication within teams and with business owners

Step 2: Dynamically plan your sprint based on the amount of work (and uncertainty) in the tasks you want to complete

A good way to explain sprint planning in LiquidPlanner is to tell you how we do it ourselves.

First, we create a new package and label it with the number of the current sprint (we now have 26 successful sprints under our belt using LiquidPlanner, and we’re well into number 27). We typically work in four-week sprints, so we give that sprint a deadlline date that is four weeks out. Then we load up the sprint by entering new tasks or dragging and dropping tasks from the backlog. If any tasks have not yet been given an estimate, it’s easy to do so right on the spot.

Once all tasks have been entered, LiquidPlanner’s probabilistic scheduling engine immediately creates a schedule and lets us see if we will hit our target given the identified set of tasks. If the schedule shows we will end up late, it’s just as easy to reprioritize and adapt the plan by dragging tasks in or out. Ranged estimates also provide a starting point for discussing and negotiating task estimates.

Sprint Planning

A separate “Staging” package is used to plan the next sprint, and the Backlog is organized at the bottom of the Projects Page. We also use LiquidPlanner to manage all of our bugs and issues.

Step 3: Keep your schedule alive with frictionless updates and change management

LiquidPlanner lets team members quickly and easily update progress and re-estimate their tasks right from their personal dashboard or iPhone. By focusing on re-estimation instead of an arbitrary-percent-complete status update, the schedule remains an accurate reflection of reality.

And since LiquidPlanner’s scheduling engine recalculates every time a change is made (in real time), you can clearly see how statistically likely you are to hit your release date based on the actual progress of the team. If problems arise, you get a heads up to course correct long before your entire sprint is at risk.

When requirements change or new ones are introduced, drag and drop prioritization lets you visualize the impact of the change and do “what if” planning on the spot. Let’s say that business owners want a new feature bumped up to the next sprint. By simply dragging that item into the next sprint, a new schedule is automatically created so you can make decisions and reprioritize other features as needed.

All of these features make it easy for individual team members to keep the schedule honest and alive. This frees managers up from playing babysitter and doing data input. And it means no deadly blind spots that could put the hard work of your talented team at risk.

Agile represents a move to more interactive, humanistic software development methods. While reliance on processes and tools is downplayed in favor of communication and collaboration, the demands placed on Agile teams requires more and better planning , estimation, and organization—not less. LiquidPlanner was not intentionally built just for Agile teams, and yet it intuitively embodies the Agile philosophy and supports the practical needs of Agile teams. It does so because it was developed by seasoned project managers looking for a solution to real problems, not because more project management software was needed in the world. For Agile teams looking to do what they do even better—deliver quality product on time with more ease and efficiency—take a look at LiquidPlanner.