Product Lifecycle

Methodologies

Many different methodologies and/or processes are used by companies over the world. We can distinguish two major categories: V-cycle and Agile.

V-Cycle (or Waterfall Model)

This model is particularly well adapted to long term projects including large teams. All the tasks are planned and scheduled before the project actually starts.


v-cycle


Agile Methodologies

Agile is more appropriate for risky projects with dynamic requirements. Agile is based on the concept of iterative development. Just-in-time plannings are used instead of scheduling all tasks in advance.

Agile is a "container" including several "implementation" such as:
  • XP (eXtrem Programming)
  • Scrum
  • Crystal
  • DSDM (Dynamic System Development Model)
  • and even RUP
  • .
XP and Scrum are the most famous ones.

Learn more about Scrum reading the Scrum tutorial.


Product Lifecycle

Of course, all these methodlogies are different but the phases involved in the product lifecycle do not differ much. From a development point of view, only the frequency of the iterations differ: a standard cycle then includes the following 5 steps:


product lifecycle


Responsibilities

The previous 5 steps are mandatory but are not all under the responsibility of the same team. 3 teams are generally involved in this process:
  • The product definition team
  • The product development team
  • the quality assurance team
We can represent the same diagram including the information about who is doing what:


product lifecycle teams


Development of the tests

As seen in the previous schema, one crucial phase in the product lifecycle is the one where the product AND the tests are developped concurrently. The following diagram emphasizes how development and testing teams should collaborate together during these specific development tasks.


test development lifecycle

Tests Execution

Looking again a little bit deeper in this particular phase, we can detail again just the tests execution phase. Particularly, when milestones and conditions should be set to go to next phase in the cycle. Parallel-tasking between development teams and testing teams is crucial for time-to-market but must be managed with care to avoid any anarchical results. That's why the PLC (Product LifeCycle) must be splitted in several important phases. Each phase must be validated by the relevant oragnisations before going to next phase.


lifecycle detailed