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