You might as well not have a naming convention then, since the project is going to be full of different conventions.
Oh, I skipped this. Lol. Obviously not. As a team, they can implement whatever convention change they want, every two weeks.
As manager, I expect them to update all active projects, in their entirety, to the new convention, each time.
And as I mentioned in my other comment, if their test coverage isn’t at a level that makes me confident in that kind of global change (70% tends to be plenty), then I reserve the right to table it - until they bring the test coverage up (on all impacted projects).
Sure, I mean it risks a lot of churn, but it hasn’t happened, in practice.
My team will debate the merits of a change until the cows come home, but they know that if they actually decide to make the change, I’ll expect them to put in all the necessary work to do it right. Ironically, that tends to curb their appetite for perfectionism.
Yeah. Same here. That’s really why I get away with technically allowing a change during any retro. My teams appetite for refinements settled down after our first four sprints as a team.
Things might get interesting again, when we make our next hire; but I consider that part of the onboarding process. It should be worth the trouble just in case the new hire brings brings smart new practices we might have been ignoring. And whether anything changes or not, it creates a time and place for the new hire to argue their differences with the team.
That’s very practical, and really accomplishes the same net effect as my team’s policy, with less theoretical risk of thrashing.
A possible difference is that sometimes my team will insist on a refactor of some old code to update to the latest standards, at the start of a new project updating an old product.
As long as the code test coverage is acceptable to me, I’ll green light that effort as part of sprint zero.
Oh yeah. I would probably use my manager veto in that case. At some point it’s just too much work to verify the change.
We do have one big repo that we’re breaking up over time, and I insist that such changes be limited to the current actively developed component. It’s a unique case, because the vision for the repo is to get smaller as parts of it are decoupled (and released as open source). So we don’t deeply care if different modules have mildly different code standards, since they’re destined for separate public repos, in the long run.
That’s some holy and righteous work you accomplished. All future developers on that effort owe you a debt!