Topic 11 Estimating and Timeboxing Agile Development
V1.0 Visuals Handout Page 1
V1.0 Agile Development Topic 11: Estimating and Timeboxing Estimating and Timeboxing Topic 11 - 11.2 Topic 11 Coverage This topic will cover: How do we estimate? The estimating process Estimatingin the DSDMAtern Lifecycle V1.0 Estimating in the DSDM Atern Lifecycle What is a timebox? Planning the project Estimating and Timeboxing Topic 11 - 11.3 DSDM Aterns 5 Key Techniques MoSCoW prioritisation Modelling Facilitated workshops MM SS CC WW MM V1.0 Facilitated workshops Iterative development Timeboxing Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 2 Estimating and Timeboxing Topic 11 - 11.4 Do this individually, with no discussion ... E ti t h l it ld t k f t b ild ll Group Exercise Estimating V1.0 Estimate how long it would take for you to build me a wall. Estimating and Timeboxing Topic 11 - 11.5 V1.0 What did you have in mind? Estimating and Timeboxing Topic 11 - 11.6 Do this individually, with no discussion ... Estimate howlong it would take for me to make a given journey Group Exercise Estimating V1.0 Estimate how long it would take for me to make a given journey. Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 3 Estimating and Timeboxing Topic 11 - 11.7 Estimating Estimating Exercise V1.0 Estimating and Timeboxing Topic 11 - 11.8 The Estimating Process There are a number of distinct steps: - Estimate the effort required - Adjust the effort for environmental factors - Identify the products and their inter-dependencies V1.0 Identify the products and their inter dependencies - Schedule the product deliveries and allocate resource - Adjust the schedule in the light of known constraints Estimating and Timeboxing Topic 11 - 11.9 Factors Affecting an Estimate Size of task Complexity Quality required Productivityof people V1.0 Productivity of people Availability of resource Experience of people Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 4 Estimating and Timeboxing Topic 11 - 11.10 Who Estimates? The team estimates! V1.0 Estimating and Timeboxing Topic 11 - 11.11 The Estimating Approaches Approaches may be top-down or bottom up and may include: - task based - product based - algorithmic l ith i V1.0 - non-algorithmic - analogy - expert judgement - standard ratios - function point analysis USE MORE THAN ONE APPROACH! Estimating and Timeboxing Topic 11 - 11.12 Why are estimates wrong? Inexperience of estimating Doing something that has not been done before Inadequate techniques V1.0 Optimistic assumptions Wrong person making estimates Lack of information Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 5 Estimating and Timeboxing Topic 11 - 11.13 Estimates improve V1.0 Estimating and Timeboxing Topic 11 - 11.14 Estimating in the DSDM Atern Lifecycle Outline Plan Delivery Plan Timebox Plan(s) Less Less V1.0 Do not go into requirements detail too early Do not be held hostage to early estimates More Requirement Detail Estimate Accuracy More Can be out by a factor of 4 at the start!! Typically <10 requirements Typically <100 requirements Typically >100 requirements Estimating and Timeboxing Topic 11 - 11.15 Agree to what you believe you can do Estimating Set realistic objectives! V1.0 Then honour your commitments! Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 6 Estimating and Timeboxing Topic 11 - 11.16 What is a Timebox? A timebox is a fixed period of time, at the end of which an objective has been met. V1.0 The time available dictates work done The aim of a timebox is to make something useful A timebox is product-focused, not task-focused Estimating and Timeboxing Topic 11 - 11.17 Creative people in many walks of life have a deadline. A magazine writer, television producer or seminar developer creates material for a certain date ... James Martin The Mindset for Timeboxing V1.0 ... Whatever else happens, they must not fail to meet the deadline. Estimating and Timeboxing Topic 11 - 11.18 The Delivery Plan Delivery Deadline Deployment Foundati ons Feasibility V1.0 Increment Timebox Development Timebox Development Timebox Development Timebox Many different Deployments and different mixes of Exploration / Engineering are possible Project Timebox Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 7 Estimating and Timeboxing Topic 11 - 11.19 Size of a Development Timebox 15 days? 8 weeks? 12 weeks? How large should it be? V1.0 12 weeks? 16 weeks? 10 30 days (2 - 6 weeks) Estimating and Timeboxing Topic 11 - 11.20 Timeboxing Must Have approximately 60% of effort Should Have approximately 20% of effort Could Have approximately 20%of effort As a rule of thumb, within timeboxes within an increment: V1.0 Could Have approximately 20% of effort The estimated effort in the Must Haves should never be above 75% (except in rewrites of well-documented systems). Estimating and Timeboxing Topic 11 - 11.21 Outline Plan created in Feasibility Delivery Plan created in Foundations Planning The Project V1.0 Delivery Plan created in Foundations, showing timeboxes within the increment Timebox Plans showing detailed activities within timeboxes, to monitor progress within timeboxes Deployment Plan outlined in Outline and Delivery Plans, created during Exploration and Engineering Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 8 Estimating and Timeboxing Topic 11 - 11.22 Timebox Plans V1.0 Estimating and Timeboxing Topic 11 - 11.23 Timebox Planning - a suggestion What we need to know ID MoSCoW V1.0 Size Who (Resources) Dependency Requirement Name Estimating and Timeboxing Topic 11 - 11.24 Summary How do we estimate? The estimating process Estimatingin the DSDMAtern Lifecycle V1.0 Estimating in the DSDM Atern Lifecycle What is a timebox? Planning the project Topic 11 Estimating and Timeboxing Agile Development V1.0 Visuals Handout Page 9 Estimating and Timeboxing Topic 11 - 11.25 Topic 11 Estimating and Timeboxing NCC Education Limited V1.0 Any Questions?