Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Introducing Agile methodologies

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

● Lean software development principles

● Flavors of Agile and timeline

● Prescriptive vs. Adaptive

● Sequential vs. Overlapping

● Envision / Explore cycles

● PDCA

www.torak.com
The Agile Manifesto

We are uncovering better ways of developing


software by doing it and helping others do it.

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.
Source: www.agilemanifesto.org

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.

3. Deliver working software frequently, from a 9. Continuous attention to technical


couple of weeks to a couple of months, with a excellence and good design enhances agility.
preference to the shorter timescale.
10. Simplicity the art of maximizing the
4. Business people and developers must work amount of work not done--is essential.
together daily throughout the project.
11. The best architectures, requirements, and
5. Build projects around motivated individuals. designs emerge from self-organizing teams.
Give them the environment and support they need,
and trust them to get the job done. 12. At regular intervals, the team reflects on
how to become more effective, then tunes and
6. The most efficient and effective method adjusts its behavior accordingly.
of conveying information to and within a
development team is face-to-face conversation. Source: www.agilemanifesto.org

www.torak.com
Lean software development principles

1. Eliminate waste 5. Empower the team

2. Amplify learning 6. Build integrity in

3. Decide as late as possible 7. See the whole

4. Deliver as fast as possible

www.torak.com
Flavors of Agile
Dynamic System Development Method (DSDM)
Dane Faulkner

Extreme Programming (XP)


Kent Beck

Feature Driven Development (FDD)


Jeff DeLuca

Scrum
Ken Schwaber

Lean Software Development


Mary Poppendieck and Tom Poppendieck

Adaptive Software Development (ASD)


Jim Highsmith

Crystal Clear
Allistair Cockburn

Behavior driven development (BDD)

www.torak.com
Agile Timeline

1970 1980 1990 2000

Waterfall

Predictive: phases, documentation-centric, functional handoffs, get it right the first time

Spiral, RAD, RUP

Iterative: process framework, phases, tool driven, artifact heavy

Scrum, XP

Adaptive: iterative, self-organizing teams, value driven, transparent

www.torak.com
Prescriptive vs. Adaptive

More
Prescriptive
(roles, activities & artifacts) More
Adaptive

120+
13 9 6 0

RUP XP Scrum Kanban Do


Whatever

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)

The plan creates cost and The vision creates feature


schedule estimates estimates

www.torak.com
Sequential vs. Overlapping development

Requirements Design Code Test

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

Kanban for development


● Japanese for "signboard"
● Taiichi Onho developed 1940/1950 kanbans to control production between processes and to implement Just n Time
(JIT) manufacturing at Toyota manufacturing plants in Japan.
● 2003, David J. Anderson formulated the Kanban Method as an approach to incremental, evolutionary process and
systems change for organizations

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

● focus on delivering the highest business value in the shortest time

● allows to rapidly and repeatedly inspect actual working software

● 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

1. Roles 2. Ceremonies 3. Artifacts


● Product Owner ● Daily Scrum ● Product backlog, sprint
● Scrum Master ● Sprint Planning backlog, user stories
● Development Team ● Sprint Review ● Burn-down chart
● Sprint Retrospective ● Work increment

www.torak.com
XP - eXtreme Programming

● improve software quality and


responsiveness to changing
customer requirements

● frequent releases in short


development cycles

● improve productivity and


regular checkpoints with the
customer

● paired programming

www.torak.com
XP - eXtreme Programming

www.torak.com
www.torak.com
Kanban - 3 basic principles
Kanban Board

1. Start with what you do now


● Kanban does not prescribe a specific set of roles
or process steps

2. Agree to pursue incremental, evolutionary change


● continuous small changes that stick vs. sweeping changes that fail due to resistance
and fear in the organization

3. Respect the current process, roles, responsibilities &


titles
● gain support, reduce fear/resistance to change and experience the benefits as a team

www.torak.com
Kanban - 5 Core Properties
Kanban Board
1. Visualize the workflow
● Kanban literally means "signboard" or "billboard"

2. Limit Work In Process (WIP)


● use a pull system - establish and respect your ideal
capacity

3. Manage Flow
● monitor, measure and report the flow of work through each state

4. Make Process Policies Explicit


● describe the process accurately in order to improve it

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.

to do ready in process done


To truly embrace Kanban, we must regulate the volume of cards on the board. This
a can easily be accomplished by identifying clear thresholds associated to better
a defined stages of work (columns).
b

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

to do ready in process done

a
a
b

c c to do ready in process done

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

Now that we have established our team capacity and we


have a pull system, we can streamline the ideal flow.

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

Now that we have established our team capacity and we


have a pull system, we can streamline the ideal flow.
backlog ready specify complete execute done

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)

Kanban for development


● visual board
● pull system
● JIT backlog/work
● continuous flow

www.torak.com
Visualizing the work

www.torak.com
Scaled Agile Framework - Big Picture

www.torak.com
Agile, Kanban & DevOps Coaching

Learn more at www.torak.com

Learn more at www.kanbanzone.com

Learn more at www.AgileTestingFramework.com


© Torak, Inc. www.torak.com
Thank You

www.torak.com
Resources

● http://www.extremeprogramming.org/
● http://xprogramming.com
● http://finance.groups.yahoo.com/group/kanbandev/

● Takeuchi, Hirotaka; Nonaka, Ikujiro. "The New New Product Development


Game". Harvard Business Review.
● DeGrace, Peter; Stahl, Leslie Hulet (1990-10-01). Wicked problems,
righteous solutions. Prentice Hall.
● Kanban: Successful Evolutionary Change for Your Technology Business by
David J. Anderson
● Agile Software Development with Scrum by Ken Schwaber and Mike
Beedle
● Mary Poppendieck, Tom Poppendieck (2003), "Lean Software
Development: An Agile Toolkit"

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

You might also like