2.2 Project life cycle. Phases and Products

Lecture



It has already been noted that each software product has its own life cycle, in which the project of developing the next release enters as one of the phases. Similarly, each software development project has its own life cycle, which consists of four phases (Figure 12).

2.2 Project life cycle.  Phases and Products
Figure 12. Life cycle and main products of the software project

At the project initiation phase, it is necessary to understand what we are going to do and why - to develop a project concept. The planning phase determines how we will do it. In the implementation phase, the materialization of our ideas takes place in the form of a documented and tested software product. And finally, during the completion phase, we must confirm that we have developed exactly the product that we conceived in the project concept, and also carry out an acceptance test (PSI) of the product for compliance with its properties, as previously defined.

As a rule, a rare project is carried out in accordance with the original plans; therefore, an important element of the completion phase is “feedback”: an analysis of the causes of discrepancies and the assimilation of lessons for the future. Remember that a control system without feedback cannot be stable.

In more detail about each phase of the project and their products will be discussed in subsequent lectures.

Completing the “bird's-eye view” project management review, it is necessary to mention one more peculiarity of the project as compared with the operational activity. If in operating activities resources are spent more or less evenly in time, in project management the expenditure of resources per unit of time has a pronounced bell-shaped distribution (Figure 13)

2.2 Project life cycle.  Phases and Products
Figure 13. Resource allocation by project phases

A project often begins with an idea that appears in one person. Gradually, as the idea is formulated, analyzed and assessed, additional specialists are involved. More participants are required in the project planning phase. Peak resource consumption occurs during the implementation phase.

In modern software development models, implementation is based on a combination of iterative and incremental approaches.

Iteration implies that the requirements for the system and its architecture are not worked out once, but are gradually refined from iteration to iteration. This means that at each iteration there is a full cycle of development processes: specification of requirements, design, coding, testing and documentation.

The incrementality is that the result of each iteration is a software version that implements some of the functionality of the future software product and can be put into test or trial operation, as well as evaluated by the customer and future users. This means that after each iteration an increase in the required functionality occurs, and the unrealized functions of the future product remain less and less.

The combination of iteration and incrementality ensures the development efficiency and a significant reduction of risks during the project. We will talk about this later.

In the last phase, gradual release of the project team members takes place. It should be remembered that the project should have a clear ending in time, after which all the work on the project is closed, and resources cease to be spent on the project. There should be no "stuck" work.

findings

The project is a means of strategic development. The goal is a description of what we want to achieve. Strategy - a statement of how we are going to achieve these goals. Projects transform strategies into actions, and goals into reality.

Participants in a typical software development project can be divided into five groups of roles:

  1. Analysis. Extract, document and maintain product requirements.
  2. Control. Definition and management of production processes.
  3. Production. Software design and development.
  4. Testing. Software Testing.
  5. Security. Production of additional products and services.

A software project has four factors that determine its success:

  1. Made in accordance with the specifications.
  2. Done on time.
  3. Completed within budget.
  4. Each team member left work at 6:00 pm with a sense of success.

Project Life Cycle (Eng. Project Life Cycle ) - a sequence of project phases, based on the needs of project management.

As part of the methodology of the Project Management Institute (eng. Project Management Institute ) the project life cycle has 5 phases:

  1. Initialization (English Initialization );
  2. Planning (eng. Planning );
  3. Execution (eng. Executing );
  4. Control and monitoring (English Controlling and Monitoring );
  5. Completion (eng. Closing ).

Content

  • 1 Simulation of the life cycle of the project on the principle of "waterfall"
  • 2 Modeling a project life cycle using an iterative model
  • 3 Modeling a project life cycle using a spiral model
  • 4 Simulation of the project life cycle by the incremental method
  • 5 References

Simulation of the life cycle of the project on the principle of "waterfall"

When modeling on the “waterfall” principle, work on a project moves linearly through a series of phases, such as:

  • requirements analysis (environmental studies);
  • design;
  • development and implementation of subprojects;
  • subproject check;
  • verification of the project as a whole.

The disadvantages of this approach are the accumulation of possible early errors by the end of the project and, as a result, the increased risk of project failure, the increase in the project cost.

Simulation of the project life cycle on an iterative model

Iterative approach (eng. Iteration - repetition) - the performance of work in parallel with the continuous analysis of the results obtained and the adjustment of the previous stages of work. The project with this approach in each phase of development passes a recurring cycle: Planning - Implementation - Verification - Evaluation (eng. Plan-do-check-act cycle ).

Benefits of an iterative approach:

  • reducing the impact of serious risks in the early stages of the project, which leads to minimizing the cost of eliminating them;
  • organization of effective feedback of the project team with the consumer (as well as customers, stakeholders) and the creation of a product that really meets its needs;
  • focus on the most important and critical areas of the project;
  • continuous iterative testing to evaluate the success of the entire project as a whole;
  • early detection of conflicts between requirements, models and project implementation;
  • more uniform loading of project participants;
  • effective use of accumulated experience;
  • real assessment of the current state of the project and, as a result, great confidence of customers and direct participants in its successful completion.

An example implementation of an iterative approach is a software development methodology created by Rational Software.

Simulation of the project life cycle on a spiral model

In the model of Barry Boeme [ clarify ] , the dependence of the project efficiency on its value over time is considered. At each turn of the spiral, the next version of the product is created, the project requirements are specified, its quality is determined, and the next turn is planned.

Simulation of the project life cycle by the incremental method

Incremental construction: splitting a large amount of design work into a sequence of smaller components.


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

software project management

Terms: software project management