Requirements and Estimation Process

advertisement
Requirements and Estimation
Process
From a CMM Level 5 Organization
Alan Prosser
Requirements and Estimation
 This is a sample process for requirements and cost
estimation process from a CMM level 5 organization. The
organization was for a government contract, the software
for the Space Shuttle Onboard computers (OBS stands for
On Board Software). The contract has been through
several companies, (IBM Federal Systems, Loral Space
Systems, Lockheed Martin Space Information Systems and
by now United Space Alliance).
Requirements and Estimation
 There were 5 different CCBs and processes for software
with 5-6 different risk levels and for changes vs. fixes. What
I describe here is a high level view of the requirements
change process to the 2-3 higher risk levels. (Level 2-3 use
the same process from this view).
–
–
–
–
–
–
1 - Flight software - life and property depend on it
2 - Critical tools - affect 1s and 0s of FSW
3 - Non-critical, deliverable tools
4 - Organization use - used by organization but not customer
5 - Department use - helpful, but not a wide number of users
6 - Individual use tools - automation of personal, manual tasks
Requirements and Estimation
 Basic Steps
– Change Request (CR) goes to CCB
– Functional Areas fill out PASS 1
– Back to CCB for PASS 1 (Requirements)
approval
– Functional Areas for Development and
Verification fill out PASS 2 (Estimates)
– Approval and schedule to a release by CCB
Requirements and Estimation
 Change Request (CR) goes to CCB
 Someone, either external (NASA) or internal, writes a CR, which is
high level, mentions some kind of justification, what applications are
affected, need date, etc. This document goes to the CCB, where it
gets assigned a number and is entered into the Configuration
Management Database (CMDB).
 The CCB passes a copy the request on to each functional area
affected. There are representatives of all functional areas at the
CCB, some individuals represent several areas.
 If anyone notices that a functional area is missing, it will be added.
 Most team members at least get the CCB agendas for this purpose.
Requirements and Estimation
 Functional Areas fill out PASS 1
 A requirements analyst (RA) responsible for the area looks at the
CR to see if a change of the baselined requirements are needed. If
requirements will need to be changed, a cost and date estimate for
the requirements change is required. An online form is filled out
(PASS 1 Requirements) The form also has a place to reject the
request.
 A developer for the functional area looks at the CR and fills out a
form to indicate that the change is small, medium, or large, if
changes to requirements are needed, and suggests a release that
may be possible or rejects the change with reasons. There is a
form for development too (PASS 1 Development)
Requirements and Estimation
 To CCB for PASS 1 (Requirements)
approval
– The forms automatically show up on the CCB
agenda, and if they all say approve for writing
requirements, the requirements cycle starts for each
functional area.
– Requirements cycle(s) until team agrees,
then CCB can give PASS 1 approval
Note that CRs that also affect FSW will also go through a similar CCB
process there as well.
Requirements and Estimation
 Requirements Cycle
 The RA does investigation and writes a version of the requirements.
The RA may look at any documentation, have interviews,
brainstorming sessions, etc.
 An internal review of the requirements is scheduled. There are
representatives for verification and development and a backup RA,
and a neutral (from other functional area) moderator. All major and
minor errors are logged
 When the team has approved the requirements, it goes to the CCB
and customer (there is a customer rep at CCB). Any of them could
point out changes needed, sending back to begin this cycle. Large
changes have multiple cycles and may take months to write.
Requirements and Estimation
 Functional Areas for Development and
Verification fill out PASS 2 (Estimates)
– Developers fill out estimates (Development
PASS 2)
– Verifiers fill out estimates (Verification PASS 2)
Requirements and Estimation
 Developers fill out estimates (Development
PASS 2)
– A developer generates an initial list of
components (modules, includes, etc) to change,
enters a PASS 2 Development form with cost
and schedule estimates.
– Cost estimates are in Lines of Code and
schedules are to particular releases.
Requirements and Estimation
 Verifiers fill out estimates (Verification PASS
2)
– A verifier (often the same person as RA and
user) plans when in the development cycle they
can do their testing, with an estimate of cost. A
PASS 2 Verification form is filled out.
Requirements and Estimation
 Approval and schedule to a release by CCB
– After all PASS 2 forms and requirements are approved
by the CCB, work can start on design and code.
Requirements and Estimation
What is the result?
– We have detailed requirements that have been
reviewed or are at least visible to everyone.
– We have a good chance that all affected areas
are identified.
– We have a fair estimate of the size of change
and for small changes may know CIs.
– We have a schedule agreed to by all.
– We know when independent testing will be done
with an estimate of cost.
Q&A
References
 Fast Company wrote an article about culture and process
improvement philosophy of the organization in issue 6,
12/1996-1/1997
http://www.fastcompany.com/magazine/06/index.html
“They Write the Right Stuff”
http://www.fastcompany.com/magazine/06/writestuff.html
 http://www.alprosser19.com/alworks.html has a summary
of the work Al did in the Space program
Download