Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
An Agile
Approach to
Application
Development
using Scrum
www.compaid.com1
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Agenda
• Introductions
• Problems With Traditional Development
Approaches
• Agile Development Overview
• Scrum
2
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
3
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Traditional Development
Methods
• Based on a manufacturing model
• Result in customer frustration and lack of trust
• Often deliver bloated products
4
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Manufacturing-Based
Methodologies Get it right!
• Early development methodologies borrowed
heavily from manufacturing, which is repetitive
with clearly defined outputs.
• The Waterfall methodology is based on:
– Starting with a clear and accurate specification
(prevents rework by getting things right upfront)
– Perfecting a design specification before building
(no changes to requirements at this point)
– Quick testing cycle with little rework needed
• Between 25% and 35% of requirements change
on large projects (reported by Capers Jones)
• Valid change requests are often rejected in order 5
to manage costs and protect delivery dates.
5
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
6
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Software Bloat
• In many projects, the software eventually delivered ends
up bloated with unused features
• 2009 Standish Chaos Study of software projects shows:
― 45% of features were never used
― 19% of features were rarely used
Feature and Function Usage
Never
Rarely
Sometimes
7
Often
Always
7
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
In Summary…
SO WHAT CAN WE DO ???
8
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
9
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
• Pros: • Cons:
– Some flexibility to accommodate – The time to delivery of a working,
change production ready system can be
– Delivery of software more long. 11
frequent and visible to the – Iterations not time-boxed
business – Customer is not an integral part of
– Early focus on architecture the development team.
11
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum
12
12
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum
13
13
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Overview
• A lightweight approach for planning and executing iterative
development projects
• Used at product companies and IT organizations since
1990 including Microsoft, Google, Honda, and Xerox
• Wraps existing engineering practices
• Delivers working business functionality every 30 days
• Encourages “building quality in” rather than “testing defects
out”
• Extremely simple but very hard
• Scalable 14
Scrum Terminology
15
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
16
16
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scr um Principles • Customer lists known requirements (to a high level), then prioritizes them.
• Frequently deliver time-boxed increments of high-value Working software.
• The Customer can release the software any time they want.
• The Customer can add, delete or reprioritize features at any time (“embrace change”)
• We protect schedule commitments, despite change. Promised
• Stop at any time, and still use what has been built. Release
Date
Release
features
Working software
each iteration
prioritized
17
Product
Backlog
Source: Vision Consulting, 2006 time 17
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Roles
• Product Owner
• Scrum Team
• ScrumMaster
18
18
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Product Backlog
• List of functionality, technology, issues
• Emergent, prioritized, estimated
• Product Owner responsible for priority
• More detail on higher priority backlog
• Derived from Business Plan or Vision Statement, which
sometimes have to be created with customer
• Each Product Backlog Item must include a definition of
“Done”
– Test conditions identified
– Code complete 20
21
21
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
22
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Sprint Backlog
• Tasks to turn product backlog into working product
functionality
• Tasks are estimated in hours, usually 1-16
• Tasks with more than 16 hours are broken down later
• Team members sign up for tasks, they aren’t assigned
• Estimated work remaining is updated daily
• Any team member can add, delete, or change the Sprint
Backlog
• Work for the Sprint emerges
23
• Update work remaining as more is known, as items are
worked
23
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
24
24
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
25
25
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Meetings
• Sprint Planning
• Daily Scrum
• Sprint Review
26
26
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
27
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Daily Scrum
• Daily 15 minute status meeting
• Same place and time every day
• Three questions
– What have you done since last meeting?
– What will you do before next meeting?
– What is in your way?
• Impediments discussed
28
• Decisions made
28
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Metrics
• Sprint Burndown Chart
• Product Burndown Chart
• Velocity Measure
• Sprint Results
30
30
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
31
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
1400
1200
1000
800
Hours
Expected
Actual
600
400
200
0
32
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Days
32
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
160
140
120
Story Points
100
Expected
80
Actual
60
40
20
0 33
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Iterations
33
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Velocity Measure
Velocity (8 iterations)
16
Velocity (last 3 iterations)
14
12 Velocity (last 8 iterations)
10
Velocity
8 Velocity
2
34
0
1 2 3 4 5 6 7 8
Iterations
34
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Sprint Results
35
35
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
be very difficult to do so
37
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Contact CAI for more information
PETER_DEYOE@COMPAID.COM
40
WWW.COMPAID.COM
40
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics
CAI
Computer Aid, Inc. ®
Confidential
Additional Information
Links
• http://www.scrumalliance.org
• http://www.controlchaos.com
• http://www.mountaingoatsoftware.com
• http://www.xprogramming.com
Books
• Agile Project Management with Scrum
by Ken Schwaber
• Agile Estimating and Planning
by Mike Cohn 41
• Agile Software Development with Scrum
by Ken Schwaber, Mike Beedle
41
High Productivity • Fixed Price • On Time • Within Budget • Defined Processes • Metrics