Tailored Software Development Life Cycle Models

Sometimes a project manager can pluck a life cycle model from a book and run with it. Other times, there seems to be nothing that quite fits the project needs, although one of the widely used and pretested models comes close. Need a life cycle that considers risk, but the spiral seems like overkill? Then start with the spiral and pare it down. Required to deliver functionality in increments but must consider serious reliability issues? Then combine the incremental model with the V-shaped model. Several examples of tailored models follow.

Fast Track

A fast-track life cycle methodology speeds up, or bypasses, one or more of the life cycle phases or development processes. Many or most of the normal development steps are executed as usual, while the formality or scope of others may be reduced.

Tailoring of the life cycle is required for a fast-track approach best used on nonmajor software development and acquisition projects. Fast tracking may be needed to serve a time criticality such as being the first to market for a commercial product, or a national threat for a government agency. In addition to a shortened life cycle, one tailored for fast tracking is usually less formal. The overall life of the delivered product may be short, indicating a short maintenance phase.

Fast-track projects should be attempted only in organizations accustomed to discipline. An institutionalized, defined development environment minimizes risk when employing this type of extreme measure. With a clearly defined, stable set of requirements and a method in place to accommodate changes, fast-track projects have an increased chance of success.

Concurrent Engineering

Concurrent engineering (CE) is concerned with making better products in less time. A basic tenet of the approach is that all aspects of the product's life cycle should be considered as early as possible in the design-to-manufacturing process. Early consideration of later phases of the life cycle brings to light problems that will occur downstream and, therefore, supports intelligent and informed decision-making throughout

Although borrowed from other engineering disciplines, concurrent engineering works for software as well. Especially on large projects, status tracking by major phases in a life cycle may be an oversimplified model. A snapshot in time would show that there are usually several activities (requirements gathering, design, coding, testing, etc.) going on simultaneously. In addition, any internal or external project deliverable may be in one of several states (being developed, being reviewed, being revised, waiting for the next step, etc.). Concurrent engineering considers all aspects of the life cycle as early as possible. Concurrent process models allow an accurate view of what state the project is in—what activities are being conducted and how the deliverables are progressing.

When using this approach, it is wise to assess technical risks involved to determine whether the technology being attempted is compatible with an accelerated strategy, leave some room in the schedule, assess the technological process periodically to see if it is still compatible with the plan, and, as with more traditional life cycles, ensure that there is a provision for testing and evaluation because there is extreme risk in skipping these activities.

The spiral model, being risk-driven, is a good model to use in guiding multistakeholder concurrent engineering of software-intensive systems. It offers a cyclic approach for incrementally growing a system's definition and implementation, as well as providing anchor-point milestones for ensuring continued stakeholder commitment.

Win-Win Spiral Model

Boehm also offers a modified spiral model called the "win-win spiral model," shown irFigure 4-17. It contains more customer-focused phases by adding Theory W activities to the front of each cycle. Theory W is a management approach elevating the importance of the system's key stakeholders (user, customer, developer, maintainer, interfacer, etc.), who must all be "winners" if the project is declared a success. In this negotiation-based approach, the cycles contain these phases or steps: Identify next-level stakeholders; identify stakeholders' win conditions; reconcile win conditions; establish next-level objectives, constraints, and alternatives; evaluate process and product alternatives and resolve risks; define the next level of the product and process, including partitions; validate the product and process definitions; and review and comment.

Figure 4-17. The Win-Win Spiral Model

Figure 4-17. The Win-Win Spiral Model

Identify Next-Level

Stakeholders

Establish Next-Leve

Objectives. Constraints, and Alternativas

Evaluate Product ana

Process Alternatives

Resolve Risks uom □ uns

Establish Next-Leve

Identify Next-Level

Objectives. Constraints,

Stakeholders and Alternativas

Review and Commit

Evaluate Product ana

Process Alternatives

Resolve Risks

Validate Product and Process

Definitions

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