Agile Tips from a Barista

I have always known that typically coffee shops utilize a “pull system” so I watched in quiet observation as my coffee was made this morning at a local chain and it was indeed a Kanban style approach being used (or a gated system for controlling the WIP at least as I cannot be sure that the drive to eliminate muda through continuous improvement exists ).

But basically here was the “flow”:

  1. Counter person takes my order (“the what is needed”)
  2. Writes the order on the cup and places it into the queue of work
  3. Counter person takes my payment
  4. When there is available bandwidth, the barista pull my cup (ie; “the work itself”)
  5. Barista sets the environment based on the nature of my order (double shot of expresso, etc.) This is where the adaptability comes in in a decomposition of the things to be done to achieve the success of the order
  6. Barista focuses on the completion of the order (“the done”) by only pulling in the work that they can manage
  7. Barista calls my name and delivers the product

This is a very simple process that they repeat but if you focus on their intention of flow it becomes very apparent that there is a control the flow of the work and applied focus to deliver the completed product. This combination allows consistency and execution in a manner that allows the people doing the work to control the queue of work to be done.

I just found this interesting as a simple example of a workflow that is designed to produce a consistent product and a workflow that remains gated to ensure that the person making the coffee is focusing on the order and not the queue until completion.

I feel somewhat confident that this repetitive action has been observed and the overall average “flow time” from order to delivery has been calculated as it seems that within a small deviation, my coffee arrives at the same interval each time.

As much as I love a good cup of coffee, I enjoy being able to observe a system at work that is so simple but highly efficient to deliver a consistent product.

 

 

 

 

Advertisements

Undone Work

One of the principles underlying the agile manifesto states “Simplicity. The art of maximizing the work undone — is essential“.

This seems pretty straight-forward in terms of wrapping one’s head around things as in software so many of us are very familiar with the general KISS principle.

However, with many teams I have worked with I see a very familiar pattern emerge at times …

Once the team starts the sprint, the developers spread across the tasks on multiple stories (based on skill level or dependencies or any number of reasons). They are working away on the small pieces across multiple features and feel confident in their commitment. Then the clock ticks by …

Then somewhere during the sprint (let’s hope they are coached in the “first responsible moment” approach) they realize that something was much harder than they imagine or someone was sick or generally something derailed their optimistic view of sprint completion. So they take stock of what they have and determine they are going to complete 3 of 6 features but indicate “the others are about 40% complete though so it will take us less time if they are moved forward” or in a worse case scenario they have 6 partial features, maybe not tested or unit tested or whatever …

Sounds familiar to anyone? The value that I referenced above applies to this as well. This is where the “art of maximizing the work undone” also comes into play. All of that partial work (even though it was probably great effort) created absolutely NO value for the end stakeholder.

Let’s use a real world example …

You need to get a few items completed for yourself and your family for an upcoming event. The items are:

  1. Mail 100 letters
  2. Wash all of the windows at my house
  3. Cut the grass
  4. Feed the dog

So you take these jobs and decompose them into tasks:

Mail Letters:

  • Get envelopes
  • Get stamps
  • Fold letters
  • Put letters into envelopes
  • Take to post office and place into mail

Wash Windows:

  • Get cleaning supplies
  • Treat each window
  • Wipe each window

Cut Grass:

  • Get gas for lawnmower
  • Start lawnmower and cut grass
  • Do edging
  • Blow grass clippings off pavement

Feed Dog:

  • Get dog food
  • Put food in bowl
  • Ensure water is in water dish
  • Place on floor for dog to eat and drink

In the course of working on your commitment, you determine that you will spread yourself across all tasks so you do the following:

  1. Fold all the envelopes
  2. Go to the store and get cleaning supplies
  3. Pickup some dog food
  4. Fill your gas can with gas
  5. Get your stamps
  6. Fill the lawnmower
  7. Stuff the envelopes

Unfortunately, you run out of time to get things done (based on unforeseen situations), which can often happen.

So what have you actually accomplished in terms of end value of your commitment?

Let’s look at it from that perspective. You have:

  1. A full lawnmower but the grass is still not mowed
  2.  Letters in envelopes that sit not mailed
  3. Plenty of cleaning supplies but dirty windows
  4. A dog with a bag full of food but very hungry

