>>> "Being agile means having no long term plan."
I believe the angst against agile is it doesn't have a definitive viewpoint but is a reaction against what it sees as the evils of waterfall. Without definite processes, we get scrum.
From my viewpoint, the issue is that scrum has a flawed understanding of Toyota Kaizen which it based itself on. Yes, in a Toyota factory, team members are expected to be able to perform any tasks required on the assembly line. But, the architecture Toyota uses, to enable this agility is limiting. For example, Toyota's TNGA architecture says there will only be five modular platforms to choose from; instead of the 100+ choices in the past [1]. Furthermore, Toyota is known for "boring" but reliable cars. It avoids all bleeding edge technology and prefers to make incremental improvements to its existing tech stack. That is to enable interchangeable workers; Toyota limits its car platforms and standardizes "cross cutting concerns".
Toyota Kaizen is diametrically opposite of agile in IT. Toyota standardizes, simplifies, and makes incremental changes to its tech stack. Agile in IT means ditching today's platforms/architecture/frameworks/toolsets and jumping on the latest fad du jour.
The conservative Toyota you're describing is the Toyota that exists today, not the one that developed the Toyota Production System in the first place. Maybe they weren't bleeding edge but their engines had fuel injection, variable valve timing, and were computer controlled. Meanwhile the American automakers' idea of "futuristic" was putting LCD screens in the dash and making the cars talk when you left the door open. Through the 1980s and 1990s Toyota was putting out cars like the original LS 400 which embarrassed the German luxury automakers, the supercharged MR2, the turbocharged Supra, and high revving Celica, all while making cheap but great econoboxes. Its really in the 2000s where Toyota switches to an "only conservative cars" business model when the Toyota developed sports cars disappear, engines start staying mostly the same, and generations get longer.
> Its really in the 2000s where Toyota switches to an "only conservative cars" business model when the Toyota developed sports cars disappear, engines start staying mostly the same, and generations get longer
And then 2020s Toyota came out with the GR Yaris, as if to prove that every rule has an exception :)
I feel this is true, but more to the philosophical point. I remember reading an article where the Toyota factory employees are giggling because the American companies that try to study them are so obsessed about the actual manufacturing process instead of the central idea. To me, the central idea in Kaizen revolves around trust and flexibility instead of efficiency and "metrics" tracking.
This creates what seems to be opposing practices while in actuality is consistent. They abstract platforms, but have SWAT-like teams to provide custom tooling for the assembly workers for incremental improvements (Directly on the floor, <1 day feedback loop[0], not supplier/consulting tenders with >1y timeline). Every worker are encouraged to improve the process at least 2 times a month.
Another example of flexibility > efficiency is the Toyota practice of having flexible factories that's responsive to demand (to cover for peaks of certain models) instead of every factory has to be a hyper-efficient factory for select models[1]. Having buffer and flexibility (spare capacity) > fragile efficiency.
Software development can't map to assembly line, of course. Agile (the manifesto) maps very closely to the initial principle of trusting the developer and customer/user/domain expert and being flexible (deliver incrementally and iterate many times). Derivatives like Scrum seems to miss the point from me.
If you're interested to see how it works day to day in a modern manufacturing company, take a look at FastCap and their YouTube channel[2]. It seems obsessive around incremental improvements, but I think the Software industry need to take note and develop our own way to make the SDLC be less painful.
From my viewpoint, the issue is that scrum has a flawed understanding of Toyota Kaizen which it based itself on. Yes, in a Toyota factory, team members are expected to be able to perform any tasks required on the assembly line. But, the architecture Toyota uses, to enable this agility is limiting. For example, Toyota's TNGA architecture says there will only be five modular platforms to choose from; instead of the 100+ choices in the past [1]. Furthermore, Toyota is known for "boring" but reliable cars. It avoids all bleeding edge technology and prefers to make incremental improvements to its existing tech stack. That is to enable interchangeable workers; Toyota limits its car platforms and standardizes "cross cutting concerns".
Toyota Kaizen is diametrically opposite of agile in IT. Toyota standardizes, simplifies, and makes incremental changes to its tech stack. Agile in IT means ditching today's platforms/architecture/frameworks/toolsets and jumping on the latest fad du jour.
[1] https://en.wikipedia.org/wiki/Toyota_New_Global_Architecture