The Challenge of Agile Estimating
Agile development is one of the buzzwords of 2011. But what exactly is agile development and how is it impacting the software world? Agile development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile strives to set goals and plan the path of a project to a release while maintaining ability and openness to change based on feedback and new information. An added challenge to understanding and estimating is that, across the software development community, agile development may have different meanings and levels to which it is incorporated into a project.
As agile development becomes a desired process in the software community, the cost community will be required to not only understand the process, but also to understand the metrics and cost drivers associated with an agile project in order to effectively estimate the software development effort. Costing an agile development effort can be challenging; the data proving its effectiveness can be difficult to obtain, and also difficult to apply outside of the commercial industry. Also, the key principles of the agile process favor individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. Support for the method itself can be quite challenging as it is not the status quo in many industries.
This paper begins by providing an overview of agile development, describing the key differences between agile and traditional development and detailing the actual agile lifecycle and the multiple agile methodologies. The paper will then introduce a method for estimating and the associated challenges. Our primary goal is to engage the cost community on this emerging and important technique that is becoming more prevalent throughout the industry.
Heather Nayhouse is an Operations Research Analyst in the Analytical Solutions Operating Unit at TASC. She currently provides cost, risk, and budgeting analysis support to the Intelligence Community. Ms. Nayhouse obtained her Professional Cost Estimator/Analyst (PCEA) Certification this past fall. Prior to joining TASC, Ms. Nayhouse obtained a B.S. in Industrial Engineering from the University of Pittsburgh in 2008. Currently, she is pursuing a M.S. in Systems Engineering from Johns Hopkins University.
Christina M. Donadi (née Kanick) is a Cost and Risk Analyst at TASC, Inc. Her past experience includes conducting Independent Cost Evaluations (ICEs) for both Northrop Grumman Information System (IS) Sector and Corporate Level, as required by IS, Shipbuilding, and Technical Services. In addition to her ICE work, Mrs. Donadi provides cost, risk, and budgeting analysis support to the Intelligence Community and Department of Defense. Prior to joining TASC in 2007, Mrs. Donadi obtained a B.S. in Industrial Engineering from the University of Pittsburgh and a M.A. in Applied Economics from Johns Hopkins University. She currently resides in Geneva, Switzerland.