When plans and reality collide there is a need for agility.
When plans and reality collide there is a need for agility.
Scrum is a popular project management framework for agile projects. Scrum projects are typically managed quite informally, with the only metrics used being various velocity metrics and burndown charts. Because these metrics only measure the speed of delivery, not the project’s cost or the business value it generates, many project managers are resistant to Scrum.
Kanban for software development is a newer kid on the block, at least in the US. Besides being just another word like Scrum that is not commonly understood in the English language, how does it stack up? Both Kanban and Scrum align with the well with the value system described in the Agile Manifesto. And they make an interesting pair.
As much as we love Scrum, even we would have to admit that it’s not perfect. Nothing is. In fact, a large part of the literature describes workarounds for various deficiencies that Scrum presents to us in certain circumstances.
One of the more commonly noted deficiencies in Scrum is that it plans its work a whole Sprint at a time. This “batch” planning process is often not agile enough to cope with the actual rate of change of requirements. In fact, PlaceHolder Stories, discussions of mid-Sprint Re-planning, and discussions of renegotiating the scope of a Sprint are common deficiencies that teams must cope with.
The new kid, called Kanban, which solves some of these deficiencies and presents others, is becoming popular for software development projects.
Altogether, Kanban, Scrum, XP and many other agile methods rely on a task boards and index card like systems to simultaneously decompose and manage the work. What’s new about task boards and index card systems? Index card systems have been around at least since 1925, when the first one was formalized by Dr. Crawford and used later to build NASA rockets. Increasing task orientation is a well understood method for improving team performance and has been well documented since the 1950s. Our goal will be to highlight both Kanban and Scrum and then touch on why we need to reinvent them ourselves so often.
As much as we love scrum, even we would have to admit that it’s not perfect
. Nothing is. In fact, a large part of our book describes workarounds for various deficiencies that scrum presents to us in certain circumstances.
One of the more commonly noted deficiencies in scrum is that it plans its work a whole Sprint at a time. This “batch” planning process is often not agile enough to cope with the actual rate of change of requirements. In fact, Chapter 4.4 on PlaceHolder Stories, the discussion of the mid-Sprint Re-planning in Chapter 4.8, and the discussion of renegotiating the scope of a Sprint in Chapter 4.3 are all about resolving this deficiency.
There is another agile process, called KanBan, which solves this problem and is becoming popular for software development projects. In our upcoming book we will describe the main strength of KanBan and how to integrate it into scrum.
The “KanBan for software” movement is really gaining some traction in the agile community. The main idea of KanBan is very simple and based on the Lean “pull,” “Just in Time” (JIT), and “reduce inventory” principles: eliminate planning inventory by making sure that you don’t commit to doing work until you are actually ready to start the work.
Comment: This is a way to track how much unknown work is showing up and manage the amount by triggering a conversation when needed. One of the most common issues for scrum teams is what to do about work that we expect to have to do during a Sprint, but don’t actually know the details about yet, such as bugs we have to fix in existing systems, or expected sales support efforts. Using Place holder stories is a a method to manage these “known unknowns”.
When does the word requirement truly mean what is says in English?
Comment: We often find ourselves lost in the desirements trying to find the real requirements for our system. Those things which seem required often end up being only desired. The word requirement has suffered more from confusion and misuse than just about any other word in the IT lexicon of development. What is a “nice to have” requirement? I mean really! I have close to 20 years of experience in the industry including training and writing requirements. Even with all of that experience the word still makes me a little crazy. I like the word desirement because of it’s contrast with requirement. When there is a test that makes it required with a pass/fail then it is a requirement, until then it’s just a a desirement.
So, a more interesting question is …. When is a requirement truly required?
Comment: There are a number of things you should do before you can even begin planning. The most important thing you can do is make sure that your Product Owner is prepared, and understands what the stories are about. Remember that the Product Owner is a role here, so what we’re actually saying is that someone on the Team knows about each story; that is, each story has its own champion (Story Owner) who represents the Stakeholder’s needs/wants to the Team. This may require that the Product Owner (person) coordinates the efforts of all the Story Owners.
Comment: After a Story is committed to, the Team (with the PO in the lead) has the option to reprioritize the Story list, and the Team takes the next one to consider. Once again, the Team comes to the “doneness” Agreement and commits to adding the Story to the list of already-committed-to Stories. This process is repeated until the Sprint is “full” and the Sprint Plan is complete.
Comment: Changes to work forms an interesting tension. At a fine grained detailed level it changes all the time. Each person’s individual to-dos often change to reflect their understanding of what it takes to get the job done. As the level of granularity increases to task then it is a change to the team’s plan. If the number of changes is significant and adds up to more than one story’s worth of work then you better stop and adjust your plan, usually you want the product owner in on that discussion. And if there are several new stories that were suddenly found and are so important they must be done right now, then call a stop and reset your entire sprint with a sprint planning session. Generally, the commitment by the team to the sprint should not change. Note: definition of team makes this an interesting discussion. Bottom Line: The goal here is to help the team get better at expressing work they can do and following through on a commitment.