small team scrum and kanban

42
SMALL TEAM SCRUM & KANBAN Using Agile Frameworks to Produce Software at IGSP

Upload: david-daniel

Post on 16-May-2015

2.584 views

Category:

Technology


1 download

DESCRIPTION

Can agile frameworks help small development teams? After looking at some agile basics, I examine two projects where a small development team used scrum. Agile can be used by small teams to their advantage with commitment and some work.

TRANSCRIPT

Page 1: Small team scrum and kanban

SMALL TEAM SCRUM & KANBANUsing Agile Frameworks to Produce Software at IGSP

Page 2: Small team scrum and kanban

Roadmap

Overview of agile Overview of scrum and kanban Application to real projects Lessons for small teams

Page 3: Small team scrum and kanban

Agile Frameworks

Page 4: Small team scrum and kanban

What is agile anyway?

Agile Values: Individuals and interactions over process and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Respond to change over following a plan

Page 5: Small team scrum and kanban

What is scrum about?

Scrum is about:• Empiricism• Self-

organization• Rhythm• Collaboration

Page 6: Small team scrum and kanban

Scrum: the basics

Roles Meetings Artifacts

Page 7: Small team scrum and kanban

Roles

Development team Product Owner Scrum Master

Page 8: Small team scrum and kanban

Meetings

Sprint planning Daily scrum Sprint review Sprint retrospective

Page 9: Small team scrum and kanban

Scrum cycles

Page 10: Small team scrum and kanban

Artifacts

Product backlog Sprint backlog

User stories

Scrum board Burndown chart

Page 11: Small team scrum and kanban

Scrum board

Page 12: Small team scrum and kanban

Burndown chart

Page 13: Small team scrum and kanban

Why use scrum?

Can make work more satisfying for developers

Can increase developer efficiency Non-developers can more easily have

insight into a software project May make hiring easier With testing, increases production of

cleaner software

Page 14: Small team scrum and kanban

What are the costs of scrum? Takes effort Need a scrum master Some time must be spent in meetings New terminology and concepts must be

learned Change!

Page 15: Small team scrum and kanban

What is Kanban?

Visualize work Break work down in to smaller pieces Those smaller pieces are put on cards The cards are placed on the kanban board The board usually has at least three columns:

To do, doing, done Limit work in progress (WIP) – the work in the

doing column - so developers don’t get overloaded

Measure “lead time” – the average time it takes to complete an item from beginning to end

Page 16: Small team scrum and kanban

Kanban Board

Page 17: Small team scrum and kanban

Why use kanban?

Adds structure with relatively little overhead

Can be used by small teams Can be used by even one person Does not need scrum master

Page 18: Small team scrum and kanban

Why not just use a list?

Why not? The list becomes the “list from hell” Some items never get done

People do not like the feeling of uncompleted work that is expected to be done

Page 19: Small team scrum and kanban

Project frameworks compared They vary in how prescriptive they are:

XP (extreme programming) has about 13 core practices,

Scrum has about ten Kanban has about three “Just do it” has one

The less prescriptive a framework is, the more adaptive it is

Page 20: Small team scrum and kanban

Project frameworks compared Which one is best? The least restrictive?

It depends. consider: Size of team Level of commitment Type of work

Examples: Operations projects do not do well in scrum Epic, complex problems do not do well in

kanban

Page 21: Small team scrum and kanban

Story of Two Projects

Page 22: Small team scrum and kanban

Context: what is lGSP?

Institute for Genomic Science and Policy IGSP-IT: A small IT department

Support research Support administration

Two developer team

Page 23: Small team scrum and kanban

Real life stories

Two projects, two stories The core shop Mapping the molecules

Page 24: Small team scrum and kanban

The Core Shop

Page 25: Small team scrum and kanban

Core Shop: context

Known quantity Discrete modules of work Relatively unambiguous work A series of relatively small, related

projects

Page 26: Small team scrum and kanban

Core Shop: Type of work

Rails apps with oracle backend Apps allow clients to select services Many projects were add-ons to existing

functionality Relatively simple Scope was restricted

Page 27: Small team scrum and kanban

What happened

This was our first scrum project We did not execute scrum perfectly but

we did produce working software The PO bought in right away, in part

because she was similarities between scrum and SOP’s used in her lab

We over and under estimated and committed

Page 28: Small team scrum and kanban

What worked?

Educating the PO about scrum happened very early

Projects often had similarities, such as very similar database structures

We produced tangible results early on Pair programming ensured that knowledge

did not stay with only one developer The developers worked hard to fulfill their

commitments

Page 29: Small team scrum and kanban

Mapping the Molecules

Page 30: Small team scrum and kanban

Mapping the Molecules: context Software was directly research related –

not administrative Project was very large – an epic Project was complex Scope was wide Because of that there was ambiguity

Page 31: Small team scrum and kanban

More context

PO was very skeptical about scrum There was pressure outside of IGSP and

Duke (funding) A prototype had been produced before

use of scrum

Page 32: Small team scrum and kanban

Type of work

Rails with oracle backend Would eventually be open to public Users would get meaningful data related

to their research Users would be able to calibrate and

compare complex instrument output Many unknown processes: “and then this

happens…”

Page 33: Small team scrum and kanban

What happened

Did not have early education on scrum Needed a sprint zero, which we did not

know existed Sprint zero is an increment of time before tasks can

worked on

Because of this, got behind our goals Status was not communicated effectively Did not produce enough tangible work

early on

Page 34: Small team scrum and kanban

What we would differently next time

Scrum education up front Let the PO prioritize stories right away Determine the ambiguity of a project

and consider a sprint zero Consider the size of the project when

committing Communicate quickly and clearly

Page 35: Small team scrum and kanban

What we are doing now

Using a facilitator with the PO who is not a developer and is not on the PO team as a proxy

Estimating very carefully Taking on realistic amounts of work Communicating more quickly Project is progressing well

Page 36: Small team scrum and kanban

Small team scrum: Lessons Learned

Page 37: Small team scrum and kanban

Lessons learned

There is very little buffer with a small team Consider having contingency plans

Think about your scrum overhead Try to minimize non-coding time

Page 38: Small team scrum and kanban

Lessons learned

Get better at estimation as quickly as possible

Do not over commit Communicate good and bad events

quickly Listen to your teams frustrations Conflict is good in scrum it can help you

figure out what is wrong – but conflict needs to be resolved

Page 39: Small team scrum and kanban

It can work – with effort

Page 40: Small team scrum and kanban

Thank You

Mark DeLong, IGSP-IT Director Darrin Mann and Darin London,

Developers

Page 41: Small team scrum and kanban

Acknowledgements

Photos can be found at:

www.flickr.com/photos/library_of_congress/

The scrum cycle diagram is a wikimedia commons file from:

http://en.wikipedia.org/wiki/File:Scrum_process.svg

The dog metaphor for WIP came from:

Personal Kanban: Mapping Work | Navigating Life by Jim Benson and Tonianne DeMaria Barry

The prescriptive/adaptive comparison came from:

Kanban and Scrum: Making the Best of Both by Henrik Kniberg and Mattias Skarin

Page 42: Small team scrum and kanban

Questions? Comments?

[email protected]