So what if you had:

  1. Gotten the stamps and envelopes and ensured the mail got sent.
  2. Went to the store, got dog food and fed your dog
  3. Got cleaning supplies and cleaned the windows.

If you still ran out of time, what value have you received? You completed 3 of the four of your tasks leaving only the lawn undone. You maximized the amount of work by moving the tasks to completed before moving on. You minimized the undone work through focus.

How does this apply to teams?

In a sprint, teams often spread out across stories to the individual tasks and when completing all they can complete for reasons such as:

  1. Their skill level does not allow them to pull more advanced tasks
  2. All other tasks are being worked by other team members

Most, then move on to pull additional tasks in another story that they can work on as this seems the most logical thing to do to continue to provide value. But what if I said that we should not do this? What if I said that we should focus on applying our energy to getting items “in flight” to a state of done? Would this seem counter-intuitive? Or, if looking at it from the lens of completed value, would it make sense?

Many people think that people should move on to complete as much work as possible and not become “idle” but I firmly believe that given the focus of completing stories, anyone not “doing” can still find a way to become valuable. What if instead of moving on they did the following things:

  1. Decomposed the next story or stories into tasks (as we could focus on the things we are working on and not try and decompose everything at once)
  2. Assisted in testing, maybe writing scripts or unit tests for the code under development or helping to write test cases
  3. Performed the “just needed” level of documentation for the project
  4. I firmly believe that just like the old adage “if you buy a bigger house, you will find things to fill it” applies to teams. If they are without direct domain work, there are always items to which they can apply themselves to realize the end value.

Why I keep getting told this does not work …

I am often told by teams that this approach does not work as stories have dependencies, it slows them down overall as everyone is “not busy” or creates more refactoring (which is a given in iterative development).

However, in each conversation I have about this, no one is actually willing to try it and see if it actually works or not. Many seemed convinced it will not work.

I speculate that decomposing the work needed and performing this decomposition effort “just in time” coupled with the focus of work can result in a much better end value proposition from a commitment. If a backlog is truly a prioritization of value from top to bottom, I would much rather be informed of the completed value I can receive than the collection of untested (and therefore undone) features I might receive that are “80% complete”.

I challenge people to try this. I may truly be wrong here but I suspect that the focus on the immediate and driving to completion will see things completed and delivered quicker.

Just my thoughts, right or wrong …  A game is always won a play at a time, not the whole game at once. And I think this is the same with our commitments to stories to be delivered.

Until next time … Stay Agile!

Scrum master tips – The burndown

I have been working with several entry level scrum masters over the past few years and have discovered that although they may fully understand the general ideas of rituals and artifacts of the scrum framework, understanding the underlying agile value proposition these things support. Gaining insight into how they can utilize them with continued effectiveness with their teams seems to not be something that many do not often explore initially.

So I thought it might be helpful to convey how I view these items and how they can actually create impact for you as a scrum master to up your effectiveness with the teams.

My personal philosophy when I became a scrum master was that my role was a lynchpin in the process overall and that by increasing my understanding and effectiveness of the roles, rituals and artifacts, I could become a better servant-leader to a team overall.

This is merely how I view and utilize these things and hope that they help you as well.

What is the burndown chart?

The burndown chart falls into a category for me to be viewed as an “information radiator. It provides information in a static way that can allow the scrum master and the team to view the current state of product work within the sprint. It radiates information that can then be consumed and acted upon. It is a great artifact for assessment and course correction as well as allows scrum masters to begin to see items occurring within a team that may not be readily apparent, even to the team itself.

It is a chart that is measured by taking the amount of overall effort to be performed (hours of work) and plotting it across an axis of the total working calendar days of the sprint. Often it is coupled with an “ideal line” that reflects the optimum burn of effort equally distributed among days. As the “task hours” are burnt down, it reflects where the team is in terms of hours remaining to complete within remaining time of the sprint.

A typical burndown might look something like this:

burndown chart

In this scenario, the team has 400 hours of delivery tasks over an iteration of 10 days. This reflects work that may be done by the entire team (coding, testing, design, etc) for the 2 week iteration. So, the ideal line is reflecting to the team that at an average burn rate of 40 combined hours of effort by the team that is projected to complete the committed work within the 10 day sprint period.

