Why stable software development teams are more effective than “agile” teams

In the latest Platformer piece Meta doubles down on layoffs we see a perfect example of why stable software development teams are more effective than “agile teams” where people are seen as interchangeable cogs in a machine. When leaders think that people can be moved around between projects and “initiatives” at will and without knock-on effects, they run headlong into the basics of systems thinking, as shown here by Mark Zuckerberg’s realization:

In retrospect, I underestimated the indirect costs of lower priority projects. It’s tempting to think that a project is net positive as long as it generates more value than its direct costs. But that project needs a leader, so maybe we take someone great from another team or maybe we take a great engineer and put them into a management role, which both diffuses talent and creates more management layers. […] Indirect costs compound and it’s easy to underestimate them.

As a side note, this is honestly a pretty frustrating thing to read. It seems like such a basic software development concept—was there no one in Mark’s orbit that could tell him about the indirect costs of building VR headsets? And now that epiphany is costing Meta another 10,000 jobs. Ugh.