Agile Course Presentation 2024
Agile Course Presentation 2024
Kanban & XP
By GenMan Solutions
Project Management: Need for change
• Time bounded
• Requires definitive effort
• Needs to be well planned
• Must be completed within the assigned budget
Project Management: Need for change
Processes can’t be left behind
Waterfall Model
Project Management: Need for change
Flaws and weaknesses in historical Time required to push changes
approaches to project management and the
requirements in the current period
DNS Payment
……..
Routes interface
More
More Control
More Control on
Control on your
on your project
your project
project 01
Source: https://agilemanifesto.org/
Agile Manifesto & Principles
Agile Manifesto & Principles
Agile Manifesto
Agile Principles
Agile Alliance:
www.agilealliance.org
Manifesto for Agile Software Development
Source: https://agilemanifesto.org/
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 Principles
Agile Principles
• Built in phases
• Painful to revisit previous phases
• High dependency on critical
paths
• Customer can’t interact with
product until it’s fully complete
Differences and Similarities: Waterfall vs Agile
Agile Project Management: Build, deliver, learn, and adjust
• Follows iterative approach
• Regular feedback intervals
• Iterations resolve blocking issue
& let you interact with the
product
• Quickly adapt new
requirements/changes
• Shared skillset among the team
Differences and Similarities: Waterfall vs Agile
Which one to choose: Waterfall/Agile?
• Change is embraced
• End-goal can be unknown
• Faster, high-quality delivery
• Strong team interaction
• Customers are heard
• Continuous improvement
Disadvantages of Agile
User Story
User Story
Introduction to Key Agile Concepts
User Story
• Should be testable
When Should User Story Acceptance Criteria Be Written?
• Should be clear and concise
• Should provide user How Should You Format User Story Acceptance Criteria?
perspective
Introduction to Key Agile Concepts
• Shopping cart will show the total product breakdown quantity and cost with grand total
Introduction to Key Agile Concepts
Epic
1a: As a VP Marketing, I want to select the timeframe to use when reviewing the performance of
past promotional campaigns, so that …
1b: As a VP Marketing, I can select which type of campaigns (direct mail, TV, email, radio, etc.) to
include when reviewing the performance of past so that …
1b1: As a VP Marketing, I want to see information on direct mailings when reviewing historical
campaigns so that...
1b2: As a VP Marketing, I want to see information on TV ads when reviewing historical campaigns so
that...
1b3: As a VP Marketing, I want to see information on email ads when reviewing historical campaigns
so that...
and so on for each type of ad campaign.
Introduction to Key Agile Concepts
Initiatives
• Initiatives are collections of
epics that drive toward a
common goal
• A theme is an organization
goal that drive the creation of
epics and initiatives
Introduction to Key Agile Concepts
Theme, Initiatives, Epic & Story
Fill empty seats in
Theme
theaters
Product Backlog
Product Backlog
Product Backlog
Product
Vision
Product
Goals
Product
Roadmap
Release
Plan &
Backlog
End Point
Day of Sprint
Introduction to Key Agile Concepts
Burn down Chart
Estimated Effort
Y Y Y Actual Effort
X X X
1. Ideal Scenario 2. Still, a good scenario 3. Decent scenario
Y Y Y
X X X
4. Missed the deadline 5. There’s something wrong 6. Team forgot about it
Introduction to Key Agile Concepts
Burn down Chart
Benefits
1 2 3 4 5 6 7 8 9 10
Creating Burn down Chart
Time
Project has 10 tasks to
complete in 10 days
Introduction to Key Agile Concepts
Minimum Viable Product (MVP)
It is the version of a new product that allows a team to collect the maximum amount of
validated learning about customers with the least amount of effort.
- Agile Alliance
Why MVP
Why MVP?
3
image source: http://www.expressiveproductdesign.com/
Introduction to Key Agile Concepts
Minimum Viable Product (MVP)
Important points to be noted:
• Make sure your planned MVP aligns with your business objectives
• Identify specific problems you want to solve for your users
• Product must be viable
• MVP is based on iterative process of building
Introduction to Key Agile Concepts
Velocity
At the end of each iteration, the team adds up effort estimates associated with user stories that
were completed during that iteration. This total is called velocity.
- Agile Alliance
Forecast for the remaining effort for the Project: A/B = 60/10
= 6 Sprints with each sprint of 10 story points
Introduction to Key Agile Concepts
Velocity
Small batch size – faster and multiple sprints – Prepare and deploy many times
• Multiple deployments – overhead cost
Smaller batch size – Multiple sprints – planning and deployment many times –
Transaction cost/ Overhead cost
Batch Size
Estimation
38+19 is about 60
• Business Value
• Complexity
• Risks
• Dependencies
• Amount of work
Image Source: Dilbert.com
Introduction to Key Agile Concepts
1 Story vs 2 Story
Introduction to Key Agile Concepts
Agile Estimation: But why relative estimation?
Illustration 2
Estimation
Introduction to Key Agile Concepts
Agile Estimation
Agile Estimation is a team sport
Introduction to Key Agile Concepts
Agile Estimation
Agile Estimation is a team sport
Agile Estimation
T-shirt sizes (XS, S, M, L, XL)
Introduction to Key Agile Concepts
Agile Estimation
Fibonacci sequence
0+1=1
1+1=2
1+2=3
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
50%
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
66.7%
50%
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
60%
66.7%
50%
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
62.5%
60%
66.7%
50%
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
0, 1, 1, 2, 3, 5, 8, 13, 21……..
Fibonacci sequence
61.5%
62.5%
60%
66.7%
50%
100%
0.0%
Infinite
Introduction to Key Agile Concepts
Agile Estimation
Fibonacci sequence
Agile Estimation
Fibonacci sequence
Building B
Building A
• Delphi
• Wide Band Delphi
• Complexity Bucket
• Estimation Poker
Introduction to Key Agile Concepts
Agile Estimation Techniques for user
story
• Delphi
• Wide Band Delphi
• Complexity Bucket
• Estimation Poker
Estimation/Planning Poker
Product Owner
explaining all the aspects
of the story requirement,
dependencies,
acceptance criteria and
business value
How is it calculated?
Based on historical values. If old data is not available, guess initially and update
later
Service Level Expectation
How is SLE used?
Identify slow items by comparing work-item age with SLE
Define policy to handle slow items
Talk about the items which missed the SLE during Retrospective
- Agile Alliance
20 Days
Scrum
Scrum is a set of rules for structuring the team, processes and techniques for making the development
process agile..
Scrum
Team
4 components of
Scrum Framework Scrum
Rules
Scrum Scrum
Artifacts Events
Scrum
3 Pillars of Scrum
Scrum
Transparency
Adaptation
Inspection
Minimize deviation
Task 1
Task 2
Task 3
Product Owner
………..
Scrum
Organization also provides authority to a Product Owner..
Developers
Group of professionals who work
collaboratively to deliver a potentially • Work within the boundaries of the Sprint Goal
releasable increment(“Done”) of a
product at the end of each sprint Authority
Sprint: Short, fixed, time-boxed period
• How the work would be done is left to the developers
during which a potentially releasable
product Increment is created
• Sprint Backlog: A plan by and for the Developers
Scrum
Characteristics of Scrum Developers
• It is cross-functional, no external dependency
• It is self-managing
Developers
Scrum
Characteristics of Scrum Developers
Sprint Events
Sprint Daily Scrum
Retrospective
Sprint Review
Scrum
Scrum
Sprint
Transparency
Adaptation
Inspection
Scrum
Sprint
Sprint
Product Owner
Scrum
Sprint
Scrum
SPRINT 1 SPRINT 2
Sprint Review
Meeting
Product Owner Developers
Completed
Sprint Planning Product
Product Backlog Sprint Backlog Meeting
Scrum
Sprint Planning
• Sprint planning happens once in each Sprint, outlines the tasks to be completed
• Entire Scrum Team: Product Owner, Scrum Master & Developers must be a part of the event
Scrum: Sprint Planning
Sprint Review
Meeting
Product Owner Developers
Completed
Sprint Planning Product
Product Backlog Meeting Sprint Backlog
Scrum
Sprint Planning
• Meeting where plan for the upcoming Sprint is drafted
• Sprint planning happens once in each Sprint, outlines the tasks to be completed
• Entire Scrum Team: Product Owner, Scrum Master & Developers must be a part of the event
• Two agendas
Sprint Planning
Product Backlog Determining What Will Be Done in the Sprint
Sprint Backlog
• Product Owner Responsible for maintaining
the Product Backlog
Product Owner
Scrum
Sprint Planning
Establishing How the Work Will Be Done
Sprint Planning
Product Backlog
Sprint Backlog Scrum Master
Sprint Review
Meeting
Product Owner Developers
Completed
Sprint Planning Product
Product Backlog Sprint Backlog Meeting
Scrum
Daily Scrum
Daily Scrum
15-minutes everyday
Same place, same time
Sprint Review
Meeting
Product Owner Developers
Completed
Sprint Planning Product
Product Backlog Sprint Backlog Meeting
Scrum
SPRINT Objective
4) Product Owner opens the backlog & initiate discussion on what to do next.
Priorities, budgets, timelines & capabilities etc. are discussed.
5) At the end of Sprint Review, Product Owner should have updated backlog
Scrum: Sprint Retrospective
Sprint Review
Meeting
Product Owner Developers
Completed
Sprint Planning Product
Product Backlog Sprint Backlog Meeting
Scrum
Sprint Retrospective
Scrum Team does this event
Represent work or
value, designed to
maximize transparency
of key information
Represent work or
value, designed to
maximize transparency
of key information
Represent work or
value, designed to
maximize transparency
of key information
Never Fixed
Scrum
Product Backlog
Product Backlog Refinement is a balancing act
Product Backlog
Developers
Sprint Backlog
• Daily monitoring of Sprint Backlog is done in the Daily Scrum
• Any deviation from the goal should be highlighted to the Product Owner
& Stakeholders immediately
• It should be usable
• It should be inspectable
• It should be cumulative (include increments of all
previous sprints)
Visualizing the
workflow
to
achieve process improvement
Introduction to Kanban
Visualizing the workflow
to
achieve process
improvement
Limiting the work in progress
Managing the flow
Implementing feedback loops
Kanban Board
NOT STARTED IN PROGRESS DONE
Kanban Board
TASK 1
Kanban Board
NOT STARTED IN PROGRESS DONE
TASK 1
Kanban Board
NOT STARTED IN PROGRESS DONE
TASK 1
Kanban Board
Input Queue Analysis Development Build Ready Test Release Ready
TASK 3
TASK 2
TASK 4
TASK 4 TASK 3
TASK 2
TASK 4 TASK 2
TASK 3
Sent from
New
review
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
Business Request Scheduled Building Testing Business Review Release Ready
Sent from
New review
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
TASK 2
Kanban Board
Finding inefficiencies/issues in the process
Outflow is low
Inflow is higher
Kanban Board
• A limit is set on the maximum number of tasks that can be present in a column
or that step at a time
• No further inflow into the step until the pending tasks in that step are cleared
Kanban Board
Finding inefficiencies/issues in the process
TASK 2
6 tasks pending
Kanban Board
• A limit is set on the maximum number of tasks that can be present in a column
or that step at a time
• No further inflow into the step until the pending tasks in that step are cleared
Team Members
Kanban Board
Finding inefficiencies/issues in the process
Sent from
review
TASK 3
Kanban
Finding inefficiencies/issues in the process
Sl. no. Situation Suggestion
Too much work in progress(WIP) on More team members need to work on that stage
1 a single stage (for e.g. testing stage in this scenario) instead of any
Limiting the WIP of the previous stage
Sent from
review
TASK 3
Kanban Board
Finding inefficiencies/issues in the process
Reason Suggestions
Unequal sized tasks Break down the task into smaller sized
tasks
Task is stuck due to some bug or issue Keep a regular track of the board
Kanban
Finding inefficiencies/issues in the process
Sl. no. Situation Suggestion
Too much work in progress(WIP) on More team members need to work on that stage
1 a single stage (for e.g. testing stage in this scenario) instead of any
Limiting the WIP of the previous stage
Sent from
review
Feedback Loop
If tasks are sent multiple times for rework, process throughput
reduces
Hence, our Kanban board should highlight the tasks that sent
back for multiple reworks
Kanban Board
Finding inefficiencies/issues in the process
Sent from
review
Kanban Board
Finding inefficiencies/issues in the process
Sent from
review
Kanban Board
Finding inefficiencies/issues in the process
Sent from
review
Kanban
Finding inefficiencies/issues in the process
Sl. no. Situation Suggestion
Too much work in progress(WIP) on a More team members need to work on that stage
1 single stage (for e.g. testing stage in this scenario) instead of any of
Limiting the WIP the previous stage
Under utilization of resources
Reallocate the resources somewhere else where they
2 Pending tasks not moving to the next
can be utilized optimally
step
Keep a regular track of the board
Task is taking longer time than it
3 Break down the task into smaller sized tasks
should be
Business Request Track Scheduled Building Testing Business Review Release Ready
Sent from
review
Kanban
Finding inefficiencies/issues in the process
Sl. no. Situation Suggestion
Develop a practice of regular follow ups on tasks listed
Having a lot of external
4 in “Tracking” column
dependencies
No need of a WIP limit on this column
Kanban
Finding inefficiencies/issues in the process
Sl. no. Situation Suggestion
Develop a practice of regular follow ups on tasks listed
Having a lot of external
4 in “Tracking” column
dependencies
No need of a WIP limit on this column
Team required to work on non- Create a task for such features and keep a track on the
5
product features same
Team required to work on non- Create a task for such features and keep a track on the
5
product features same
7 Assigning work to new person Assign the new person to the slowest step
Defining “Done”
Kanban
Defining “Done”
Define done for each feature Define completion for each step
Kanban
Finding inefficiencies/issues in the process
Sent from
review
TASK
A
Kanban
Input Queue Analysis Development Build Ready Test Release Ready
• Task will simply sit in the done column of the previous step
• Do not have separate WIP limits for sub columns “In progress”
and “Done”
• Always check if the rules for “Done” were met in the previous
step or not
The Daily Standup
The Daily Standup
Scrum has rules on:
Ensure rules are explicitly mentioned and everyone understands them clearly
• Define “Done”
Kanban Flow Metrics
Kanban Flow Metrics
Work in Progress
Input Queue Analysis Development Build Ready Test Release Ready
3 4 8 10 12 15 17 19 21 23
5 6 13
WIP = 23
WIP Limit
Finding inefficiencies/issues in the process
Sent from
review Limit: 6
Task 2
New
6 Tasks Pending
Cycle Time
Cycle Time
Cycle Time
Throughput
Work Item Age
Elapsed time between when a work item ”started” and the current time
Agile Team tracks the start date of each item to calculate Work Item Age
Work Item Age
Applications
(Non-Actionable)
Leading & Lagging Indicators
(Ability to track
Lagging Indicator
progress)
Conversion rate
Website Traffic
Leading Indicator
(Ability to adjust
your course)
Little’s Law
Little’s Law
Links the three metrics Throughput, Work in progress & Cycle Time
John Little
Little’s Law
Avg. Waiting
time
Avg. Waiting
time
Avg. Length of
queue Avg. Rate of
Or Arrival
Number of items
waiting
Assumption: Stable flow i.e. no. of items being picked by development team is
equal to avg. number of items completed
Little’s Law
Avg. Avg. Avg.
WIP Throughput Cycle Time
OR
Avg. Avg. Avg.
Cycle Time Throughput WIP
OR
Avg. Avg. Avg.
Throughput WIP Cycle Time
Little’s Law
Cycle time: Unit is Days No. of work items = Days x No. of work items
Day
Throughput: Unit is No. of work items per day
Avg. WIP
For 30 days sprint, try to collect data for previous 10—12 sprints Avg. Throughput
Avg. Cycle Time
WIP should be same as the beginning & the end of the chosen interval
All work that enters the process will also exit the process
WIP 1 WIP 2
Leaving point
for To-Do
Cumulative Flow Diagram
• Help identify lead time, Cycle time, Throughput & Work in progress
Lead Time: Period between a new task’s appearance in your workflow and its final departure from the system
Approx. 15 days
(Cycle Time)
WIP: Represents the amount of issues that have entered a given process but have not exited
325
WIP
(Approx. 175)
Throughput: Represents the amount of WIP (number of work items) completed per unit of time
Throughput
(Slope)
Bottlenecks
Bottlenecks: Lowest Throughput
Bottleneck
Bottlenecks: Lowest Throughput
The Bands are Progressing in Parallel
The Bands are Progressing in Parallel
The Band is Rapidly Narrowing
The Band is Rapidly Widening
The Band is Rapidly Widening
Extreme Programming (XP)
Extreme Programming (XP) is an agile software development framework that aims to
produce higher quality software, and higher quality of life for the development team.
XP is the most specific of the agile frameworks regarding appropriate engineering
practices for software development.
- Agile Alliance
Code Review
Extreme Programming (XP)
• Adaptiveness • Scalability
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Values behind XP practices and methods
• Simplicity
• Communication
• Courage
• Feedback
• Respect
Extreme Programming (XP)
Practice Exercise
The development team is organized into pairs, with each pair working in front of a single workstation.
Which of the five aspects of extreme programming do you think that this
improves?
A. Communication
B. Simplicity
C. Feedback
D. Respect
E. Courage
Extreme Programming
Mentality of Sufficiency
How would you program if you had all the time in the world?
• Write Tests
Sit Together
Whole Team
Informative Workspace
Energized Work
Pair Programming
Sit Together
Whole Team
Informative Workspace
Energized Work
Pair Programming
Sit Together
Whole Team
Informative
Workspace
Energized Work
Pair Programming
c
Visual & Information
Extreme Programming Practices
Primary Practices
Sit Together
Whole Team
Informative Workspace
Energized Work
Pair Programming
c
40 Hours
Sustainable
Extreme Programming Practices
Primary Practices
Sit Together
Whole Team
Informative Workspace
Energized Work
Pair Programming
c
Pair Programming
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle
Slack
Ten-Minute Build
Continuous Integration
Test First Programming
Incremental Design
Extreme Programming Practices
Primary Practices
Stories
Stories
Weekly Cycle
Quarter 1 Quarter 2 Quarter 3 Quarter …
Quarterly Cycle
Slack
Ten-Minute Build
Continuous Integration
Test First Programming
Incremental Design
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle
Slack
Ten-Minute Build
Continuous Integration
Test First Programming
Incremental Design
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle
Slack
Ten-Minute Build
Continuous Integration
Test First Programming
Incremental Design
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle
Slack
Ten-Minute Build
Continuous
Integration
Test First Programming
Incremental Design Asynchronous Integration and Synchronous
Integration
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle develop code -> write tests -> run tests
Slack
The practice of Test-First Programming follows the path of:
Ten-Minute Build
Continuous Integration Write failing automated test -> Run failing test -> develop
Test First Programming code to make test pass -> run test -> repeat
Incremental Design
Extreme Programming Practices
Primary Practices
Stories
Weekly Cycle
Quarterly Cycle
Slack
Ten-Minute Build
Continuous Integration
Test First Programming
Incremental Design