November 25, 2009

November Scrub Club – Scrum and Kanban

Filed under: Uncategorized — heratech @ 12:45 pm
Tags: , , ,

Bulletin board with post it notesLast Thursday night’s Nashua Scrum Club introduced me to yet another new software development term.  Kanban.  The speaker was Damon Poole, who spoke on the topic “Scrum and Kanban, Chocolate and Peanut Butter?”

Since I’d never heard the term Kanban before, I hit Wikipedia before the meeting to look it up.  But only ended up confused about how a manufacturing process applied to software development? 

After the meeting, it seems that the answer is not so much kanban, but “lean software development.”

I only took a few notes, mostly listening and trying to understand what was, for me, a new concept.  Damon started out giving a brief overview of Agile (which was useful for the majority of the audience, who were not working in an Agile environment).  Then he talked a little bit about Lean.  My notes say “providing value” and “continuous improvement”.  Aha,  I know that one, kaizen!   He mentioned 14 critical mass Agile practices, but I was only able to scribble down five before he flipped to the next slide.  I do hope that the slide deck is posted online at some point.

The next part of his talk focused on process.  He had some color coded slides that showed several iterations, with Development doing their work during one iteration, and QA doing the testing during the next iteration.  My notes say “This is not Agile.”

He talked a bit about how to break down large stories into smaller ones by listing the tasks, and then determining the critical tasks and the dependencies between them.  He had some great slides for this, which I appreciated, because I’m a visual learner.  And I was grateful that when he talked about workflow that he included Documentation (Specify > Design > Code > Unit Test > Integration/Doc > Testing) because so many people seem to forget or ignore Doc when talking about Agile.

Then there were color coded slides, showing several small stories being worked on during several different sprints and showing how there were bits of downtime for the testers while they waited for the code.  Then he had a rather spiffy animation that removed the lines indicating the iterations, and sliding the testing tasks right up to match the coding tasks.  “Getting rid of the iteration fills the gaps between coding and testing.”

He talked about decoupling the tasks of Agile from the iteration/Sprint.  Backlog grooming can happen anytime.  Story point estimating can happen anytime.  These tasks can be decoupled from the Retrospective or the Planning phase of a Sprint.  “Done” is decoupled.  Done is no longer the end of the iteration, but the end of the story.  And when you’re finished with a story, you pull the next story off the top of the backlog and start working on that.  He also talked about a Work In Progress (WIP) limit, that no more than X story points could be in progress at any one time.  During the Q & A someone asked when you demo?  His answer was not every time you finish a story (which might be every day or two) but when it makes sense to the team.

Damon finished his talk with a list of Lean and Kanban concepts that he thinks can be applied to Agile:

  • Decoupling
  • Lean thinking
  • One piece flow
  • Work in Progress limits
  • Eliminating waste


Related Blog posts that I found while researching Kanban:

Defining Kanban

Between kanban and pair programming lies the feature brigade

Related Books:

Do It Yourself Agile by Damon Poole – Free download!

Lean Software Development by Mary and Tom Poppendieck

Create a free website or blog at WordPress.com.