I have been in software development for almost 43 years now. This doesn't mean I'm smarter than anyone, it just means I'm older, er, I mean I've seen a lot.. One thing I've seen repeatedly is arguments and discussions about how to do things. Re-entrant code in the 70s, structured code in the 70s as well. 4th generation languages in the 80s, object-oriented code in the 80s and patterns in the 90s. Waterfall, Agile, XP, Scrum, Lean, Kanban and other development systems for 4+ decades. Slowly, over time, some in the industry have figured out how to do things well.