1. Field of Invention
This invention is in the field of parametric models for estimation of cost to completion of development programs having complex hardware and software components.
2. Description of the Related Art
Estimation of total cost to completion of development programs requiring the design and implementation of complex hardware and software as well as their integration is necessary for program bidding, planning and execution. Historically, there has been an attempt at using a bottoms up approach at estimating the cost of new development programs from prior experience with completed programs. The prior experience of engineers doing similar programs was used to arrive at a cost estimate. As the complexity of programs increases, the results generated by prior art methods have not been sufficiently accurate.
Generally no consistent methods are known for treating each variable, looking at its relevance in the context of a complex program, then using these variables for estimating the overall cost of a completed program based on changes as applicable for a yet to be built system. This lack of a methodical approach to the estimation of total costs for a new program has introduced errors and inaccuracies in the estimation process reducing its overall utility.
The limitations of prior cost estimations are reduced by a method for estimating the cost of completion at the end of a first time interval of a new program using a plurality of tasks for completion of said new program, said new program having program phases and new elements. The method comprises the steps of:
making an initial cost allocation for each of said tasks within said new program;
tailoring said cost allocation for said program phases to obtain a normalized value;
computing a schedule aggressiveness;
computing a requirements volatility;
computing a complexity, said complexity identifying new elements within said new program;
combining said normalized value, said schedule aggressiveness, said requirements volatility, and said complexity to extrapolate an end cost for each of said tasks for said new program from said initial allocation, said end cost estimated for the end of said first interval;
summing said end cost for each of said tasks to obtain a first value,
adjusting said first value using a resource needs ratio and a calibration factor to arrive at an estimated cost of completion of said new program at the end of said first interval.
For example, the tasks to be used for estimation purposes comprise one or more chosen among a Management plan, a System design, a System analysis, a Specification and interface, a Status Report and Revisions, an Assembly, Instrumentation and Test Requirements Plans and Procedures, a Test Equipment Facilities and Delivery, an Assembly Integration and Test, a Validation, and a Post Delivery and Support.
In the Drawing:
This invention describes a method for estimating the cost of completion of a new program. The program has hardware/software, systems development, new and old systems/subsystems (elements). The estimated cost of completion of the new program is computed for the end of a time interval of the new program. A plurality of tasks need to be completed for said new program. The new program also has program phases. Some of the new elements can be derived or be based on old, existing elements from an old, previous program. The tasks to be completed are identified at the start of the cost estimation process. The overview of the method for estimating the cost of completion of a new program is shown in
The first step is identifying particular tasks relevant to the new program, including those based on old programs having similar characteristics. A typical, exemplary list of such tasks, relevant to a major program are the following 10, as detailed in
Management plan 113—the plan necessary to arrive at the new program from a management perspective. Management plan 113 describes the method for identifying, allocating and scheduling the resources necessary to develop and deliver the various products of systems engineering. The structure of management plan 113 is such that it does not contain detailed plans, such as a test plan, but rather indicates how and by who such plans are to be prepared, reviewed and approved. The cost of the management plan product includes the cost of the associated intellectual efforts and not just publication costs.
System design 115—the system design for the overall system. System design 115 is defined as an intellectual product that typically involves using text and drawings to describe interfaces between system components and the performance of the new system.
System analysis 117—analysis of the system design generated by system design 115. System analysis 117 is defined as part of the systems engineering process where numerous aspects of the system are analyzed in detail as part of an iterative process for evaluating alternatives, estimating system performance, cost, and risk. System analysis 117 also is used to look for early signs of potential problems and develop alternative solutions for problem areas. Each system analysis is generally limited in scope and duration.
Specification and interface 119—definition of interfaces between subsystems, part of the new system. Specification for each hardware and software component within the new system, and with the outside world. The specification and interface 119 delineate the design parameters of the system from the point of view of interaction internally as well as external to the system forming the new program. It includes deliverables such as hardware/software specifications, interface control documents, indexes, notices, and drawings that are not specified elsewhere, as for example, certain test related items. The cost of specifications and interfaces 119 includes for example:
i) the cost of assembling the content,
ii)communicating each specification to all interested parties and negotiating compromises when required,
iii) controlling the configuration of the specification and
iv) publishing the physical document including type setting, illustrating and reproduction costs.
Status Report and Reviews 121—generating status reports on the progress towards the new system and conducting management/customer reviews. Provides the customer and management with a window on new program activities. Distinct from the design, analysis and test products, do not include performance data typically present in design and analysis. This task includes:
i) assembling, checking for consistency and correctness reformatting and publishing technical details descriptive of the new system,
ii) providing expert review of the status reports prior to presentation
iii) following up on action items generated during the review process.
Typically, does not include the intellectual effort provided by the technical specialities, such as engineering.
Assembly, Instrumentation and Test Requirements plans and procedures 123—generating test sequences and instrumentation required for validating the operation of hardware and software components. Specifies unit, subsystem, and system wide functional and environmental test requirements as well as operational test requirements.
Test Equipment facilities and delivery 125—details the cost of new or reconfigured buildings to meet special requirements for the new program not satisfied by generic, existing facilities. It includes, for example, special test equipment specific to the new program, shipping containers where applicable, to conduct new system tests. It further contains the intellectual efforts necessary for determining how and what test equipment should be built, specifying requirements and design, as well as the effort associated with acquiring the equipment, (such as fabrication, assembly and transportation of test equipment), validation and calibration of the test equipment and maintaining it operational. Facility related products include the intellectual efforts to specify and justify building new facilities or reconfigure existing facilities to meet special requirements of the new program. Delivery related tasks identify, design and fabricate special delivery equipment required by the new program, as well transportation to customer's site.
Assembly integration and test (AI&T) 127—completing assembly of program components and test thereof. This is the step that leads to the physical manufacture of products related to the new program. The outputs generally are records of activities, test data, engineering test proposals and improved hardware suggestions. The cost includes the cost of generating the test data, performing the test, excluding the cost of rented test equipment or expendable materials which are part of Test Equipment.
The functional tests performed as part of AI&T are not considered validation or verification testing. Functional tests describe a test incidental to the assembly of the hardware. In contrast, validation testing is performed under specifically controlled conditions.
The cost of originating engineering change proposals is considered part of AI&T and is not separately priced. The preparation and evaluation of engineering change proposals is included under Specification and Interfaces 119.
Validation 129—comparing the operation of the assembled new system with system design 115 and system analysis 117. Validation confirms that the new system, part of the new program, meets requirements. Validation costs include performing the Validation activity (including, if necessary, the cost to monitor the equipment for three shifts a day, seven days a week), analyzing the results as well as the cost of publishing and distributing the resulting document(s).
Post delivery and support 131—efforts required to support customers after the sale. Includes those products whose development can not be efficiently undertaken until after the system within the new program has been installed in its intended application. In space and strategic applications, post delivery support may take the form of developing and delivering mission requirements, specifications, plans and procedures that reflect the as delivered system/new program capabilities. In tactical applications, post-delivery support may take the form of uncovering, resolving and documenting changes necessary for the system to work effectively within larger system or framework whose configuration may not be fully stable with time, i.e. the exact final configuration is still being developed, and had not been fully known at the time of design of the (present) new program.
The initial allocation and tailoring flow chart for baseline tasks for a new program are exemplified in
Management plan baseline 501,
System design baseline 503,
System analysis baseline 505,
Specification and interface baseline 507,
Status Report and Revisions baseline 509,
Assembly, Instrumentation and Test Req's plans and procedures baseline 511,
Test Equipment facilities and delivery baseline 531,
Assembly integration and test baseline 513,
Validation baseline 515, and
Post delivery and support baseline 517.
As further detailed in
Pre-concept 519—initial, pre-concept exploration of new program outlines;
Concept exploration 521—further detail of the concepts involved in the new program;
Demonstration validation 523—small scale validation of the overall new program, first prototype construction;
Engineering and manufacturing development 525—Preparation for production; and
Production 527—production of new program hardware/software and integraton thereof in a working whole.
The results from each program phase are normalized for each selected program phase 529 to account for the particular stage of the program being estimated. For example, the pre-concept 519 stage will require far fewer resources than production 527.
The estimation process uses values from initial allocation 501-517, 513 modified for each program stage 519, 521, 523525 and/or 527 to arrive at an applicable dollar result. This dollar result, generated in 529 is sent to
Further as detailed in
computing a schedule aggressiveness 109 per
computing a requirements volatility 105 per
computing a complexity 101 per
computing a product reuse 107 from the identification of new elements within said new program to be derived from prior, existing elements per
generating a miscellaneous inputs 111 per
The factor multiplier table 133 in
The results after each program stage 519-527 are tested to validate the results from previous steps as the program progresses. Parameters present in factor multiplier table 133 are adjusted to better reflect progress to date. This provides a feedback path and identifies the degree of reliability from projections.
The factor multiplier table 133 contains an entry for each of the above cited elements 101 to 111. For a typical program estimation, the factor multiplier table 133 has typically exemplary entries shown in table 1A and 1B.
Management plan 113 is a dollar value that is associated with the cost of plan management for the new program over the interval of interest. Similarly, system design 115, is also a dollar value of the cost of system design for the new system over the interval of interest System analysis 117, specification and interfaces 119 status reports and reviews 121 AI& T requirements plans and procedures 123, Test equipment facilities and delivery 125, Assembly integration and test 127, Validation 129, and Post delivery and support 131 are dollar values associated with that particular task within the program. Each of these is operated upon by six factors derived from prior experience and applied within factor multiplier table 133.
The six factors considered in table 1 are Complexity 101, Reuse factor 103, Volatility 105, Product Re-use 107, Schedule Aggressiveness 109, and miscellaneous inputs 111, further detailed below.
1) Complexity
Complexity 101—related to how complex the new system is as compared to the previous system. This factor has a value of more than 1 for systems more complex than their predecessors. Where a new system is more streamlined that the old, having fewer subsystems, the value for complexity can be less than 1. An increase in number of sub-systems will increase complexity.
As shown in
2) Reuse Factor
Reuse factor 103—related to what portion for particular tasks 113-131 of the new program can be extracted from an old program, and the learning curve related to it. Typically a value of 1.0 as it is likely most elements of an old program would be applicable to a new program. The re-use factor is detailed in
The result from 644 and 622 form the Sum of New Quantities and prior quantities 646. The are adjusted by a learning curve factor 648 and presented to the factor multiplier table 133 in
Typically, the re-use factor detailed in
3) Volatility
Volatility 105—related to how well known the requirements for the new program are at the start of the program, and as it progresses towards completion.
Volatility 105, as detailed in
where Cm is the relative role of form. The 80% means there is an 80 percent chance the system requirements will not change.
Volatility is defined as 1—Certainty where certainty is
Certainty=Σ(Form+Fit+Function)
Volatility affects each variable of column 2 of table 1A and 1B.
As detailed in
4) Product Reuse
Product Reuse 107—related to how many existing products can be used by the new program, instead of having to develop new products. This value is typically 1 as it is likely a new program can be constituted from, or re-use a plurality of old products.
5) Schedule Aggressiveness
Schedule aggressiveness 109—related to how ambitious the schedule for completion is as compared to old programs. Further detailed in
Other entries in table 315 are shown in
The same logic queries are applied using Process Obstacle parameter 404. Process refers to the design process for designing the parts of the new program.
Invention obstacle parameter 406, similarly treated, identifies the possibility of as yet undeveloped parts of the new program wherein an invention effort has to create these parts. This is separate and distinct from the typical design effort where known methods and techniques can be applied to meet a set or requirements.
Facilities Obstacles parameter 408 refers to the availability of facilities for use by the new program. If required facilities are special in nature, in high demand, or otherwise present an obstacle, entries in table 315 are made depending on the nature of the obstacle, as defined by logic boxes 410, 412, 414 and 416.
6) Miscellaneous Inputs
Miscellaneous inputs—111—related to other characteristics of the new program. Details in
As shown in
As shown in
Management plan 501
System design baseline 503
System analysis baseline 505
Specification and interfaces baseline 507
Status reports and revisions baseline 509
AI&T requirements plans and procedures baseline 511
Assembly, integration and test 513
Validation baseline 515
Post Delivery and support baseline 517
The same definitions previously given apply, except that 501-517 are initial baselines to be later modified during the estimation cycle at the start/end of each time interval.
All references cited in this document are incorporated herein by reference in their entirety.
Although presented in exemplary fashion employing specific embodiments, the disclosed structures are not intended to be so limited.
Those skilled in the art will also appreciate that numerous changes and modifications could be made to the embodiment described herein without departing in any way from the invention. These changes and modifications and all obvious variations of the disclosed embodiment are intended to be embraced by the claims to the limits set by law.