3 ms·
Creating software is about making the right decisions at the right point in time. Any decision by nature restricts choice. It is precisely the job of CTOs and a
by heisenbit 10y ago
Creating software is about making the right decisions at the right point in time. Any decision by nature restricts choice. It is precisely the job of CTOs and architects to make decisions about partners, platforms, tooling and frameworks and to refrain from making these decisions at other times.
Should you empower teams to make their stack choices? I've seen chaos breaking out for a year in a major development organization with 500 devs when most teams suddenly were allowed to make some choices that better should have been made centrally. Yes, they were faster but they were faster going nowhere. And then there are all these aspects that go beyond the development phase - long term maintenance, behavior of software in the field / training field engineers and moving people across teams.
Good technical leaders know where choice is called for and where not. Managing these trade-offs requires a perspective that goes beyond the agile team.
- dwiamo 10y agoI agree, thats where the absolutes come in. Some choices need to be made centrally and the teams must stick to them, this is where choice can really work, when the lines are drawn and the structure clear.
- ChemicalWarfare 10y agoI would add that one way to gently enforce the stack when the system is getting built from scratch is having a solid end-to-end "POC"/"skeleton"/whatever you want to call it built by a senior architect before the rest of the team is brought in. Sure this requires an "architect who codes" type person to be involved (which can get expensive), as opposed to some ivory tower powerpoint architect but is typically worth it.
- donovanm 10y agoI think the problem is that individual teams will make decisions that make sense for their own individual team. These decisions may not make sense for the larger organization as a whole (ie. having every team working in a different programming language) as they don't have the birds eye view of the organization.