James Shore: Successful Software
Popularity Report
![]() |
|||
![]() |
|||
![]() |
|||
![]() |
|||
![]() |
|||
![]() |
URL Tag Cloud
Bookmark History
Public Sticky notes
Highlighted by yyeret
on 2009-01-27 by yyeret
need to understand how it can work when there are multiple small teams eating up a single backlog of a single product (e.g. modules in the product). not an ideal agile team in any case, but stuck with one.
he team takes a story from the backlog, develops it, and ships it as soon as it is done. Then they take the next story from the backlog, develop it, and ship that story. Work is shipped as soon as it's ready, and the team only works on one story at a time.
That's the ideal, anyway. Approaches differ
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret
The team brainstorms and tracks the tasks required to complete the current MMF only. As tasks are completed, they're removed from the board; as new tasks are discovered, they're added. When all the tasks are done, either the MMF is done or the team has forgotten something.
Once the MMF is done and the on-site customers have approved it, the software is released. The MMF is taken off the queue and development starts on the next MMF.
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret
Highlighted by juhariis
Highlighted by yyeret
Highlighted by yyeret
Highlighted by juhariis
Highlighted by yyeret
Highlighted by juhariis
Highlighted by jmbeas
Highlighted by yyeret
Highlighted by jmbeas
Highlighted by yyeret
Highlighted by juhariis
Highlighted by yyeret
Highlighted by jmbeas
Highlighted by jmbeas
Highlighted by juhariis
Highlighted by juhariis
1- The team size (larger -> increase MMFs in flight)
2- The size of the MMF (smaller -> increase MMFs)
3- The team's ability to work on the same feature concurrently (better -> reduce MMFs)
4- The granularity of the design (smaller classes -> reduce MMFs)
Highlighted by yyeret
So, should your team use iterations or a Kanban system? Here's my criteria:
-
If your team is new to Agile planning, use iterations. Be super-disciplined about getting everything "done done" each iteration, using slack, and achieving a stable velocity so you can consistently make and meet iteration commitments. This will force your team to learn important lessons about how Agile works.
-
If you're producing a new product or a significant new release of an existing product, use iterations. Create a vision, do release planning, get a good product manager, and make sure he's heavily involved. Your goal is to create a compelling product with significant value, and you'll benefit from a gestalt view of the product and the predictability iterations provide.
-
If you're in an environment where the feature backlog is constantly in flux or hard to predict, particularly if you can release the software on a whim, try the Kanban system. Entrepreneurial environments, maintenance of mature products, and recent releases are all examples of environments with unpredictable backlogs. The Kanban system will convert that chaos into a smooth, constant flow.
And if none of these categories seem to fit, go ahead and give the Kanban approach a try. You'll learn something new and hopefully have fun doing it. There's a lot of potential here, and I don't think we've explored all of the options. Try it! Let us know how it works out.
Highlighted by juhariis
Highlighted by yyeret
Highlighted by yyeret
Highlighted by yyeret


Public Comment