CAI
Computer Aid, Inc. ®
Confidential
An Agile Approach to Application Development using Scrum High Productivity
•
Fixed Price
•
On Time
•
www.compaid.com1 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
•
2 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Software Projects Continue To Struggle Project Success Rates as Reported in the 2009 Standish Chaos Study:
• 32% Successful (On Time, On Budget, Fully Functional) • 44% Challenged (Late, Over Budget, And/Or Less than Promised Functionality) • 24% Failed (Canceled or never used)
These numbers indicate a downward trend in the success rates from the previous five studies. High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
3 Metrics
3
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
•
4 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 to manage costs and protect delivery dates.
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
5
•
5 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Customer Frustration and Lack of Trust
• Delivering software late, without all required features, and with low quality, leads to a lack of trust from our customers • Forces us to work in a contractual manner, rather than a more productive collaborative manner • Sign-offs on all requirements needed before design work can start – Fosters a spirit of blame avoidance – Delay in sign-offs can significantly add to the project schedule
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
6
6 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
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
7 Metrics
CAI
Confidential
Computer Aid, Inc. ®
In Summary… • Traditional approaches have been shown to be ineffective for many software development efforts, evidenced by: – – – –
Resistance to changing requirements and priorities Unreliability (late delivery, low quality, high cost) Customer frustration and lack of trust Bloated products 8
SO WHAT CAN WE DO ??? High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
8 Metrics
CAI
Computer Aid, Inc. ®
Confidential
An Agile Approach to Projects • • • • •
Work as one team Work in short iterations Deliver working software each iteration Focus on business priorities Inspect and adapt 9
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
9 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Popular Agile Methods – Scrum • • • • •
Software developed in time-boxed iterations called Sprints (e.g., 30 days) Daily 15 minute Scrum meetings – daily team measurement Working software developed in each Sprint Prioritized product backlog drives Sprints Customizable/adaptable based on project characteristics
– Rational Unified Process (RUP) • Process developed to complement Unified Modeling Language (UML), an industry-standard software modeling method. • Iterative approach for object-oriented software development • Multiple successive phases, consisting of iterations in duration from 2 weeks to several months
– Extreme Programming (XP) • • • • •
Test driven development Pair programming Continuous integration of code Lightweight documentation 1-2 week iterations
High Productivity
•
Fixed Price
•
On Time
10
•
Within Budget
•
Defined Processes
•
10 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Rational Unified Process An Iterative Incremental Methodology •
Characteristics: – Software is built in iterative and incremental phases. – Use case centric, architecture driven.
• 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 – Iterations not time-boxed frequent and visible to the – Customer is not an integral part of business – Early focus on architecture the development team. High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
11 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum 12
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
12 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum
13
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
13 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 • Scrum feels completely different! High Productivity
•
Fixed Price
•
On Time
•
Within Budget
14
•
Defined Processes
•
14 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Terminology • Product Backlog – prioritized list of desired customer features • Sprint – iterative development cycle with a duration of 2-4 weeks • Sprint Backlog – the list of tasks that the Scrum team commits to complete in the current Sprint. Items on the Sprint Backlog are drawn from the Product Backlog
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
15
15 Metrics
CAI
Computer Aid, Inc. ®
Confidential
The Scrum Process
16
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
16 Metrics
CAI
Confidential
Computer Aid, Inc. ®
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 Release Stop at any time, and still use what has been built. Date
Learn from the market Release
All features
Working software each iteration
prioritized
17 Product Backlog
time
Source: Vision Consulting, 2006
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
17 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Roles • Product Owner • Scrum Team • ScrumMaster
18
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
18 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Role – Product Owner • Critically important, must be trained in Scrum • Should be a Business representative • Develops and maintains the Product Backlog • Prioritizes the Product Backlog • Presents and explains Product Backlog to the team • Empowered to make decisions for all customers and users • Attends Sprint planning meeting and Sprint review meeting High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
19
19 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
– Unit and Integration Tested – Accepted by Product Owner High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
20 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Example Product Backlog
21
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
21 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Role – Scrum Team • Self-organizing, highly collaborative • Cross-functional • Ideal Team Size = Seven plus or minus two • Converts selected Product Backlog items into tasks on the Sprint Backlog • Responsible for committing to work defined on Sprint Backlog • Authorized to do whatever is needed to meet commitment • Synchronizes at the Daily Scrum Meeting
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
22
22 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 • Update work remaining as more is known, as items are worked High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
23
23 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Example Sprint Backlog
24
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
24 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Role – Scrum Master • Coach and Advocate • Responsible for managing the process • Sets up and conducts meetings • Representative to management • Representative to team 25
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
25 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Meetings • Sprint Planning • Daily Scrum • Sprint Review
26
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
26 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Sprint Planning Meeting • A full-day meeting that precedes each Sprint • 1st 4 hours - team selects Product Backlog Items and sets goal with Product Owner • 2nd 4 hours - team defines Sprint Backlog to build functionality • Anyone can attend, but primary conversation and work is between team and Product Owner 27
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
27 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 • Decisions made High Productivity
•
Fixed Price
•
On Time
•
Within Budget
28
•
Defined Processes
•
28 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Sprint Review Meeting • Duration = 4 hours • Maximum 1 hour preparation • Demo conducted on equipment where software was developed and tested • Presented by team to Product Owner and customers/users • Basis for planning next Sprint • Must represent potentially shippable increment of product functionality (features are “done”) High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
29
29 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Metrics • Sprint Burndown Chart • Product Burndown Chart • Velocity Measure • Sprint Results
30
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
30 Metrics
CAI
Computer Aid, Inc. ®
Confidential
The Burndown Chart • Displays number of task units (typically hours) remaining • Overall trend is important to monitor • Daily fluctuations are acceptable and expected • Actual Line should eventually reach 0 hours and should roughly follow Expected Line • Across Iterations, a less granular measure is used that is tied to the deliverables, e.g., Story Points 31
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
31 Metrics
CAI
Confidential
Computer Aid, Inc. ®
Progress During An Iteration Sprint Burndown Chart Iteration n Burndown Chart 1400 1200
Hours
1000 800
Expected Actual
600 400 200 0 1
3
5
7
9
11
13
15
17
19
21
23
25
27
32
29
Days
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
32 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Progress Across Iterations Product Burndown Chart Burndown Chart 160 140
Story Points
120 100 Expected Actual
80 60 40 20
33
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Iterations
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
33 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Velocity Measure Velocity (8 iterations) 16 Velocity (last 3 iterations)
14
Velocity (last 8 iterations)
12 Velocity
10 8
Velocity
6 4 2
34
0 1
2
3
4
5
6
7
8
Iterations
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
34 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Sprint Results
35
High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
35 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Scrum Is No Silver Bullet • Extremely simple but very hard • Many organizations are not used to releasing software so frequently • Each iteration involves planning, requirements analysis, design, coding, and testing • Highlights existing disfunctionality and bottlenecks within the organization that were previously hidden • Scaling Scrum beyond an initial pilot project requires significant change management skill High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
36
36 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Impediments To Using Agile • Ability to change organizational thinking and culture • Hard to break command and control management style – Management changes from telling people what to do to leading and helping everyone do their best to achieve goals – People aren’t resources, and managers aren’t bosses
• Requires dedicated participation from customers and end users • Agile puts pressure on the product development organization to improve its engineering skills • The phrase “That can’t be done here” really means it will be very difficult to do so High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
37
37 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Critical Success Factors For Agile Adoption • Complete commitment to Agile from the top-down • Qualifying and selecting an appropriate pilot project – Non-disruptive – Relatively short in duration
• Staffing a team with enthusiastic, talented, selfmanaging people • Identifying and training a dedicated Product Owner from the business • Specifying a clear definition of “done” for Product Backlog Items High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
38
•
38 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Benefits of Agile Development • Accelerated time to market
• Ability to accommodate changing requirements and priorities • Productivity is increased • Staff morale is improved • Product quality is improved • Product features meet customer needs • Value is generated early
39
• High probability of meeting fixed-date commitments High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
39 Metrics
CAI
Computer Aid, Inc. ®
Confidential
Contact CAI for more information
[email protected] 40
WWW.COMPAID.COM High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
Defined Processes
•
40 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 • Agile Software Development with Scrum by Ken Schwaber, Mike Beedle High Productivity
•
Fixed Price
•
On Time
•
Within Budget
•
41
Defined Processes
•
41 Metrics