Typically  the burndown charts I have used reflect the days of dedicated effort and do not reflect periods of planning, review, etc as these are bookend ceremonies to provide sprint lift-off and sprint landing. The burndown is focused on the time where team effort is directed towards end commitment.

The basic idea behind this chart is that from an agile perspective the highest value is to be aware of the work remaining undone and not to remain focused on the work already completed. So the responsibility of the product team is to reflect the remaining hours daily to represent the actual burn of working on a given story.

This is a very brief and straightforward explanation of what a burndown chart is so let’s delve into the next level of how it is helpful, how we might utilize the information and look at some ways to interpret patterns we may see inside a burndown to better frame questions or make inquiries to the team to help them.

What does a burndown chart do for a team?

As I mentioned before, it is an information radiator to a team. It gives them a snapshot of the past brief period of work and tasks completed and a reflection point for the work remaining to be done within the sprint. This information allows them to reflect a current team state both internally and externally to convey where they are without a “direct status report” to others outside the team as well. Anyone looking at the chart can get a general idea of where the team might be even if they do not fully understand the chart itself. This, however, can also lead to bad perceptions as opposed to informational learning as we will discuss later.

It is incumbent that a scrum master fully understand the purpose of this artifact, the reasons behind how it actually works and to begin to see patterns of work or potential team dysfunction within a burndown chart.

This allows them to not only accurately convey how to use this information and its purpose but frame questions aimed at potentially keeping the team productive or assist the team to be actively  aware of the “first responsible moment” of when a product commitment might become in jeopardy.

Patterns of burndown charts

Visual representation of work often allows an excellent opportunity to the scrum master and the team to reflect on familiar patterns that can be a visual queue to certain information or team dysfunction.

The Ideal Line is merely a Projection

As a scrum master, if you have the belief that below the ideal represents the idea of “being on track” and above the ideal is “being off track” you are taking a far too simple view of the  information that the team provides.

The burndown should be seen as a reflection for consideration of current state of a product development print to make inquiry, not predictive like a project schedule. The ideal is merely a projection of all things working with no issues impacting the team. It is a projection used for comparison. Establishing the thought as a scrum master of anything other than this or reinforcing to the team that it means ahead or behind the curve is a bad precedence to set and can lead to future problems.

Effort Swelling

For instance, in the image above, the team starts on day one burning down tasks and within the next 24 hours begins drifting above the ideal. A simple view might create panic and say “HEY EVERYONE! WE’RE BEHIND ON DAY TWO. WE GOTTA DO SOMETHING!!!!” when the circumstances that cause this picture could result from many potential reasons and should be information we can use as a scrum master to reflect on and potentially frame questions such as:

  • Did the committed work had greater unknowns than the team imagined and tasks are emerging? Normal and very possible. Probably just something to be aware of and see how the trend moves within 24 hours or so. But a basis to have the team reflect on this data maybe as a visual cue to them in your next stand-up.
  • Is the team struggling? Is there a causation? Has the team experienced a drop in overall capacity from the commitment due to sickness, not accounting for a team member vacation, etc? Many modern electronic tools, such as Microsoft Team Foundation Services,  will allow you to adjust the loss of capacity by each team member and the chart will update to reflect this effort recalculated across the iteration.
  • Are they just stuck? Are they mentioning impediments in their daily stand-up? Is there something you can do to assist or coach them to self-organize around solving the problem through inquiry?
  • A common symptom of a potential team dysfunction is that the members are not actually “burning down” their hours. They are pulling a task into a working state and working on it until done, therefore reflecting the total hours when there is actually less to be completed and then moving it to done all at once. This can show work not moving and so the work remaining can begin to begin a swelling pattern. One way of getting some insight into the pattern is if you see large drops of work following a swell.

Effort Drops (“work falling off the cliff”)

This pattern may look something like this:

Burndown Chart 2

Some questions that might happen when seeing such a drastic drop quickly:

  • Was the work committed less complex than the team thought initially and they just hit a “rapid burn” (Go Team!)
  • If following a swell, is the team actually burning down the hours regularly?  Are they perhaps holding on to tasks and not updating remaining hours but just pushing it to done when completed? This might prompt a scrum master to look into this information that the burndown provides in combination with the sprint task board and use it during a retrospective for exploration of “what does this mean to the team”?

