Jensen Model

Home Up

 

The Jensen model was created in 1979 by Dr. Randall Jensen at Hughes Aircraft Co.  The model purpose was to provide realistic, computer-supported software estimates.  The model has been continually improved since that time as verifiable project data has become available. 

Early model improvements included new parameters to more clearly describe the development environment.  Other parameter values were modified to better reflect the actual cost impact.  The effective size calculation was improved to accurately specify the work required to produce the software product.

This software development model was the basis of a series of commercial estimating tools including the CEI JS1, JS2 and System 3 products, and the GAI SEER for Software product.

Prior to 1990 the Jensen Model was primarily technology based;, that is, the model parameters assumed technology (process, tools, languages, etc.) and the product characteristics were the main drivers of development cost and schedule.  During the 1990 through 1995 period, the Jensen model basis was re-evaluated with respect to 15 years of project data. The data showed an important third view of the development project had been ignored by all of the estimating models. 

Management effectiveness, the third view of the development process, was significantly more important than any other view of the development environment. 

The first release of the Jensen II model was finalized in 1995.  The updated model contained the three project views that are necessary to produce realistic estimates of development cost, schedule and resources.  Validation studies of the current model show marked estimate improvement for projects using non-classical management approaches. Sage 3 introduced function points to the acceptable size metrics.

Sage 4 (2009) adds a new dimension to software estimating tools -- system level estimates.   Previous estimating tools provided support for estimates at the component, or CSCI, level.  The component level is defined by a requirements specification and the component interface document.  Software estimates earlier in the subsystem development are generally not supported because the tools are based on software component level calibration. Note: Aerospace Corporation data (2003) shows that CSCIs with effective size greater than 200,000 lines are highly unlikely.  System level estimate data do not support development schedule estimates because of a lack of early development task definition.

"Poor management can increase software costs more rapidly than any other factor.  Each of the following mis-management actions has often been responsible for doubling software development costs..."

"... Despite this cost variation, COCOMO does not include a factor for management quality, instead provides estimates that assume the project will be well managed [Italics mine-RWJ]

Barry W. Boehm, Software Engineering Economics

 

Validation of the Sage 4 Software Schedule and Cost Estimation Model

It is important to understand the genealogy of the Jensen Software Development Model, the history of the validation of this model, and the validation of the Sage implementation of this model.  The course of the discussion will show the model has been validated continually over the past 25 years, and by extension, all correct implementations of the model have also been validated.

The Jensen Model is mathematically described by the following relationships:

S = Cte * sqrt (K) Td                                                                                           (1)

and

D = K / T^3                                                                                                                                         (2)

where     S = effective software size,

   Cte = effective development technology constant,

    K = total life cycle cost from start of development through end of life (person years),

    T = development time from start of development through FQT (years), and

    D = project complexity measure.

The technology constant contains close to 30 parameters that describe the development environment and project characteristics.  All Jensen Model implementations contain these 30 parameters.  Sage adds one management parameter and more precisely defines 3 of the existing parameters to describe management effects.

These relationships were originally developed at the Hughes Aircraft Company Space and Communications Group in 1979 to support studies in productivity improvement.  The model (referred to as Seer) was based upon a collection of project data accumulated within the software development group.  The data was restricted to “crisis mode” projects: that is, projects that were constrained by schedule and funding.  That data was augmented by a subset of the data used by Putnam in the development of the SLIM estimating model that satisfied the crisis mode criteria. 

The first official validation of the Jensen Model was conducted by NSA in 1982 under the direction of Troy Cox.  Cox was trained in the correct use of the model, after which he conducted the validation study with classified NSA project data.  The validation was successful.  The detailed study results were never publicly released.

The Jensen Model was commercially implemented by Computer Economics, Inc. as the JS1 (1981), the JS2 (1982), and System-3 (1985).  The JS2 was the implementation used by NSA in the validation study.  Galorath Inc. released the Jensen Model in 1990 as the SEER-SEM software estimating tool.  Each of these implementations continued the validation of the underlying model.

Project estimates using the model as far back as 1979 were credible only when applied to classical software development environments.  Classical environments are still best typified by cubicle floor plans.  Non-classical environments such as those involving modern management approaches (pair programming, skunk works, TQM and agile techniques for example) were outside the validated project range and produced suspect estimates.  All of the historic data used to support the model development and validation was obtained from classical projects.

Sage (1995) was the first commercial implementation of the Jensen Model containing modifications to the technology constant parameters to account for the impact of modern environments and management.  The technology constant improvements were derived from non-classical project data collected over the preceding 20 years.  The improvements have an additional decade of validating data.  The underlying validated model was unchanged in the process.  When a classic environment is described in the updated technology constant parameters, the cost and schedule estimates are mathematically identical to estimates produced prior to the Sage technology constant upgrade.  Sage and SEER-SEM cost and schedule estimates for classic environments are identical.  In a sense, the valid operating range of the Jensen Model was broadened in this evolution step to include management effects.  

Sage 3 introduced valuable new estimating facilities that were unavailable in the existing commercial implementations of the model.  First, the addition of software size growth estimates based on a variation of the widely-used Holchin growth algorithm makes it possible to project growth according to the current state of a software system definition.  Second, a risk analysis capability was introduced that is based on the statistical variance of the estimate input parameters rather than the traditional point estimate. Third, complete support for function point size projection based on the IFPUG 4.2 standard.  The function point capability also includes extensions to support 3D function points defined by S. Whitmire of Boeing.  The Whitmire extension makes it possible to use Sage 3 for object point counting.

The advent of requirements to produce realistic estimates prior to Milestone A led to the evolution of Sage 4.  Pre-Milestone A created a requirement to develop estimates before the system has been decomposed to a component architecture and the software component developer has been identified.  The result (Sage 4) has a simple input data requirement that supports early system development estimates that is unique in the software estimating industry.

As a concluding note, there is a common misconception that “properly calibrated and validated” tools eliminate major estimate errors.  Estimating tools, of which the Jensen Model is a fine example (Sage and SEER-SEM are commercial implementations), are simply estimating tools.  Proper validation reduces errors inherent in the tools themselves.  The model, or tool, is like a good scalpel.  The estimate quality still lies primarily in the quality, training, and experience of the user.

 
 

Copyright ©2010 Software Engineering, Inc.           Last update: 13 April 2010