Subscribe by Email


Showing posts with label Time Boxed. Show all posts
Showing posts with label Time Boxed. Show all posts

Thursday, May 24, 2012

Phase 4 of Unified Process Life cycle - Transition


Unified process is one of the best development processes we have of the iterative and incremental form. The whole unified process is completed in four phases which have been mentioned below:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase and lastly
  4. Transition phase
This whole article is all about the last phase i.e., the transition phase. In this whole article we are going to discuss about the last phase. 

What is a Transition Phase?


- The final phase of the unified process i.e., the transition phase involves the deployment of the system for targeting the customers.
- The feedback that is collected on the account of the previous releases helps in further refining or improving the software system or application. 
- It can also be decided over the further functionality that have to be added to the software system or application under development to make it much better. 
- Transition phase like all of the preceding three phases is composed of several timed iterations that are time boxed. 
- Apart from just targeting the users, the transition phase also involves user training and the system conversions. 
- The transition phase has been named so because it is in this phase that the transition of the whole system from development to production takes place and software is made available to the users. 
Along with the end users in some cases the maintainers might also be treated. 
- This phase also witnesses the beta testing of the software system or application so that it is validated against the expectations of the end users. 
- A certain quality level is set in the phase i.e., in the inception phase which is tested in against by the quality of the software system or application in the transition phase. 
- The point at which all the objectives are met is called the “product release milestone”. 
- At this point the product is declared finished and the development is also declared to be complete. 
- The unified process is quite a robust software process that is meant for addressing the development as well as the production needs of the users and the customers. 
- We need a software development process that serves the scope of our real world quite well and provides us with a balanced perspective of the alternative programming methodologies available from all around the field. 
- In this transition phase, if there are any legacy systems that you are going to replace, then your whole software system or application is operated in parallel with those legacy systems. 
- This leads to the conversion of the legacy data bases and the systems in to an improved one that supports your new software system or application. 

Goals of transition Phase


The transition phase has got three main goals as mentioned below:
1.Evolving the final product baseline or the production base line of the software system or the application.
2.Training the materials for the software system or application.
3.Creation of the documentation which is inclusive of all the user manuals, operations documentation and the support documentation.

Issues faced during Transition Phase


- This phase is concluded with the product release milestone. 
- Achieving this milestone is not so easy since you have to satisfy all the expectations of the end users and also justify the actual expenditures against the planned expenditure. 
- Issues such as finishing the features that were postponed usually arise after the product has been transited to the end users or customers. 
- The production baseline ought to be mature enough to be deployed in the end user domain. 
- The operational data bases are also converted and the final product is released for marketing, distribution and sales team. 


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. 


Facebook activity