CSC/ECE 517 Fall 2010/ch6 6c AW

From Expertiza_Wiki
Jump to navigation Jump to search

Estimation in Agile Projects

Introduction

Purpose of Estimation

Estimation is an essential element of any and every software development process. It can not only be utilized with respect to internal development and determining how to proceed on the programming side, but also with respect to interacting in a professional and honest manner with a customer. To that end, any estimation must also provide the ability to plan releases: thus, not only predict progress but also generate an accurate timeframe for deliverables.

The agile development methodology with respect to estimation centers around a few key concepts: a brief process, one that allows for adaptation and ambiguity, and yet one that provides useful information and progress reports [1]. Breaking the areas of estimation down further, three direct applications (purposes) can be identified: daily plans, iteration plans, and release plans. (three inner circles, find source!)

Types of Estimation

The primary step in estimating agile projects relies on the idea of a user story. As seen previously in Chapter 4a, Use Cases,

Based on Size

Based on Velocity

Estimation Techniques

Planning Poker

Burn-down Charts

Re-estimation

Comparison

General

Formal models

Summary

References

[1] Cohn, M. User Stories Applied: For Agile Software Development, Addison-Wesley Professional, 2004.