Change Isn’t Free

Change Isn’t Free

Agile teams are told to “embrace change,” which is the subtitle to Kent Beck’s wonderful Extreme Programming Explained book. Although an agile team can embrace change, the stakeholders in an organization must understand that change is not always free.

Most agile teams seems to understand this. They get that requirements changes can crossover into requirements churn, to use the traditional term for the problem. Scrum tries to solve the problem by including as part of its framework a rule that change is not allowed into a sprint. Once a sprint has started, change is kept out of the sprint, leaving the team to focus on what was selected to be worked on in the sprint.

This can work extremely well, but keeping change out of the sprint is sometimes thrown back in the face of the team. A product owner or stakeholder who is told that a change cannot be introduced will respond with, “But I thought you’re agile, and isn’t the whole point of being agile that you welcome changing requirements?”

Well, yes and no. A team can welcome changing requirements but that doesn’t mean those changes are free. Consider the following scenario:

You’re out to dinner and settle on chicken as the main dish. As the waiter walks away, you call him back and tell him you’ve changed your mind. You’d prefer the fish. No problem, he says. There is no cost to this change. The restaurant is not going to charge you for changing your mind (changing the requirements) five seconds into your order (five seconds into the iteration).

But, let’s make things a little more interesting.

Suppose the waiter takes your order for chicken and a salad to start. He brings you the salad, and you then change your order for the main dish from chicken to fish. My experience is that most restaurants will still not charge you for this. They’ll bring you the fish even though they may have started cooking the chicken.

There may be a real cost to the restaurant. But I suspect they write it off as goodwill, hoping you enjoy your meal and the courtesy they showed you. And they hope you come back more often because of it.

And let’s say you do come back. In fact, you come back every night. And every night, you jerk the waiter around by changing your order after he brings you the salad. The restaurant is incurring real costs because of you.

They may still be nice and not pass the costs of these changes onto you. But, if I were that restaurant, I’d pass a different type of cost onto you: I’d wait to start cooking your main dish until after you ate the salad so that we were both sure of your order.

Let’s consider one additional scenario. In this case, after eating the salad, you change your order of chicken to fish, as before. But before the fish comes, you call the waiter over and tell him you’ve re-considered and the steak sounds appealing.

Then, before the steak arrives, you call the waiter again and tell him you saw the linguine served to another diner and simply must have that. At some point, the restaurant has incurred real costs from all this switching and will charge you for it.

Change is not free.

You can change your order at the restaurant up to a point for free. You can change it after that and the restaurant will do all they can to minimize the impact of that change, but beyond some point there is a cost to changing.

The same is true on product development initiatives. We can and should embrace change. It is often why we want to be agile. But we can also educate our stakeholders so they understand that change introduced beyond a certain point in an iteration has a cost. And we can work together with them to minimize those costs.

To join the conversation, head on over to the original post on my blog, here

James Zhu

Software solution expert

7 年

Good analogy with changing orders in restaurant. Every change has its cost. Often the scrum team have to absorb the cost by working over time if they decide to accept the change as goodwill without incurring additional cost (delaying project) this may be done once or twice in case of emergency, but a constantly and frequently changing requirement neans the BA or the product owner does a really poor job. There are also expected changes and unepxpected changes. The team usually understand the expectation up front so their designs are open to changes for those expected areas. When an unexpected change occurs, they often need to add one or more refactoring story (nonfunctional), before they can embrace the new change and anything similar. It is only mad that every following change comes as completely unexpected, and the scrum team will be doing refactoring after refactoring until all velocity drops to zero and the morale becomes really low.

回复
Debojyoti De

Managing SIAM Engagement for TE Connectivity

7 年

Excellent example Mike. Even a non-Agilist will understand what you meant by cost of a change.

回复
Christian Eggbauer

Head of AD Pension Fund @ Raiffeisen Group IT GmbH

9 年

Thanks Mike, good comparisons with the restaurant. Sure you are not able to fend off all stories or requirements on the top of your backlog, which were not committed, but it is important to stay flexible. Flexibility means: you can reprioritize the scope or you'll get more money and - for sure - time (sometimes time is more important) to deliver all wished, but this should be well planned. I think the customer satisfaction is on focus, but you'll have to pay the price.

Dana Baldwin

Solve problems, make a difference, be awesome.

9 年

We recently had a hot potato come into grooming near the end of sprint. It was disruptive and required removing a good portion of recent work but it was a better decision and very important to the business. My question is can we set aside some capacity in the following sprint for work we believe will come in post sprint planning even though size is barely ROMd. We don't think it will take all of the sprint but are unsure. Or would it be best to plan the sprint as is and remove points as we bring things in. Our other option and the one we chose was to go Kanban until this pressing business need could be satisfied. Thoghts?

回复

要查看或添加评论,请登录

Mike Cohn的更多文章

  • You Don't Need a Complicated Story Hierarchy

    You Don't Need a Complicated Story Hierarchy

    Consultants and tool vendors seem to have a penchant for making things complicated. It seems the more complicated we…

    7 条评论
  • Agile Teams Need to Balance Specialists and Generalists

    Agile Teams Need to Balance Specialists and Generalists

    There's a mistaken belief that to be agile, every team member must become a generalist. What I find surprising about…

    28 条评论
  • Product Owners: Quick Action Isn’t Always the Right Course

    Product Owners: Quick Action Isn’t Always the Right Course

    I’ve been doing a back-to-basics tip series, exclusively for my subscribers. This past month’s weekly tip focus has…

    14 条评论
  • With Agile, It’s Not What You Do. It’s What You Do Next.

    With Agile, It’s Not What You Do. It’s What You Do Next.

    I’ve been writing a series of tips about product owners, exclusively for my subscribers. It got me thinking about the…

    6 条评论
  • What Happens When During a Sprint

    What Happens When During a Sprint

    Successful Scrum implementations involve a handful of important sprint events (also called sprint meetings or sprint…

    2 条评论
  • What Are Agile Story Points?

    What Are Agile Story Points?

    Story points are a unit of measure for expressing an estimate of the overall effort that will be required to fully…

    14 条评论
  • Don’t Equate Story Points to Hours

    Don’t Equate Story Points to Hours

    I’m a huge proponent of estimating in story points. (You can get a full overview of how to use story points from…

    49 条评论
  • Epics, Features and User Stories

    Epics, Features and User Stories

    I’ve been getting more and more emails lately from people asking, “What is an epic, a feature and a user story in…

    6 条评论
  • Nine Agile Halloween Costumes for Scrum Teams

    Nine Agile Halloween Costumes for Scrum Teams

    It’s time to start thinking about an appropriate costume you can wear to the many agile-themed Halloween parties you’ll…

    4 条评论
  • 5 Ways to Split User Stories: The SPIDR Method

    5 Ways to Split User Stories: The SPIDR Method

    Splitting user stories. It’s something I get asked about every day.

    45 条评论

社区洞察

其他会员也浏览了