Again, the key takeaway here is that these types of patterns provide an opportunity to learn, observe and inquire to assist you as the scrum master to help the team remain productive towards meeting their commitment. This information can help you teach the team to use this information to get some insight as to what is going on either during the sprint or used for exploration with the team within the retrospective.

These are merely some simple examples of how this artifact of the scrum framework can be used. It is best to keep in mind the concept of how it reflects back information to the team. Many scrum pioneers have discussed “BVC’s” (big visible charts) of which this can be one to help teams reflect on their current state of work and make adaptations based on insight. I hope this blog post allows new scrum masters a new way to use this artifact and can help them assist their teams with better insight …

I often consider this quote when thinking of a burndown chart in relation to teams …

“Information is only useful when it can be understood” – Muriel Cooper

 

 

 

Thinking in Moments

“Capturing the moments of today will wow your hearts tomorrow” – Anon

This will be a relatively brief post but wanted to share something that struck me in my early morning reading (which is my habit to feed my mind a little to start the day).

I am currently reading the new Chip and Dan Heath book, “The Power of Moments” in which they explore the idea of what defining moments are in terms of people and how people can make the shift to begin thinking in moments so that they can capitalize of the impact.

Doug Dietz, an engineer from General Electric spent roughly two years designing a new MRI machine. The book describes how he was so excited to see the first patient in a children’s hospital be able to utilize his creation but was absolutely dismayed when the experience was met with fear. He said this was the point that he “saw the room through the child’s eyes” which was cold and sterile and his machine sat inside like a “brick with a hole in it”. As a result, many children had to be sedated to undergo the use of the machine just to allow them to stay still and overcome the fear of the experience.

This heart wrenching experience fueled him to take this “pit” (low point or negative experience) and strive to make it a “peak”. So he worked with a vast cross functional team and was driven to redesign the user experience for children. The end result was he and his team created MRI rooms in children’s hospitals that resembled a pirate ship, a space ship or a amazon adventure (this one encouraging the child to stay still as not to tip the machine painted as a canoe). He careful observed the difference in the experience and was delighted when one small child tugging at his mother’s leg asked “can we come back tomorrow”? He had taken a “pit” moment for these children and transformed it into a “peak”.

I read this and thought to myself, “this is so applicable in organizations”. How may “pits” are we aware of as an organization for people (poor performance, bad service, bad product interaction) for which we have no plan or allow it to sit without putting passion behind turning it into a peak?

Conversely, how many “peaks” (employee first day, retirement, significant life events, transitions in career or life) do we place the minimal effort into a miss the power of creating the moment of connection between people and our organization.

This brief story really impacted me and I began to think (and I feel like I will begin to formulate known moments that I think I am missing for my organization) about what I could do to “think in moments”.

How about you? Are you thinking in moments? Are you turning “peaks into pits” or “pits into peaks”? I have not finished the book so I cannot give you a full review just yet but I can say that this small concept resonated with me and I am sharing it with you in hopes that it might with you as well.

Stay Agile!

 

When Fear of Failure Strikes

“Failure seldom stops you. What stops you is the fear of failure” – Jack Lemmon

I had an interesting coaching moment with a scrum master today. He came to me with a dilemma he had for his present team. He has a new team that has a new senior developer on it and they are in the process of storming as a team. Given this state of team development, it is only natural that they are in a growth period.

In their prior sprint, the team had a plague of sickness spread across them and they did not meet a significant amount of their sprint commitment due to the unexpected loss in capacity. This significantly concerned them as when they reviewed their product at sprint’s end, the stakeholders who attended did not seem to understand what the idea of “undone work” was nor how it was typically handled by the team.

The product owner managed the stakeholders relationship well and explained how the undone work would roll forward to the next sprint as the highest priority (given that was still the case) and be addressed by the team. But the team became very worried about the perceptions of the stakeholders. Fear of failure had reared its head within the team.

The scrum master, being conscientious about this engaged the team as based on some severe inclement weather had forced them to see the possibility of a failed sprint looming again. The team had asked, maybe we should change the process to only demo those features to the stakeholder that actually work. Being a relatively new scrum master, he wanted to explore this with me to help guide them. He came and met with me and told me what the team had suggested and admitted he felt uneasy about this change but wanted additional guidance. Instead of “giving” him an answer, we explored the situation and circumstances surrounding this request once he related the situation of the undone work in the previous sprint and the feeling of dread by the team with their current sprint.

