Those of us who’ve adopted (and adapted) Lean software techniques owe a debt to Eiji Toyoda, and especially to Taiichi Ohno, who developed the Toyota Production System (TPS) and forever changed the way manufacturing – and eventually much of software development – works. According to Wikipedia:
TPS is grounded on two main conceptual pillars:
- Just-in-time – meaning “Making only what is needed, only when it is needed, and only in the amount that is needed”
- Jidoka – meaning “Automation with a human touch”
Core to jidoka is the concept of “stopping the line,” which means that when someone at Toyota identifies a problem, they’re required to stop production and resolve the issue. This ensures problems are addressed immediately, when they’re easier, less expensive, and less frustrating to fix.
Our eCommerce team has embraced this way of thinking. Our agile product teams are familiar with the Toyota story, and they understand the importance of identifying problems early. They sit together at tables, which makes collaboration easy, and they have daily stand-up meetings to make sure everyone’s on the same page. Best of all, they’re aligned around common goals, so they have the same motivation to improve the customer experience and their KPIs.
So why won’t they stop the line when they see an issue?
Stopping the line is really, really hard
Recently, my team released a couple of new features that weren’t up to our usual standard – experiences that were a little bit clunky. In both cases, after the projects were complete and the new functionality was deployed into production, we removed the new functionality from our site, sending the teams back to the drawing board. Weeks later, we’re still in the process of rebuilding these features, and we’re going through the work in great detail as a team to make sure we get it right.
Every single member of the team knew – weeks before launch – that the experience was less-than-perfect. And every single member of the team had been coached multiple times to stop the line. Even further, if you asked any member of my team if they understood the importance of stopping the line – if they agreed with it conceptually – every one of them would have said yes. And yet, nobody did it.
I asked three people why, and they all said some version of this:
Our team is working on becoming a well-oiled machine, and I don’t feel comfortable slowing things down.
The machine
Earlier this week I attended DevJam’s excellent Product Conference, and I was glad to hear its founder David Hussman discuss how product and agile are evolving. “We’ve gotten really good at building the wrong thing faster,” he said, and I couldn’t agree more.
My team was built for speed, and although I kept telling them to stop the line, I also told them a lot of other things:
- “This new functionality is going to add a lot of revenue for our business.”
- “You’ve got a long backlog.”
- “If we get this done pre-holiday, it’ll be great for the bottom line.”
- “Our Marketing team really, really wants this now.”
- “It’d be great to get both of these projects done next quarter.”
By now you get the idea, and hopefully you see the problem. And it wasn’t just me. My team supports a lot of brands, and the brand owners, marketers, merchandisers, technology teams, senior executives – everyone, really, was in some way or other telling our product team to do more, faster.
In response, we became a machine built for speed. We got good at getting a lot of projects done, and we found a way to set and meet the goals we had before us. We implemented Test Driven Development (TDD), built automated tests, and found ways to get closer and closer to continuous delivery. And I’m convinced that every one of these things was – and is – the right thing to do.
The problem is that we did them at the expense of building great things.
In my next post, Encouraging people to stop the line with both carrots and sticks, I’ll describe what we’re doing about it.
Lee,
I enjoyed your piece. We unwittingly at times send mixed messages as we are all caught up in the moment. Today’s corp environment produces a tremendous amount of “to do’s” which forces us at times to judge ourselves based on how well we are moving through our list of items. Success = Getting Things Done.
However that thinking can lead to many pyrrhic victories. Yes we accomplished a lot but we sacrificed things along the way that when those sacrifices are added up the loss can be great. Sometimes when we say “stop the line” that means we have to benevolently challenge those who are pushing for greater speed. They are likely working in their own silo and are not thinking of the greater good. Not their fault generally, it’s just how we tend to wire people at a corporate level.
I look forward to reading your next entry on what changes you are putting in place.
CB
LikeLike
Thanks Chad, for your interesting thoughts – and for your use of the word pyrrhic! I totally agree with your point about what we sacrifice when we equate success with getting things done, and especially with your note about having to push back at times. In eCom, we sometimes use the fact that we iterate on everything as justification for launching things that aren’t quite perfect. I know there’s a middle ground.
Would love to hear your thoughts on how you’ve seen this addressed effectively too.
Thanks again,
Lee
LikeLike
Pingback: Encouraging people to stop the line with both carrots and sticks | Lee Zukor