by John Swaren
| September 25, 2014
Ahhhh, the 80s… a challenging (but often confusing) time in an evolving computing world. Working in 1985 as a software estimator as well as SQA engineer in a quality assurance department that “audited” real-time projects using new concepts like OOD & OOP… well, you get the picture. It was a great time to get immersed into great work. And the good news: that company’s process as well as its developers were bullish on a young estimation/ quality type asking plenty of questions… as long as they were of the Yes-No variety. And ask I did. Writing and using those checklists was great OJT, above & beyond adding their value of verifying/ enabling healthy development activities.
Less than two years later, SEI’s Walt Humphrey formalized his Capability Maturity Model with its five levels of software process maturity. These “CMM” levels are still used by many organizations and estimating tools, including within True Planning’s “Organizational Productivity Calculator.” Could the CMM assessment be supplemented to include cost-driver questions for purposes of parametric estimation? It worked in my SQA audit days.
In fact many estimators (if only because they can’t get on an SME’s schedule twice) take the opportunity to ask qualitative and quantitative questions. Integrating both lines into one interview should still be received as a healthy value-add. Whether estimation is resident within a quality or financial function is moot. We have the entrée to support both costing/ planning and productivity assessment. A good example of an integrated approach is the David Group’s Project Profile Worksheet, cited in the text “Function Point Analysis” by David Garmus & David Herron. Less comprehensive checklists are likely out there too, including methodologies proprietary to individual companies.
The thought today is that the future is now and structured approaches, called audits or otherwise, will enable good practices as well as illuminate new approaches too. In Wall Street, regulations are only good in controlling past (known) bad behaviors. In just as creative Software, process rules help developers maximize their productivity towards current & future good behaviors.