I asked a few questions of him:

“So the team feels confident that they will not complete their commitment”?

“Do you feel this is a reaction to a fear of failure”?

“Do you think the compromise to hide this undone work compromises the agile value of transparency”?

“Is this the first responsible moment to speak with the product owner to indicate the work that will be undone so expectations are set with them rather than surprise”?

These four questions helped him find his own answer. He realized that he did have time within the sprint to engage the product owner and set the expectations of him and in doing so release the pressure of the team without finding some method to place transparency to the users into the shadows. He determine he could help the new team more by helping them understand that failure is opportunity, not a point of suspicion, ridicule and derision. He found a solution within his own problem by thinking through his problem so he could help his team do the same.

As a result, he engaged the product owner to indicate to them the work that may be undone so that they could discuss this with the team, ensure that the items worked on were the highest valued among the undone work (which they were) and kept the issue of fear of failure as a point of opportunity as opposed to the crushing blow of defeat. He helped them find relief and refocus on the things in progress without continuing to worry about the items that they knew they might not achieve.

In the end, they completed their commitment as it was the fear of failure to the stakeholders that made them concerned not the reality of doing so. They were so caught up in not appearing to be failing that they saw the loss of capacity as a reason to react. He guided them to understand this principle as well as one of the “first responsible moment” so that they could create transparency and strengthen the openness and relationship with their product owner. He turned this situation born of fear into one of working more closely together to succeed.

And he did so by just stopping to consider a few questions to allow himself to explore the possibilities. Fear of failure is a real thing with teams, especially teams that are allowed to select work within capacity to deliver as they feel they are driving the work. But failure is an opportunity to learn (although I know many executives who may not agree).

But through inspection of the underlying reasons behind this fear we can often find ways to gain clarity and help shape it into a learning point and create stronger relationships and stronger teams.

We all fear failing. But it does happen and often as a result of things far beyond our control or sometimes when we are doing everything right. So when this happens, it’s easy to just react based on this but the more challenging thing is to examine the fear and determine if our failings can be something that makes us better moving forward.

 

Invisible Information

“Information is not knowledge” – Albert Einstein

One of the things I always found particularly stressful in a standard software delivery model was the visibility and context of information. I found myself time and again asking for information only to be shown a project schedule or some other document and was admonished with “but there may be some changes not in here” or “this is not the latest version”. And coupled with the fact that I had to know who to ask or where the secret location of the latest and greatest resided, it was even more frustrating.

We have solved some access issues by making all sorts of cloud based access to files and there are tools that recalc everything based on newly provided information that can be stored. But what we have not seemed to solve is the communication and context under which we share that information.

This is why I like the agile approach of BVCs (big visible charts) as a part of product development. The goal is to keep it current and the impetus is on allowing me to pull information as I need and adapt it to my contextual goal. Sounds like a reasonable approach. But, as technology is want to do, we want to be smarter …

As a scrum shop, I started with 4 corkboards (Product Backlog/Sprint Backlog/Doing/Done) and index cards. These sat in an open area that anyone could walk up to and view. So, at a glance, anyone could see what was in the backlog, what we had committed to work on this sprint, what was in flight in terms of tasks and what work had been completed. The burndown chart itself was hand calculated by myself as a scrum master each morning before the team arrived. There was visibility and simplicity in this approach. But it required someone to physically walk over to the team area and view this information. So we decided that it was a good time to make the shift towards a more electronic model so that people could view the information from the comfort of their own desk. So, what was the outcome?

Convenience

We did create a broader sense of ease to get to the work items for the team itself. Boards were now accessible to team members without leaving the computer in which they were working, product owners could work on stories from anywhere and there was the potential for anyone to still “virtually wander up” and see where things were. It now calculated the burndown for the team so one person did not have to ensure it was up to date each day.

Sounds like a rousing success right? For all of the things it did right, there are some things that it actually made worse in my estimation.

From Information Radiator to Information Refridgerator

One thing that this move from a manual process and chart approach did was slowly to begin to turn information into something that was always visible into something that had visibility when sought. It began to recreate the initial problem that I was so frustrated with in the former system. It created an “information refrigerator”. What I mean is that like a fridge, it became again incumbent to look inside just to get information as to being something that radiated information to be consumed or ignored. It became like opening the fridge door to just see if the light was on. Not very transparent in my estimation.

