CSC/ECE 517 Fall 2010/ch6 6c PK: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
== Estimation in Agile Model== | == Estimation in Agile Model== | ||
estimation in Agile | |||
In the agile development estimation plays an important role. sometimes it happens that the requirement for particular sprint are not clear in that case estimation can be difficult. Short span estimation and feedback based estimations are helpful to improve the accuracy of the estimation. Also the it is always recommended to communicate the constrains to customer and get more clarification. | |||
=== Purpose === | === Purpose === | ||
=== Estimation techniques === | === Estimation techniques === | ||
'''Estimation of size''' | |||
In each iteration of the development phase, requirements are called as user stories. The size if the user story is represented by story point.Based on the understanding of the user story, story points are assigned which indicate the how much work is requirement for this work item. these points gives high level work estimate for that sprint. team collectively decides the points for each work item as 1,2,3,5,8 rather than assigning points independently.e | |||
For example X and Y are two team members and X think that task A is of worth 3 point while Y thinks that same task is of point 10. The these kind of diverse user stories are discussed in depth to understand why each of them think that way. Sometimes it may happened that Y may think that the work item involves some complexities and some unknown issues hence gave 10 points where X did not anticipate these issues. During discussion of that work item, X will know more things about the system. | |||
In other words, estimating size should be done in the team rather than individual to avoid the fallacies and biased opinion high level estimation. | |||
'''estimating velocity''' | |||
Velocity plays vital role in estimation. Velocity is expresses in terms of number of story points delivered in iteration/sprints. For example if certain team delivered 25 points in one iteration then the velocity is 25 for that iteration. | |||
=== Re-estimation === | === Re-estimation === | ||
Revision as of 21:26, 14 November 2010
Estimation in Agile projects
Introduction to Agile software development
Software development process or life cycle is a commonly used term in today's rapidly developing software industries. There are different models are available which are used to enforce the structural development of software products. Agile software development methodology is one of the commonly followed practices in project management which takes iterative approach for software development in contrast to plan-based or traditional methods. It mainly focuses on the adapting to requirement changes and delivering in high quality product in iterative work-process. In traditional models such as waterfall model, the project requirements are collected at the beginning of the projects and later implemented. The main problem with this approach is if the customer requirements changes in the middle of development. This may cause lot of rework and impact the planning and deliverable. The adaptive approach of agile development helps to minimize the conflict between requirement and end product. Changing requirements can be easily accommodated in development life cycle as each iteration involves estimation,planning,development and testing. In other words, Agile software development follows an iterative approach where each iteration is mini waterfall.
In this chapter, we will explain the purpose of estimates in agile software development first, later we will discuss estimation techniques and re-estimation and how these are different in other software development processes.
Estimation in Agile Model
estimation in Agile In the agile development estimation plays an important role. sometimes it happens that the requirement for particular sprint are not clear in that case estimation can be difficult. Short span estimation and feedback based estimations are helpful to improve the accuracy of the estimation. Also the it is always recommended to communicate the constrains to customer and get more clarification.
Purpose
Estimation techniques
Estimation of size In each iteration of the development phase, requirements are called as user stories. The size if the user story is represented by story point.Based on the understanding of the user story, story points are assigned which indicate the how much work is requirement for this work item. these points gives high level work estimate for that sprint. team collectively decides the points for each work item as 1,2,3,5,8 rather than assigning points independently.e
For example X and Y are two team members and X think that task A is of worth 3 point while Y thinks that same task is of point 10. The these kind of diverse user stories are discussed in depth to understand why each of them think that way. Sometimes it may happened that Y may think that the work item involves some complexities and some unknown issues hence gave 10 points where X did not anticipate these issues. During discussion of that work item, X will know more things about the system.
In other words, estimating size should be done in the team rather than individual to avoid the fallacies and biased opinion high level estimation.
estimating velocity
Velocity plays vital role in estimation. Velocity is expresses in terms of number of story points delivered in iteration/sprints. For example if certain team delivered 25 points in one iteration then the velocity is 25 for that iteration.
Re-estimation
Estimation in Waterfall Model
Estimation in Spiral Model
Estimation in Iterative and Incremental Model
References
- Software Development process [1]