| ▲ | jpollock 4 hours ago | |
This isn't really about software quality, it's about the entire organization. Consistency enables velocity. If there is consistency, devs can start to make assumptions. "Auth is here, database is there, this is how we handle ABC". Possible problems show up in reviews by being different to expectation. "Hey, where's XYZ?", "Why are you querying the database in the constructor?" Onboarding between teams becomes a lot easier, ramp up time is smaller. Without consistency, you end up with lots of small pockets of behavior that cause downstream problems for the org as a whole. Every team needs extra staff to handle load peaks, resulting in a lot of idle devs. Senior devs can't properly guess where the problematic parts of fixes or features would be. They don't need to know the details, just where things will be _difficult_. Every feature requires coordination between the teams, with queuing and prioritizing until local staff become available. Finally, consistency allows classes of bugs to be fixed once. Fix it once and migrate everyone to the new style. | ||