Introduction to
Agile & Scrum
Manoj Gupta
MANOJ GUPTA
Meet your presenter
About Me
• CSM® – Certified Scrum Master
•18 years of total industry experience
•Love to experiment with Project Management & Agile methodologies
Connect
•manojgupta2000@gmail.com
•https://pmcircle.wordpress.com/
•https://www.linkedin.com/in/manojgupta2000/
Introduction for Today’s Session
traditional approach
to software development
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Waterfall Development is
another name for the more
Waterfall Development
You complete one phase (e.g. design) before moving
on to the next phase (e.g. development)
This approach is highly risky, often more costly and
generally less efficient than Agileapproaches
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Takes too long
Changes
Skipped
You don’t realize any value until the end of the project
You leave the testing until the end
You don’t seek approval from the stakeholders until
late in the day
But…
AGILEIterative
AdaptableRapid
Cooperative
Quality-driven
Not a process, it's a philosophy or set of values
• Way to create
innovative
solution
People
Centric
• Alternative to
documents
and processes
Product
Centric
• Model to
Maximize
Business Value
Market
Centric
WHAT IS AGILE?
Individuals and interactions over
processes and tools
Working software over comprehensive
documentation
Customer collaboration over
contract negotiation
Responding to change over
following a plan
Agile Manifesto
1. Our highest priority is to
satisfy the customer through
early and continuous
delivery of valuable
software.
2 Welcome changing
requirements, even late in
development. Agile
processes harness change
for the customer's
competitive advantage.
3 Deliver working software
frequently, from a couple of
weeks to a couple of
months, with a preference
to the shorter timescale.
4 Business people and
developers must work
together daily throughout
the project.
5 Build projects around
motivated individuals. Give
them the environment and
support they need, and trust
them to get the job done.
6 The most efficient and
effective method of
conveying information to
and within a development
team is face-to-face
conversation.
7 Working software is the
primary measure of
progress.
8 Agile processes promote
sustainable development.
The sponsors, developers,
and users should be able to
maintain a constant pace
indefinitely.
9 Continuous attention to
technical excellence and
good design enhances
agility.
10 Simplicity--the art of
maximizing the amount of
work not done--is essential.
11 The best architectures,
requirements, and designs
emerge from self-organizing
teams.
12 At regular intervals, the
team reflects on how to
become more effective,
then tunes and adjusts its
behavior accordingly.
Agile Vs Waterfall Methods
Main characteristics of Agile Development
•Agile Development as a “software development framework”
says:
– keep things small
– deliver partially-completed software frequently
– talk to the customer often
– write more code than documentation
– everyone on the team learns together
Agile Methods: Scrum
Split time into short fixed-length iterations/ sprints (usually 2 – 4
weeks), with potentially shippable code demonstrated after each
iteration.
Scrum
January May
Optimize the release plan and update priorities in
collaboration with the customer, based on insights gained by
inspecting the release after each iteration.
Optimize the process by having a retrospective after each
iteration.
Things we do in Scrum
The project/ product is described as a list of features: the backlog.
The features are described in terms of user stories.
The scrum team estimates the work associated with each story.
Features in the backlog are ranked in order of importance.
Result: a ranked and weighted list of product features, a
roadmap.
Daily scrum meeting to discuss What did you do y’day? What
will you do today? Any obstacles?
a.k.a Scrum terminologies
Scrum in a nutshell
So instead of a large group spending a long time building a
big thing, we have a small team spending a short time
building a small thing.
But integrating regularly to see the whole.
Scrum framework
•Product owner
•ScrumMaster
•Team
Roles
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Ceremonies
•Product backlog
•Sprint backlog
•Burndown charts
Artifacts
• 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
market value
• Adjust features and priority every
iteration, as needed
• Accept or reject work results
• 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
• Typically 5-9 people
• Cross-functional:
• Programmers, testers, user
experience designers, etc.
• Members should be full-time
• May be exceptions (e.g.,
database administrator)
• Teams are self-organizing
• Ideally, no titles but rarely a
possibility
• Membership should change only
between sprints
• 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
Agile - Retrospective
Realize where you are and where you want to be
Engage the team in productive discussion
Team work to build “We over I” attitude
Relish the power of Inspect and Adapt cycles
Openness and Transparency make retrospective efficient
and effective
Inspect
Adapt
Continuous
Improvement
Definition of Done
Definition of Done is a crucial element of a successful scrum project development. When
defined and followed, we need to make sure that scrum team says that a story / task is done.
There is an explicit understanding what it means
✓ All Acceptance Criteria of the User Story are met
✓ Code meets defined coding standard.
✓ Code review is conducted and passed.
✓ The code is covered by a minimum of 70% unit tests.
✓ Integration tests of the affected areas are conducted & passed
How hard is it to be Agile?
• “Don’t do Agile, be Agile”
– Just doing “development in iterations” isn’t enough
• Agile Development is about:
– Keeping the process lightweight
– Making real progress in each iteration
– Communicating – face-to-face when possible
– Actively gathering customer input – early and often
– Being willing to make minor changes to your process
THANKS!!
Q&A

