The Toyota System (Lean Manufacturing) is largely considered a fundamental revolution in manufacturing. Systems like 5S, continuous improvement, just in time production, Kanban (which is way more sophisticated in Lean then in software project management) etc have been demonstrated over and over again to be highly effective at improving factory production, employee satisfaction, and product quality.
As I understand it, Agile was an attempt to translate Lean Manufacturing from physical production to software development. I've seen some pretty incredible presentations on the benefits of Agile, particularly out of Spotify.
Yet I've never personally worked somewhere that I felt adopted Agile in a way that delivered on the promises and I've heard similar sentiments from many other people.
I have personally experienced the benefits of Lean methods even outside of a factory setting when organizing my home and workshop.
Is there something fundamentally different about physical production processes versus software development?
https://github.com/rayfrankenstein/AITOW/blob/master/README....
Here's what I've learned from maintaing this compendium about why Lean manufacturing doesn't translate.
1. Japanese car companies companies were focused on long-term growth. Software companies, on the other hand, are extremely short-termist.
2. In Japanese car companies, anyone can stop the assembly line by yanking a cord and there is no dishonor in that. Try stopping working on a feature for half a day to refactor some code.
3. In Japanese manufacturing's golden age, workers had lifetime employment and there was a mutual concern by the company and workers for each other; a Japanese worker might be at a company for thirty years. In the software industry, the average tenure of a software company employee is, like, two years or something. And the environment is often very adversarial. You can't ahve
4. Japanese manufacturing focused very heavily on having very high quality vendors that make stuff that didn't require a lot of debugging. There was a heavy focus on part re-use in other designs; the same engines would be used in different generations of different models for years. The software equivalent of this would having a fully fleshed out, batteries included stack where little custom-invention would be required because the API's are just so damned good and comprehensive. How many times have you gotten a Not Invented Here or "that's too opinionated for my taste" approach from leads?
reply