Effort estimation for Agile Software Development Projects

Effort estimation for Agile Software Development Projects Andreas Schmietendorf, Berlin School of Economics & University of Magdeburg Martin Kunz, Un...
Author: Homer Hunter
3 downloads 2 Views 469KB Size
Effort estimation for Agile Software Development Projects

Andreas Schmietendorf, Berlin School of Economics & University of Magdeburg Martin Kunz, University of Magdeburg Reiner Dumke, University of Magdeburg

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 1 29. May 2008

Agenda § Motivation and aims § Characteristics of agile methods § Effort estimation approaches for XP-projects § Empirical investigations (concept) § Selected results § Conclusions and further works

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 2 29. May 2008

Motivation and aims

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 3 29. May 2008

Project aims §

Which conditions do projects that are executed with help of agile process models assume?

§

Which basic approaches (state of the art) of the effort estimation can be identified for agile executed projects at present?

§

Are the classic methods of the estimation procedures, like Function Points or COCOMO applicable?

§

Which experiences can be found in the industrial and academic surroundings with the use of agile procedures? SMEF2008, Milan/Italy Andreas Schmietendorf

Page 4 29. May 2008

Characteristics of agile methods

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 5 29. May 2008

Principles of agile methods § Short release cycles, § Use of a simple design, § Continuous testing, § Continuous improvement of the design (refactoring), § Collective ownership of the source code, § Consideration of coding standard, § Continuous integration. SMEF2008, Milan/Italy Andreas Schmietendorf

Page 6 29. May 2008

Agile approaches § eXtreme Programming (Kent Beck - 1999), § Feature Driven Development (Jeff De Luca - 1999), § Scrum (Ken Schwaber and Mike Beedle - 2001), § Agile Implementation of RUP (Craig Larmann - 2002). § Crystal – as family of agile methodologies (Alistair Cockburn - 2004)

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 7 29. May 2008

eXtreme Programming

Source: Beck, K.; Andres, C.: Extreme Programming Eyplained – Second Edition, Addison-Wesley, Boston/USA 2005 SMEF2008, Milan/Italy Andreas Schmietendorf

Page 8 29. May 2008

Effort estimation approaches for XP-projects (related works)

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 9 29. May 2008

eXtreme Programming

Test Scenarios

User Stories Re qu ir

New User Story (Project Velocity) em en ts

Release Planning

Bugs

Release Plan

last Version

Iteration

Aceptance Test

next Iteration

Effort estimation

Small Release

Customer approval

Under consideration of: Wells, D.: Extreme Programming: A gentle introduction, URL: http://www.extremeprogramming.org/index.html, 2006 SMEF2008, Milan/Italy Andreas Schmietendorf

Page 10 29. May 2008

Costs of changes within XP-projects

Cost of changes: The requirements should be analyzed during the project beginning.

Cost of changes: The effort for the realization of a new requirement doesn't depend on the time of the implementation. Under use of: Extreme Programming, http://de.wikipedia.org/wiki/Extreme_Programming

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 11 29. May 2008

Feedback and change

"Accurate estimation is impossible for complex technical projects, but keeping to agreed budgets is still possible using feedback and change.“

Reasons: - Inaccurately defined requirements, - Missing experience background with the effort of completed projects, - New projects differ often from realized projects.

Source: Gilb, T.: Estimation or Control? – Thesis paper, URL: http://www.dasma.org, December 2007 SMEF2008, Milan/Italy Andreas Schmietendorf

Page 12 29. May 2008

Effort estimation for XP-projects Activities during the planning game (some hours) Cust. Devel.

Cust.

User Stories (Story Cards)

Devel.

Discussion of the requirements

Devel.

Identification of the architecture

... Suppliers

TAEP (ITEP) TAEP – Task Effort Points

Prioritization of realizing stories

Functional Size Estimation

Show the list of suppliers Supplier

Cust.

Order Product

Selection of a supplier

...

Change of the stored data

FEEP STEP

STEP – Story Effort Points

FEEP – Feature Effort Points

SSEP SSEP – Subsystem Effort Points

Sometimes used: ITEP – Iteration Effort Points Under consideration of: Wolf, H.; Roock, S.; Lippert, M.: eXtreme Programming – 2. Auflage, dpunkt.verlag, Heidelberg 2005 SMEF2008, Milan/Italy Andreas Schmietendorf

