At #LSSC!12, I had a chance to listen to Mary Poppendieck’s talk on, Continuous Feedback: Process Control for Developing Software-Intensive Systems. This Thursday, I continue the conversation with both Mary and Tom Poppendieck on the subject of process control in software. This is an excerpt of the podcast.
Joe: I find it quite interesting that you look at the delivery by a team as no longer an iterative cycle, but one based on flow. Is that the influence of Kanban over scrum or maybe you should tell me what the influence is?
Mary: Even iterations are a flow when it comes right down to it. If you develop software in two week iterations and actually deliver it every two weeks to customers, that’s as much a flow… that’s almost continuous.
In fact, when I think of continuous delivery I think of daily or possible twice a week, or weekly. If you look at the kind of delivery that Facebook does, it’s once a week with small chunks in the middle of the week.
Gmail for example, is delivered twice a week. Chrome is deployed every day. Those kinds of vary rapid deployments, you find inside of software as a service, where they’re websites, or you find them sometimes inside of the enterprises.
The idea of iteration has been, how about we develop software and get it ready to deploy every couple weeks. Well, if you just stop thinking about being ready to deploy and say what would it take to actually deploy it. Just get it out there and start getting the value from it and getting the feedback from it now, you can do that in two week iterations. You can do that with a Kanban system, it doesn’t matter.
The optimum thing is how rapidly do we deploy our software rather than how rapidly do we get little chunks of it done.
Tom: The primary thing that we are advocating is not to think of software development as coding and testing. But rather to think of it as figuring out what is worth doing, what’s going to delight the customer, doing it, making sure it’s working well, getting it out in service to the customer, and getting feedback from the customer.
The really important metric is how fast you can get feedback from the customer about the actual, deliverable application that you are creating. That is beyond the realm of most people who are thinking about software all by itself. It gets toward the devox on one end and it gets toward the design thinking on the front end.
When we’re thinking about flow, we’re thinking about rapidly getting feedback from your best design ideas all the way from production.
So, either a two week iteration or a continuous flow like kanban can be rapid, say a couple of weeks to a couple of hours, compared to the very common approach of having dozens of two week iterations before you get any feedback from actual production.
Mary Poppendieck has been in the Information Technology industry for over thirty years. She has managed solutions for companies in several disciplines, including supply chain management, manufacturing systems, and digital media. As a seasoned leader in both operations and new product development, she brings a practical, customer-focused approach to software development problems.
Tom Poppendieck is an enterprise analyst and architect, and an agile process mentor. He focuses on identifying real business value and enabling product teams to realize that value. Tom specializes in understanding customer processes and in effective collaboration of customer, development and support specialists to maximize development efficiency, system flexibility, and business value.