Executive Summary
Accurate software development estimating is hard. Incorrect initial estimates lead to unnecessary delays to valuable IT projects. HyperProductive’s principles have written a white paper that will review the key principles defined by Gustav Karner’s 1993 master Thesis, followed by an overview of how HyperProductive has leveraged these key principles to devise a method for accurate and repeatable estimating.
History of Software Development Estimating
Software development estimates are notoriously inaccurate and heavily padded. Too often the people and teams involved in the estimating process use a gut feel approach; aka “the guesstimate”. In addition, individuals and teams themselves have a propensity to over or understate their abilities. All these factors lead to inaccurate and non repeatable processes to estimate a projects cost. An organization’s ability to accurately estimate a projects cost early on is paramount to creating real value for the organization.
Over time there have been multiple estimating models developed to help with project resource estimation. Many industry experts feel that the development of an estimating concept called Use Case Points has built the foundation for early stage accurate and repeatable resource estimation.
Gustav Karner’s 1993 Masters Thesis developed a method that expanded upon earlier estimation models. Karner cites the Objectory method, by Jacobson I., Christerson M., Jonsson P. and Övergaard G. (1992). The Objectory method is a well defined process for developing industrial object oriented applications. He also references: Symons (1988) who define a criterion for a technical factors. The following is a brief review of the key concepts which Gustav describes in his thesis.
Unadjusted Use Case Points (UUCP)
One of Karner’s most important insights is the introduction of “Unadjusted Use Case Points” or UUCP. UUCP’s give development teams a unit of measurement for requirement complexity to be used across different projects. By objectively counting the number of actors and individual steps in a given use case, estimators can compare the complexity of completely different requirements across a range of projects
Technical & Environmental Factors
Karner’s thesis builds on this idea that functional requirements don’t exist in a vacuum. His thesis identified various factors which contributed to a project’s complexity, what he refers to as “Technical” or “Environmental” factors. While UUCP’s give an accurate measure of the complexity of a project’s specific requirements, there are other factors that impact the cost and time line.
The environmental factor captures the components that influence a project that are unrelated to the chosen technologies and platform. These general business criteria are based on the individuals involved with the project, as well as the circumstances surrounding a project’s inception. These elements of the equation are weighted and when computed produce the Environmental Factor. Similarly, the Technical Complexity Factor is a weighted summation of various objective measures of a project’s chosen platform and non-functional requirements.
HyperProductive’s Accurate and Repeatable Estimating Model
The HyperProductive estimating model is based on the work of the International Function Point User Group (IFPUG), Gustav Karner, Watts Humphries’ PSP/TSP and the COCOMO/II project.
The magic of HyperProductive estimating model is a culmination of best practices layered on top of field tested experiences. Accurate estimating is an Art, not pure Science. It is the insight and knowledge of how to apply the science to the model that produces accurate and repeatable estimates.
One example of HyperProductive’s unique approach to estimating is the blue prints which they have developed to insure that Unadjusted Use Case Points maintain a consistent degree of granularity across projects.
Another example would be how they leverage checklists associated with documented use cases points. This helps them maintain an accurate and repeatable process over time. It also insures critical items are not missed and best practices are being adhered too.
To receive a free detailed estimate on your next project contact:
Sales@hyperproductive.com or call 216-862-5525
About HyperProductive:
HyperProductive is a Cleveland based Custom Software Development Company and Advanced IBM® Business Partner. We hold multiple Certifications with respect to Service Oriented Architecture (SOA) and Business Intelligence (BI).
Or to read more, download the complete white paper: HyperProductive_Estimating_WP