Spiral Model Activities

As discussed in Chapter 4. there are several variations of the spiral model. All are similar to the rapid prototyping model described earlier in this chapter. The spiral model described and illustrated in Figure 4-14 is used here as an example. All the spiral models are a circular arrangement of most of the activities in Table 9-1. but done linearly several times, with more robust deliverables each time. One version of the spiral model's tasks and activities is shown in Table 9-8.

The activity lists shown here are only representative as a life cycle framework for the six common life cycles discussed. Each can (and should) be modified to fit the circumstances of an individual project. Other rearrangements or rewording of the activities is not only possible, but also probable.

Table 9-8. Spiral Model Checklist of Potential Activities and Tasks

Life Cycle Phase

Potential Activities

Potential Tasks

First Pass: Project Definition Cycle

Determine objectives, alternatives, and constraints— Defining the requirements and specifications for the critical parts of the envisioned system regarding performance, functionality, ability to accommodate change, hardware/software interface, critical success factors, and so on

Project definition— Developing a preliminary objective and project plan outlining rough schedules and deliverables

® Initiate the project

• Map activities to the SLCM

• Allocate project resources

• Establish project environment

• Plan project management

® Explore the concept

• Identify ideas or needs

® Formulate potential approaches

• Conduct feasibility studies

• Plan system transition

® Refine and finalize the idea or need

Evaluate alternatives, and identify and resolve risks— Evaluating alternatives relative to the objectives and constraints; identifying and resolving risks

Develop conceptual prototype of selected system portion— Defining the requirements and specifications for the riskiest parts of the envisioned system to enable evaluation and a risk assessment; separate into portions by risk

Design analysis— Designing from preliminary requirements

® Analyze system allocation

® Analyze functions

® Develop preliminary system architecture

® Decompose preliminary system requirements

® Identify preliminary software requirements

® Conduct preliminary user interviews

® Define and develop preliminary software requirements

Life Cycle Phase

Potential Activities

Potential Tasks

® Define preliminary interface requirements

® Prioritize and integrate software requirements

Develop next level product— Building a prototype using the information gained in the previous phase

® Create partial requirements specification at system level; includes concept of operation that will be used to build the demonstration prototype design

Plan next phase— Using information from the develop next level product phase to plan for the next project phase step

® Replan project management ® Reformulate potential approaches ® Replan system transition ® Refine the idea or need

® Conduct system-level concept review; accept the demonstration prototype system concept

Second Pass: Requirements Review Cycle

Determine objectives, alternatives, and constraints— Defining the requirements and specifications for the critical parts of the envisioned system regarding performance, functionality, ability to accommodate change, hardware/software interface, critical success factors, and so on

• Analyze functions for system/product level ® Develop system architecture

• Decompose system requirements

• Define and develop software requirements ® Define interface requirements

• Prioritize and integrate software requirements for system/product level

Evaluate alternatives, and identify and resolve risks— evaluating alternatives relative to the objectives and constraints; identifying and resolving risks

Develop demonstration prototype of selected system portion— Refining the requirements and specifications for the riskiest parts of the envisioned system to enable evaluation and a risk assessment; separate into portions by risk

® Conduct feasibility studies— Perform simulations and benchmarks

Life Cycle Phase

Potential Activities

Potential Tasks

® Design analysis— Design from preliminary requirements ® Analyze risks ® Perform contingency planning

® Analyze system allocation further

® Analyze functions further

® Develop preliminary system architecture further

® Decompose preliminary system requirements further

® Identify product software requirements further

® Conduct user interviews further

® Define and develop software requirements further

® Define interface requirements further

® Prioritize and integrate software requirements further

® Database creation— Identify the preliminary database elements

® Perform preliminary architectural design

® Design the preliminary database

® Design the user interface— Define how the software should interact with the user

® Design preliminary interfaces

® Design the algorithmic functions

® Select or develop algorithms (on paper only)

Develop next level product— Building a prototype using the information gained in the previous phase

® Create complete requirements specification; includes detail that will be used to build the design assessment prototype design

Plan next phase— Using information from the next level product phase step to perform transition planning for the next project phase step

® Replan project management

Life Cycle Phase

Potential Activities

Potential Tasks

® Reformulate potential approaches

® Replan system transition

® Refine the idea or need

® Conduct requirements review; accept the design assessment prototype design

Third Pass: Design Review Cycle

Determine objectives, alternatives, and constraints— Defining the requirements and specifications for the critical parts of the envisioned system regarding performance, functionality, ability to accommodate change, hardware/software interface, critical success factors, and so on

® Analyze functions for design level

® Develop system architecture further

® Decompose system requirements further

® Define and develop software requirements further

® Define interface requirements further

® Prioritize and integrate requirements for the design level

Evaluate alternatives, and identify and resolve risks— Evaluating alternatives relative to the objectives and constraints; identifying and resolving risks

Develop demonstration prototype of selected system portion— Refining the requirements and specifications for the riskiest parts of the envisioned system to enable evaluation and a risk assessment; separate into portions by risk

® Conduct feasibility studies— Perform simulations and benchmarks

® Design analysis— Design from accepted requirements

® Analyze risks

® Perform contingency planning

Analyze system allocation further

® Analyze functions further

® Develop preliminary system architecture further

® Decompose preliminary system requirements further

® Identify product software requirements further

® Conduct user interviews further

Life Cycle Phase

Potential Activities

Potential Tasks

® Define and develop software requirements further

® Define interface requirements further

® Prioritize and integrate software requirements further

® Database creation— Identifying the database elements

® Refine architectural design ® Refine the database design

® Design the user interface— Defining how the software should interact with the user

