Monday, April 28, 2014

Book Review: The Principles of Product Development Flow - Second Generation Lean Product Development





Let me preface this review by stating for the record that I read a lot of non-fiction books.  Many of the books are about about management topics, which should come as no surprise to those who know me.  By the time a book gets on my radar, it probably has some new information to offer.  Unfortunately, this is often limited to what I refer to as a few “golden nuggets.”  Even good books have lots of fluff in between the nuggets, usually in the form of extended stories to illustrate the point.


I mention this because Reinertsen is an author who has stood the typical model on its head.  If anything, he left me wanting more stories that would further illustrate the mountain of golden nuggets he has provided.  As the name implies, the book is broken down into a series of principles that have been categorized into eight major groups with several sub-classifications for each.  Although the book is under 300 pages long, it felt like many 500 page books I have read.  Let’s just say “it’s dense!”


The Categories

In addition to evaluating the work, a good nonfiction book review also provides a taste of some of the information the reader will gain.  Given what I have already said, you can imagine that my attempt will be wholly inadequate, but at least I can try to pique your curiosity.  Let’s take a look at each of the eight categories in brief.


The Economic View

For me, this chapter packed the largest wallop.  I have become a skeptic of concepts and practices that are not measurable and Reinertsen dives right in with this chapter about ascribing economic value to the work we do as product developers.  He points out that we often use surrogate (or proxy) measurements that offer little or no economic connection with the marketplace.  Even in an organization in which product developers are building tools for internal consumption, there are clear economic drivers that can guide us in good decisionmaking.  


Two things jumped off the pages of this chapter:


  1. If you only measure one thing, measure the cost of delay
  2. Measure the work, never the worker


The Cost of Delay is a premonition of the next category of principles.  Almost all economic factors can be traced back to managing delay.  One of the great additions to the lexicon of product development comes from the notion of quantifying factors that those of us in product development often treat as “soft” measurements.  This is not to say that we should spend extensive effort on computing economic value to the last dime.  In fact, the author argues that just getting close delivers almost all of the value of measurement with a fraction of the effort.


The reason for this can be represented in the graph below:
Fig2-2rev1.jpg


Here we see two opposing metrics: transaction cost and holding cost.  Throughout the book, this is a recurring theme.  Two opposing forces create a U-Curve (depicted here as total cost), which gives us a range of good choices near the trough.  Approximating this point nets you optimal economic advantage without extreme accuracy.  More later about the specific factors listed here.

Managing Queues

Anyone familiar with Lean thinking understands the importance of queues.  Unfortunately, many people assume that the principles that apply to the repetitive cadence of manufacturing have no place in the less predictable world of product development.  This set of principles dispels this misconception.  Reinertsen argues that queues are the most important factor in maintaining optimal product development flow.


Product development queues are more insidious because they tend to be invisible.  In a manufacturing environment, work in process (WIP) inventory build up is easy to see.  But, more importantly, it is easy to quantify.  We often think of product development backlogs as free.   They are not.


Queues affect capacity utilization.  As queue size increases, we tend to apply more of our capacity to alleviate the situation.  This increased capacity utilization reduces our flexibility, which is mandatory in the unpredictable world of product development.  Reinertsen uses a series of mathematical formulas to illustrate how high levels of capacity utilization on an ongoing basis increases queue size and derails product development efforts.  He prescribes controlling capacity utilization as the best way to manage queue size.

Exploiting Variability

In the manufacturing world, variability is almost always bad.  Six Sigma and Lean thinking encourage us to stamp out variability.  In product development, variability is not always bad.  Because Agile development draws from these disciplines, we must be very careful not to take too much with us.


What becomes clear from the pages of this book is that we must remain vigilant for unexpected variations from the plan that benefit the product.

Payoff Function.png


The payoff/performance chart above illustrates a typical product development feature payoff curve.  Clearly, there comes a point at which additional features cost more than the benefit that is derived from them.  If we can apply economic principles to the value of features, we can quantify the benefit of continued development and properly assess whether additional features make economic sense.


If variability has both positive and negative consequences, it stands to reason that we should only try to eliminate bad variability.  Reinertsen discusses ways in which to do this.  He also introduces this idea:  when it is imprudent to eliminate variability, the better choice is to minimize its cost.  Lowering capacity utilization (and thereby queues) and reducing batch size (iteration cycle time) have such an effect.

Reducing Batch Size

No self-respecting Lean approach to product development would be complete without discussing batch size.  In product development, batches contain one or more functional elements.  Batches can be more elusive in an uncertain environment.  Often functionality that seems like it will require minimal design and development effort ends up being anything but.  The opposite can also be true.  There are no easy answers to this conundrum, but adaptability to a changing situation is paramount.


Anyone working in an Agile software development environment is familiar with the benefits of small batch size.  Small batches (or short iterations) provide fast feedback (more on this later), but they also have the effect of reducing queue size.  The simple diagram below illustrates this perfectly.




