Estimating Software Development Costs for Agile Projects
Information Technology Track
IT-6 – Presentation – Mobile Applications, Functional Analysis and Cost Estimation
Addressing the need to more rapidly develop and field capabilities for the warfighter, more and more software-centric DoD programs are transitioning towards an industry trend called “Agile” software development. While “Agile” software development is geared towards producing usable software products more rapidly than traditional waterfall or incremental methods, it also requires more flexibility with managing requirements. The main challenge this has created for program managers is figuring out how to effectively manage scope, cost, schedule, and performance in this flexible, fast-paced development environment in which requirements are more fluid. In turn, cost estimators have been challenged to develop new data collection approaches and estimating methodologies to more effectively estimate software costs for these “Agile” programs.
Agile Development Costing Approach: Cost estimators supporting Command and Control (C2) programs within the Space and Naval Warfare (SPAWAR) Enterprise have been working to develop software development cost models that better align to “Agile” projects within their program office. They have built an Excel-based cost model that utilizes “Agile” software metrics, such as user stories, story points, and velocity, to estimate the project’s future software development costs. This model dynamically updates its projections using an actual data input area, automatically time-phases projections based on user-defined schedule inputs, and utilizes Monte Carlo-based uncertainty analysis to analyze impacts of possible changes in future velocity, team size, or project scope. Key outputs of the model include time-phased uncertainty-adjusted cost tables, iteration/release/project burn down charts, historical and projected velocity charts, and a project management analysis section that depicts cost, schedule, or scope impacts of deviations to the original project plan (e.g. lower than expected productivity, scope changes, etc).
Benefits: This approach better fits “Agile” development projects than traditional SLOC-based models because it utilizes metrics that are typically produced and tracked by performers on these projects, such as user stories and story points. Actual cost/performance inputs allow for continual actual tracking and automatically produce updated cost projections. Lastly, the model features various visual outputs that depict key project performance indicators, as well as an automated scenario analysis tool that displays impacts to the project’s cost, schedule, and scope if the project experiences any deviations from its original plan.
Disadvantages: This is not a turn-key model that can churn out a cost estimate for any given “Agile” project based on a few key inputs. Rather, it is a template requiring customization for each specific project, which entails a significant up-front time investment to define the requirements and complexity of the project in detail. Additionally, when this model is implemented on a new project that has not yet begun, the Basis of Estimate (BOE) is more difficult to defend when compared to traditional approaches for two main reasons: 1) no data from other “Agile” projects is currently used to formulate them, and 2) the main sizing metric used, story points, is a subjective measure of complexity that can be unique to the development team of the specific project.
Summary: The growing number of DoD software projects that are adopting an “Agile” development concept requires cost estimators to adapt the methodologies and metrics they use to estimate software development costs. The prototype model built by SPAWAR cost estimators to support their C2 programs is one manifestation of this trend. There is still a lot of research to be done and data to be collected to help improve it, but this model provides a solid, logical approach for estimating software development costs for “Agile” projects.
Booz Allen Hamilton
Blaze Smallwood CCE/A graduated from Santa Clara University with a B.S. in Commerce in 2002 majoring in Economics and minoring in Mathematics, and is currently pursuing a M.S. in Information Systems from Illinois State University. He is employed by Booz Allen Hamilton as an Associate and serves as the co-chair of training committee within Booz Allen’s Applied Economic Analysis (AEA) Community of Practice (CoP). Mr. Smallwood specializes in cost estimating and economic analysis in support of Department of Defense (DoD) programs, mainly in Program Executive Officer, Command, Control, Communications, Computers, and Intelligence (PEO C4I) under the Space and Naval Warfare (SPAWAR) Enterprise. Mr. Smallwood has primarily supported Navy C4I programs, such as Global Command and Control System-Maritime (GCCS-M), developing cost estimating products such as Program Life Cycle Cost Estimates (PLCCEs), Cost Analysis Requirements Descriptions (CARDs), and Economic Analyses (EAs). He also provided cost analysis and modeling support to the Army Protected Communications-on-the-Move (PCOTM) satellite communications (SATCOM) terminal program, managed by PEO Command, Control, and Communications-Tactical (C3T), and currently provides similar support for the Navy Data Center Application Optimization (DCAO) project, managed by the SPAWAR Systems Command.
Booz Allen Hamilton
Omar Mahmoud CCE/A graduated from the University of California, San Diego with a Bachelor’s degree in Computer Science in 2000 and received his MBA from California State University, Long Beach in 2005. He is employed by Booz Allen Hamilton as an Associate on the Applied Economic Analysis team. Mr. Mahmoud is the lead cost estimator for a Major Automated Information System – Acquisition Category 1A program in the Program Executive Officer, Command, Control, Communications, Computers, and Intelligence under the Space and Naval Warfare Enterprise. Mr. Mahmoud has primarily supported Navy C4I programs, such as Global Command and Control System-Maritime, developing cost estimating products such as Program Life Cycle Cost Estimates (PLCCEs), and Economic Analyses. Mr. Mahmoud also provides training to Booz Allen Hamilton staff on subjects related to “PLCCE Design and Modeling Techniques” as well as “Software Cost Estimation” through the SCEA CeBOK training series.