Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.

Slides:



Advertisements
Similar presentations
Program Management School Agile & ADDIE Add-Up (AAAU) Elliott Masies Learning 2012 October 21-24, 2012.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
IAgile – iNetFrame’s framework for agile development Features Get to see a working product early Development shadows evolving requirements Pair programming.
Agile Project Management with Scrum
The Business Analyst Role in Agile Projects
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Agile Software Development Matt Rice November 27, 2006.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Managing a Project Using an Agile Approach and the PMBOK® Guide
1 Agile Estimating and Planning October, 2013 Technion, Israel Prof. Fabio Kon University of Sao Paulo, Brazil
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Development Landscape
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 4 Agile Development
What is Scrum Process? Where is it used? How is it better?
..OR SOMETHING THAT LOOKS LIKE IT SCOTT TURNBULL SOFTWARE ENGINEERING MANAGER EMORY UNIVERSITY LIBRARIES Agile Development.
Copyright David Churchville - XP and Agile Planning David Churchville ExtremePlanner Software XP Fishbowl.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
5. Planning.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Cultivating Agile Requirements
Planning Extreme programming
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ CA Agile Vision Product Manager Michael Lester.
10 key principles of agile software development
Text Firefox Metro Project Production Pipeline. Text Our Approach.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Estimating and Planning Nora Liesenfeld. Nora Liesenfeld TU München Agile Estimating and Planning Author: Mike Cohn Title: Agile Estimating.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Mike Cohn - Agile Estimating and Planning
Rapid software development
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
Presentation transcript:

Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014

Agenda “Agile” estimating & planning – For agile projects – For non-agile projects too Why planning fails? Scheduling – Release & Iteration planning Tracking and Communicating Benefits of Agile Planning Guidelines for Agile Estimation and Planning

“Agile” Estimating & Planning Estimation and planning can be lightweight too! Doesn’t imply estimating and planning for “agile” projects only Question to answer: What should we build and by when? – How big is it? – When will it be done? – How much can I have by then?

PLANNING IS EVERYTHING. PLANS ARE NOTHING. Field Marshal Helmuth Graf von Moltke

Purpose of ‘Planning’* Why do we do it? – Reduce risk & uncertainty – Supporting better decision making – Establishing trust (i.e. frequent delivery) – Conveying expectations Planning is a ‘quest for value’ – Attempt to find an optimal solution of the overall product development question: What should be built? *Agile Estimation & Planning – Mike Cohn 6

A Good Plan One that stakeholders find sufficiently reliable One that can be used as basis for decision making – Approximate time to market – An idea of the set of features Made more precise as project moves on Is a ‘living’ artifact showing the current status of the project to avoid last minute surprises Is planned around ‘value’ 7

Why Planning Fails? Planning by activity instead by features “Activities” never finish early Activities are not independent Lateness passed down the schedule Multitasking causes more delays Features not developed by priority Ignoring uncertainty  revised estimates Estimates become commitments

Agile Approach to Estimating/Planning Agile Manifesto: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, agilists value the items on the left more

Agile Approach to Projects Work as one team Work in short (2 – 4 week) iterations Deliver something each iteration Focus on business priorities Inspect and adapt

Agile Approach to Planning Accuracy of plan decreases the further we attempt to plan Multiple “horizons” for planning Market Research Agile Project Planning

Conditions of Satisfaction

AGILE ESTIMATION & PRIORITIZATION Recap of what has already been covered

Estimation & Prioritization Estimating size: – T-shirt sizing (S, M, L, XL …) – Story-points – Ideal days – … (refer Estimation lecture) Keep duration estimate independent of size Prioritize features w.r.t. size and “other” important dimensions (lecture on VBRP)

SCHEDULING Release and Iteration Planning

Release Planning Determine Conditions of Satisfaction Estimate (theme) User Stories Select stories and a release date Do in any sequence Estimate Velocity Select an iteration length (~2 wks) Prioritize User Stories Iterate until the conditions of satisfaction for the release can be met

Estimating Velocity By when will you be done? A major challenge for planning a release Avoid point estimates Techniques: – Historical values Only applicable if “everything” is the same – Run an iteration (or 2 – 3) and predict – Make a forecast Estimate team hours Estimate total hours on project/release Arbitrarily select stories and break into tasks to fill number of hours Get velocity from above  convert to 90% CI range

Release Plan – Look and Feel Iteration 1Iteration 2Iterations 3 – 5 As a user, I… 3 As a user, I… 8 As a user, I… 5 As a user, I… 5 As a user, I… 8 As a user, I… 2 As a user, I… 3 As a user, I… 5 As a user, I… 3 As a user, I… 5 As a user, I… 3 As a user, I… 2 As a user, I… 1 As a user, I… 5 As a user, I… 5 As a user, I… 2 Not fixed in stone – updated frequently especially if major changes in velocity/features

Iteration Planning Release plan provides high level view of “value delivery” Iteration plan  Short-term, detailed view – What to work on in the next 2 weeks? – What to work on today? (Daily plan/stand-ups) Stories being worked on broken into tasks – Ex: Design UI (16 hours) – Refactor DB schema (10 hours) – Determine business rules (6 hours) – Specify acceptance tests (8 hours) Tasks NOT allocated to individuals!

Iteration Planning – Cont’d Velocity Driven Commitment Driven

TRACKING AND MONITORING

Release Burn-down(up) Charts

Iteration Plan StoryTo Do Tests Ready In ProcessTo VerifyHours As a user, I can… 5 Code the… (8) Code the… (5) Test the… (6) Y Code the… NK (6) Code the… DL (4) Code the… BB (4) 33 As a user, I can… 3 Code the… (8) Code the… (5) 13 As a user, I can… 2 Code the… (3) Code the… (6) Y Code the… SK (4) 13

Benefits of Agile Planning Replanning occurs frequently Estimates of size and duration are separated Plans made at separate levels Plans based on features not tasks/activities Small stories keep work flowing Work in process eliminated each iteration Tracking at team level (instead of individual) Uncertainty acknowledged and planned for

Guidelines for Agile E&P 1.Involve the whole team 2.Plan at different levels 3.Keep estimates of size and duration separate using different units 4.Express uncertainty in either functionality or date 5.Replan often (start of each iteration) 6.Track and communicate progress 7.Acknowledge importance of learning 8.Plan features of right size 9.Prioritize features 10.Base estimates and plans of facts 11.Leave some slack 12.Coordinate/sync teams with look-ahead planning.