Whereas personas, visions, backlogs, burndowns were formerly pieces of paper plastered out for anyone to see who came to the team room, product planning items often became non existent due to lack of general visibility or decoupled from the work being done. The idea of feature roadmaps and release charts began to occupy the space of people’s heads and not available to be consumed. Other items began to splinter and I began to see strategic planning items begin creating their own silo locations

What started as a transparent and visible approach slowly wove its way into retention of information with limited visibility and therefore limited learning and focus on that information.

You may think that at this point I am blaming a tool for this problem. If so, you would be incorrect. The tool did not create the problem but without the proper institution of transparency into the culture itself, the removal of the physical manifestations that drove being transparent, the organization opted to use the tool and “assume” that it was being transparent. Because teams and product owners had visibility into these tools (those doing the work) and that it was “available” to anyone else, the idea of transparency was generally assumed by all. But upon closer inspection the cracks were there. Team information was there for the team, product owners were able to work their backlogs through this tool but when it came to the overall transparency to the organization as a whole, it was more shaded as it was not the world that the rest of the organization necessarily worked in. Sure, we could provide the link and they could see stories, burndowns, sprint backlogs and such but did it hold meaning for them? Did we explain what they were seeing? Did we make it as frictionless as possible to gain the information by a pull system as opposed to a push?

So what do we do?

First, stop. Take a moment and consider your current level of transparency. Does the organization know what you are planning, what you are accomplishing and is it as frictionless to them as possible? Are you pushing information to them or have you created an environment in which they can pull information at will. Is the information visible in general? Can anyone in your organization gain insight to ask questions they may have? Do you have a strategy for visibility and transparency into your work? Have you instilled a culture within your organization that makes it acceptable that failure is an opportunity to learn or have you mitigated this by hiding the work?

Start with visibility as a primary goals for your teams. Instill it in the culture and how you work as a whole.

I go back to my original days of the corkboards and asked why this was good. It was because it allowed anyone to wander up, look at what’s going on and derive meaning and formulate questions. It kept the work as transparent as possible given the physical nature of the boards. With tools that can be accessed anywhere, how can we make this even better?

I recently had a conversation with a colleague in the industry that was struggling to gain information about where the teams were in terms of their commitments and the overall features and was met with resistance by a scrum master in providing this and provided insights like “they are on track” or “everything is fine”. As a former scrum master, I know that a primary duty is to protect the team and to allow them to focus but in my estimation, a scrum master who would be immediately resistant to being transparency is actually demonstrating somewhat of a team impediment and not helping the agile culture as a whole. Instead of taking a hard stance, maybe they should have sat down with the director and the people to whom he was having to supply information and unpacked the information they needed. Some might have been reasonable, some maybe not. But until they truly understood the context and the concerns, they really could not assess if this was reasonable. If they had just taken a moment to have these conversations, they may have been able to determine the “why” behind the need and found a way to increase transparency. Just drawing a hard line in the sand created a more contentious relationship between the scrum master and director and may have raise questions of the agile transformation itself. Finally, considering how to make this frictionless to those people seeking information could have helped the organization better understand the team’s work. A little transparency can actually go a long way.

So when met with these types of requests, how can you understand, assess and facilitate the best transparency of the work of the team? I am not saying compromise your work to create mindless or lagging indicators but what do you know today that you can share in a more actively visible and transparent way?

I know that even within my own organization, transparency and recurrent visibility is a struggle. I constantly try and think of ways that can make information more meaningful and more visible. Just taking one more small step to do so may make a huge difference for your organization and my own.

Until next time … Stay agile … and transparent!

 

 

 

Team Metrics

“The past cannot be changed, forgotten, edited or erased. It can only be accepted.” – Unknown

Let’s Define some metrics!

I had a conversation with a relatively new scrum master recently who was working to help establish some base level team metrics for their organization. They had made the journey to scrum from the role of a project manager and seemed to really transition the mindset of driving to create an environment of trust and transparency within a team and shunning the ideas of controlling the time/budget/scope and “resources” (word I hate when it comes to talking about people) viewpoint of traditional project management.

