Subscribe by Email

Saturday, April 21, 2012

What is meant by client-driven iterative planning?

Iterative planning is one of the important planning strategies categorized under the agile software development processes. Iterative and incremental cannot be neglected if we want a cost and time efficient software development plan. Iterative planning is a must! However so far only 3 types of iterative planning have been designed as mentioned below:

Types of Iterative Planning
1          -  Risk driven iterative planning
2          -  Client driven iterative planning and lastly
3                     - Time boxed iterative development planning

This article is focused up on the 2nd type i.e., the client driven iterative planning. But, before moving on to that we’ll discuss something about the iterative development so that understanding the concept of the client based iterative development becomes easy for you.

What is Iterative Planning?

- An iterative planning is required before starting of any iteration for the production of the plan of the programming tasks. 
- Each iteration may take up from 1 to 3 weeks depending up on the complexity of the program. 
- For every iteration some user stories are chosen that are most valuable to the customer.
- Iterative planning is an extremely important part of the below mentioned processes:
  1. Extreme programming
  2. Rational unified process and
  3. Many other agile software development frame works
- Any iterative planning, be it risk driven, client driven or time boxed iterative planning are based up on one agile principle which is to develop a software system or application through several small iterations or repeated cycles rather than drawing out the whole software system or application in just one development process. 
- Dividing down the development process in to small iterations give a chance to the developers to experience their learning of the development process in the past. 
- Firstly the sub set of the system requirements is implemented in a very simple way and later the evolving versions of the software system or application are enhanced making use of the iterations.
- This process of enhancing through the iterations continues till the whole software system or application has been implemented. 
- Every iteration seeks the modifications in the design and also the addition of new functionality.
- The following steps are 3 main important steps of any iterative planning be it risk driven, client driven or time boxed:
  1. The initialization step
  2. The iteration step and
  3. The project control list
- The first step deals with the creation of the base version of the software system or application so that it can be reviewed by the customers or the clients. 
- This base version acts as a sample for reviewing and feedback purposes. 
- The second step deals with the redesigning and implementation of tasks in order as they are mentioned in the project control list.
- The purpose of this project control list is to serve as a guide to the iteration development process. 
- This project control list is meant to be revised continually as in many of the cases the requirements of the software system or application keep on changing. 
- Certain guidelines have been stated for the implementation process called the implementation guidelines. 

About Client Driven Iterative Planning

- The basic difference between the client driven iterative planning and other types of planning is that the choice of features for the iterations are taken from the customers or more appropriately if we say from clients.

- These set of features is often decided by the clients based on how much valuable is that feature to them when it comes to business. 

- This development methodology allows the client to steer or drive the whole development as they want iteration by iteration requesting the features that are of the utmost importance to them. 

- The features for the next iteration are planned by the client “adaptively”. 

No comments:

Facebook activity