Tracking Project Status with Requirements
Instead of guessing at the percent completion of a project, use requirements status to really show where you are.
“How are you coming on implementing that subsystem, Yvette?” asked the project manager, Dave.
“Pretty good, Dave. I’m about 90 percent done.”
Dave was puzzled. “Didn’t you say you were 90 percent done a couple of weeks ago?” he asked.
Yvette replied, “Yes, I thought I was, but now I’m really 90 percent done.”
Like nearly everyone, software developers are sometimes overly optimistic when they report how much of a task is complete. The common “90 percent done” syndrome doesn’t tell Dave much about how close Yvette really is to finishing the subsystem.
But suppose Yvette had replied, “Pretty good, Dave. Of the 84 requirements for the subsystem, 61 are implemented and verified, 14 are implemented but not yet verified, and I haven’t implemented the other 9 yet.” Tracking the status of each functional requirement throughout development provides a more precise gauge of project progress than top-of-the-head guesses about percent completion.
Tracking project status means comparing where you really are at a particular time against the expectation of what “complete” means for this development cycle. You might have planned to implement only certain flows of a use case in the current release or iteration, leaving full implementation for a future release. Monitor the status of just those functional requirements that were committed for the current release, because that’s the set that’s supposed to be 100 percent done before you declare success.
Requirement status is an example of a requirement attribute, a piece of descriptive information that accompanies and enriches the statement of a single requirement. The best way to handle requirement attributes, including status, is with a requirements management tool. Table 1 lists several possible requirement statuses.
Table 1. Suggested requirement statuses