Contenu connexe
Similaire à Adopting SCRUM for Agile Software Development
Similaire à Adopting SCRUM for Agile Software Development (20)
Plus de Alexey Krivitsky (20)
Adopting SCRUM for Agile Software Development
- 1. Agile Software Development:
Adopting SCRUM
A short version of a two-day class
Details are available at
www.scrumguides.com
Lviv, 8 Feb 2008
© SCRUMguides
www.scrumguides.com
Alexey Krivitsky, Tim Yevgrashyn
- 2. Who We Are?
Ukrainian Agile community
www.agileukraine.org
SCRUM trainings and coaching
www.scrumguides.com
SCRUM Certifications (CSM)
www.scrum.com.ua
Agile Software Development:
Adopting SCRUM
2 ©SCRUMguides
- 3. Our Ground Rules:
Can we all agree on this please?
No Laptops
yes we know how hard it is … ☺
Cell phones on silent mode
if you need to talk, please leave the class for a while
Be active, participate
use our knowledge and your time to maximize your returns
Don’t interrupt each other
one dialog per time
Learn by asking questions
we promise to address all your questions
Thank You!
Agile Software Development:
Adopting SCRUM
3 ©SCRUMguides
- 4. What’s in it for you?
Who of you has been using SCRUM?
Who of you is going to use SCRUM?
Who of you is never going to use it? :)
Agile Software Development:
Adopting SCRUM
5 ©SCRUMguides
- 5. Agenda
Why Agile
What is SCRUM
How to adopt Agile with SCRUM
Q/A
Agile Software Development:
Adopting SCRUM
7 ©SCRUMguides
- 6. How long are you in the business?
Agile Software Development:
Adopting SCRUM
9 ©SCRUMguides
- 7. 30 years ago (in the 70s)…
To know binary code, assembler languages
To solve math tasks
…
To look smart
Agile Software Development:
Adopting SCRUM
10 ©SCRUMguides
- 8. 10-15 years ago (in the 90s)…
To be good at documenting requirements
To use templates (like the ones from RUP)
To try to predict the future by drawing Gantt
charts, project work-breakdown structures
(WBS)
To model and talk UML
To look stable
Agile Software Development:
Adopting SCRUM
11 ©SCRUMguides
- 9. Today
To make quick and regular releases
of software that solves business challenges
To be able to adapt to ever-changing
business context
30 day is too long now
To be dynamic and flexible
Agile Software Development:
Adopting SCRUM
12 ©SCRUMguides
- 10. It is only going faster…
Competition on the software market is
growing
Business needs of the clients are becoming
more and more complex
Their expectations of the products’ and
services’ qualities are expanding
Not everyone survives.
Agile Software Development:
How can we? Adopting SCRUM
13 ©SCRUMguides
- 11. Iterative and Incremental Approach:
Shortening Time-to-Market
Agile Software Development:
Adopting SCRUM
15 From Michael Vizdos’s “CSM presentation” ©SCRUMguides
- 12. Iterative and Incremental Approach:
Reducing Risks of Delays
Agile Software Development:
Adopting SCRUM
16 From Henrik Kniberg’s “Scrum Intro” ©SCRUMguides
- 13. Sequential vs. overlapping
development
Requirements Design Code Test
Rather than doing all of one
thing at a time...
...Scrum teams do a little of
everything all the time
Agile Software Development:
Adopting SCRUM
17 ©SCRUMguides
- 14. The 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,
we value the items on the left more.
http://agilemanifesto.org/
See also the Declaration of Interdependence, http://pmdoi.org/
Agile Software Development:
Adopting SCRUM
19 ©SCRUMguides
- 15. In another words…
More focused product development through tight cooperation
with the clients
Better products
Ongoing project steering throughout the project lifecycle
Happier clients
Self-managing teams that are empowered to solve the project
challenges
Greater teams
Agile Software Development:
Adopting SCRUM
21 ©SCRUMguides
- 16. Agenda
Why Agile
What is SCRUM
How to adopt Agile with SCRUM
Q/A
Agile Software Development:
Adopting SCRUM
25 ©SCRUMguides
- 17. SCRUM in 100 words
SCRUM is a set of rules that are based on the Agile principles
and are designed to assist the customers and the team to build
constructive relationship.
SCRUM is an agile process that allows us to focus on
delivering the highest business value in the shortest time (Mike
Cohn).
Every two weeks to a month anyone can see real working
software and decide to release it as is or continue to enhance it
for another sprint (from SCRUM Framework).
SCRUM is about common sense (Ken Schwaber).
Agile Software Development:
Adopting SCRUM
26 ©SCRUMguides
- 18. Origins of SCRUM
Jeff Sutherland
– Initial scrums at Easel Corp in 1993
– IDX and 500+ people doing SCRUM
Ken Schwaber
– ADM
– SCRUM presented at OOPSLA 96
with Sutherland
– Author of three books on SCRUM
Mike Beedle
– SCRUM patterns in PLOPD4
Ken Schwaber and Mike Cohn
– Co-founded SCRUM Alliance in 2002,
initially within the Agile Alliance
Agile Software Development:
Adopting SCRUM
27 ©SCRUMguides
- 19. Popularity of SCRUM
It has been used by:
Microsoft Intuit
Yahoo! Nielsen Media
Google First American Real Estate
Electronic Arts High Moon Studios
High Moon Studios Ipswitch
Lockheed Martin John Deere
Philips Lexis Nexis
Siemens Sabre
Nokia Salesforce.com
Capital One Time Warner
BBC Turner Broadcasting
Oce
Taken from Mike Cohn’s presentation on SCRUM
Agile Software Development:
Adopting SCRUM
28 ©SCRUMguides
- 20. Applicability of SCRUM
It has been used for:
Commercial software FDA-approved, life-critical systems
In-house development Satellite-control software
Contract development Websites
Fixed-price projects Handheld software
Financial applications Mobile phones
ISO 9001-certified applications Network switching applications
Embedded systems ISV applications
24x7 systems with 99.999% uptime Some of the largest applications in use
requirements
Video game development
Taken from Mike Cohn’s presentation on SCRUM
Agile Software Development:
Adopting SCRUM
29 ©SCRUMguides
- 21. Some Worldwide Statistics
CSMs:
– 12’000 CSMs by Q1 of 2007
– Increase in 1’500 CSMs each quarter
– 221 CSM class is planned already for 2008
Popularity of SCRUM vs. XP, DSDM
2nd Annual “State of Agile Development” survey 2007:
– SCRUM – 37%,
– Hybrid XP/SCRUM- 23%,
– XP = 12%,
– DSDM – 5%
Agile Software Development:
Adopting SCRUM
30 ©SCRUMguides
- 22. SCRUM is not a Silver Bullet
SCRUM evangelists believe that the problem
we face has nothing to do with process and
technology, but with people.
SCRUM and Agile are based on the
hypothesis that there is no meta-solution for
software development. Just a framework
within which we will inspect and adapt.
This is very frustrating to those looking for
procedures and final answers
Agile Software Development:
Adopting SCRUM
31 ©SCRUMguides
- 23. What is SCRUM?
An Agile Project Management framework
A wrapper for existing engineering practices
A team-based approach (focus on self-organizing teams)
Handles conflicting interests and needs
Improves communication and cooperation
Early detection and removal of obstacles
Iterative feature-driven planning activities
Produces potentially shippable functionality at each iteration of
2-4 weeks
Disciplined approach
Agile Software Development:
Adopting SCRUM
32 ©SCRUMguides
- 24. SCRUM in Details
This part uncovers all SCRUM concepts in details:
Roles
Artifacts
Metrics
Ceremonies
Agile Software Development:
Adopting SCRUM
33 ©SCRUMguides
- 25. Terminology used in SCRUM
ScrumMaster (SM) = Process Owner
Product Owner (PO) = Customer Rep.
Sprint = Iteration
Product Backlog (PB) = Inventory of
Requirements
Sprint Backlog (SP) = Task List
Agile Software Development:
Adopting SCRUM
34 ©SCRUMguides
- 26. The Framework
Agile Software Development:
Adopting SCRUM
35 ©SCRUMguides
- 27. Agenda
Why Agile
What is SCRUM
How to adopt Agile with SCRUM
Q/A
Agile Software Development:
Adopting SCRUM
38 ©SCRUMguides
- 28. What do we want to achieve?
Adopt agile in the project?
Meet the project goals effectively!
Thanks to Askhat Urazbaev from Agile Russia for this clear slide
Agile Software Development:
Adopting SCRUM
39 ©SCRUMguides
- 29. Steps to adopt SCRUM
1. Find Product Owner 4. Build Sprint Backlog
2. Build Product Backlog 5. Sprint!
3. Define DONE criteria 6. Learn and adapt
Agile Software Development:
Adopting SCRUM
40 ©SCRUMguides
- 30. (1) Find a Product Owner
There should be only one PO
The teams should support the
decision makers with all possible
means of information that cam
help them to make right decisions.
So what does “business” need to
know?
Agile Software Development:
Adopting SCRUM
41 ©SCRUMguides
- 31. (2) Build a Product Backlog
Work with User Stories
Our plans are based on users’ needs of systems that we are
building.
We know the needs are likely to be changing as we will be
proceeding.
It will add risks to our projects. The later the change occur the
higher the risks will be (more to rework).
That’s why we want the changes to occur
as early as possible, and as much as needed!
Write the users’ needs in a form:
As a <user> I can <do> so that <value>. Agile Software Development:
Adopting SCRUM
42 We have a dedicated module on user stories and estimates.
©SCRUMguides
- 32. Example of a Product Backlog
Sprint Feature Comments Estimate
Each product has a thumbnail,
sprint i User can see the list of categories and products name, description and price 5
User can see which products are out of stock 2
User can put any in-stock product item to the basket Check for available quantity 3
Basket content is preserved
User can see which products are in his basket between sessions 3
sprint (i+1) User can delete a product item from the basket 1
User can buy all products from his basket 5
User can pay with invoice Works only for local customers 8
…
sprint n …
Agile Software Development:
Adopting SCRUM
43 ©SCRUMguides
- 33. From Henrik Kniberg’s “Scrum Introduction”
Granularity of Planning Details
Agile Software Development:
Adopting SCRUM
44 ©SCRUMguides
- 34. (3) Define “Done” criteria
What do you mean when you say you’re done?
It is very important for the team and the client to agree upon
what “done” actually
means.
As the team’s maturity grows
the “doneness” expands.
What “done” means to you?
Does you “done” mean “live”?
What is
the shortest time within which
you can “do” a meaningful minimal
set of stories?
Agile Software Development:
Adopting SCRUM
45 ©SCRUMguides
- 35. (4) Build the Sprint Backlog
Remained Estimate (hours)
Feature Tasks Responsible Mon Tue Wed Thu Fri
User can see the list of
categories and products Implement layout VM 8 4 3 0 0
Design DB TY 16 12 10 8 4
Implement API TY 6 4 4 4 2
Implement unit-tests TY 2 2 2 2 2
Import data from Xserver AK 4 4 4 4 4
User can see which
products are out of stock Implement layout VM 3 3 1 1 1
Add field to products table TY 1 1 1 1 1
Import data from Xserver TY 1 1 1 2 2
Implement API AK 2 1 1 1 1
Implement unit-tests AK 1 2 2 2 2
Refactor Product class AK 3 2
SUM 44 34 32 27 19
Agile Software Development:
Adopting SCRUM
46 ©SCRUMguides
- 36. (5) Sprint!
Daily Scrums - synchronization points
Agile Software Development:
From Henrik Kniberg’s Adopting SCRUM
47 “What is SCRUM” http://crisp.se/ ©SCRUMguides
- 37. (5) Sprint!
Team’s visual tool
Agile Software Development:
From Mike Cohn’s “Task Boards”, Adopting SCRUM
48 http://www.mountaingoatsoftware.com/ ©SCRUMguides
- 38. (5) Sprint!
Burndown chart is a very simple and powerful visualization tool
you can use in your progress. Daily it tells you where you are:
Sprint Burndown
50
44 43
40
36
Estimates
30
27
20 21
18
15
10 11
5
0 0
1 2 3 4 5 6 7 8 9 10
Agile Software Development:
Adopting SCRUM
50 Days
©SCRUMguides
- 39. From Henrik Kniberg’s “What is SCRUM”
http://crisp.se/
(5) Sprint!
The Task Board after the i-th meeting …
Agile Software Development:
Adopting SCRUM
51 ©SCRUMguides
- 40. (5) Sprint!
A word on visibility
Sprint Burndown
50
45 44 41
41 39 39
40
35
Estimates
30
25
20 22
15
12
10 8
5
3
0
Mon Tue Wed Thu Fri
Days
Agile Software Development:
Adopting SCRUM
52 ©SCRUMguides
- 41. (6) Learn and Adapt
• Sprint review
• demo working software
• get feedback
• Sprint retrospective
• what went well
• what didn’t
• what will the team do differently next sprint
• Cook until you’re done :)
Agile Software Development:
Adopting SCRUM
53 ©SCRUMguides
- 42. Now. What’s in it for you? :)
Who of you has been using SCRUM?
Who of you is going to use SCRUM?
Who of you is never going to use it?
Agile Software Development:
Adopting SCRUM
54 ©SCRUMguides
- 43. Three things that can derail
Agile methods are easy to misunderstand
The methods exist in order to enable the philosophy
Agile practices are like any other practices; they’re learned through
example, application, and training
It’s easy to think you’re doing Agile right, and be wrong
Without direction, a team told to throw away its waterfall method will
simply devolve into quot;code and fix.quot;
Agile methods make value visible
Can that be a bad thing?
If someone in an Agile Project isn’t contributing, the fact will become
obvious
Agile Software Development:
Taken from presentation of Serhiy Yevtushenko Adopting SCRUM
55 done on one of the Gathering of Agile Ukraine ©SCRUMguides
- 44. A sure way to get it wrong
quot;Big bang“, massive, world-shaking change without experimentation
Expecting to have your cake and eat it too:
All features, on time, on budget, on schedule, re-gardless of how realistic that schedule is
Iterative development without automated tests
quot;Iterationsquot; that deliver incomplete work products
For instance, software that isn’t ready to release to the customer
Agile development while keeping the developers and the testers separate
Testing becomes an afterthought a verification activity
Implementation of Agile techniques without a belief in the core philosophies
Responding to change and not planning everything up front
Agile Software Development:
Taken from presentation of Serhiy Yevtushenko Adopting SCRUM
56 done on one of the Gathering of Agile Ukraine ©SCRUMguides
- 45. We can help you adopt SCRUM
Order a two-day training for your team:
http://www.scrumguides.com/
Agile Software Development:
Adopting SCRUM
57 ©SCRUMguides
- 46. We Welcome Everyone to join our Discussions
http://groups.google.com/group/agile-ukraine/
Agile Software Development:
Adopting SCRUM
58 ©SCRUMguides
- 47. Questions?
Agile Software Development:
Adopting SCRUM
59 ©SCRUMguides
- 48. Thank you!
Agile Software Development:
Adopting SCRUM
60 ©SCRUMguides