One of the fascinating things about lean manufacturing is that few companies outside of Toyota (let alone manufacturing) have ever successfully gone lean. Projects like NUMMI were a failure. Only some of the dead simple lessons of lean ever got adopted.
Agile itself as a set of principles is still invaluable. But it's been cargo-culted to death. The "agile" frameworks that exist today have been completely divorced from the principles. Tools like Jira are now so complicated and process driven that I would argue they are anti-Agile.
I think the key that makes process improvement work in manufacturing is that the production line is continuous, and the measuring of outcomes is independent. Car quality, customer satisfaction, units produced, mistakes, etc.
In software, the outcomes are often nebulous and unmeasured. There are not discrete, matching outputs over time. So management becomes obsessed with micro-managing and controlling the inputs. Ticketing, points, assignment, etc. Agile has become a system for creating dashboards more than outputting quality code.
Kanban operates on a known product with a known manufacturing process. Many software products are undefined even at time of public release, and evolve continuously. "Deciding what to build", while explicitly highlighted in the agile software manifesto, is the weak link.
Put another way, lean manufacturing improves metrics for the margianal unit of goods. No one, customer or dev, is interested in the margianal unit of software.
I maintain a compendium of developers' best negative comments about agile
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?