An article from ZDNet.
There’s a tension between development and production that occurs across all businesses. For IT, it often means development versus operations. Managers that master “lean approaches” can learn to synchronize these two sides of the business.
That’s the view of “Lean IT” guru Steve Bell, who recently released a video of his keynote speech at the European Lean IT Summit in Paris in 2013.
The lean philosophy is intended to being the creative (development) and operations sides of the house together, he explains. “These two are fundamentally different. When I’m speaking to a lean audience that comes from a traditional lean mfg background, I think many of us miss this. The success of Toyota is as much responsible for the success of the Toyota development system as it is for the production system. One side achieved operational excellence, the other is focused on development and innovation. The two synchronize so well, and that is what allows Toyota to bring out a Prius from conception to launch in about two years.”
The two sides are fundamentally different, and this has implications for devops initiatives, Bell continues. “It’s about certainty. On the operational excellence side, we’re trying to find things that can be standardized and repeatable. On the development side, it’s about leveraging uncertainty.
“If you talk to an agile person, and say: ‘Quality at the source, do it right the first time,‘ they’ll look at you and say: ‘No, you’ve got to fail fast early and often. You have to learn from your mistakes, and settle on what works.’”
On the development side, things need to be creative, unstructured and somewhat uncertain. On the production side, standardization is key, and variation is to be avoided at all costs. So how do we bring these two sides together? By adopting lean principles, Bell said. “By working together, by learning together. There is learning in the production process, and there is certainly process in the creative process.”
Bell provided the following advice for moving to Lean IT:
- Do not focus on costs: “Isn’t that what everybody was focused on over the past four years?” Bell said. “I can guarantee you can lose a pound of weight. If you want to lose a pound, you give a pound of blood. Losing weight by cutting costs in IT is very simple. Fire people, cut projects, reduce the service levels. Are we healthy? Are we bouncing back? Are we overburdened? Do we have the time for continuous improvement? Of course not.”
- Build in “slack time”: “One of the principle ways that a company like Toyota continually improves over time, and drives stability up is that every time employees are presented a problem, they are not only given the time, but they are required to stop the line. And not only fix whatever’s wrong, but prevent it from happening again. Only by doing that can you improve over time, so that you have fewer interruptions, fewer line stops.” Otherwise, Bell explained, people are too afraid to stop production for quality issues because they’re afraid they’ll get into trouble for not meeting production quotas. “If you plan slack for the day, that doesn’t mean you wasted that time,” he said. “I guarantee that time will be used constructively in some way. If you don’t stop thinking that everybody being busy is a measure of success, then … you’re on the wrong road. But it’s a very hard mental model to break.”
- Develop people through continuous coaching and learning: “Develop people before you develop software,” said Bell, cautioning that this “takes a deliberate and sustained investment in time. And it will not happen its own. It will [be] squeezed out by more urgent things, but not more important things.”
- Know your value streams and who owns them: Bell likened the owners to orchestra conductors.
- Keep it simple: Often, businesses will call in developers to write or deploy more software to solve a problem. However, Bell said, “One of the principles that gets lost in the Agile Manifesto is when you talk to someone who truly gets the spirit of agile, the agile person will say: ‘No, I’m here to prevent more software from being written. I’m here to help you simplify your process. The agile mentality is to write less code, rather than to write more code faster.”
- Make it visual: Bell said the Kanban board, which provides a visual diagram of scheduling in a lean manufacturing environment, is a great tool for dev-ops as well. “In software teams, in IT operations, the moment they can put sticky notes, and visualize demand and work in process and problems and velocity, you have given them the ability to see where their problems. Until then it’s just a jumble in their heads. It’s up to us to help them see through that jumble.”
- “Think backward from customer value, not forward from IT capabilities”: As Bell explained, “until you really know what’s it like to be a customer of yourself, all you have in your head is a hypotheses. If you think you know what it means to be a customer, you need to experience that.”
- Embrace uncertainty: “Somehow we come together, with a purpose as a team,” Bell said.