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:
- Extreme programming
- Rational unified process and
- 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:
- The initialization step
- The iteration step and
- 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:
Post a Comment