Are Parametric Techniques Relevant for Agile Development Projects?

Parametrics Track




Agile software development practices are predicated on the following tenets as introduced in 2001 in the Agile Manifesto [1]

– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan

Agile development processes rely on experienced, highly skilled people communicating with clients and each other to deliver software that provides the clients with the most value for their money. This requires both developers and consumers of software to accept the reality that things will change over the course of the project and that the software that is eventually delivered may not be the same as what was envisioned when the project began.

At any given time, the agile software development team is only working on the feature ranked most valuable by the customer. Estimation is performed by the team and is only focused on the feature that is currently on deck. At the end of an iteration, the customer may review the implementation to date and can reprioritize remaining feature based on changes in their business or expectations. Estimating beyond the current feature doesn’t really make agile sense.

Unfortunately, the fact that estimation doesn’t make sense for the agile team does not mean it doesn’t make sense for the business. The business needs to see the forest not just the trees. Customers need an idea when their software will be delivered, businesses need to prep the market for new features, businesses need to be able to optimize resource allocations across many projects, etc. This of course begs the question of how to perform an estimate for software when you really don’t know exactly what software you’re going to build.

First we accept uncertainty and commit to incorporating uncertainty into our estimates. Once we’ve made that commitment we are then free to pursue one of many top level estimating techniques to help us get our head around a likely range of values for cost and schedule based on what we currently know about the software project. Parametric techniques are particularly suitable for this task especially for an organization that has some historical data from previous agile projects. Parametric estimating models provide a repeatable framework through which an organization can study their past performances on similar projects and use what they learn to perform estimates on the project at hand. Organizational history can be used to map Story Points or User Stories to a size measurement such as source lines of code, function points or use case points. Analysis of performance on past projects can inform decisions about productivity and other project drivers. This information can be used to drive the parametric algorithms to develop estimates for cost, effort and schedule.

This paper discusses agile software development and presents techniques to successfully build parametric estimates for agile software projects.


Arlene Minkiewicz
PRICE Systems
Ms Minkiewicz is the Chief Scientist at PRICE Systems, LLC. In this role, she leads the cost research activity for the entire suite of cost estimating products that PRICE provides. Ms. Minkiewicz has more than 26 years of experience with PRICE building cost models. Her recent accomplishments include the development of cost estimating models for complex systems and systems of systems as well as research focused on the costs and benefits associated with migration to Service Oriented Architectures (SOA)
Ms Minkiewicz has an MS in Computer Science from Drexel University and a BS in Electrical Engineering from Lehigh University. She has published many articles on software measurement and estimation. She frequently presents at industry conferences on many topics associated with hardware, software and systems estimation. She is a member of the International Society of Parametric Analysts (ISPA) and IEEE and has served on committees setting standards and best practices for estimation, measurement, and benchmarking with SEI, PMI and CAM-I.