® Refine interface design

® Design the algorithmic functions

® Refine algorithms (on paper only)

Develop next level product— Building a prototype using the information gained in the previous phase

® Derive software detailed design— Detailed design is derived from the accepted requirements

® Refine algorithms

® Perform detailed design

® Produce system design document (SDD)

Plan next phase— Using information from the next level product phase step to perform transition planning for the next project phase step

® Replan project management ® Reformulate potential approaches ® Replan system transition ® Refine the idea or need

® Conduct design review; accept the operational prototype design

Fourth Pass: Initial Operational Capability (IOC) Product Review Cycle

Determine objectives, alternatives, and constraints— Defining the requirements and specifications for the critical parts of the envisioned system regarding performance, functionality, ability to accommodate change, hardware/software interface, critical success factors, and so on

Life Cycle Phase

Potential Activities

Potential Tasks

® Analyze functions for product level

® Develop system architecture further

® Decompose system requirements further

® Define and develop software requirements further

® Define interface requirements further

® Prioritize and integrate requirements for the operational level

Evaluate alternatives, and identify and resolve risks— Evaluating alternatives relative to the objectives and constraints; identifying and resolving risks

Develop demonstration prototype of selected system portion— Refine the requirements and specifications for the riskiest parts of the envisioned system to enable evaluation and a risk assessment; separate into portions by risk

® Design analysis— Designing from accepted product design

® Analyze risks

® Perform contingency planning

® Analyze system allocation further

® Analyze functions further

® Develop product system architecture further

® Database creation— Identifying the database elements

® Refine architectural design ® Refine the database design

® Design the user interface— Defining how the software should interact with the user

® Refine interface design

® Design the algorithmic functions

® Refine algorithms (on paper only)

Develop next level product— Building a prototype using the information gained in the previous phase

Create an operational prototype— Transforming the software design document description into the initial operational capability (IOC) software product, producing source code, databases and documentation, whether developed, purchased, or a blend

® Conduct feasibility studies— Performing simulations and benchmarks

Life Cycle Phase

Potential Activities

Potential Tasks

® Coding— Transforming the detailed design into an operational system

• Create source code

• Generate object code

® Create operating documentation

® Integration— Combining software components

• Plan integration

• Perform integration

® Testing— Validating the production design implementation

® Develop test requirements

• Create test data

• Execute the tests

® Install production system— Installing and checking out the software in the operational environment, tuning as necessary to get formal customer acceptance of the production software

• Plan installation

• Distribute software

• Install software

Plan next phase— Using information from the next level product phase step to perform transition planning for the next project phase step

® Evaluate system— Review operational prototype ® Replan project management ® Reformulate potential approaches ® Replan system transition ® Refine the idea or need

® Conduct product review; accept the operational prototype

Fifth Pass: Final Operational Capability (F0C) Product Review Cycle

Determine objectives, alternatives, and constraints— Defining the requirements and specifications for the critical parts of the envisioned system regarding performance, functionality, ability to accommodate change, hardware/software interface, critical success factors, and so on

® Analyze functions for FOC level ® Develop system architecture further

Life Cycle Phase

Potential Activities

Potential Tasks

® Decompose system requirements further

® Define and develop software requirements further

® Define interface requirements further

® Prioritize and integrate requirements for the final operational level

Evaluate alternatives, and identify and resolve risks— Evaluating alternatives relative to the objectives and constraints; identifying and resolving risks

Develop final operational capability (FOC) system design— Refining the operational prototype for the specified system

® Design analysis— Designing from accepted product design

® Analyze risks

® Perform contingency planning

® Analyze system allocation further

® Analyze functions further

® Develop product system architecture further

® Database creation— Identifying the database elements

® Refine architectural design ® Refine the database design

® Design the user interface— Defining how the software should interact with the user

® Refine interface design

® Design the algorithmic functions

® Refine algorithms

Develop next level product— Building a prototype using the information gained in the previous phase

Create the final operational capability (FOC) system— Transforming the updated software design document description into the final operational capability (FOC) software product, producing source code, databases, documentation and training whether developed, purchased, or a blend

® Conduct feasibility studies— Performing simulations and benchmarks

Life Cycle Phase

Potential Activities

Potential Tasks

® Coding— Transforming the detailed design into an operational system

® Create source code ® Generate object code ® Create operating documentation

® Integration— Combining software components

® Plan integration ® Perform integration

® Testing— Validating the final operational capability (FOC) design implementation

® Plan testing ® Develop test requirements ® Create test data ® Execute the tests

® Install production system— Installing and checking out the software in the operational environment, tuning as necessary to get formal customer acceptance of the production software

® Plan installation ® Distribute software ® Install software ® Perform training

Plan next phase— Using information from the next level product phase step to perform transition planning for the next project phase step

® Evaluate system— Reviewing operational prototype

® Replan project management

® Reformulate potential approaches

® Replan system transition

® Refine the idea or need

® Conduct FOC product review; accept the operational system

Operation and maintenance— Moving the software into a production state

® Distribute software ® Install software

® Accept software in operational environment

Life Cycle Phase

Potential Activities

Potential Tasks

® Operate the system

® Provide technical assistance and consulting ® Maintain support request log

Retirement process— Removing an existing system from its active use, either by ceasing its operation, replacing it with a completely new system, or replacing it with an upgraded version of the existing system

® Notify user(s) ® Conduct parallel operations ® Retire system

Integral activities— See Table 9-2.

For situations in which no framework already exists (which may be only for portions of one of the life cycles discussed), a brainstorming approach is needed to invent the activities. Techniques for this are covered in Chapter 14.

^ previous

* previous

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment