INCREMENTAL DEVELOPMENT LIFE CYCLE
Fakhruddin Bilal
Project Management Processes and Procedures SME at Hill International (Saudi Arabia)
In typical incremental development life cycle, the project team:
1. Define the project purpose (e.g. developing a new recruiting website).
2. Collect the available project requirements (e.g. separate accounts with passwords, information entry and storage, documents upload, etc.).
3. Define the scope of the whole project (the project backlog which includes features, functions, products, etc.) as much as possible including a project acceptance criteria. Compared to requirements in Adaptive DLC (which shall be described later), the requirements at this stage are:
3.1. more accurate.
3.2. less applicable to change after delivery.
4. Develop the high level schedule and cost of the whole project. The development of the website shall be function per function (in increments). The delivery (launching the website) shall be function per function (in multi deliveries).
---------------------------- Increment Start -----------------------------------
5. Select one or more features/functions/products to execute in this increment.
6. Develop the schedule and cost for this increment considering that:
6.1. The schedule outlines are requirements analysis, designing a prototype, prototype development, prototype testing, feedback receiving.
6.2. The increment can be sub-phased if required.
6.3. The increment can be time-boxed, mostly, two to eight weeks.
7. Analyze the requirements considering that the increment aim is to create a small value (one or few features/functions/products) to be used by the customer. It represents the increment outcome.
8. Define the increment scope (the increment outcome) which is a small value (one or few features/functions/products) that the increment shall create to be used by the customer. This shall include defining an increment acceptance criteria.
9. Execute the increment outcome.
10. Collect feedback from the customer and/or end user throughout the increment.
11. Test the increment outcome against the increment acceptance criteria (which is less expected than in adaptive DLC because the aim of this increment is to create a small value to be used by the customer):
11.1. If the result found "NOT Satisfactory":
11.1.1. elaborate the requirements considering the feedback relevant to this increment.
11.1.2.fix the increment outcome until the result found "Satisfactory".
11.2. If the result found "Satisfactory", handover the increment outcome.
12. End this increment.
---------------------------- Increment End -----------------------------------
13. Integrate the increment outcome in the project outcome.
14. Update the project scope.
15. Perform the next increment considering creating the next increment outcome.
16. Keep performing increments until complete the project outcome (all the project backlog which includes features, functions, products, etc.) that fully fulfill the project purpose.
17. Test the project outcome against the project acceptance criteria. It is a QC process and no feedback from customer given here.
17.1. If the result found "NOT Satisfactory", perform increments as required.
领英推荐
17.2. If the result found "Satisfactory", handover the project outcome.
18. Close the project.
When to use Incremental DLC:
This type can be used when the two factors are simultaneously valid:
1. There is a need for subset delivery for commercial reasons, technical reasons, contractual reasons, etc. such as:
1.1. In a market competition, sometimes the timing to enter a market is crucial. This means there is a need for deploying a product (e.g. online computer application or web site) as soon as possible to enable the end users to use it with so far created functions. Then add other functions and deploy newer versions by performing increments.
1.2. In upgrading projects, sometimes there is a need to keep the subject (e.g. website or communication system) that will be upgraded running because it can not be shut down for the upgrading period. So, for this requirement, the functions are upgraded function by function in increments.
2. There is no need for developing the outcome in iterations.
Example projects of Incremental DLC:
Features of Incremental DLC:
1. Initial planning for the whole project.
2. Performing increments as follows:
2.1. Planning for the increment.
2.2. Analyzing the requirements, feedback and processes of the increment.
2.3. Defining (Designing) the increment scope (the small value).
2.4. Executing (Building) the increment scope (the small value).
2.5 Receiving feedback on the created small value and increment activities throughout the increment.
2.6. Testing the created increment value then deciding on fixing the increment outcome or handing over the created increment value.
2.7. Handing over the created increment value.
3. Performing the remaining increments.
4. Integrating all values that created by all increments.
5. Testing the project outcome (QC).
6. Handover the project outcome.
1. continuously collected.
2. to be incorporated in the next iteration.