So my initial question was “who are these metrics being designed for”? This is something we often do not consider. There is a different need for reporting transparency and one to help teams improve. If oversight is the driving goal then the assistance to the team may become minimized. If the goal is to create metrics that are learning opportunities for the team or generate insight for a conversation then the construction of these may be much different but may provide less insight into what management may be seeking.

All metrics are not created equal …

Except, when it came to metrics it seemed. Most of the metrics they were developing were centered around trailing level metrics (lagging metrics for those who are KPI inclined) for the team. A lot of the focus was on the past as a predictor. So I raised the question; “why are you so concerned with the past” in terms of metrics?  They explained to me that this is how he could help the team improve by knowing where they failed or made bad decisions beforehand. So I asked again “given the dynamic nature of iterative development, how can you ensure that the same cause will generate the same effect”?

We discussed in detail that they were extremely proud of was the tracking of “estimated” versus “actual” hours on tasks. They worked really hard to convince me that learning the difference between the two would help them more accurately estimate the work to be done. I let them go for a while and then I had to call bull%^#$ on this.

In my opinion, the only way an “actual” at a task level will be a predictive metric is if the the same circumstances occur exactly the same way the next time. Estimation is just that. It is not predictive in nature, it is a best guess based on the knowledge known at the time. And before anyone says it, you can make a better estimate by reducing the unknowns but you can never eliminate the unknowns.

If I have a headache,  I had road rage on the drive in,  I had more meetings than normal, I volunteered to help someone, I was tired …  A whole lot of things could impact the differences between my estimation and delivery.  So in my “estimation”, this metric is a “narcotic metric”, it tends to make you feel good but it actually could be very damaging when using it.

And what if we do know this information? The key is to be able to take information learned and make it actionable. How do we do that? Send an email and tell the team to estimate better? Begin to question their estimates? Make them sign off? I cannot see how you “use” this information to help them actionably improve.

Refinement Metrics

One type of metric I always recommended for consideration is one I consider a refinement metric. This type of metric is designed to allow the team to perform self-reflection on a recent event given the context of more knowledge and apply that knowledge to a past decision. Instead of comparing the past to the outcome, it asks “given the things we learned, do we think we made an accurate assessment of the work”? Sounds similar but with a couple of differences. 1) It’s never at a task level. 2) It’s a team level rather than a individual developer level as the goal is that the team learns to become better as a team, not as just an individual member.

So what I suggested is something we would often do as part of a retrospective with a team. We would examine the stories for the sprint just delivered and look at the assigned story points. Then we would have a discussion and asked if given the knowledge today, would we apply the same story points. This typically leads to a discussion of dependencies, issues, etc and the team centers pretty quickly around a “stand/raise/lower”. This does not help them get better in defining the individual number itself but helps them reflect on this type of work and the hidden complexities that can be present to determine questions that they may ask themselves or the product owner to create a better consensus around an item in the future to the potential complexity of the work.

Just in Time Metrics

One metric that I have read about after working as a scrum master that I liked was a daily vote of confidence. If you have ever been in a U.S. hospital and had surgery there is a common tool used by nursing staff to determine the level of pain you are in to report and administer treatment. It is called the “pain assessment tool” often and looks like this:

pain-scale-chart

This allows the patient to quickly indicate the level of pain that they are perceiving and reflect this to the nurse, doctor, etc. The blog post I had read (which I wish I could recall the link) suggested using a similar scale for each team member to allow them to forecast their confidence level to meet the current sprint commitment. This allows each team member to express their confidence on a similar scale from “Yep, we rock!” to “Hey guys, I am really, really worried where we are right now” so conversations can be had to determine what’s going on for the purposes of communication at the first responsible moment or to allow the team to swarm around and issue, etc. A simplified version of this has been used by teams that involved “Roman voting” (thumb up affirmation, thumb down condemnation) as well. This type of metric gives you perception of the current state of work in a very real form and let’s you make it actionable. This is often easier to use than seeing potential patterns within a sprint burndown (which is another post).

So just as I asked this scrum master, I ask all of you. Do you have metrics? Who are they created for? Are they actionable or are they just data? How do you use them? Are they actually helping you and even more important are they bringing value back to your team(s)? How do you know?

I leave you with a quote about the importance of knowing why you are actually measuring something …

“Remember, what gets measured; gets managed” – Peter Drucker