Professional Documents
Culture Documents
Week 02 - 3 - Introducing Agile, Scrum, XP, and Kanban
Week 02 - 3 - Introducing Agile, Scrum, XP, and Kanban
Kanban Board
www.torak.com
About Dimitri Ponomareff
Dimitri Ponomareff (www.linkedin.com/in/dimka5) is a Coach.
Whether it's a sports team, software products or entire
organizations, Dimitri has that ability to relate and energize
people. He is consistently recognized as a very passionate and
successful change agent, with an overwhelming capacity to
motivate and mobilize teams on their path to continuous
improvements. He is a master facilitator, as well as a captivating
speaker with consistent, positive feedback regarding his ability to
engage an audience.
As a certified Coach, Project Manager and Facilitator of "The 7 Habits of Highly Effective
People", Dimitri brings a full spectrum of knowledge in his delivery of methodologies. Through
teaching by example, he is able to build teams of people who understand where to focus their
work to generate the most value.
He has coached and provided tailor-made services and training for a multitude of organizations.
The short list includes, American Express, Charles Schwab, Bank of America, Morgan
Stanley, Best Western, Choice Hotels, JDA Software, LifeLock, First Solar, Infusionsoft
and Mayo Clinic. Dimitri enjoys his work, and does everything to ensure he shares his
knowledge with others who seek it.
www.torak.com
Agile Overview
● Agile Manifesto
● PDCA
www.torak.com
The Agile Manifesto
www.torak.com
12 Principles of Agile Software
1. Our highest priority is to satisfy the 7. Working software is the primary measure of
customer through early and continuous delivery progress.
of valuable software.
8. Agile processes promote sustainable
2. Welcome changing requirements, even late in development. The sponsors, developers, and
development. Agile processes harness change for users should be able to maintain a constant
the customer's competitive advantage. pace indefinitely.
www.torak.com
Lean software development principles
www.torak.com
Flavors of Agile
Dynamic System Development Method (DSDM)
Dane Faulkner
Scrum
Ken Schwaber
Crystal Clear
Allistair Cockburn
www.torak.com
Agile Timeline
Waterfall
Predictive: phases, documentation-centric, functional handoffs, get it right the first time
Scrum, XP
www.torak.com
Prescriptive vs. Adaptive
More
Prescriptive
(roles, activities & artifacts) More
Adaptive
120+
13 9 6 0
Source: Kanban and Scrum, making the most of both. Henrik Kniberg & Mattias Skarin
www.torak.com
Prescriptive vs. Adaptive
Waterfall Agile
Predictive Process Adaptive Process
Scope
Constraints Cost Time
(requirements)
Value/Vision
Plan Driven
Driven
Scope
Estimates Cost Time
(features)
www.torak.com
Sequential vs. Overlapping development
Rather than
doing all of one Agile teams do a
thing at a time... little of everything
all the time.
Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
www.torak.com
Software development process
Traditional Agile
Time
Analysis Analysis
Design Design
Code Time Code
Test Test
50% complete?
25% complete
0% usable
100% usable
www.torak.com
Envision / Explore cycles
Constant User
Interactions
www.torak.com
PDCA - Plan, Do, Check, Act
PLAN DO
PDCA
Cycle
ACT CHECK
Continuous Improvements
www.torak.com
Agile Methodologies
● Scrum
● XP - Extreme Programming
● Kanban
www.torak.com
Origins ...
Scrum
● 1986, Hirotaka Takeuchi and Ikujiro Nonaka described a new approach to commercial product development "holistic
or rugby approach"
● 1991, DeGrace and Stahl first referred to this as the scrum approach. Ken Schwaber used such an approach at his
company, Advanced Development Methods, and Jeff Sutherland, with John Scumniotales and Jeff McKenna,
developed a similar approach at Easel Corporation, and were the first to refer to it using the single word Scrum.
● 1995, Sutherland and Schwaber jointly presented a paper describing the Scrum methodology
● 2001, Ken Schwaber teamed up with Mike Beedle to describe the method in the book "Agile Software Development
with Scrum".
XP - Extreme Programming
● created by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project,
who worked with Don Wells, Ron Jeffries, Martin Fowler and Chet Hendrickson
● takes software development "best practices" to extreme levels
www.torak.com
Scrum
Roles
Product Owner
Scrum Master
Team
Sprint
Stakeholders
Product
Backlog Users
Task
(prioritized) Board
Daily Scrum
Sprint Product
Sprint Sprint Planning Burndown Sprint Review
Increment
Backlog
Sprint
Retrospective
www.torak.com
Scrum
● the business sets the priorities & teams self-organize to determine the
best way to deliver the work
● every sprint (1-4 weeks) anyone can see real working software and decide
to release it as is, or continue to enhance it for another sprint
www.torak.com
Scrum
www.torak.com
XP - eXtreme Programming
● paired programming
www.torak.com
XP - eXtreme Programming
www.torak.com
www.torak.com
Kanban - 3 basic principles
Kanban Board
www.torak.com
Kanban - 5 Core Properties
Kanban Board
1. Visualize the workflow
● Kanban literally means "signboard" or "billboard"
3. Manage Flow
● monitor, measure and report the flow of work through each state
5. Improve Collaboratively
● using models & the scientific method (empirical) to implement continuous, incremental and
evolutionary changes
www.torak.com
Kanban
source: http://finance.groups.yahoo.com/group/kanbandev/
www.torak.com
Kanban: Start 1
to do in process done
Start with a simple task board with 3 columns: to do, in process and done.
a
Each card represent a work item in the current scope. Names can be associated with
b the cards.
c The key is to setup an easy way to visualize the work, and create an area for social
interactions.
www.torak.com
Kanban: Start 2
to do in process done
Start with a simple task board with 3 columns: to do, in process and done.
a
Each card represent a work item in the current scope. Names can be associated with
b the cards.
c The key is to setup an easy way to visualize the work, and create an area for social
interactions.
to do in process done
A problem with such a simplistic board, is the lack of rules and the concept of
a time-boxing.
b
a
b a a A typical problem is accumulating too much work in progress (WIP).
b
a c
c
Kanban is more than just adding work items on a board, it's also applying a PULL
c process.
www.torak.com
Kanban: Start 3
to do in process done
Start with a simple task board with 3 columns: to do, in process and done.
a
Each card represent a work item in the current scope. Names can be associated with
b the cards.
c The key is to setup an easy way to visualize the work, and create an area for social
interactions.
to do in process done
A problem with such a simplistic board, is the lack of rules and the concept of
a time-boxing.
b
a
b a a A typical problem is accumulating too much work in progress (WIP).
b
a c
c
Kanban is more than just adding work items on a board, it's also applying a PULL
c process.
c c Another improvement is to set a multi-tasking limit per user (2) and using late binding
of tasks to owners. Note that not all team members must have 2 tasks with their
2 5 names, this is a maximum of 2.
www.torak.com
Kanban: Mechanics
a
a
b
a
2 5
a
b
1. Team member A completes a card to do ready in process done
c c
and moves it to the "done" column.
a
2 5 a
a
b
2. Team member A pulls a new card
from the "ready" column and starts c c
working on it by placing it in the "in 2 5
process" column.
3. The team responds to the pull
event and selects the next priority
card by moving it to the "ready"
column.
www.torak.com
Scrumban: Flow
to do ready in process done to do ready specify execute done
b b a
a
b b
c
c c
c
2 5 2 2 3
www.torak.com
Kanban: Flow
to do ready in process done to do ready specify execute done
b b a
a
b b
c
c c
c
2 5 2 2 3
b a
a
b
c
c
8 2 3 3
www.torak.com
Highlights from each ...
Scrum
● ceremonies (daily scrum, review and retrospective)
● time-boxed work using sprints
● burn-down charts
XP - eXtreme Programming
● best practices
○ coding (standards, collective code ownership, simple design, metaphor)
○ continuous integration
○ test driven development (unit tests, automated testing, acceptance testing)
■ When a Bug is found tests are created before the bug is addressed (a bug is not
an error in logic, it is a test you forgot to write)
www.torak.com
Visualizing the work
www.torak.com
Scaled Agile Framework - Big Picture
www.torak.com
Agile, Kanban & DevOps Coaching
www.torak.com
Resources
● http://www.extremeprogramming.org/
● http://xprogramming.com
● http://finance.groups.yahoo.com/group/kanbandev/
www.torak.com
This presentation was inspired by the work of many people and we have done our very best to
attribute all authors of texts and images, and recognize any copyrights. If you think that
anything in this presentation should be changed, added or removed, please contact us.
http://creativecommons.org/licenses/by-nc-nd/3.0/
www.torak.com