introducing agile scrum xp and kanban

38
Introducing Agile methodologies Scrum, XP and Kanban Kanban Board www.torak.com

Upload: dimitri-ponomareff

Post on 15-Jul-2015

21.145 views

Category:

Travel


1 download

TRANSCRIPT

Page 1: Introducing Agile Scrum XP and Kanban

Introducing Agile methodologiesScrum, XP and Kanban

Kanban Board

www.torak.com

Page 2: Introducing Agile Scrum XP and Kanban

About Dimitri Ponomareff

www.torak.com

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.

Page 3: Introducing Agile Scrum XP and Kanban

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

Page 4: Introducing Agile Scrum XP and Kanban

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

Page 5: Introducing Agile Scrum XP and Kanban

12 Principles of Agile Software1. 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. Source: www.agilemanifesto.org

www.torak.com

Page 6: Introducing Agile Scrum XP and Kanban

Lean software development principles

1. Eliminate waste 2. Amplify learning

3. Decide as late as possible

4. Deliver as fast as possible

5. Empower the team

6. Build integrity in

7. See the whole

www.torak.com

Page 7: Introducing Agile Scrum XP and Kanban

Flavors of AgileDynamic System Development Method (DSDM)Dane Faulkner

Extreme Programming (XP)Kent Beck

Feature Driven Development (FDD)Jeff DeLuca

ScrumKen Schwaber

Lean Software DevelopmentMary Poppendieck and Tom Poppendieck

Adaptive Software Development (ASD)Jim Highsmith

Crystal ClearAllistair Cockburn

Behavior driven development (BDD)

www.torak.com

Page 8: Introducing Agile Scrum XP and Kanban

Agile Timeline

1970 1980 1990 2000

Waterfall

Spiral, RAD, RUP

Scrum, XP

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

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

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

www.torak.com

Page 9: Introducing Agile Scrum XP and Kanban

Prescriptive vs. Adaptive

120+13 9 6 0

RUP XP Scrum Kanban DoWhatever

More Prescriptive

More Adaptive

(roles, activities & artifacts)

Source: Kanban and Scrum, making the most of both. Henrik Kniberg & Mattias Skarin

www.torak.com

Page 10: Introducing Agile Scrum XP and Kanban

Prescriptive vs. Adaptive

WaterfallPredictive Process

The plan creates cost and schedule estimates

Constraints

Estimates

Scope(requirements)

Cost Time

PlanDriven

AgileAdaptive Process

The vision creates feature estimates

Cost Time

Scope(features)

Value/VisionDriven

www.torak.com

Page 11: Introducing Agile Scrum XP and Kanban

Sequential vs. Overlapping development

Requirements Design Code Test

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...

Agile teams do a little of everything

all the time.

www.torak.com

Page 12: Introducing Agile Scrum XP and Kanban

Software development process

Time

Analysis

Design

Code

Test

Agile

Analysis

Design

Code

TestTim

e

Traditional

50% complete? 0% usable 25% complete

100% usable

www.torak.com

Page 13: Introducing Agile Scrum XP and Kanban

Envision / Explore cycles

Constant User Interactions

www.torak.com

Page 14: Introducing Agile Scrum XP and Kanban

PDCA - Plan, Do, Check, Act

ACT

PLAN DO

PDCACycle

CHECK

Continuous Improvements

www.torak.com

Page 15: Introducing Agile Scrum XP and Kanban

Agile Methodologies

● Scrum ● XP - Extreme Programming

● Kanban

www.torak.com

Page 16: Introducing Agile Scrum XP and Kanban

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

Page 17: Introducing Agile Scrum XP and Kanban

Scrum

Product Backlog

(prioritized)

Sprint Backlog

Sprint Planning

Sprint Retrospective

Sprint Review

Daily Scrum

Product Increment

Sprint

Task Board

Sprint Burndown

Scrum Master

Product Owner

Team

Stakeholders

Users

Roles

www.torak.com

Page 18: Introducing Agile Scrum XP and Kanban

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

Page 19: Introducing Agile Scrum XP and Kanban

Scrum

1. Roles● Product Owner● Scrum Master ● Development Team

2. Ceremonies● Daily Scrum● Sprint Planning● Sprint Review● Sprint Retrospective

3. Artifacts ● Product backlog, sprint

backlog, user stories● Burn-down chart● Work increment

www.torak.com

