Why should we estimate if we’re agile? It definitely is a fair question. Organizations that are truly agile, or to coin a phrase shared with me by a wise PRICE® client, organizations practicing ‘utopian agile’ don’t need to estimate. ‘Utopian agile’ refers to an implementation of agile that stays true to the agile manifesto. In such an organization there is an understanding that release cadence and schedule determine what gets released. So armed with schedule, team size and release cadence – estimating effort and cost is not rocket science – simple application of mathematics.
All agile projects adhere to the agile manifesto to some degree. All agile projects apply the twelve principles of agile to some degree. These principles encourage communication, working software delivered often, customer collaboration, simplicity, sustainable pace, customer satisfaction and embracing change. Each agile project applies its own set of agile practices to achieve the degree of agility that makes sense for that project.®
The truth is that very few organizations that have need for legitimate cost estimates are doing ‘utopian agile’. Most organizations, in the government, aerospace and defense spaces who are doing ‘agile’ are doing a modification of agile that makes it possible for them to deliver software on contract without violating terms and conditions imposed by their customers. In other words, while these organizations are taking advantages of the benefits that come by applying agile best practices, they still need to deal with the more structured needs for regular project estimation.
Some of the obvious questions that arise are:
This blog is the first of a series to help estimator find answers to these questions. Methodologies and rules of thumb will be presented to help navigation through the estimating process determining where agile may make a difference and where it probably wont. As important, this series should present the estimator with a language to facilitate communication with agile development teams to understand what they mean when they say ‘My project is agile.’