Skip to main content

Review Constraints before Projecting Desires


A fractal flower pattern
I find Scrum practices to be very self-similar at various scales of granularity. For example the Sprint appears to start with a planning sessions. Yet within the flow of a sprinting team the planning sessions actually starts with a Sprint Review and Process Retrospective and only then do we look into the future. So in the big picture, planning starts with review. Just like in the Scrum Standup meeting - the 3 questions - it starts with a review. What did you get done (past tense)? Next, what will you do (future tense)? And last, what impedes your progress (current tense)?

The Scrum Standup meeting has a flow of past, future, now. When laid out end to end sprints have a similar pattern: Review & Retro (past), followed by Planning (future), followed by sprinting or doing the work (every day, the now). This self similar pattern can be found in many of the Scrum practices. Practices that mature agile teams use to deliver working tested product increments in a few weeks. For example: the Release planning that many teams use to plan multiple sprints at a larger scale than the sprints, ideally starts with a review of the current project state and the path that lead to now. Scrum doesn't state prescriptively that a team must do release planning within the Scrum framework - yet many mature teams do this. And fewer teams do Release Retrospectives - yet the fractal nature of the pattern is very obviously missing, once you have started to see the self replicating patterns of simple rules that lead to complex behaviors.

So if the rule is to review before planning - what is another instance of this pattern?

In sprint planning, a common process flow is to review the velocity from last sprint and to project a future velocity to target for this sprint. The XPers called this the "Yesterday's Weather" pattern.

Woody - Toy StoryI call this capacity planning. And I've just learned that I'm confusing people by using this term. They are typically use to doing individual level capacity planning based upon some type of work hour commitment. Since we pay you for 8 hours, we expect 8 hours of work - myth. I realized today when Woody helped me to see my mistake. This organization has a known process called capacity planning. I suggest they do capacity planning in a team meeting called Sprint Planning. I assume it's understood that we plan at the level of a team, not at the granularity of an individual. This underlying misunderstood assumption is leading to confusion.

Team Capacity planning is much simpler than individual capacity planning. At the appropriate level of granularity it doesn't lead to dysfunctional behaviors. Behaviors like individual members trying to game the system of tracking performance to make themselves look better than another member that they are in competition with for a raise, position, bonus, etc.

So team level capacity planning is a review activity that should take place before the team forecasts a target velocity for Sprint Planning Part A (the What). This is a logical abstraction of reviewing constraints before projecting desires. When teams invert this practice they create a desire bias that will typically lead them to over commit. We all have lots of desire, regardless of our knowledge of constraints, hence the effectiveness of Christmas advertising.

So, please, start a practice of planning with the essential activity of a review.

Post a Comment

Most Popular on Agile Complexification Inverter

David's notes on "Drive"

- "The Surprising Truth about what Motivates Us" by Dan Pink.

Amazon book order
What I notice first and really like is the subtle implication in the shadow of the "i" in Drive is a person taking one step in a running motion.  This brings to mind the old saying - "there is no I in TEAM".  There is however a ME in TEAM, and there is an I in DRIVE.  And when one talks about motivating a team or an individual - it all starts with - what's in it for me.

Introduction

Pink starts with an early experiment with monkeys on problem solving.  Seems the monkeys were much better problem solver's than the scientist thought they should be.  This 1949 experiment is explained as the early understanding of motivation.  At the time there were two main drivers of motivation:  biological & external influences.  Harry F. Harlow defines the third drive in a novel theory:  "The performance of the task provided intrinsic reward" (p 3).  This is Dan Pink's M…

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?



Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: http://tinyurl.com/3br9o6n. Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, …

Team Performance Model - by Drexler and Sibbet

Many of you have all heard of the Tuckman model of team dynamics (Forming, Storming, Norming, Performing).  It was created in 1966 and has become the most popular model for describing team behavior.  Is it time to level up in your mental model of team dynamics?  Are you ready for a richer more functional model?



Introducing the Team Performance Model by Drexler and Sibbet



Orientation - Why am I here?
"Orientation is about understanding the purpose of a team and assessing what it will mean to be a member.  you need to understand the reason the team exist, what will be expected of you and how you will benefit from membership.  In a new team, these are individual concerns, because the group is only potentially a team.  that is why these concerns are illustrated as occurring in your imagination at an intuitive level.  As a team leader it is important to provide time and space for people to answer these internal questions themselves."

Keys to when Orientation challenges are resolve…

Refactoring - examples from the book

Martin Fowler's book Refactoring:  Improving the Design of Existing Code has a simple example of a movie rental domain model, which he refactors from a less than ideal object-oriented design to a more robust OO design. Included in this Refactoring_FirstExample.zip Zip file are the Java source code files of the Movie, Rental, and Customer classes. Along with a JUnit CustomerTest class. Using these example source files you too can follow along with the refactoring that Fowler presents in the first few chapters of his book.


Do You Put “CSM” After Your Name?

I’ve noticed a new trend—people have been gaining titles. When I was younger, only doctors had initials (like MD) after their names. I always figured that was because society held doctors, and sometime priests (OFM) in such high regard that we wanted to point out their higher learning. I hope it was to encourage others to apply themselves in school and become doctors also. Could it have been boastful?

The Wikipedia describes these “post-nominal initials”:
Post-nominal letters, also called post-nominal initials, are letters placed after the name of a person to indicate that the individual holds a position, educational degree, accreditation, office, or honor. An individual may use several different sets of post-nominal letters. The order in which these are listed after a name is based on the order of precedence and category of the order. That’s good enough for me.
So I ask you: is the use of CSM or CSP an appropriate use of post-nominal initials?
If your not an agilista, you may wonder …