Page 20: Introducing Agile Scrum XP and Kanban

XP - eXtreme Programming

● improve software quality and responsiveness to changing customer requirements

● frequent releases in short

development cycles ● improve productivity and

regular checkpoints with thecustomer

● paired programming

www.torak.com

Page 21: Introducing Agile Scrum XP and Kanban

XP - eXtreme Programming

www.torak.com

Page 22: Introducing Agile Scrum XP and Kanban

www.torak.com

Page 23: Introducing Agile Scrum XP and Kanban

Kanban - 3 basic principles

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

Kanban Board

www.torak.com

Page 24: Introducing Agile Scrum XP and Kanban

Kanban - 5 Core Properties

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

Kanban Board

www.torak.com

Page 25: Introducing Agile Scrum XP and Kanban

Kanban

source: http://finance.groups.yahoo.com/group/kanbandev/

www.torak.com

Page 26: Introducing Agile Scrum XP and Kanban

Kanban: Start 1

a

b

to do in process doneStart with a simple task board with 3 columns: to do, in process and done.

Each card represent a work item in the current scope. Names can be associated with the cards.

The key is to setup an easy way to visualize the work, and create an area for social interactions.

c

www.torak.com

Page 27: Introducing Agile Scrum XP and Kanban

Kanban: Start 2

a

b

to do in process doneStart with a simple task board with 3 columns: to do, in process and done.

Each card represent a work item in the current scope. Names can be associated with the cards.

The key is to setup an easy way to visualize the work, and create an area for social interactions.

b

a

to do in process doneA problem with such a simplistic board, is the lack of rules and the concept of time-boxing.

A typical problem is accumulating too much work in progress (WIP).

Kanban is more than just adding work items on a board, it's also applying a PULL process.

ab a

b acc

c

a

c

www.torak.com

Page 28: Introducing Agile Scrum XP and Kanban

Kanban: Start 3

a

b

to do in process doneStart with a simple task board with 3 columns: to do, in process and done.

Each card represent a work item in the current scope. Names can be associated with the cards.

The key is to setup an easy way to visualize the work, and create an area for social interactions.

b

a

to do in process doneA problem with such a simplistic board, is the lack of rules and the concept of time-boxing.

A typical problem is accumulating too much work in progress (WIP).

Kanban is more than just adding work items on a board, it's also applying a PULL process.

ab a

b acc

c

a

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

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 names, this is a maximum of 2.

b

c

a

ready

2 5

a

c

c

www.torak.com

Page 29: Introducing Agile Scrum XP and Kanban

Kanban: Mechanics

to do in process done

b

c

a

ready

2 5

a

c to do in process done

b

c

a

ready

2 5

a

c to do in process done

b

c

a

ready

2 5

a

c

a

1. Team member A completes a card and moves it to the "done" column.

2. Team member A pulls a new card from the "ready" column and starts working on it by placing it in the "in 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

Page 30: Introducing Agile Scrum XP and Kanban

Scrumban: Flow

to do in process done

b

c

ready

2 5

a

c

b

to do specify done

bc

ready

2 3

a

c

b

execute

2

Now that we have established our team capacity and we have a pull system, we can streamline the ideal flow.

www.torak.com

Page 31: Introducing Agile Scrum XP and Kanban

Kanban: Flow

to do in process done

b

c

ready

2 5

a

c

b

to do specify done

bc

ready

2 3

a

c

b

execute

2

Now that we have established our team capacity and we have a pull system, we can streamline the ideal flow.

a

backlog specify done

b

ready

2 3

a

c

b

complete execute

3

c

8

www.torak.com

Page 32: Introducing Agile Scrum XP and Kanban

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

Page 33: Introducing Agile Scrum XP and Kanban

Visualizing the work

www.torak.com

Page 34: Introducing Agile Scrum XP and Kanban

Scaled Agile Framework - Big Picture

www.torak.com

Page 35: Introducing Agile Scrum XP and Kanban

© Torak, Inc. www.torak.com

Agile, Kanban & DevOps Coaching

Learn more at www.torak.com

Learn more at www.AgileTestingFramework.com

Learn more at www.kanbanzone.com

Page 36: Introducing Agile Scrum XP and Kanban

Thank You

www.torak.com

Page 37: Introducing Agile Scrum XP and Kanban

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

Page 38: Introducing Agile Scrum XP and Kanban

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