2. Indika Munaweera
Introduction to Agile Software Development
Principles of Agile (Agile Manifesto)
Scrum Overview
Scrum Theory
Scrum Values
Parts of Scrum
The Scrum Team - Roles
Scrum Events
Scrum Artifacts
References
3. Introduction to Agile Software Development
Indika Munaweera
What is Agile?
The ability to create and respond to change in order to succeed in
an uncertain and turbulent environment.
What is Agile Software Development?
Agile Software Development is an umbrella term for a set of methods and
practices based on the values and principles expressed in the Agile Manifesto.
Solutions evolve through collaboration between self-organizing, cross-
functional teams utilizing the appropriate practices for their context.
4. Indika Munaweera
Individuals and interactions over processes
and tools
Working software over comprehensive
documentation
Customer collaboration over contract
negotiation
Responding to change over following a plan
5. Principles of Agile
Indika Munaweera
Customer satisfaction by rapid, continuous delivery of useful software
Working software is delivered frequently (weeks rather than months)
Working software is the principal measure of progress
Even late changes in requirements are welcomed
Close, daily cooperation between business people and developers
Face-to-face conversation is the best form of communication (Co-location)
Projects are built around motivated individuals, who should be trusted
Continuous attention to technical excellence and good design
Self-organizing teams
Regular adaptation to changing circumstances
7. Indika Munaweera
Scrum Overview
Scrum (n): A framework within which people can address
complex adaptive problems, while productively and
creatively delivering products of the highest possible value.
Lightweight
Simple to understand
Difficult to master
Scrum is not a process, technique, or definitive method. Its a
framework.
8. Indika Munaweera
Scrum Theory: Empirical vs. Theoretical
Learn as we go over command and control
Plan for change over planning for what you expect to happen
Embrace change over enforcing the plan
Use, inspect and adapt over using change control
13. Indika Munaweera
Scrum Roles- The Product Owner
Clearly express Product Backlog items
Ordering the items in the Product Backlog to best achieve goals
and missions
Optimizing the value of the work the Development Team
performs
Ensuring that the Product Backlog is visible, transparent, and
clear to all, and shows what the Scrum Team will work on next
Ensuring the Development Team understands items in the
Product Backlog to the level needed.
14. Indika Munaweera
Scrum Roles- The Scrum Master
Ensuring that goals, scope, and product domain are understood by
everyone on the Scrum Team as well as possible
Finding techniques for effective Product Backlog management
Helping the Scrum Team understand the need for clear and
concise Product Backlog items
Understanding product planning in an empirical environment
Ensuring the Product Owner knows how to arrange the Product
Backlog to maximize value
Understanding and practicing agility
Facilitating Scrum events as requested or needed
15. Indika Munaweera
Scrum Roles- The Development Team
Ensuring that goals, scope, and product domain are understood by
everyone on the Scrum Team
Finding techniques for effective Product Backlog management
Cross-functional teamwork and collaboration
Participates in Scrum Events
Understanding product planning in an empirical environment
Helping backlog refinement to ensure that the Product Owner
knows how to arrange the Product Backlog to maximize value
Understanding and practicing agility
Facilitating Scrum events as requested or needed
17. Indika Munaweera
The Sprint - The heart of Scrum
A Sprint is time-boxed of one month or less
Useable, and potentially releasable product Increment is created
No changes are made that would endanger the Sprint Goal
Quality goals do not decrease
Scope may be clarified and re-negotiated between the Product
Owner and Development Team as more is learned
18. Indika Munaweera
Sprint Planning
Sprint Planning is time-boxed to a maximum of eight hours
for a one-month Sprint
Product Owner presents the ordered product backlog to the
development team
The Development Team selects items for the next Sprint
During Sprint Planning the Scrum Team also crafts a Sprint
Goal
The development team does planning and design to make
sure that they will achieve the Sprint Goal
Output is Sprint goal, sprint backlog, a clear understanding
of work to be done during the sprint and transparency
19. Indika Munaweera
Daily Scrum
Daily Scrum is a daily 15-minute time-boxed standup meeting
of the Scrum Team
Scrum master makes sure that the each member participates in
the daily standup
Input - 3 questions -
"What did I do yesterday?",
"What will I do today?"
"Are there any issues or Impediments?"
Output - Clear idea about the progress towards the Sprint goal
and any issues or impediment idea in the earlier stage.
Image Source: https://taylorsmith.org/sprint-retrospective-meeting-
template
20. Indika Munaweera
Scrum Review
Typically a four-hour meeting for one-month Sprints
and held at the end of the Sprint
Attendees include the Scrum Team and key
stakeholders invited by the Product Owner
The Product Owner explains what Product Backlog
items have been "Done" and what has not been
"Done"
The Development Team discusses how Sprint was
done and demonstrates the work that it has "Done"
Input - Product Increment, Changes to the product
backlog during the Sprint.
Output - Updated product backlog, New Idea, clear
picture of tasks and product.
21. Indika Munaweera
Scrum Retrospective
The Sprint Retrospective occurs after the Sprint Review
and prior to the next Sprint Planning
This is at most a three-hour meeting for one-month
Sprints.
Inspect how the sprint went with regard to process,
tool, and people.
Identify items that went well and potential
improvements.
Create an action plan to implement improvements in
the scrum team.
Scrum Master encourages the team to improve. In the
Scrum process framework, practices of processes make
tasks more effective and enjoyable for the next Sprint.
Image Source: https://taylorsmith.org/sprint-retrospective-meeting-template
23. Indika Munaweera
Product Backlog
It is an ordered list of everything that is known to be needed in
the product
Generally, tasks which have more business values are the top
priority
A Product Backlog is never complete and evolves as the product
Each product item has an Order, Value, Description, and
Estimation
Product Owner owns the product backlog and he makes sure
that the product backlog is clear and transparent to the team
Anyone from the team can add an idea in the product backlog
but it's product owner who decides which one stays there
Product Backlog refinement is the act of adding detail,
estimates, and order to items in the Product Backlog
24. Indika Munaweera
Sprint Backlog
Set of product backlog items selected for the sprint
Sprint Backlog makes visible all of the work items that
development team identifies as a priority to meet the sprint
goal
Owned by development team and updated by only
development team during the sprint
Sprint goal is fixed but new tasks which need to complete the
sprint goal can be added to the sprint backlog during the
sprint
It is critical that team will only commit to items that they can
complete in particular sprint
Sprint Burndown and Sprint Burnup Chart will be managed
during the sprint
25. Indika Munaweera
Scrum Increment
It's a sum of all the tasks from product backlog that are completed during the sprint and all
previously completed sprints.
All tasks must meet acceptance criteria and meet the definition of 'Done'.
Product Owner decides which tasks have been done and are ready for release.