Agile Estimation – What are We Really Looking For? · 2019-11-04 · Agile Estimation – ......
Transcript of Agile Estimation – What are We Really Looking For? · 2019-11-04 · Agile Estimation – ......
© 2019 PRICE Systems, L.L.C. All Rights Reserved© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Estimation –What are We Really Looking For?
1
Arlene MinkiewiczChief Scientist, PRICE® Research
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agenda
• Introduction
• Agile Software Development
• Agile Estimation‒ What to estimate‒ What’s the same, what’s not
• Emerging Methodology
• Other Agile Cost Considerations
• Wrap Up
2
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Introduction
• Agile development practices have enabled organizations to deliver quality software that optimizes customer satisfaction
• Agile processes rely on highly skilled developers communicating with clients and each other to optimize value delivered
• This requires a mind shift during project planning‒ Development teams‒ Consumers
• From a purely agile perspective estimation doesn’t make sense
• From a business/program perspective estimation is still important
3
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Introduction
• Back in the day … Complexity of applications was overshadowed by the logistics of implementation
• Technology improved … today software solves increasingly complexity problems
• The so called ‘software crises’ (mid 60’s to 80’s) resulted in many ‘silver bullet’ type solutions
• Lots of smart software development professionals began looking for more lightweight methods to address complexity in achievable chunks
4
© 2019 PRICE Systems, L.L.C. All Rights Reserved© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Software Development
5
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Manifesto
• We are discovering better ways of developing software by doing it and helping others do it‒ Individuals and interactions over processes and tools‒ Working software over comprehensive documentation‒ Customer collaboration over contract negotiation‒ Responding to change over following a plan
• All agile projects adhere to this manifesto• All agile projects share a common set of
principles• Each agile project uses a unique set of agile
practices to implement these principles• Successful estimation for an agile project is like
software estimation for any project – you need to understand the project properties and the practices employed
6
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Traditional Software Development
• Requirements are analyzed
• Architecture and design are created
• Requirements are implemented, tested and delivered
• Months (or longer) occur before there is usable software for the customer to evaluate
7
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Software Development
• Usable chunks of software are developed in short periods of time (sprints, iterations, etc.)
• Requirements are translated into user stories and become the project backlog
• User stories deliver business value and are small enough to complete in an iteration
• Customer works with team and reviews software regularly
• Each iteration focuses on the user stories that are currently the highest priority of the customer
• Priorities may shift from iteration to iteration• Agile teams expect and embrace change
8
© 2019 PRICE Systems, L.L.C. All Rights Reserved
12 Guiding Principles for Agile Development
9
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Common Agile Practices
• Pair programming
• Continuous integration with automated testing
• Test driven development
• Daily stand up meetings
• Co-located teams
• Code refactoring
• Small releases
• Customer on team
• Simple design
10
© 2019 PRICE Systems, L.L.C. All Rights Reserved© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Estimation
11
© 2019 PRICE Systems, L.L.C. All Rights Reserved
What is Agile Estimation?
• Known facts….‒ Agile Team Size‒ Length of Iterations‒ Release Cycle
• Predetermined (but negotiable) facts…‒ Capability delivered‒ Number of releases
• If we know who we have and how much time we have –what is there to estimate?
• And yet, estimates are necessary for project and resource planning
12
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile focus is on value driven by customer
13
Scope
Quality
Schedule Cost
Scope
Quality
Schedule
Traditional Waterfall Agile
= Fixed = Variable
Cost
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Various levels of estimation for an agile project
• Sprint level ‒ Stories => tasks => Hours
• Release level‒ User stories => story points
• Project or Proposal Level‒ What the customer thinks they want => cost/effort
• Need to bridge the language gap between agile developers and estimators without dragging down the process of top levels for planning
14
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Estimators concerns….
• Size‒ Though negotiable, there needs to be a starting place
• Agile Team Size
• Iteration Length
• Release Cycle
• Other team, project and program factors ‒ Like any other software development project
• Estimators job becomes determining‒ Schedule feasibility‒ Iterations required‒ Uncertainty around proposed capability
15
© 2019 PRICE Systems, L.L.C. All Rights Reserved 16
Emerging Solution
Agile Inputs
Traditional Inputs
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Emerging Solution
17
© 2019 PRICE Systems, L.L.C. All Rights Reserved© 2019 PRICE Systems, L.L.C. All Rights Reserved
Other Considerations for Agile Projects
18
© 2019 PRICE Systems, L.L.C. All Rights Reserved
The fact that your project is agile is not a cost driver!
19
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Cost Drivers
• The fact that your project is agile is not a cost driver
• There are potential cost implications to adopting agile practice
• Estimation team needs to determine which agile practices apply and how they impact cost and schedule
20
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Cost Drivers
• Agile teams tend to be highly skilled• Hard to be a slacker in an agile environment• Working closely with high skilled team members, learning curve for new
members is quick• Input parameters to your model indicating team experience would be affected
• Agile teams tend to have tool sets that are quite sophisticated
• This would be especially true on teams working with space systems as it would greatly facilitate compliance to standards
• Input parameters around tools or automation would be affected
21
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Cost Drivers
• Co-location of teams should improve team productivity• Culture of interruption• Questions answered in real time• Team cohesion increases• Co-locating stakeholders and SMEs with development team creates a real time
IPT• Well run stand-up meetings increase productivity and quality• Cost drivers indicating distribution of team and communication practices would
be affected
22
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Agile Cost Drivers
• Continuous integration with automated testing should increase delivery productivity
• Important in space systems to maintain safety critical compliance requirements.
• Code is checked in frequently and builds are run and test regularly before developers forget what they changed
• Red tests raise red flags – team fixes them right away• Since little code is changed, errors are easy to track
down• Fixes occur quickly • Cost drivers focused on integration test complexity
would be affected
23
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Wrap Up
• Planning for agile projects requires a different mind set than planning for a more traditional projects
• Cost and Schedule are pre-determined, scope is negotiable
• Planning still needs to occur to determine‒ Schedule feasibility‒ Content related risk‒ Coordinated release plan
24
© 2019 PRICE Systems, L.L.C. All Rights Reserved
Questions?
25