Subscribe by Email


Sunday, May 20, 2012

What is meant by time boxed iterative development?



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:
  1. Reduction in the scope: requirements having lower impact can be dropped from the plan.
  2. Keeping time as the fixed constraint throughout.
  3. 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:

Facebook activity