This presentation describes the basics of Agile methodologies and how it is differed from Waterfall. Then continues with the most famous Agile approach: Scrum
2. Agenda
• Agile Basics
• Agile vs Traditional Waterfall Methodology
• What is Scrum?
• Scrum Roles
• Scrum Ceremonies
• Scrum Artifacts
• Possible Pitfalls of Scrum Approach
• Q&A
3. What is Agile and Why?
• “Agile Development” is an umbrella term for several iterative
and incremental software development methodologies.
• Current software development processes are too heavyweight
or cumbersome.
• Too many things are done that are not directly related to
software product being produced
• Current software development is too rigid
• Difficulty with changing requirements
• Learning the failure too late and less time to fix the remaining part
• More active customer (internal or external) involvement
needed
• There is no such thing called “perfect software” so the
methodology should be aligned with this approach.
4. Requirements
Design
Stage 1
Business
Requirement
s
Validation
Stage 2
Business
Information
Gathering
Stage 3
Detailed
Design &
integration
discussion
Stage 4
Developmen
t & Testing
Stage 5
Deployment
& RFS
Value
Agile vs Traditional (Waterfall) Delivery
Waterfall
Agile
Value Value Value Value Value
Building incrementally accelerates innovation and value
Time
input output
input
output
input
output
input
output
input
output
input
Customer
feedback
Implementatio
n
Verification
Implementatio
n
Verification
Implementatio
n
Verification
Implementatio
n
Verification
Implementatio
n
Verification
5. Sequential vs. overlapping development
Rather than doing all of
one thing at a time...
...Agile teams do a little
of everything all the time
Requirements Design Code Test
6. Demystifying Agile
• The details of the Manifesto for Agile Software Development can be
found at agilemanifesto.org.
• The beauty of this manifesto is that it provides just enough
direction, but permits anyone to choose their ideal trajectory.
Agile is generally a mindset, rather than a strict methodology.
• To be Agile is to follow these 4 values and 12 principles, but there
are many Agile methodologies that embrace this manifesto.
• Ultimately, focusing on creating value for customers and promoting
healthy human behaviors are the secrets to a successful Agile
adoption.
7. 4 Values of 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 rigid plan
8. Agile does not…
• equal chaos / anarchy
• lack governance
• lack visibility
• lack control
• require co-location
• lead to low quality
On the contrary Agile…
• accelerates value delivery (time to market)
• ensures continuous customer feedback
• drives innovation
• reduces cost of non-quality
• drives demand based on value opportunities
• improves transparency
• empowers teams
• lowers dependency on individuals
• focusses on the necessary documentation only
Don’t Get Me Wrong
9. Introduction to Scrum
• Scrum is an agile process within which
people can address complex adaptive
problems, while productively and
creatively delivering products of the
highest possible value.
• It allows us to rapidly and repeatedly
inspect actual working software (every 1
week to 1 month).
• The business sets the priorities. Teams
self-organize to determine the best way to
deliver the highest priority features.
• Every 1 week to 1 month anyone can see
real working software and decide to
release it as is or continue to enhance it
for another sprint.
10. Scrum with a few more words
• It’s a simple framework made of:
• 3 roles (Product Owner, Scrum Master, Development Team)
• 5 ceremonies (Sprint, Sprint Planning, Daily Scrum, Sprint Review,
Sprint Retrospective)
• 3 artifacts (Product Backlog, Sprint Backlog, Burn down charts /
Product Increment)
• The flow is repeated on a set cycle (sprint), which can have a
duration between 1 to 4 weeks as you can see in the following
slides.
14. Scrum Roles
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product (ROI)
• Prioritize features according to the market value
• Adjust features and priority every iteration, as needed
• Accept or reject work results
Product Owner
15. Scrum Roles
• Represents management to the project
• Responsible for enacting Scrum values and practices
• Removes impediments
• Ensure that the team is fully functional and productive
• Enable close cooperation across all roles and functions
• Shield the team from external interferences
Scrum Master
16. Scrum Roles
• Typically 5-9 people
• Cross-functional:
• Programmers, testers, user experience designers, etc.
• Members should be full-time (dedicated)
• Maybe exceptions (e.g., DB admin, QA etc.)
• Teams are self-organizing
• Ideally, no titles but rarely a possibility (especially with
large teams)
• Membership should change only between sprints
Dev Team
17. • Scrum projects make progress in a series of “sprints”
• Typical duration is 1–4 week or a calendar month at most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during the sprint
Sprints
Scrum Ceremonies
18. No changes during a sprint
• Plan sprint durations around how long you can commit to keep
change out of the sprint
• How to deal with production issues?
- Kanban might help you there but keep your appetite about Kanban till the next
session
Change
19. <Change information classification in footer>
Sprint Planning
Sprint planning meeting
Sprint prioritization
• Analyze and evaluate product
backlog
• Select sprint goal
Sprint planning
• Decide how to achieve sprint
goal (design)
• Create sprint backlog (tasks)
from product backlog items
(user stories / features)
• Estimate sprint backlog in hours
Sprint
goal
Sprint
backlog
Business
conditions
Team
capacity
Product
backlog
Technolog
y
Current
product
20. Sprint Planning
• Team selects items from the product backlog they can commit to
complete
• Sprint backlog is created
• Tasks are identified and each is estimated (either by hours or story
points)
• Estimation should be done collaboratively, not done alone by Dev
team lead and/or Scrum Master/Product Owner
• High-level design is considered
• Poker Planning
21. Daily Scrum Scope
• These are not status updates for the Scrum Master
• They are commitments in front of peers
What did you complete yesterday? 1
What will you do today? 2
Is anything in your way (impediment)?3
22. Daily Scrum
• Parameters
• Daily
• 15-minutes
• Stand-up in front of your board and don’t sit till the meeting finishes
• Not for problem solving
• All stakeholders can be invited
• Only dev team members, Scrum Master and the Product Owner can talk
• Helps avoid other unnecessary meetings
23. Sprint Review
• Team presents what it accomplished during the sprint
• Typically takes the form of a demo of new features or underlying
architecture
• Informal
• 2-hour prep time rule
• Generally no slides
• Whole team participates
24. Sprint retrospective
• Periodically take a look at what is and is not working and what can we get as
our lessons learned from the sprint completed
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates
• Scrum Master
• Product Owner
• Team
• Possibly internal customers and others
• Tasks for improvement for the next sprint (MUST HAVE!)
• Famous motto is “Fail early to succeed sooner…”
25. • The requirements
• A list of all desired work on the project
• Ideally expressed such that each item has value to the users or
customers of the product
• Prioritized by the product owner
• Reprioritized at the start of each sprint
Product Backlog
Scrum Artifacts
26. • Individuals sign up for work of their own choosing
• Work is never assigned
• Estimated work remaining is updated daily
• Any team member can add, delete or change the sprint backlog
• Work for the sprint emerges
• If work is unclear, define a sprint backlog item with a larger
amount of time and break it down later
• Update work remaining as more becomes known
Sprint Backlog
Scrum Artifacts
28. • Even a change might be needed during a sprint because of the nature
of the business (Kanban or Scrumban might help – will be discussed in
the later sessions)
• If the team members are not dedicated, the project might never
completed on time
• Practice needs to be able to master in the framework (at least
product owner and the scrum master should be experienced)
• The actual team velocity can only be stable after completing 4-5
sprints
• Adopting the Scrum framework in large teams (more than 10 people
including 3rd parties etc.) is challenging – Better to divide the scrum
teams
Possible Pitfalls of Using Scrum