Page 13 29. May 2008

Agile estimation approach

Source: http://sunset.usc.edu/csse/research/AgileCOCOMO/AgileCOCOMOII/Main.html University of Southern California SMEF2008, Milan/Italy Andreas Schmietendorf

Page 14 29. May 2008

Empirical investigation

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 15 29. May 2008

The Project - XPexperience

Source investigation

Available works

Evaluation aspects

Conception

Tool support

Project: XPexperience

Measurement theoretical questions

Empirical analysis

Berlin School of Economics & Otto-von-Guericke-University of Magdeburg

Expected results Implementation of prototypes

SMEF2008, Milan/Italy Andreas Schmietendorf

Statistical evaluation and documentation

Evaluation models

Verification of the concept

Page 16 29. May 2008

Product metrics for XP

§ Step 1 - Carry out empirical analysis: - Analysis about the degree of the application of agile methods. - Identification of used effort estimation approaches, - Importance of risk-driven approaches for the effort estimation,

§ Step 2 - Implementation of prototypes: - Compare the productivity between XP - and non XP-projects, - Compare the productivity before and after introduction of XP-approaches, - Analysis of the productivity of maintenance projects executed with help of XP. SMEF2008, Milan/Italy Andreas Schmietendorf

Page 17 29. May 2008

Selected results from the empirical investigation

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 18 29. May 2008

SMEF2008, Milan/Italy Andreas Schmietendorf

Test Driven Development

The Eclipse Way

Scrum

Agile implementation of RUP

Crystal

Feature Driven Development

Extreme Programming XP

Knowledge of the method

Knowledge of agile methods

Which agile implementations do you know?

14

12

10

8

6

4

2

0

Page 19 29. May 2008

Effort for effort estimation Which temporal and personal effort should be caused by an effort estimation method in agile accomplished projects?

§ Effort for the estimation: min.1 person day, max. 2 person day, § Effort estimation is a cyclic activity (weekly task), § The effort should be fixed project-dependent, § The effort should be proportionally towards the total expenditure, § 5 % to 10 % of the whole development effort.

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 20 29. May 2008

Requirements for the effort estimation In your mind, is there a demand on adaptation or new development for an effort estimation method which is applicable in agile accomplished projects?

6% 18%

52% 24%

Adaptation of classic effort estimation methods New development of a effort estimation method Application of existing methods without adaptation Yesterdays Weather (project velocity)

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 21 29. May 2008

Importance of effort estimation How important is the effort estimation in agile operated software projects?

21%

0% 43%

highly important important necessary less necessary not necessary

36%

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 22 29. May 2008

Importance of risk estimation How important is it to carry out a risk evaluation during the planning game?

0%

21%

43%

highly important important necessary

7%

less necessary not necessary 29%

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 23 29. May 2008

Conclusions and further works

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 24 29. May 2008

First results An effort estimation approach for XP-projects should consider: § Support of release planning (planning game) - Iterations - Consideration of experiences (e.g. LoadFactor)

§ Feedback and change activities - Risk principles - Control principles

§ Systems architecture from a business point of view § Simple applicability SMEF2008, Milan/Italy Andreas Schmietendorf

Page 25 29. May 2008

Further investigations § Compare the productivity between XP - and non XP-projects § Compare the productivity before and after introduction of XP § Compare the productivity in the context of similar development tasks § Analysis of maintenance projects executed with help of XP § Comparison of the Load-Factors between XP - and non XP-projects.

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 26 29. May 2008

Further information

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 27 29. May 2008

Contact possibilities Prof. Dr.-Ing. habil. Andreas Schmietendorf FHW Berlin, Fachbereich II Neue Bahnhofstr. 11-17, D-10245 Berlin Email: [email protected] Otto-von-Guericke-Universität Magdeburg, FIN-IVS Universitätsplatz 2, D-39106 Magdeburg Email: [email protected] CECMG - Central Europe Computer Measurement Group Johann-Desch-Straße 20, D-63864 Glattbach Email: [email protected]

SMEF2008, Milan/Italy Andreas Schmietendorf

Page 28 29. May 2008

Suggest Documents