Page 39 -
P. 39
2 - PROJECT LIFE CYCLE AND ORGANIZATION
Software project life cycles in the middle region of the life cycle continuum tend to align more closely with the
predictive side or the adaptive side of the continuum depending on the way requirements are specified, how risk
and cost are handled, and the nature of key stakeholder involvement.
2
Key stakeholders are those individuals and groups whose involvement is essential for a successful outcome. Key
stakeholders may include but are not limited to potential users, customers, system engineers, system integrators,
acquirers, operators, and maintainers. Different key stakeholders may need to be involved at different times during
software development.
Also, it should be emphasized that software project life cycles are complex and multidimensional. They include
processes for activities such as configuration management, process and product quality assurance, independent
testing, and other activities as appropriate and needed. In addition, software projects may be elements of programs,
and may include interfaces to other functional units of the software development organization or business enterprise,
to affiliated projects, and/or to subcontracted groups or projects.
There is a distinction between planning and conducting a software project and preparing for and delivering the
resulting product. The customer and other key stakeholders for a predictive software life cycle project could choose
(a) to accept a single product delivery at the end of the project; (b) to accept delivery of preplanned increments
of functionality at specified milestones during product development; (c) to accept delivery at the end of the
project but with periodic demonstrations of product increments during product development; or (d) to have no
involvement between initial requirements specification and delivery of the product. Similarly, a customer and other
key stakeholders for an adaptive life cycle software project could choose to witness demonstrations of evolving
capabilities at the ends of iteration cycles with a single delivery of the product at the end of the project, or to accept
delivery of product increments at planned or emerging intervals.
Other variations are possible: (a) a software project manager could initially prepare detailed plans and requirements
(in a predictive manner) with frequent iteration cycles during software construction (in an adaptive manner);
(b) a software project could be conducted iteratively during analysis and design with the product constructed as a single
product increment; (c) a software product could be developed incrementally with no iterations during development
of the increments; or (d) a software product could be developed with no iterations and a single product increment.
Project execution and product delivery are distinct activities. The life cycle model for project execution and
product delivery should be designed as carefully as the software product, based on factors such as those in listed
in Figure 2-1.
2.4.1 Characteristics of Project Life Cycles
Creation of software deliverables typically requires a variety of project life cycle processes. According to ISO/
IEC/IEEE Standard 12207, development of software includes the following processes (see also Figure 1 of 12207):
• Analyze: Software Requirements Analysis Process,
• Architect: Software Architectural Design Process,
• Design: Software Detailed Design Process,
©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition 27
®