Clearly, big iterations require big queues.  Reducing batches can have many benefits in a software development environment.  Here is an example from the book for the testing portion of software development.

Small Batch SW Dev.png


Much of this chapter is a rehash of concepts that are familiar to anyone who has used Agile or Lean principles: colocation, short iterations, low hanging fruit, and modular design are all discussed.  While none of these ideas are new, it it valuable to read about them in the context of maximizing economic value.

Applying WIP Constraints

Continuing the theme of ascribing economic value to costs of delay, the chapter on WIP discusses how said cost can be minimized by controlling WIP.  A number of tactics for controlling WIP are put forth.  Goldratt’s Theory of Constraints is invoked along with rate-matching between adjacent processes.  The following chart shows compelling evidence of the efficacy of WIP constraints.

Effect of WIP Constraint.png


The usual suspects are rounded up for slashing WIP: cutting low-value features, flexible resource allocation and blocking demand.  Reinertsen also provides a number of ways to visualize and monitor WIP to know when to deploy WIP control measures.

Controlling Flow Under Uncertainty

One of the hallmarks of this book is the use of some unexpected sources for models of behavior.  In this chapter, Reinertsen uses traffic control systems because they must adapt to constantly changing and uncertain conditions -- accidents happen.  Weather happens.  Street repair happens.  Some of these things happen on a schedule that can be anticipated and others cannot.  Sound familiar?


What we learn from this example is that flow is a product of speed and density.  Furthermore, small changes in either can have a profound effect on flow.  When either goes up significantly, congestion quickly ensues.  As we already know, congestion for product developers means bigger queues, higher capacity utilization, delays and higher costs.  How to manage this?


One of the best examples of what Reinertsen calls “controlled occupancy” is familiar to Californians.  It is what they refer to as the “ramp meter.”



Ramp meters control the volume of vehicles on the freeway and thereby increase flow without actually limiting access.  We can use similar mechanisms to manage WIP level.  Ideas such as cadence, forecasting and synchronization are discussed.  As is the case throughout the book, concepts introduced elsewhere are interwoven.  Capacity utilization is revisited with an eye towards determining the correct margin to leave available to ensure higher flow rates.


There is also a very interesting section of this chapter that discusses how to sequence work.  All things being equal, it is best to do the smallest jobs first in order to reduce the cost of delay.  However, different jobs will often have vastly different costs-of-delay.  In this case, it is usually better to do high cost-of-delay jobs first.  There is a lot of great material here and the usual mathematical treatment of the topic, which will help the practitioner with better tools to evaluate how work can be optimally sequenced.


The chapter concludes with a discussion of resource management.  I would like to provide some additional details here, but I will refrain in order to keep this review to a manageable length.  Again, you will find some powerful tools to think about how to optimize the use of human and system resources.

Using Fast Feedback

Creating short feedback loops is nothing new to the Agile practitioner.  It is a central principle and the entire philosophy tends to revolve around arranging work to get fast feedback.  Here again, we see the use of a more quantitative approach to evaluating this feedback and defining the right metrics to target economic indicators of performance.

Balanced Set Points.png


The chart above shows how different control variables have different economic impacts and should therefore have different tolerances for variation (i.e. Set Points).  Here we see two different projects in which the same variables have different economic impacts.  So, the set points have been adjusted to match the sensitivity of each variable.  This has the effect of equalizing economic deviations.


Reinertsen cautions against mistaking dynamic goals for static goals.  This can be particularly true with software development projects because we often establish goals for the project in the early stages and become locked into our believe that deviations from those goals are categorically bad.  Design goals are almost always dynamic.  As more is learned, we must be prepared to throw out our most fundamental beliefs about why we are doing the project and what we need to accomplish.  It is only through this type of thinking that we can exploit positive deviations.  Fast feedback allows us to remain vigilant for these opportunities.


Fast Feedback.png


Fast feedback provides a reinforcing cycle that keeps our inventory of design variations low.  Because we are constantly correcting our course, refactoring prior efforts that turn out to be bad deviations are kept small enough to be much less costly than the deviations that come from longer feedback cycles.


There is a lot here about not only selecting the right metrics, but how to establish the right control mechanisms so that the metrics have their intended consequences.  One example offered is that of the bathroom scale purchased to measure weight-loss performance.  Many who have had this experience will report the ultimate avoidance of the dreaded device.  Only with the proper controls in place does the scale become an effective tool within the system.

Achieving Decentralized Control

In my own experience, companies that implement decentralized control often exhibit a mild form of schizophrenia.  Leadership feels obligated to assert their authority, while at the same time sending messages that people at all levels should feel free to make “appropriate” decisions.  Without clearly defining what “appropriate” means, staff are left questioning what decisions are available to them and thus act as though they have no decision-making power unless specifically granted on a case-by-case basis.


