This presentation has been compiled using material available in public domain. Copyrights of the owners and sources of the material used has been duly acknowledged.
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Fundamentals of Agile Methodologies - Part I
1. Fundamentals of
Agile Methodologies - I
Compiled By:
Dr. Gopinath Ramakrishnan
Agile Coach & Process Transformation Specialist
Contact Information:
e-mail: gopi@rgopinath.com
LinkedIn: www.linkedin.com/in/gopinathr
Twitter: @gpnth
Website: www.rgopinath.com
2. Note
The contents of the following slides are
compiled from public domain works of
several persons/ organizations.
Their contribution is gratefully acknowledged
their copyrights and trademarks are
duly recognized.
3. Acknowledgements
• Agile 42: www.agile42.com
• Agile Alliance: www.agilealliance.org
• Agile Transformation Inc: www.agiletransformation.com
• Dzone: www.dzone.com
• Gear Stream: www.gearstream.com
• Henrik Kniberg: www.crisp.se/henrik.kniberg
• Jeff Sutherland : scrum.jeffsutherland.com
• Ken Schwaber: kenschwaber.wordpress.com/
• Kent Beck: www.threeriversinstitute.org
• Mike Cohn: www.mountaingoatsoftware.com
• Pete Deemer: www.goodagile,com
• Roman Pichler: www.romanpichler.com
• Ron Jeffries: xprogramming.com
• Scrum Alliance: www.scrumalliance.org
• Scrum.org: www.scrum.org
• Wikipedia: www.wikipedia.org
4. Contents
1. Overview of Agile
Limitations of Traditional Software Development
Origin of Agile Methodologies
Agile Manifesto, Principles & Practices
Agile Vs Traditional Methods
So What is Agile ?
2. Overview of Scrum
Empirical Process Control
Scrum Lifecycle & Framework
Scrum Roles
3 Pillars of Scrum
Transparency , Inspection and Adaptation
3. Product Vision and Product Roadmap
Five Levels of Planning
Product Vision – Example & Template
Product Roadmap – Example & Template
5. Contents (contd..)
4. Release Planning
Product Backlog – Examples and Attributes
Product Backlog Creation Steps
User Stories – Writing, INVEST criteria, Splitting
Techniques
User Story Estimation – Story Points, Planning Poker
Product Backlog Prioritization and Ordering
Release Plan Creation
6. 1: Overview of Agile
Limitations of Traditional Software Development
Origin of Agile Methodologies
Agile Manifesto, Principles & Practices
Agile Vs Traditional Methods
So What is Agile ?
7. Software Development - 1970s
• Cowboy Coding (Adhoc Code & Fix approach)
Project Failures
• Computing Time Costly
Failure Not an Option
• Birth of Software Engineering Discipline
(c) Dr. Gopinath Ramakrishnan, 2015
8. Software Engineering Discipline
• Software Development Lifecycle (SDLC)
models
– Waterfall, V-Model, Spiral, Incremental, Iterative
• Standards & Process Frameworks
– DOD Standards, CMM, ISO, SPICE
(c) Dr. Gopinath Ramakrishnan, 2015
9. Traditional SDLC– Waterfall Model
Source : http://commons.wikimedia.org/wiki/File:Waterfall_model.svg
SDLC – Software Development Life Cycle
10. Traditional SDLC - Limitations
• Change Management difficult
• Heavy Documentation not read and
understood
• Big Upfront Planning cannot predict
uncertainties
• Hand-offs foster adversarial relationship
• Late Availability of Working Software leads to
delayed customer feedback
(c) Dr. Gopinath Ramakrishnan, 2015
11. Business Scenario – 1990s onwards
S ource : http://www.stratabridge.com/wp-content/uploads/2012/02/VUCA-Definition.jpg
12. Standish Group – CHAOS Report 1994
• 84 % Projects Challenged or Failures
– Only 16 % Projects Successful
• Top Reasons for Failure
– Incomplete Requirements
– Lack of User Involvement
– Lack of Resources
– Unrealistic Expectations
– Lack of Executive Support
(c) Dr. Gopinath Ramakrishnan, 2015
17. The Agile Manifesto
We are uncovering better ways of developing software by doing it
and helping others to 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 Alliance Members
http://www.agilemanifesto.org/
20. 12 Agile Principles
1. Customer Satisfaction
2. Welcome Changing Requirements
3. Deliver Working Software Frequently
4. Business People and Developers to Work Together
5. Motivated Individuals
6. Face-to-Face Conversations
7. Working Software is the Primary Measure of Progress
8. Sustained Pace of Development
9. Technical Excellence and Good Design
10. Simplicity is Essential
11. Self-organizing Team
12. Regular Tunings and Adjustments of Team Behavior
22. Agile Vs Traditional Methods
Traditional Method Agile Method
Changes Resisted and Controlled Welcomed and
Adapted to
Contracts Binding Flexible
Customer Interaction During selected
milestones
Continuous
Delivery One-time Iterative and
Incremental
Orientation Process People
Process Heavyweight Lightweight
Requirements
Architecture & Design
Defined Upfront Evolves
Roles More Less
Success Criteria Conformance to the
Requirements
Business value delivered
to the customer
(c) Dr. Gopinath Ramakrishnan, 2015
24. Project Success Scenario in 2009
• Standish Group - CHAOS Report 1994
– Only 16 % Projects Successful
• Standish Group - CHAOS Report 2009
– 32 % Projects Succeeded
• Project Success Rate doubled in 15 years
• Coincides with the Agile emergence
• Still a long way to go !
(c) Dr. Gopinath Ramakrishnan, 2015
25. Agile projects -
3 times more successful
Source : http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-
more-often-than-waterfall
26. Agile Methodologies - Characteristics
• Business Value Focus
• Iterative
• Incremental
• Time-boxed
• Feedback
(c) Dr. Gopinath Ramakrishnan, 2015
28. Agile is….
• A set of Engineering Practices that
– enable rapid delivery
• Project Management that
– encourages frequent inspection and adaptation
• A Business Approach that
– aligns development with customer needs and company
goals
• Leadership that encourages
– teamwork, self-organization and accountability
• A set of Values and Principles that should be
– internalized by every Agile Practitioner
(c) Dr. Gopinath Ramakrishnan, 2015
29. 2: Overview of Scrum
Empirical Process Control
Scrum Lifecycle & Framework
Scrum Roles
3 Pillars of Scrum
Transparency , Inspection and Adaptation
33. Empirical Process Control
• Knowledge comes from experience
• Making decisions based on what is known.
• Iterative & Incremental approach
– to optimize predictability and control risk.
• Empirical Process Control Theory is the
foundation of Scrum
(c) Dr. Gopinath Ramakrishnan, 2015
36. Putting it all together
Image available at
www.mountaingoatsoftware.com/scrum
37. Sequential vs. overlapping
development
Source: “The New New Product Development Game” by Takeuchi and
Nonaka. Harvard Business Review, January 1986.
Rather than doing all of
one thing at a time...
...Scrum teams do a little of
everything all the time
Requirements Design Code Test
38. No changes during a sprint
• Plan sprint durations around how long you can
commit to keeping change out of the sprint
Change
43. Product owner
• Define the features of the product
• Make scope vs schedule decisions
• 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
44. The ScrumMaster
• Responsible for enacting Scrum values and practices
• Removes impediments
• Coaches the team to their best possible performance
• Ensure that the team is fully functional and
productive
• Enable close cooperation across all roles and
functions
• Shield the team from external interferences
45. The Development Team
• 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
47. Transparency
• Significant aspects of the process visible
– to those responsible for the outcome
• Aspects be defined by a common standard
– to share a common understanding
• For e.g.
– A common language referring to the process
– A common definition of “Done”1
(c) Dr. Gopinath Ramakrishnan, 2015
48. Inspection
• Frequently inspect to detect undesirable
variances
– Not so frequent to get in the way of the work
– Most beneficial when diligently performed by
skilled inspectors at the point of work.
(c) Dr. Gopinath Ramakrishnan, 2015
49. Adaptation
• Adjustment of the process or the material being
processed if
– one or more aspects of a process deviate outside
acceptable limits, and
– that the resulting product will be unacceptable
• Made as soon as possible
– to minimize further deviation.
• Four formal opportunities in Scrum for inspection
and adaptation
– Sprint Planning Meeting , Daily Scrum , Sprint Review
Meeting , Sprint Retrospective
(c) Dr. Gopinath Ramakrishnan, 2015
54. Product Vision
• Visualizes the Released Product
• Guides Product Development
• Overarching Goal that Everyone Shares
(c) Dr. Gopinath Ramakrishnan, 2015
55. Product Vision (contd..)
• Who is the target customer?
• What customer needs will it solve?
• What are its critical attributes?
• What are its unique selling points?
(c) Dr. Gopinath Ramakrishnan, 2015
56. Example- Silicon Graphics
Workstations
For movie producers and others
who depend heavily on post-production special effects
the Silicon Graphics is a range of workstations
That have capabilities to integrate digital fantasies with
actual film footage.
Unlike other general purpose computer workstations,
Our products are a no-compromise commitment to
meeting film makers' post-production needs
[Adapted from Geoffery Moore’s example in the book Crossing the Chasm]
(c) Dr. Gopinath Ramakrishnan, 2015
57. Product Vision - Template
For <target customer>
Who <statement of the need or opportunity>
The <product name> is a <product category>
That <key benefit, compelling reason to buy>
Unlike <primary competitive alternative>
Our product <statement of primary
differentiation>
[Geoffery Moore’s in the book Crossing the Chasm]
(c) Dr. Gopinath Ramakrishnan, 2015
58. Product Roadmap
• High-level strategic plan providing longer-
term outlook
• Helps to secure funds
• Sets expectations
• Aligns stakeholders
• Facilitates prioritization & coordination
• Provides Reassurance to the Customers
(c) Dr. Gopinath Ramakrishnan, 2015
59. Product Roadmap (contd..)
• Names of the releases planned
• Dates/ timeframes of releases
• Goals of each release
• Key features of each release
• Release Success Criteria
(c) Dr. Gopinath Ramakrishnan, 2015
60. Example – Product Roadmap of a
Dance Game
• A dance game for girls aged eight to 12 years.
• Fun and educational
• Allows the players to
– modify the characters
– change the music
– dance with remote players
– choreograph new dances.
62. Example – Product Roadmap of a Dance Game (contd..)
http://www.slideshare.net/romanpichler/agile-product-roadmap-tutorial
63. 4: Release Planning
Product Backlog – Examples and Attributes
Product Backlog Creation Steps
User Stories – Writing, INVEST criteria, Splitting Techniques
User Story Estimation – Story Points, Planning Poker
Product Backlog Prioritization and Ordering
Release Plan Creation
65. Product Backlog
• A Single, Transparent and Official List of
Requirements or Pending Activities
• Maintained by Product Owner
• Continuously Evolves throughout the product
lifecycle
– depending on changes in business requirements,
market conditions, or technology
(c) Dr. Gopinath Ramakrishnan, 2015
66. Product Backlog Items (PBIs)
• Customer-centric Features
– Epics and User Stories
• Technical Improvements
– Refactoring, Performance improvements
• Research Work (aka Spikes)
– the ones needed for implementing features
• Known Defects
– only if they are few in numbers
(c) Dr. Gopinath Ramakrishnan, 2015
69. Product Backlog Creation Steps
• Write User Stories and other PBIs
• Prioritize/Order based on business value
• Split/Slice the Epics (Big PBI)
• Estimate PBI size (relative estimation)
• Evaluate risks and dependencies
• Determine the order of development
(c) Dr. Gopinath Ramakrishnan, 2015
71. Epic
• Large Feature/Functionality in the Product
Roadmap
• Too big to be DONE in one sprint
• To be broken down into smaller
features/functionalities (User Stories)
(c) Dr. Gopinath Ramakrishnan, 2015
72. User Story
• A smallest piece of Functionality from the User
Perspective that can be DONE in one sprint
– DONE means potentially releasable condition
• Has Business Value
• Description has 3 Parts
– User (Who ?)
– Functionality (What?)
– Business Justification (Why ?)
• Must be accompanied by an Acceptance Criteria
(c) Dr. Gopinath Ramakrishnan, 2015
73. User Story Acceptance Criteria
• Conditions that a story must satisfy to be
accepted by PO
• A set of statements, each with a clear pass/fail
result, that specify both functional and non-
functional requirements
(c) Dr. Gopinath Ramakrishnan, 2015
75. User Roles
• Recognize and Explicitly Identify Multiple User Roles
• Avoid the word “User” in the Stories
• Don’t Write Stories from a single User Role Perspective
76. User story format
As a <User>
I can <Functionality>
so that <Business Justification>
(c) Dr. Gopinath Ramakrishnan, 2015
79. User Story – Review Criteria
Source: www.gearstream.com
80. User Stories - INVEST
• Independent
– Should be possible to implement in any order
– Should not overlap each other
– Example
Image Source: www.gearstream.com
81. User Stories – INVEST (contd..)
• Negotiable
– Should be descriptive, not prescriptive
– Not exhaustive
– Should stimulate conversation between the team
and the Product Owner or Customer
– Example
• As a book-lover, I want to download a new book so that
I can save time going to a bookshop
(c) Dr. Gopinath Ramakrishnan, 2015
82. User Stories – INVEST (contd..)
• Valuable to Users or Customers
– Should have clear external value
Does not describe the value to the customer
Written from developer perspective
Image Source: www.gearstream.com
83. User Stories – INVEST (contd..)
• Estimatable
– Should be descriptive enough to be estimated
• Small
– Should require no more than 4 days and no less
than ½ day of work to implement
• Testable
– Should be able to prove that it is truly DONE
– Acceptance Criteria is defined
(c) Dr. Gopinath Ramakrishnan, 2015
85. Good Acceptance Criteria
• State an intent not a solution
– e.g. “The user can choose an account” rather than
“The user can select the account from a drop-down”
• Are independent of implementation
– discuss WHAT is expected, and not HOW the
functionality will be implemented
• Are relatively high level
– more details (if needed) are captured in team
member’s internal notes or in automated acceptance
tests
(c) Dr. Gopinath Ramakrishnan, 2015
86. Product Backlog Creation Steps
• Write User Stories and other PBIs
• Prioritize/Order based on business value
• Split/Slice the Epics (Big PBI)
• Estimate PBI size (relative estimation)
• Evaluate risks and dependencies
• Determine the order of development
(c) Dr. Gopinath Ramakrishnan, 2015
88. Why Split User Stories ?
• To create smaller stories that are
potentially shippable by the end of a sprint
• More focus
• Flexibility to reconfigure and adapt to new
discoveries and changes
• More feedback opportunities
(c) Dr. Gopinath Ramakrishnan, 2015
89. User Story Splitting - Horizontal
http://www.deltamatrix.com/horizontal-and-vertical-user-stories-slicing-the-cake
90. User Story Splitting - Vertical
http://www.deltamatrix.com/horizontal-and-vertical-user-stories-slicing-the-cake
91. User Story – Basis of Various Splitting
Techniques
• Requirements Options
– Ellen Gottesdiener & Mary Gorman
• Incremental build up of quality
– Gerard Mezzaros and Jeff Patton
• Nine Patterns of Functional Complexity
– Richard Lawrence
• Twenty Ways based on Big Picture, User Experience, “illities”, and
Features
– Bill Wake
The above techniques have overlaps and are not mutually exclusive
(c) Dr. Gopinath Ramakrishnan, 2015
92. User Story Splitting –
Requirements Options
Source: “Slicing Requirements for Agile Success”, Ellen Gottesdiener and Mary Gorman , Better Software , July/August 2010
102. Planning Poker
• Estimation from Multiple Perspectives
• Discussion Oriented
• Fun
Image Source : https://www.crisp.se/bocker-och-produkter/planning-poker
103. Affinity Sizing/Triangulation of
Estimates
For e.g. An User Story of 2 SPs must be roughly twice as big/complex as an User Story
of 1 SP and less than half as big/complex as an User Story of 5 SP
Source: Agile Estimation and Planning by Mike Cohn
105. Story Point Estimates - Benefits
• A pure measure of size
– Easier to provide relative estimates
• Estimates do not change
– when team’s understanding of the technology
and the domain improves
• Estimating process help in driving cross-
functional behavior
– During estimation all specialists discuss and arrive
at a single story point estimate
(c) Dr. Gopinath Ramakrishnan, 2015
107. Product Backlog –
Prioritization/Development Order Criteria
• Business Value
• Risks
• Size/Complexity
• Infrastructure needs
• Dependencies
• Return on Investment
• Grouping based on ease of development
109. Release Plan
• Maps Major Features to Specific Releases
• More Detailed than Product Roadmap, Less
Detailed than Sprint (Iteration) Plan
• Continuously updated based on rate of
progress
(c) Dr. Gopinath Ramakrishnan, 2015
110. Velocity
• Measure of Rate of Progress
• Sum of Story Points of the Stories DONE in an
iteration
• Story Points of the Work-in-Progress Stories
not counted
• Useful for Forecasting
– Final Delivery Dates for a Fixed Scope of Features
– Features that can be delivered on a Fixed Date
(c) Dr. Gopinath Ramakrishnan, 2015
111. Estimating Velocity
• Use Past Data
• Run an Iteration and Use the Velocity of that
Iteration
• Take a Guess
(c) Dr. Gopinath Ramakrishnan, 2015
112. Release Planning Steps
• Select Iteration Length : 2-4 weeks
• Estimate Iteration Velocity
• Allocate Stories to Iterations as per Priority
and Velocity
(c) Dr. Gopinath Ramakrishnan, 2015