Lean, mean coding machines

Not more code, but more discipline is needed to improve the effectiveness of most app dev organizations

The alpha geek consultants at the McKinsey Quarterly are out with an interesting new research paper that says app developers have to get lean – as in, adopt lean manufacturing techniques. That’s right, you know who you are – slim down, toughen up, drop and give me 20!

Of course, these are the same McKinsey folks who routinely helicopter into large corporations and charge millions of dollars to provide the CEO with a list of people to be laid off or “restructured,” as it were. So let’s remember that whenever they propose a strategic, 2-to-3-year organizational transformation of this type, they’d probably also like to get hired to manage it!

That said, the argument they make is provocative: that ADM (application development and maintenance) processes are poorly organized and fraught with waste and rework of the same kind that plagued manufacturing before the Japanese pioneered lean workflows.

Despite massive efforts to cut costs through offshoring, McKinsey notes, ADM (of which labor comprises 80 percent of costs) now accounts for half of IT budgets and continues to climb. Furthermore, there are big differences in app dev productivity among large organizations – for most, applying lean principles to app dev could increase productivity 20 to 40 percent while improving quality and speed.

Getting these benefits, according to the report, means thinking of ADM “as a kind of factory.” And then systematically eliminating sources of waste such as overproduction (unnecessary functionality), rework (requirements changes), “wasted motion” (ineffective prioritization), “wasted intellect” (limited developer cross-training), “wasted time” (idle developers), and inventory waste (maintenance backlogs).

The report runs through traditional “lean” solutions to each of these problems, such as “flow processing,” which “reduces overcapacity by aligning the rhythm of output with the flow of production.” Others include load balancing, greater standardization, segmentation of projects by complexity, and “quality ownership which extends beyond the testing group.”

And of course the consultants note that achieving these efficiencies requires not just process changes but shifts in behavior and new management tools (which they’d be happy to provide, no doubt). And they note that making these changes can be tough, because they have to become embedded in an organization’s culture to work, often “overcoming stubborn resistance” along the way.

Traditional software development methods such as CMM (Capability Maturity Model), function point metrics, and CASE tools fail where lean techniques would succeed, claims McKinsey, because they fail to address organizational and cultural issues such as alignment between business and IT – or the waste that can occur in the early definition and design phases of a project.

Does this mean I’d recommend dropping a couple mil on a McKinsey lean study for your company? Maybe, but first go out and spend $16 on a great book called "The Goal," by Eliyahu M. Goldratt. It’s a fast, fun read (there’s even a romantic subplot), and it gives you a real-world sense of what lean manufacturing principles are like in an actual factory setting (and will stimulate your thinking about how they could be applied to ADM at your company). Maybe buy copies for all your developers and managers. If that fails, you may have to call in the suits.