Practical Software Measurement

Getting a Good Start in Software Estimation

Software Estimation Good StartHow in the world does landing on an aircraft carrier relate to software estimation? Anyone who has ever experienced the terror joy of landing a jet on an aircraft carrier, especially on that dark, stormy night with no moon and a pitching deck, appreciates the importance of a good start. Your line-up is critical, as is your airspeed, angle-of-attack and attention to the "ball" – that tiny little yellow dot between the rows of green lights. As a former Bombardier/Navigator in the Grumman A6E Intruder, I have teamed with pilots on over 300 landings, all of which I have lived through. My job was to monitor and call the line-up and radar altimeter, handle the radios, manage the fuel and generally avoid sounding terrified for the entire evolution.

The process was made significantly easier if we arrived at the 3/4 mile point behind the ship at the right airspeed, gross weight, angle of attack, altitude and line up. Sort of like juggling a bunch of skittish cats.

But when all those parameters came together, we had a good start. When embarking on a software development project, or any engineering project, it’s equally important to have a strong foundation. That means having a solid idea of the characteristics of the project, what resources are (or should be) available, what duration is most likely and how good does it have to be. A software estimation tool can provide the project manager with this essential information.

Knowing the characteristics of the project, be it a data warehouse, avionics, financial or other type of project, allows one to compare the upcoming project with a set of historical data from the QSM-maintained 10,000+ project database. Having an idea of how large the project is likely to be enables the project team to place the project along a certain range of historical performance. The size of the project can be described to SLIM-Estimate as function points, use cases, source lines of code or a myriad of other options. Finally, by defining a resource limit – usually in terms of effort - and specifying a duration, or a project start date, one has the good start the project needs.

By inputting these few data points, the estimation tool generates a first look at what might be required to complete the project. But just like an approach to a carrier, refinements must be made all the way down the glideslope. Just as the landing area on a carrier is a moving target, so can be a project.  The project manager has to account for requirements changes, resource modifications, schedule adjustments, etc. With SLIM-Estimate, these changes can be inputted quickly and new "course corrections" can be made in a timely manner.

Monitoring the project as it progresses can be accomplished using a software project tracking tool, and just like the Landing Signal Officer (LSO) on the deck of the carrier, SLIM-Control warns the project team early if things are starting to look a bit dicey. Too far off the plan (glideslope and line-up) and you have to "wave off" and suffer the wrath of the LSO-or the project sponsor. QSM's tracking tool can provide this monitoring with surprisingly few metrics. It can provide a forecast of where the project will be if no adjustments are made, and once adjustments are made, a new plan can be generated – just like making adjustments to the glideslope.

Software Estimation Good StartGetting back in the "groove" is critical as early as possible. All of this is predicated on that good start that was accomplished at the beginning of the entire activity.

And when everything comes together based on that good start, you catch that number 3 (target) wire on the ship, or complete that software project on time, within the budget, with no surprises. And you have a happy LSO (Sponsor).



Blog Post Categories