Tag: software development

  • How Scrum Teams Can Seek Out and Destroy Organizational Impediments and Unplanned Work

    How Scrum Teams Can Seek Out and Destroy Organizational Impediments and Unplanned Work

    [May 2026] I’d now call this the early Planned/Unplanned Velocity instinct. The 2014 practice (track unexpected requests and impediments as a separate signal) has matured into SPC control charts on the two streams (Shewhart, Wheeler) plus a displacement rule that triggers intervention when unplanned work crowds planned work; same instinct, sharper measurement.

    [August 2026] The refusal at the heart of this post, that a team landing at 72% has told you something about its conditions rather than about itself, is what Chapter 14 of Come Prepared to Die works through. The chapter carries it into incident response, where hunting the operator who deviated leaves the conditions that produced the deviation untouched.

    A team should be able to complete 80–110% of their planned stories each and every sprint without heroics.

    Why is this important?

    • The work output from this team is predictable. When the team commits to a set of stories at the beginning of the sprint, other teams can rely on them to deliver.
    • Predictable output breeds confidence. If a team consistently delivers on their commitments, they are considerably more credible when they need to push back on unrealistic expectations.
    • The team will likely feel motivated because they’ve demonstrated a degree of mastery in their craft.
    • The team has a stable base. Because they are delivering on their expectations, they can focus their energy on continuous improvement and optimization.

    If a team regularly completes less than 80% of their sprint objectives, why does this happen?

    • The work tasks do not meet INVEST criteria and thus cannot be estimated accurately.
    • New work is given to the team mid-sprint.
    • The team faces new and old impediments that interfere⁠—usually unpredictably⁠—with their ability to deliver the work.

    It’s not always easy to glean these issues from tools like Rally. Thankfully, there’s a simple solution that can help both individual teams and the program discover the severity and nature of the issues that prevent a team from achieving fast, flexible flow.

    The Status Quo

    Let’s take the example of a 2-person team working a 2-week sprint. (This isn’t an ideal team setup, but it keeps the numbers easier to work with.) Here’s their sprint backlog a few hours after planning:

    Rally sprint backlog a few hours after planning: six stories totalling 39 points and 93 task hours, with all 93 hours still to do and work started on the first story.

    They’ve taken on 39 story points, which is one fewer than the 40 accepted story points they completed last sprint. That’s perfectly reasonable.

    They’ve added tasks to each of these stories and began work on the first one.

    I like to assume 6 hours/day of productivity per developer to account for planning meetings, standups, retrospectives, breaks, lunch, etc. Two developers * 2 weeks * 6 hours/day = 120 hours. Assuming a 25% “safety factor” (some teams use 30%, others use 20%, the truth is that we’re splitting hairs at this point), the team should be able to complete about 96 hours of planned tasks this sprint. They’ve identified 93, so this “smells” okay.

    (Note: the team should use story points to gauge how much work to accept into the sprint backlog. Use the task hours as a sanity check.)

    Let’s fast forward a week and a half. It’s Tuesday afternoon, and there are about 2-1/2 days left in the sprint:

    Rally sprint backlog mid-sprint: two stories accepted, two partly done, two not started, with 36 of 93 task hours still to do.

    The product owner accepted 18 points or 46% of the sprint. There’s 36 hours of work left and about 30 hours of time left, so we’re a little behind. Most novice Scrum teams would not register concern at this point.

    What happened during the sprint? The development team raised impediments during the standup and worked through them. One developer was out sick for a day. The team had to go to an unexpected all-hands meeting, and they had to do a couple of side projects.

    The problem is, there’s no measurement or record of these unexpected requests and impediments. The unexpected requests should not have been added mid-sprint unless they were (rare) “on-fire” issues. The team (and anyone who attended the standups) would know what the issues were, but this knowledge is limited or non-existing at the program level or higher.

    This is a missed learning opportunity as we do not have the transparency we need to inspect and adapt.

    Introducing the Unexpected Requests and Impediments Story

    Let’s rewind and add a new story to the sprint backlog:

    The same Rally sprint backlog with a seventh item at the bottom, Sprint 5 Unexpected Requests and Impediments, carrying no points and no hours yet.

    Note the addition of “Sprint 5 Unexpected Requests and Impediments” at the bottom. This doesn’t get story points and it’s at the bottom because it’s the last thing you want your team to be working on.

    Each and every unexpected request or impediment gets added to this story as a task (with hours) during the sprint, like so:

    The Unexpected Requests and Impediments story expanded into 46 hours of tasks: a marketing deck (12 hours), fixing a broken staging environment (18), a conversion report (2), a production rollback (6), an all-hands meeting (2) and a sick day (6).

    Suddenly these side projects and impediments become real.

    Let’s take a look at that mid-sprint view of the backlog again.

    Suddenly, the problem becomes even more clear. We should be able to complete about 120 hours of work in a 2-person, 2-week sprint, but our task estimate is now up to 139. Unless this team works overtime (which they should not do as it is demotivating and ultimately productivity-killing), we’re not going to complete all of our stories in time for the demo.

    So here’s where this team ended up right before their demo:

    Rally backlog just before the demo: four stories accepted (28 of 39 points), one story partly done and one not started, plus the completed Unexpected Requests and Impediments story.

    They completed 28 story points or 72%. A “pointy-haired boss” might look at this team and say “you failed.”

    That statement in and of itself is a failure. It jumps to the conclusion that the team experienced a performance failure. In reality (with all credit due to Mary Poppendieck), the more likely failure is that of the original hypothesis: that the team could have completed the work in the first place. There’s a major missed opportunity: the opportunity to learn something from our system and adapt.

    We budgeted 25% of our time for these sorts of issues, or 24 hours. We wound up with 46 hours of unexpected requests and impediments, 22 hours “over budget.” We had 15 hours of work remaining on the two stories we didn’t complete, so it’d be pretty reasonable to say that had it not been for those extra 22 hours of work, we would have completed this sprint (and perhaps even added a 1- or 2-point story).

    Ideally, you’re keeping track of your velocity from sprint to sprint. Add another metric: keep track of the percentage of task hours each sprint that came from unexpected requests and impediments.

    So what?

    Now we have transparency. Transparency allows inspection, inspection allows adaptation. Here are some ways to use this information to inspect and adapt:

    • The team can review the impediments and suggest user stories to the product manager (often spikes or technical user stories) to help address some of the underlying technical impediments.
    • The team can use this as feedback that they may need to slow down and refactor to address technical debt. They may not want to create new user stories, but they should at least spend a little extra time on their new user stories to clean up old debt and avoid creating new debt.
    • The Product Owner can show stakeholders the cost of unexpected requests and impediments on their predictability. This gives them the evidence they need to hold off on new requests until the next sprint and spend more time building quality into the work that they are doing.
    • Engineering managers and program managers can review impediments across teams and look for impediment patterns to solve. For instance, an engineering manager may be able to quantify that the company spends 10-15% of their development time fixing broken environments. This data could justify an much-needed investment: “We lose $1M a year in productivity fixing broken environments [based on salaries multiplied by time lost]. A new VM system would reduce this cost by 50% and cost us $100K.”

    There you have it. Regardless of the software you use (if any), you can add the Unexpected Requests and Impediments story to your sprint backlog. You can use the data it generates to gain knowledge and take corrective action.

    What are your thoughts? Have you used something like this in your own team? Please share your thoughts!

  • The Three Most Important Aspects of a Successful Product

    The Three Most Important Aspects of a Successful Product

    [May 2026] The three-part frame (delight, value, good) still anchors how I think about products and AI tools alike. The “create value” section has matured into Reinertsen’s flow economics and cost-of-delay weighting; the “do good in the world” section has become more important, not less, as AI raises the externalities question.

    My elevator speech back then went like this: “I design, develop, and ship innovative products that delight customers, create value, and do good in the world.”

    Those last three components⁠—delight customers, create value, and do good in the world⁠—are the three most important aspects of a successful product. Here’s why I think so.

    (more…)
  • Mary Poppendieck’s “The Tyranny of ‘The Plan'”

    Mary Poppendieck’s “The Tyranny of ‘The Plan’”

    [August 2026] Mary names a paradigm here that I’ve since written a book around, and she got there well before I did. Her claim is that a schedule rolled up from a work breakdown is a hypothesis dressed as a commitment. Chapter 7 of Come Prepared to Die works that axis and leans on this talk to do it, particularly her reading of Sapolsky on Polaris, where PERT turns out to have been a façade built to keep Congress paying. Her Empire State material runs the other way, toward Chapter 8. They had a fixed date, 1 May 1931, because that was when New York leases turned over, and on the day the contract was signed there was no design. The stone went up in 8 months. The job came in 18% under budget. The Empire State build is also the cleanest case I know for scheduling by flow rather than utilisation; I take that up in Utilisation vs Flow. If your plan keeps going nervous on you, the plan is likely the problem, not your team. Working out which one you have is most of the diagnostic I run. If you want this school of thought as a primary document, the 1984 NUMMI team member handbook shows the same thinking written for the factory floor.

    A couple of years ago, my former manager David Denton forwarded me a recorded presentation by Mary Poppendieck, a leading Agile software development expert and co-author of the popular book “Leading Lean Software Development: Results Are not the Point.“

    Watching the video on the InfoQ website is a bit kludgey and Mary has lots of wonderful details that are worth hearing. So, with Mary’s permission, I’ve had the video transcribed and included her slides in context. I hope that this will make this very useful knowledge easier to find and learn from. Mary, thanks again.

    I’ve eschewed block-quote formatting as it made this transcript a little harder to read. I’ve also edited slightly for readability. Otherwise, everything beyond this point is Mary’s work.

    (more…)
  • “Silent Lens” Wins Google Ideas challenge at the Google “Develop for Good” Global Hackathon

    “Silent Lens” Wins Google Ideas challenge at the Google “Develop for Good” Global Hackathon

    [May 2026] Silent Lens didn’t ship; for off-grid mesh comms today I’d point at Meshtastic, with the caveat that Meshtastic isn’t hardened against adversarial regimes the way this design aimed to be. The public-key crypto for evidence, immune-system trust gradient, and courier-fallback delivery were all aimed at a much harder problem, and the architecture still seems plausible to me.

    I attended the Google I/O Extended “Develop for Good” hackathon in San Francisco in late June. We were asked to create a solution for one of three challenges:

    • Google Politics & Elections: Citizen Engagement for Politics & Elections
    • Google Ideas: Conflict Reporting for Blackout Situations in Repressive Regimes
    • Google Green: Help us all be a little greener!

    Our team won the Google Ideas challenge! My sincere congratulations to my team mates Perry Chow, Ansgar Halbfas, Ryan Quellet, and Andrew Song.

    (more…)
  • The Customer is the Marshmallow

    The Customer is the Marshmallow

    [May 2026] This argument still holds. Both “ship quickly and often” and “defer commitment” remain true today; cost-of-delay weighting (Reinertsen, Fox & Gregory) and real-options framing are the sharper economic vocabulary that grounds them.

    [August 2026] “They build slowly and test often” is the practitioner’s version of an argument I make more formally in Chapter 7 of Come Prepared to Die: a plan held as a commitment kills the learning, and a plan held as a hypothesis invites it. The marshmallow is what a premature commitment feels like when it lands.

    Many of you will be familiar with Peter Skillman’s Marshmallow Challenge, an exercise frequently given to teams and business school students. Teams of four are given 20 pieces of spaghetti, 1 yard of tape, one yard of twine, and a marshmallow. They are then given 18 minutes to build a free-standing structure that places the marshmallow as high off of the table as possible. The team with the highest marshmallow wins.

    If you haven’t seen it already, Tom Wujec’s TED talk is a good place to learn about the challenge. And if you haven’t introduced your team(s) to it, take 45 minutes out of one of your days to administer the challenge and see what revelations you get.

    (more…)