The iterative type of the agile
software development has always been the favourite choice of the developers and
testers when it comes to adopting a time and effort efficient and effective
agile software development process.
Till now three approaches to the iterative
development have been developed namely:
1. Risk based iterative development
2. Client based iterative development
3. Time boxed iterative development
This article is here to focus up on
the time boxed iterative development. But before we move on to the time boxed
iterative development, let us brief up ourselves with the concepts of the
iterative and incremental development so that it will be easy for us to
understand the time boxed iterative development better.
What is Iterative Development?
- Iterative and incremental development is an
essential part of the agile software development process and lies at the heart
of it.
- The iterative came in to existence as a response to the weaknesses of
the other agile software development models especially the waterfall model.
- Apart from just being an essential part of the agile software development, it
is also necessary to the extreme programming, rational unified process and many
other agile software development frame works.
- It is based up on a similar
process of the business process improvement.
- The iterative development is a way
to develop a whole software system or application in small steps via the
repeated cycles at a time.
- There are two approaches that can be followed for
accomplishing a task:
1. We can either work non stop to accomplish the goal or
2. We can define a time limit for ourselves and achieve as how much we
can in that time period.
The second approach is called time
boxing.
What is a Time Boxed Approach?
- It is a simple one yet effective technique
from the perspective of planning and over the years has been found effective in
completing the jobs within a time limit.
- If we look at this approach
from the perspective of planning, it is found to be useful in the development
processes which are involved with the development of a complex software system
or application and the starting point is quite uncertain.
- On the other hand if
we look at it from the perspective of the personal development, it is extremely
helpful in improving the effectiveness as well as the productivity.
- In fact
this approach is quite easy to follow but requires maximum effort.
- Using time
boxing approach, you fix up a time period and try to achieve the maximum you
can within that time frame.
What is meant by Time Boxed Iterative Development
- Time boxing approach employed for the iterative
development is termed as the time boxed iterative development.
- In such an
approach to iterative development the task is divided in to several small
iterations and each iteration is provided with a time box.
- Each of these
iterations has its own budget, deadline and the deliverable.
- In some cases, time boxing iterative development is employed for managing the risk.
- Since it
is important to meet deadlines, it is necessary that the deadlines are not
changed without the prior permission of the project owner.
- An inadequate breakdown
of the task can lead to the underestimation of the time requirement of the
project.
- To avoid changing of the deadline following three points can be
followed:
- Reduction in the scope: requirements having lower impact can be
dropped from the plan.
- Keeping time as the fixed constraint throughout.
- Increase in the cost: the resources and the over timing can be
added in to the plan.
Many projects that have been
developed with the time boxing technique have been reported to be successful.
No comments:
Post a Comment