Progress, far from consisting in change, depends on retentiveness. When change is absolute ...no direction is set for possible improvement... when experience is not retained, as among savages, infancy is perpetual. Those who cannot remember the past are condemned to repeat it.
- George Santayana, The Life of Reason
The French have a saying: "Plus ca change, plus c’est la meme chose".
That time tested axiom aptly summarizes QSM's 30 years of experience in the software industry. In the three decades since a senior Army Colonel first explored the relationship between software size, schedule, effort and defects, Larry Putnam’s original work has been refined, retested and ultimately reinforced by the dizzying pace of modern software development. Tools and methods du jour continue to replace their predecessors in quick succession but our research shows a reassuring constancy in the fundamentals of software development.
In retrospect, it is not surprising that Larry's work stood the test of time. His approach - practical, results oriented software measurement - was dictated by a feeling familiar to beleaguered developers: pain. When he arrived at the Army Computer Systems Command in the mid-1970s, software cost estimation relied on a simplistic productivity measure: lines of code per person month of effort. Dividing this ratio by the estimated size of the contemplated software product yielded total effort, which could then be divided by planned effort resource gave a schedule estimate that could be tweaked if needed.
Losing $10 million dollars in budget negotiations provided the "pain" needed to learn from experience. Larry began investigating the non-linear relationships between time, effort, size and defects. He started with what he had - a small, homogeneous data set of projects with similar complexity and tooling - and set out to identify the fundamental relationships involved in software development. Over the years, his original work has been continually reassessed against current industry data.
Over the next 30 years, QSM was consistently at the forefront of the brave new world of software process improvement:
The first mainframe version of SLIM-Estimate came out in 1979. SLIM-Estimate was the first tool to combine Monte Carlo simulation for risk analysis with linear programming for optimal resource planning.
Ten years later, QSM became the first tool supplier to offer project tracking and forecasting software to complement their estimation and planning tool. SLIM-Control's innovative capabilities included statistical process control bounds for comparing plans to project actuals and curve fit forecasting to produce empirical estimates of the likely completion date and budget.
In 1994, SLIM-Metrics, another first in the software measurement industry, combined a comprehensive project repository with query and analysis tools to allow managers to compare projects and assess process improvement initiatives. Innovations included industry benchmark curve fits, customizable screen components and multiple data set comparisons.
1998 brought the release of SLIM-MasterPlan: an enterprise project aggregation tool, and the first tool to allow estimators to aggregate multiple product lines and multiple releases and see the "big picture". Innovative features allowed graphical shifting of resources to optimize plans or reallocate resources.
In 2001, the 5 SLIM products were combined into a fully customizable, integrated solution: SLIM Suite.
2006 brought the opportunity to leverage 27 years of software measurement experience. The QSM IT Almanac combined a snapshot of the state of current software development with the unique perspective made possible by studying nearly 30 years worth of high quality, completed software projects.
On QSM's 30th anniversary in the software business, we pause to reflect upon the value of experience and continuous, practical software measurement. Three decades of observing software development only reinforce the value of that French adage: "The more things change, the more they remain the same." QSM's new blog, "Practical Software Measurement", is our chance to share that perspective and compare experiences and insights with SLIM users and other interested software development professionals.
If the journey has taught us anything, it’s that this is a conversation well worth having.