In this chapter, Reinertsen uses his military experience and training with the Marines to illustrate how an unlikely organization provides a shining example of the principles of decentralized control.  He points out that in the military, field personnel are given a mission, but since conditions on the ground can change rapidly, advantage goes to the fighting force that can adapt the quickest.  Relying on extensive central command slows things down, puts decisions in the hands of those with the least knowledge of the situation on the ground, and risks miscommunication when orders are returned.


People who work together develop tight communications based on common context and language.  When leadership defines the mission clearly, teams can interpret their situation against that mission to make good choices.  They can also assess when it is appropriate to engage leadership.


My favorite part of this chapter was the discussion around alignment.  The discussion of creating clear roles and boundaries resonates because too often neither of these are well-defined and clearly communicated in a manner that is actionable by team members at all levels.  Reinertsen, in typical fashion, offers lots of ways to evaluate the characteristics of managing decentralized control by integrating ideas from all the preceding chapters.  

Conclusion

Throughout this book, ideas are integrated from different chapters.  Because each principle is labeled with the type and a sequence number, the book is easy to use as a reference.  When one principle calls for integration with another, we get a clear picture of how all these principles fit together to form a coherent strategy for building effective product development organizations.


Despite the fact that much of the content has been covered by other texts on Lean and Agile development, Reinertsen brings a rigor to these practices that is often missing from other offerings.  By focusing on real economic value, we learn to manage the elements of a project that matter most.  I came looking for a few nuggets and found an entire gold mine.

Key 18 - Team Velocity: Michigan Agile Philosophy (MAP) Project Key

Michigan Agile Philosophy Project Key 2014-02-25 10-11-1

18. Team Velocity

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.

Monday, April 21, 2014

Key 17 - User Stories: Michigan Agile Philosophy (MAP) Project Key

Michigan Agile Philosophy Project Key 2014-02-25 10-11-1

17. User Stories

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.

  • Story
  • Estimate
  • Acceptance Criteria
  • Discussion

Story

Usually we see these in the format “As a <user/persona> I need so that .” This format freaks some people out, but I actually like it. At least for new teams…at first. The pitfall I see on some teams is that they build the feature from their perspective instead of the perspective of the person who will benefit from it. For example I see this kind of thing a lot:

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.

Estimate

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.

Acceptance Criteria

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!

Discussion

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?”

Monday, April 14, 2014

Key 16 - T-Shirt Size: Michigan Agile Philosophy (MAP) Project Key

Michigan Agile Philosophy Project Key 2014-02-25 10-11-1

16. T-Shirt Size

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.

Tuesday, April 8, 2014

Stress


There is little doubt that regardless of your station in MSIS that there is stress and stressors we are in the context of every day, every hour and for some...every blog post.  We are quite deliberately in an area of service that is often viewed as the cause of and solution to so many of the UMHS issues. Additional to that we have a couple long years of organization changes, process changes, methodology changes and so on. Here are a couple trends that I see albeit subjectively we should collectively pay more attention.

1.) Staff are not using their vacation and they should.

Your vacation is as much as part of your compensation as your salary. Not using your vacation or letting your vacation max out is not a badge of honor that you work harder than others and in some cases is throwing money out the window that is rightfully yours. We are doing more in the area of reducing our single points of failure and individual dependencies so that one person or technology cannot cause the whole darn place to fall apart. We do not want vacation to come at the price of insurmountable "digging out" upon your return.   Certainly there is an appreciation for individual expertise, but if you cannot take a vacation because of work that cannot continue on with out you, we have an obligation together to remedy that for your well being and the sustainability of the services we provide.

If you feel that you would like to use more of your vacation but the team or technologies are not allowing you to do so, I ask you treat this as an important issue to resolve with your supervisor or any member of the management team.

2.) Staff are not availing themselves of professional development in the discipline of reducing stress and overall mental wellbeing as much as they could.

UM HRD has a number of seminars and resources on how to address stress. Stress itself is not a personal failing. Everyone has stress and few have the skill-set to naturally manage it. Just like playing the clarinet, learning to manage stress takes instruction and practice.

Look here:
http://hr.umich.edu/mhealthy/programs/mental_emotional/index.html

3.) Forgive each other.

It sounds easy enough but I know that it is not. Every day we all have more on our to-do list than we have hours in the day. We are extraordinarily lucky to have the MSIS team work together as it does. So many of our peers do not get the same opportunities as we do but it comes at a higher price. Part of that price is that we are always working on new technologies, methods and relationships. Mistakes and missteps happen. Incorrect perceptions happen and indeed correct perceptions happen that we all need a little more leeway with. I am not asking you ignore or forget minor professional indiscretions, but I am asking you forgive them and work through them.



Monday, April 7, 2014

Key 15 - Limiting WIP: Michigan Agile Philosophy (MAP) Project Key

Michigan Agile Philosophy Project Key 2014-02-25 10-11-1

15. Limiting WIP

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.