Contenu connexe
Similaire à ScrumGuides training: Agile Software Development With Scrum (20)
Plus de Alexey Krivitsky (20)
ScrumGuides training: Agile Software Development With Scrum
- 2. Today’s Agenda
Opening: program overview, knowing each other
Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics
We will be having 10-minute breaks each 60-90 minutes.
Agile Software Development with
2 SCRUM ©SCRUMguides
- 3. About myself
Alexey Krivitsky
Software developer, Agile coach
Certified ScrumMaster
Certified Scrum Practitioner
http://www.linkedin.com/in/alexeykrivitsky
email: alexey@scrumguides.com
skype: alexeykrv
icq: 436-471-64
gsm: +380 50 358 92 12
Currently building up a training center
www.scrumguides.com
Agile Software Development with
3 SCRUM ©SCRUMguides
- 4. Our presence
Ukrainian Agile community
www.agileukraine.org
Join our Google discussion group
Ukrainian SCRUM portal
www.scrum.com.ua
Agile Software Development with
4 SCRUM ©SCRUMguides
- 5. Today’s Agenda
Opening: program overview, knowing each other
Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics
Agile Software Development with
5 SCRUM ©SCRUMguides
- 7. Project successes/failures
Have you been on a successful project?
Have you been on an unsuccessful project?
Agile Software Development with
8 SCRUM ©SCRUMguides
- 8. Agile might help you, let’s see…
Understanding Agile and SCRUM
Agile Software Development with
9 SCRUM ©SCRUMguides
- 9. The two approaches, two cultures
Predictive approach
Sees projects as predictive processes which results can be
foreseen (predicted) with acceptable probability after
reasonable planning and study efforts spent.
Adaptive approach
Questions predictability of projects due to their built-in
complexity. It puts stress on steering based on observations.
Agile Software Development with
10 SCRUM ©SCRUMguides
- 10. The predictive approach
Release
Design spec
Requirements spec
Order
C
D
Actual
need
P
P
R
Agile Software Development with
11 SCRUM ©SCRUMguides
- 11. The adaptive approach
When in the project we 100% know if we
on/off the track in terms of the time, scope,
costs…?
Vision
C
Actual need
Agile Software Development with
12 SCRUM ©SCRUMguides
- 12. The two approaches to project management
Predictive approach
Heavy-weight;
–
Process-oriented;
–
Plan-driven;
–
“Waterfall”.
–
Adaptive approach
Light-weight;
–
People-oriented;
–
Value-driven;
–
“Agile”.
–
Agile Software Development with
13 SCRUM ©SCRUMguides
- 14. The cone of uncertainty
SCRUM decreases the chaos by fixing the scope
Agile Software Development with
15 SCRUM ©SCRUMguides
- 15. The two approaches on the time scale
Which advantages/disadvantages of
the approaches you see? Agile Software Development with
16 SCRUM ©SCRUMguides
- 16. Agile and SCRUM
SCRUM – one of the Agile approaches.
It is a project framework, or a set of
recommendations by following which you can
increase the chance of successful ending of
your projects.
Agile Software Development with
17 SCRUM ©SCRUMguides
- 17. Agile Manifesto
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
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.
Agile Software Development with
18 SCRUM ©SCRUMguides
- 18. Principles of Agile Manifesto
Please see www.agilemanifesto.org for the
twelve principles
Agile Software Development with
19 SCRUM ©SCRUMguides
- 19. Main aspects of Agile
Agile Software Development with
20 SCRUM ©SCRUMguides
- 20. The main aspects of Agile
Team Work
Prioritization
Short cycles
Learn and Adapt
Agile Software Development with
21 SCRUM ©SCRUMguides
- 21. The main aspects of Agile: Team work
What is a team?
Agile Software Development with
22 SCRUM ©SCRUMguides
- 22. Team work (cont.)
Exercise “an airplane factory”.
Agile Software Development with
23 SCRUM ©SCRUMguides
- 23. Push vs. Pull systems
SCRUM
is a pull system
Agile Software Development with
24 SCRUM ©SCRUMguides
- 24. Team work (cont.)
What is a team?
Are you in a good team?
How to become a greater team?
How to evaluate and motivate people’s work
in a team?
Agile Software Development with
25 SCRUM ©SCRUMguides
- 25. Is here such a thing as “team work”?
Release
Design spec
Requirements spec
Order
C
D
Actual
need
P
P
R
Agile Software Development with
26 SCRUM ©SCRUMguides
- 26. A SCRUM team is
A cross-functional group of people
(5-9 members) responsible for managing
itself to develop the product.
Agile Software Development with
27 SCRUM ©SCRUMguides
- 27. The main aspects of Agile
Team Work
Prioritization
Short cycles
Learn and Adapt
Agile Software Development with
28 SCRUM ©SCRUMguides
- 28. Prioritization and Traditional approaches
An alternative tool to backlogs are
requirement specifications.
Agile Software Development with
29 SCRUM ©SCRUMguides
- 30. As a result …
As a result all requirements are the
“top priority”.
Which is basically the same as not having
the priorities at all.
Agile Software Development with
31 SCRUM ©SCRUMguides
- 31. And as a result …
Agile Software Development with
32 SCRUM ©SCRUMguides
- 32. What does it mean to us?
As a consequence: we can cut costs and
duration of our projects in 2/3!
Does it mean we (the teams) will earn less
money?
Agile Software Development with
33 SCRUM ©SCRUMguides
- 33. What about your projects?
Think about your current (recent) projects.
List 5-10 features that could have been
avoided or simplified by keeping the product
as good as it was.
What would be your % of rarely/never used
features?
Agile Software Development with
34 SCRUM ©SCRUMguides
- 34. Prioritize (cont.)
YAGNI - “You ain’t gonna need it”.
A strategy of postponing decisions until the last
possible moment.
Product backlog
Just-in-time requirements management tool.
Agile Software Development with
36 SCRUM ©SCRUMguides
- 35. The “menu” (Agile) approach
Product backlog is the project’s menu.
“Servants” help to make better decisions.
Agile Software Development with
37 SCRUM ©SCRUMguides
- 36. What saves our projects?
“The features that we manage to de-scope are
the savers of our projects” © Kent Beck
Agile Software Development with
38 SCRUM ©SCRUMguides
- 37. Today’s Agenda
Opening: program overview, knowing each other
Understanding Agile and SCRUM till 16:00
Coffee break 16:00 – 16:30
SCRUM simulation 16:30 – 17:30
Extra SCRUM topics 17:30 – 18:00
Agile Software Development with
39 SCRUM ©SCRUMguides
- 38. The main aspects of Agile
Team Work
Prioritization
Short cycles
Learn and Adapt
Agile Software Development with
40 SCRUM ©SCRUMguides
- 39. The main aspects of Agile: Short Cycles
The shorter the cycle the more efficient the process
We have more time to “play” with the product that
1.
we are developing;
The sooner we can catch a defect the easier it is to
2.
fix it;
The shorter the cycle (the smaller a batch of work)
3.
the less need we have in creating intermediate
artifacts.
Agile Software Development with
41 SCRUM ©SCRUMguides
- 40. The “Flip Coins project
Agile Software Development with
42 SCRUM ©SCRUMguides
- 41. Short Cycles (cont.)
“Fail fast” (с) Ken Schwaber
Agile Software Development with
43 SCRUM ©SCRUMguides
- 42. Iterative and Incremental approach
How do you eat an elephant?
-
One bite at a time!
-
Agile Software Development with
44 SCRUM ©SCRUMguides
- 43. Shorter Cycles = Faster Feedback
Daily meetings
1.
Code Reviews
2.
Release to end-users
3.
Iteration reviews
4.
Continuous integration
5.
Feedback from (onsite) clients
6.
Unit-testing
7.
(Automated) acceptance testing
8.
Pair programming
9.
Agile Software Development with
45 SCRUM ©SCRUMguides
- 44. Shorter Cycles = Faster Feedback (ordered)
Pair programming (immediate feedback)
Unit-testing (5-10 minutes)
Continuous integration (hourly)
Feedback from (onsite) clients (daily)
Daily meetings (daily)
Code Reviews (some days)
(Automated) acceptance testing (some days)
Iteration reviews (each second week)
Release to end-users (some weeks-months)
Agile Software Development with
46 SCRUM ©SCRUMguides
- 45. The main aspects of Agile
Team Work
Prioritization
Short cycles
Learn and Adapt
Agile Software Development with
47 SCRUM ©SCRUMguides
- 47. The main aspects of Agile: Learn and Adapt
As we work we learn lots of new things about
the product being developed, technologies
being used, our clients, ourselves.
By incorporating this information into daily
work we can become better day by day.
Agile Software Development with
49 SCRUM ©SCRUMguides
- 48. Visibility tools
In order to evolve the way we work we need to
keep everything visible to ourselves and our
clients
Tools that might help:
Sprint Burndown Chart
Task boards
Wikis
Agile Software Development with
50 SCRUM ©SCRUMguides
- 50. The Task Board - an information radiator
Agile Software Development with
52 SCRUM ©SCRUMguides
- 51. The main aspects of Agile
Team Work
Prioritization
Short cycles
Learn and Adapt
Agile Software Development with
53 SCRUM ©SCRUMguides
- 53. Today’s Agenda
Opening: program overview, knowing each other
Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics
Agile Software Development with
56 SCRUM ©SCRUMguides
- 54. SCRUM in 59 minutes
Agile Software Development with
57 SCRUM ©SCRUMguides
- 55. Game structure
Planning
Choose a product and your PO
Help your PO to build up a PB
Help your PO to prioritize the PB items
Plan your first sprint
Sprinting
Day one - 7 min
Daily standup - 3 min
Day two - 7 min
Demonstration - 3 min (per a team)
Agile Software Development with
58 SCRUM ©SCRUMguides
- 56. Today’s Agenda
Opening: program overview, knowing each
other
Understanding Agile and SCRUM
SCRUM simulation
Extra SCRUM topics
Agile Software Development with
59 SCRUM ©SCRUMguides
- 57. SCRUM recap
Roles
The Team
–
ScrumMaster
–
Product Owner
–
Artifacts
Product Backlog
–
Sprint Backlog
–
Sprint/Release Burndown Chart
–
Meetings (ceremonies)
Sprint Planning
–
Daily Scrum (“Stand-Up”)
–
Sprint Review (Demo)
–
Retrospective
–
Agile Software Development with
60 SCRUM ©SCRUMguides
- 58. Today’s Agenda
Opening: program overview, knowing each other
Understanding Agile and SCRUM
SCRUM simulation
Summary of SCRUM concepts
Agile Software Development with
61 SCRUM ©SCRUMguides
- 59. Join our community!
Ukrainian Agile community
www.agileukraine.org
Join our Google discussion group
Ukrainian SCRUM portal
www.scrum.com.ua
Agile Software Development with
62 SCRUM ©SCRUMguides