Introduction to Agile and Scrum

  • 1.
    Introduction to Agile &Scrum Manoj Gupta
  • 2.
    MANOJ GUPTA Meet yourpresenter About Me • CSM® – Certified Scrum Master •18 years of total industry experience •Love to experiment with Project Management & Agile methodologies Connect •manojgupta2000@gmail.com •https://pmcircle.wordpress.com/ •https://www.linkedin.com/in/manojgupta2000/
  • 3.
  • 4.
    traditional approach to softwaredevelopment REQUIREMENTS DESIGN DEVELOPMENT TESTING MAINTENANCE Waterfall Development is another name for the more Waterfall Development You complete one phase (e.g. design) before moving on to the next phase (e.g. development)
  • 5.
    This approach ishighly risky, often more costly and generally less efficient than Agileapproaches REQUIREMENTS DESIGN DEVELOPMENT TESTING MAINTENANCE Takes too long Changes Skipped You don’t realize any value until the end of the project You leave the testing until the end You don’t seek approval from the stakeholders until late in the day But…
  • 6.
    AGILEIterative AdaptableRapid Cooperative Quality-driven Not a process,it's a philosophy or set of values • Way to create innovative solution People Centric • Alternative to documents and processes Product Centric • Model to Maximize Business Value Market Centric WHAT IS AGILE?
  • 7.
    Individuals and interactionsover processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile Manifesto
  • 9.
    1. Our highestpriority is to satisfy the customer through early and continuous delivery of valuable software. 2 Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3 Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4 Business people and developers must work together daily throughout the project. 5 Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6 The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7 Working software is the primary measure of progress. 8 Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9 Continuous attention to technical excellence and good design enhances agility. 10 Simplicity--the art of maximizing the amount of work not done--is essential. 11 The best architectures, requirements, and designs emerge from self-organizing teams. 12 At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 10.
  • 11.
    Main characteristics ofAgile Development •Agile Development as a “software development framework” says: – keep things small – deliver partially-completed software frequently – talk to the customer often – write more code than documentation – everyone on the team learns together
  • 13.
  • 15.
    Split time intoshort fixed-length iterations/ sprints (usually 2 – 4 weeks), with potentially shippable code demonstrated after each iteration. Scrum January May Optimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration. Optimize the process by having a retrospective after each iteration.
  • 16.
    Things we doin Scrum The project/ product is described as a list of features: the backlog. The features are described in terms of user stories. The scrum team estimates the work associated with each story. Features in the backlog are ranked in order of importance. Result: a ranked and weighted list of product features, a roadmap. Daily scrum meeting to discuss What did you do y’day? What will you do today? Any obstacles? a.k.a Scrum terminologies
  • 17.
    Scrum in anutshell So instead of a large group spending a long time building a big thing, we have a small team spending a short time building a small thing. But integrating regularly to see the whole.
  • 18.
    Scrum framework •Product owner •ScrumMaster •Team Roles •Sprintplanning •Sprint review •Sprint retrospective •Daily scrum meeting Ceremonies •Product backlog •Sprint backlog •Burndown charts Artifacts
  • 20.
    • Define thefeatures of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results
  • 21.
    • Represents managementto 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
  • 22.
    • Typically 5-9people • Cross-functional: • Programmers, testers, user experience designers, etc. • Members should be full-time • May be exceptions (e.g., database administrator) • Teams are self-organizing • Ideally, no titles but rarely a possibility • Membership should change only between sprints
  • 23.
    • 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
  • 32.
    Agile - Retrospective Realizewhere you are and where you want to be Engage the team in productive discussion Team work to build “We over I” attitude Relish the power of Inspect and Adapt cycles Openness and Transparency make retrospective efficient and effective Inspect Adapt Continuous Improvement
  • 34.
    Definition of Done Definitionof Done is a crucial element of a successful scrum project development. When defined and followed, we need to make sure that scrum team says that a story / task is done. There is an explicit understanding what it means ✓ All Acceptance Criteria of the User Story are met ✓ Code meets defined coding standard. ✓ Code review is conducted and passed. ✓ The code is covered by a minimum of 70% unit tests. ✓ Integration tests of the affected areas are conducted & passed
  • 35.
    How hard isit to be Agile? • “Don’t do Agile, be Agile” – Just doing “development in iterations” isn’t enough • Agile Development is about: – Keeping the process lightweight – Making real progress in each iteration – Communicating – face-to-face when possible – Actively gathering customer input – early and often – Being willing to make minor changes to your process
  • 37.