Agile Estimation: Navigating Modern Agile Complexities
Agile estimation has become an increasingly complex issue as mission requirements and project management theories evolve. On the one hand, it embraces the inherent uncertainty that comes with software development by providing just enough information for effective planning and decision making. However, there is no one-size-fits-all approach. Competing — or even conflicting — approaches in how teams account for challenges and unknown variables can result in wide estimation shifts, costing agencies time and money they simply can’t waste. To be successful, it’s important to focus on what works in practice for the specific operator’s context.
The challenge with story points
The most popular method is to estimate using story points. However, they rely on subjective, team-specific measurements that can be difficult to compare to other teams and projects. There are two types of story points used in practice – relative story points and normalized story points.
- Relative story points compare the size of tasks relative to one another without any direct correlation to time. This helps teams collectively assess complexity and aligns their understanding. However, relative story points are subjective, making it difficult to compare estimates across different stories or even teams. Relative story points don’t correlate to time, which can cause confusion when estimating project timelines.
- Normalized story points measure tasks measured in time units. For example, one story point could equal one workday. This helps with forecasting but may detract from the original intent of using story points to measure complexity. Moreover, normalizing story points against a master standard for all work isn't helpful; if a team is told what their estimate should be, it undermines their ownership and incentive to effectively contribute.
Estimation for high-level planning vs. execution
CACI’s Agile Solution Factory (ASF), is a delivery execution model that incorporates just-in-time iterative estimation techniques to increase the flow of value while minimizing overplanning, ensuring agility and responsiveness throughout the development process. This process starts with high-level estimates that gradually become more refined as work progresses and more information becomes available. CACI controls the depth of refinement to avoid overplanning, which would slow the pace of value delivery. Just enough refinement allows us to use a day for sprint planning and get into upcoming sprint details faster.
Story points and similar estimation methods are excellent for high-level planning, providing teams and stakeholders with a broad scope of the achievability of upcoming work based on historical performance. For programs where quality and predictability are paramount, teams need more precise execution than the broad scope available through story points. Sprint planning that incorporates time estimates for subtasks can bridge the gap between relative and precise timing. By breaking down user stories into subtasks and estimating specific hours, teams can account for dependencies, align on expectations, and verify they have the capacity to deliver the planned work within the sprint.
This approach helps teams coordinate activities between teammates, while ensuring that each store meets a defined "definition of done" at the story level, ensuring each story is fully developed and ready for potential release to end users upon completion.
How ASF empowers individuals
Sprint planning is a timeboxed activity at the last responsible moment, to provide individuals with an opportunity to set forth clear, actionable steps to deliver the value outlined in the user story and acceptance criteria. They gain a level of autonomy that improves morale and reinforces the need for a sustainable way of working effectively. Additionally, it fosters a culture of transparency, where progress, challenges, and expectations are openly communicated, ensuring alignment and trust within the team. This collaboration improves productivity, enhances communication, and yields data-driven decisions.
We track key metrics such as velocity, burndown rates, and even cost per story point to provide valuable insights into progress, performance, and capacity, identifying bottlenecks and ensuring projects remain on track. Our just-in-time estimations support better sprint planning, informing teams how to set achievable, flexible goals founded on data.
Future of Agile estimation
ASF promotes iterative estimation to balance flexibility and precision – both hallmarks of a successful Agile practice. Reinforcing the definition of done through subtasks drives individual empowerment through sprint-level capacity planning for complex, mission-critical programs.
A high level of Agile maturity is needed to achieving commercial-like Agile practices. Setting up DevSecOps pipelines, decision-making autonomy, continuous testing processes, and related tools that automate workflows and promote experimentation all require a degree of maturity and there are constraints on the level of modularity a system can accept. Modern, highly modular systems are easier to adapt and scale, but not all systems can easily be broken into smaller, independent parts.
However a team chooses to approach Agile estimation, the goal remains the same – to progress through a program’s journey to achieve a high level of Agile maturity, tools, and quality and ultimately reach the flexibility and efficiency characteristics of modern software development companies. It isn’t about finding one perfect method; it’s about finding the right mix of approaches that fit different contexts to continuously improve estimate accuracy.