The software lifecycle is the set of phases needed to complete the software development or maintenance process. The lifecycle description identifies the order in which those phases are executed, the products expected from each phase, and the exit criteria indicating that the phase has been successfully completed.
A number of lifecycle models are appropriate for division software projects, ranging from the standard “waterfall” model to the agile “co-development/tech infusion” model common to many division technology R&D projects. The specifics of these various models are described in the Ames Intelligent Systems Division SW Project Lifecycles document. Projects should refer to this document and may use selected text from it to define their project lifecycle in their project plans.
Although the descriptions and the order of individual lifecycle phases vary from model to model, all models cover a basic set of project phases, i.e., planning, requirements, development, testing, delivery, etc. The links at the left provide guidance on technical activities, documentation and review requirements common to each of these generic project phases.