Technical Report: Software Intensive Systems Cost and Schedule Estimation

Report Number: Technical Report SERC-2013-TR-032-2

Report Name: Software Intensive Systems Cost and Schedule Estimation

Publication Date: June 13, 2013



This is the 2nd of two reports that were created for research on this topic funded through SERC. The first report, SERC-TR-032-1 dated March 13, 2012, constituted the 2011-2012 Annual
Technical Report and the Final Technical Report of the SERC Research Task RT-6: Software Intensive Systems Data Quality and Estimation Research In Support of Future Defense Cost
Analysis.The overall objectives of RT-6 were to use data submitted to DoD in the Software Resources Data Report (SRDR) forms to provide guidance for DoD projects in estimating software costs for future DoD projects. In analyzing the data, the project found variances in productivity data that
made such SRDR-based estimates highly variable. The project then performed additional analyses that provided better bases of estimate, but also identified ambiguities in the SRDR data
definitions that enabled the project to help the DoD DCARC organization to develop better SRDR data definitions. In SERC-TR-2012-032-1, the resulting Manual provided the guidance elements for software cost estimation performers and users. Several appendices provide further related information on acronyms, sizing, nomograms, work breakdown structures, and references.

SERC-TR-2013-032-2 (current report), included the “Software Cost Estimation Metrics Manual.” This constitutes the 2012-2013 Annual Technical Report and the Final Technical Report of the
SERC Research Task Order 0024, RT-6: Software Intensive Systems Cost and Schedule Estimation.Estimating the cost to develop a software application is different from almost any other
manufacturing process. In other manufacturing disciplines, the product is developed once and replicated many times using physical processes. Replication improves physical process
productivity (duplicate machines produce more items faster), reduces learning curve effects on people and spreads unit cost over many items.
Whereas a software application is a single production item, i.e. every application is unique. The only physical processes are the documentation of ideas, their translation into computer
instructions and their validation and verification. Production productivity reduces, not increases, when more people are employed to develop the software application. Savings
through replication are only realized in the development processes and on the learning curve effects on the management and technical staff. Unit cost is not reduced by creating the software
application over and over again.