The Categories
The Economic View
- If you only measure one thing, measure the cost of delay
- Measure the work, never the worker
This is it! If you have made it through all 18 of the project keys with me, thanks for sticking it out. I hope there have been a few nuggets that have intrigued you, taught you something, and possibly even entertained you a bit. As we pull into the barn I want to share one last key…Team Velocity.
Velocity is one of those topics that managers usually salivate over. It’s a metric. It’s measurable. It can be used as a giant stick to wallop a poor unsuspecting employee. Yes. More sticks. After all, it’s no fun if you can’t beat up on an employee over their performance on occasion right? Well, I hope you can see the silliness here.
The fact is, Velocity came about for a very different reason. The idea is that Velocity is just a measure of the amount of work a team gets done per iteration. If you are using story points, it’s the number of points completed in the iteration. If you are making all stories the same size, your Velocity is the number of stories completed that iteration. You calculate your Velocity and use that number to plan your teams next iteration of work. If your Velocity is 6 points, you should plan about 6 points worth of work the next iteration.
In practice, Velocity is an INTERNAL measurement. That means it’s really only for the team to know. Managers shouldn’t need to know a team’s Velocity and frankly they shouldn’t care. If the team feels they have over committed it’s their responsibility to solve the problem. If they under commit, they will have to decide if they are going to pull something else into the iteration. The team should be working with the Product Owner to set expectations and they should be transparent about the work they are doing and that they are planning.
How do you calculate your velocity? There are a few ways that work pretty well. Most of the time Velocity is an average of the amount of points completed for a certain number of weeks. If you have done 30 points in the last 5 weeks, your velocity is 6 points per iteration. Therefore you should probably plan around 6 points for the next iteration. In that case we’re averaging 5 weeks. Some people like to average all the weeks of the project. I like to average the last 3–4 iterations. Some groups just use something called “yesterday’s weather.” Yesterday’s Weather looks at what you did the previous week and uses that as the number of points you will plan for the next iteration.
If you remember the blogs on Estimated End Date and Actual End Date you’ll remember we used Burn Up Charts. To calculate those we are using the team’s Velocity to make predictions about when they will get to MVP or finish the project.
My blog writing velocity was about 2 per week. They didn’t always come out that frequently, but that was the writing tempo. At that rate I could tell with pretty good certainty that it was going to take 9 weeks to get them all written. When I started I did 3 some weeks, 1 other weeks, but over time my progress smoothed out to about 2. Projects tend to work like that as well. As teams get better at estimating as a group and as they understand the work better, the Velocity starts to average out as well. They begin to commit to about the right amount of work and they get to a beautiful place called Steady State. That means, no 80 hour work weeks. They focus on their work, get it done and move on in a consistent manner.
Like many things, it’s a place to start. If the team gets good at delivering, the need for Velocity may start to fade or evolve slightly.
That’s it! All 18 project keys served up for you in a nice Agile stew. Again, I hope these were helpful and I hope they will spark discussion. Remember, Agile is about your mindset. These keys are just to help us think about specific areas where we often stumble. Hopefully when those stumbles occur we will take the time to learn and improve.
The ticket in the help desk system was short and sweet: “Tech on site: dead mouse.” That seemed like an easy problem to deal with, so when I called the tech – who had gone to the site to replace a drive in the client’s RAID array – I expected to be told what brand mouse and what type of connector I needed to put on order. Instead, my colleague told me he had a real dead mouse: A pesky rodent had gotten into the sealed server enclosure without tripping the containment alarm, then died. Fortunately for him, the mouse corpse had desiccated and was easy to remove and dispose of. Fortunately for me, I was on the phone and didn’t have to deal with it directly.
The above story is a type of user story, but not the kind we’re going to talk about today. It is not without its merits though. We’ll get to that in a few paragraphs. A user story is a short, clear description of a feature told from the perspective of the person or persona that wants the feature. Sounds pretty simple right? It is.
Like many things in Agile, it’s light on the prescription and heavy on the utility. Having said that, there are a few things that we believe are important.
Usually we see these in the format “As a <user/persona> I need
As a developer I need to be able to log people on to a website so that they can be authenticated.
Or
As a service manager I need to prepare documents so that customers understand the services available to them.
Is the developer really the one that needs the feature of being able to log on? More likely it’s a medical student, or professor, or even John Kimball. In the second example, is it the Service Manager that needs the documents or is it more like a user of “X” service? Thinking about who it is that is going to make use of the work you are doing is really important. It may change the way the work gets done. In the first example you may design the logon interface differently if the persona is a medical student than if it is a professor. If it is a logon interface for someone at the service desk it may be different still.
We usually do a pretty good job on the “what they want” section, but additional information about why they want it may also help us make a decision about the way we will solve the problem. If the “why they want it” part is to be compliant with a regulation, it may change the technology the team decides to use.
I like to start all new teams off with this format. Once they get proficient at writing stories with the persona and the “why they want it” parts I will usually let them decide if they want to change up the format to better suit the team. Some teams change it, some stay with it.
This is an area of a lot of controversy. Some people think estimates are good, some not so much. Some people believe all stories should be the same size. I’ve done estimates with story points and I’ve done them where every story gets the same value. Each have offered some level of success. The usefulness for me lies in a side effect that comes from a team estimating together. The discussion. If you are estimating a story with your team and one person has a high estimate and one person has a low estimate, I get excited. I love it when that happens. In almost every case a spirited discussion ensues where both sides explain why they think the story is big or why they think it is small. Most often you hear great stories of how they have done something similar in the past. How it either took longer and had all kinds of complexity or about how there was a simpler way of getting the work done. The key is to have that talk and decide as a team.
Perhaps the most important part of the story. The steering wheel for the car. The wife to the husband. The Steve Jobs for Apple. It’s the part of the story that helps us confirm that it is done. It’s the part that explains what we will show the customer. In our first example our acceptance criteria might be “Medical student can go to http://blahblahblah, enter their user name into the user name field, enter their password in the password field, press submit and they get forwarded to the application.” You could imagine how this could be demonstrated.
You will often hear people say “what is your definition of done for that story?” How will you know when it is complete? When you can demonstrate what is in the acceptance criteria, the story is done. Some teams may decide that stories have to be in production before they can be considered done. Some teams may be ok with just demonstrating that the acceptance criteria has been satisfied. Either way, the team should have a clear, consistent approach to what done means for their stories.
One thing I hear all the time is that the story is done except I have to clean up this or that. In fact, I’m not the only one that has heard this over and over again. It has been said so frequently that the notion of “done done” has come to mean really done or completely done. Seems silly. Almost could be a gag in a Monty Python skit.
Guy dressed as a woman 1: My parrot is done
Guy dressed as a woman 2: No it’s not.
Guy dressed as a woman 1: Yes it is…it’s done done.
Guy dressed as a woman 2: Done done? Yeah, done done.
Guy dressed as a woman 1: You have one done parrot.
The basic idea here is that Done Done means completely done. No extra little loose ends to tie up. That thing is DONE!
Sometimes you’ll hear people talk about User Stories as artifacts for discussions. In other words, it’s the beginning of a contract that the writer has with the team and the Product Owner to say, we will talk about this. Just like in the estimation, the power is in the discussion. Now if we go back to the mouse story we began this tome with, you can see where a discussion up front would have helped. If there was a story that talked about a dead mouse, the first question I might ask is, “do I need rubber gloves, a dustpan and a broom or should I bring a spare logitech pointing device?”
I know the reality of only having three more project keys is probably starting to settle in. You’re feeling the longing already for whatever is next. I understand. It is a sad time for all of us. At least those who have been following along these last few weeks. I’ll try not to let you down as we enter the home stretch.
T-Shirt Size. I’m a Large Tall thank you. What could this possibly mean? Well, I will tell you it has very little to do with T-Shirts. It’s really about estimating the size of the project.
Before we embark on the journey that is a typical project, it is incredibly helpful if we have an idea of how big it is. Experience can be really helpful here. If you routinely build websites and a new request comes in for a website that is similar to one you have done before it’s pretty easy to estimate. If a project appears at the feet of your team that is different than anything else you have done it can be a little tricky. There are a couple ways to go about it. One way is to ask others. Yeah, that communication thing again. If you talk to people that have done something similar you can usually get an idea of the relative size of the project.
Another approach is to dissect the project into large chunks that you think are more estimable. For example if you have never built a full website before, but your team has done wireframes before you can estimate that part. The next chunk may be styling, another may be content, and finally there may be some custom development. When you break a project into chunks it is usually easier to estimate the chunks and then add them up to get a general size.
We advocate creating a project charter document of some sort. We like the Inception Deck. Some groups use A3s. Others have an Inception Document or Project Charter. All of these are great to facilitate a discussion and some group estimation.
Our T-Shirt sizing is as follows:
Small (S) = 4 - 6 Iterations, where an Iteration is 1 week. Medium (M) = 7 - 12 Iterations, where an Iteration is 1 week. Large (L) = 13 - 26 Iterations, where an Iteration is 1 week.
Note, we don’t have anything longer than 26 iterations. It’s a rule we have with our projects that none of them go longer than 6 months. Now don’t get upset…that doesn’t mean that we are killing all work on 6 months and 1 day. The idea is that we have struggled with projects that labor on and on. The 6 month rule gives us an opportunity to reassess if the project is yielding the business value we anticipated when we decided to do the work. The metaphor we use a lot is of an old farm road.
Imagine you are on this old, dirt, one lane farm road. You’re driving along and then you catch up to a slow moving tractor. You can’t pass, you’re stuck. As you look in your rear view mirror you notice cars starting to back up behind you. This is what happens when we do huge projects. The huge project (tractor) just keeps plodding along and there is no way for the smaller, faster projects to proceed. The 6 month rule allows us to assess and decide if we want to keep plodding or to pull over and let others pass. By keeping projects on the smaller size we can continue to focus on the ones that will achieve the highest business value.
People think that they are that rare snowflake that can multitask. There is a mountain of research that proves otherwise. Our brains just aren’t made to deal with more than one complex task at a time. I hear it all the time. I’m different. I can’t work any other way. I’m faster when I do more than one thing at a time. The truth of the matter is that you’re not different. That is unless you have an additional lobe in your brain in which case, you better see a specialist. You’re not different, but you are cheating your team, the company, and yourself.
From: http://www.npr.org/2013/05/10/182861382/the-myth-of-multitasking:
Dr. Clifford NASS: The research is almost unanimous, which is very rare in social science, and it says that people who chronically multitask show an enormous range of deficits. They’re basically terrible at all sorts of cognitive tasks, including multitasking. So in our research, the people who say they’re the best at multitasking because they do it all the time. It’s a little like smoking, you know, saying, I smoke all the time, so smoking can’t be bad for me. Unfortunately, it doesn’t work that way…
NASS: …That’s right. No, they actually think they’re more productive. They actually think they tend to - and most notably, they think they can shut it off, and that’s been the most striking aspect of this research.
We - the people we talk with continually said, look, when I really have to concentrate, I turn off everything and I am laser-focused. And unfortunately, they’ve developed habits of mind that make it impossible for them to be laser-focused. They’re suckers for irrelevancy. They just can’t keep on task.
In fact, this is a great quote from some of the research Dr. Nass has done:
We were absolutely shocked. We all lost our bets. It turns out multitaskers are terrible at every aspect of multitasking. They’re terrible at ignoring irrelevant information; they’re terrible at keeping information in their head nicely and neatly organized; and they’re terrible at switching from one task to another.
When many people visualize what happens when our minds are “focused” on more than one thing they see a highway with a traffic jam. It’s pretty obvious that things aren’t moving. That means no one is getting on or off. Practically in our context it means work isn’t getting done.
What’s even worse is that work that doesn’t get finished tends to stay in our minds causing anxiety and stress.
I’m not going to go through all the science behind multitasking and its effect on the brain. I’ll let you do that if you don’t believe me. A quick search for multitasking will get you started. I haven’t seen a single study that says it is good. So if we can just make this small step together and admit that multitasking is bad, we can move on.
Good. So now that we know that multitasking is bad, how do we deal with it in our projects? We make the concerted effort to Minimize Work in Process/Progress (WIP). Let’s start by a subtlety in the definition of WIP. WIP stands for Work in Process and Work in Progress. It turns out they mean two slightly different things. Work in Process means all the work that is actively flowing through your process. In the case of Kanban it’s all the work that is on the board in one state or other. Similarly in Scrum, it’s all the work that is on your Scrum board. Work in Progress however, is the thing (preferably one thing) you are actively working on. In this case it is more like the story you have in a column. It’s a bit subtle, but we should get our lingo straight so that we are all talking about the same things.
Now, how do we handle it? Well, we set a limit on each of the columns in your process. If you have a column called “In Progress” you should set a limit of how many items can be in that column. If you have a team of 4 people, you may start with it at 4. One story for each person on the team. After an iteration or two, you should start to see if there are bottlenecks in the flow of your work. If there are, you can try making some changes to your WIP limits. That’s the simplest place to start.
While it’s a simple way to start, it really works. If you start dumping 10 stories into In Progress, you have violated your WIP limits. Don’t do that. Resist the urge. Finish one story, move it on in the process and pull the next one forward.