(Picture by Henrik Kniberg)
This is a huge honor for #hypertextual to publish an interview of Tom & Mary Poppendieck. They’ve been in the IT Business for forty years or so and their practical approach and advises, impressive experience and enlightening books have turned them into some kind of IT legends.
Simply put : they are the soul of Lean Software Development and if you don’t believe me, read their trilogy on the topic. They obviously spoke at the Lean IT Summit and I had a chance to meet them a couple of hours before they take off to China (thanks @florencepreault for arranging for this).
Despite having travelled around the world many times and having a thorough understanding of our industry, they remain curious and enthusiastic, they show the humility of the ones that constantly want to learn : this probably is the most impressive thing about them. This makes them engaging, they look forever young and it’s really fun to hang around with them. They are the living examples of what IT professionals should be after so many years in the business.
The only example of such enthusiastic, engaging and fun senior professionals I can think of is from the Cuban Music Scene. So please welcome the Buena Vista Software Club …
The main question one may ask regarding Lean Software Development is how to have people to adopt it considering that it represents a massive change in the way organisations work ?
Mary : What I’ve seen is that if there is no other choice and we HAVE to change then people change. The burning platform is a quite efficient paradigm to implement change. I remember when I was working as an IT manager in this plant manufacturing video tapes, we didn’t have any other choice than improve our throughputs as business competitors from Japan really were efficient. The other solution is to have a visionary leader that see what will happen in the business in 5 years time and can prepare for the changing market conditions. And then convince the people that this is the right thing to do.
Tom : The problem with Lean in people perception is that quite often, applying Lean methods implies getting rid of people afterwards. People are smart, they think. There are good reasons for people behaviors. And this behavior is shaped by the way you measure success and structure the work. You have to pull the change as opposed to push it. You need to have people to understand that this is what they need to do, provided you clearly states that implementing Lean is not carried out in a view to reduce the work force (Something Paul Thysens from BNL will also mention during his keynote – Cecil).
Mary : What really is necessary is to have a leading team (Executive, Managers, Leaders) who believe in Lean and who constantly seeks feedback. Say you’re an IT company and you want to improve your revenue then trying new things is your best shot. You can’t expect to see a dramatic change in your revenues if nothing changes in your organisation and the way people work. Eric Ries Lean Startup book is quite telling. You want to loop : model, build, test, learn. Use rapid cycles. Stop thinking in terms of planning and project management, think more in terms of flows and learning cycles. Eventually it’s all about what customer wants and is ready to pay for. Watch for silver bullets, people tend to believe in those. For instance someone so good that she will change the whole thing for you. Or a methodology / technology that will change the whole thing. This hardly works, believe me. There is a great book by Richard Brook on that very subject.
The problem with this learning cycle approach is that in our organisation we hardly have time for experiments and learning cycle
Mary : Yes you have. And you must because if you don’t exeperiment enough in advance then you will be forced to do it anyway later on. And you will be asked by your customers and by the industry as a whole why you haven’t done it before. Only the paranoid survive is a great book on that very topic. Most organisations don’t admit when change is necessary because they’re afraid of what people will say. From my experience, the best way to succeed in IT industry is good hard work and experimenting. Instead of guessing what the market wants, test and experiment. For instance, A/B Testing helps you in a couple of weeks to optimize your user experience.
What are the main differences between Lean Manufacturing and Lean Software Development ?
Tom : Lean manufacturing approach (i.e say what you will do and then do it and measure and adjust) works really well for mass production. But creating software is creating something new all the time. So for instance, the way you measure in Lean Manufacturing is completely different with the way you measure in Software development. Besides, software main issue is the management of complexity. Therefore what you need is Agile Methodologies (TDD, iteration, Stand-up meeting, retrospective, continuous integration etc …) but aligned on a Lean mindset. Watch for Agile Methodologies alone, though, because they’re focussed on code, not on product. Note that testing (unit, automated, TDD) is of paramount importance. Code without tests is just legacy code and technical debt.
Mary : Measuring performance is the strongest mean of governance. If you measure the wrong indicators you will just make big mistakes in governance. Lean Manufacturing approach in Lean Software Development could easily cause terrible damages just because of that : you’re not measuring the correct metrics. In software development, you don’t want to measure stupid things such as lines of code, implemented story points or defects you found : these are bad as they are waste. You want to write less code but better code, code that create value for the customer. You don’t want to have large chunk of code that get story point and that belong to the 45% of the code that is never used. This is sub-optimization which impeding the system as a whole and, as such, it’s awful waste. Same with defects : if testers performance is measured on the number of bugs they find during harnessing/integration phases, they won’t have any incentive to find the problems as early as possible and then reduce the cost of defects. Measure is the way you shape the work, don’t mess with it. That’s the reason why using Lean Manufacturing measures in Lean Software Development could prove to cause severe damages to your teams.
What operational performance measure you suggest to identify productivity quickly ?
Mary : Productivity is not writing code. Productivity it producing the right code. Build the right thing and then build the thing right. Did we get more money ? Did we get more sign-ups ? If you measure it in any other way you create sub-optimization. If i’m a teacher my productivity is not measured by the number of people in the room but how much knowledge they get.
Tom : The problem is the team. Business process owners have to be engaged in the team. You can’t measure software all by itself because it has no value all by itself. You’ve to take into account the whole team and the whole process.
Mary : If you have a concept like “IT is split from business” you have handover and these are waste. You don’t want that. You want IT at the core of the business. You want to measure that you’re building the right stuff. Watch for Partial Credit problem. In many organisations we’ve seen, Business Analysts think they’re done when they complete the specs. Software Architects think they’re done when they hand over the architecture to development. Software developers think they’re done when they hand over the code to integration and harnessing. If your measurement system encourage this attitude, you have a partial credit problem. For instance in Google, all people in Gmail team (regardless of their role or position), get evaluated on three metrics : number of new accounts, time spent on the application and revenue : there’s no room for partial credit here.
We had a great presentation of Yves Caseau related to Enterprise 2.0 and the use of emerging social software platforms inside the organisations. Do you think that this new set of collaborative tools can help organisation in getting leaner ?
Mary : I don’t know. But what I know for sure is that our tomorrow’s cutomers are extensively using these tools. My grand-daughter is 15 and she uses Facebook and text messaging. She said that e-mail is for old people. That’s her way of engaging. I personally use Twitter to find interesting articles my friend read and recommend. And I use Facebook to see what my grand-daughter is doing (laughs). I’m not worried about their use in the company. I think the huge challenge ahead of businesses now is how will they engage with these young people in 5 year time when they become their customers. If companies don’t understand that, they won’t be able to engage and lose market shares as their competitors will.
An other thing with these tools is the expectations they set. I’m used to Google so I expect the software tools I use to do completion, correct me if I’m wrong, to be easy to use. If companies don’t integrate these technologies into their offer they will look too conservative and people will value their product less.
Tom, Mary, thank you so much for your time. Wish you the best with your trip to China !