On 18/01/2019 23:12, Pine W wrote:
I'm glad that this problematic change to communications was reverted.
I would like to suggest that this is the type of change that, when being planned, should get a design review from a third party before coding starts, should go through at least one RFC before coding starts, and be widely communicated before coding starts and again a week or two before deployment. Involving TechCom might also be appropriate. It appears that none of those happened here. In terms of process this situation looks to me like it's inexcusable.
In the English Wikipedia community, doing something like this would have a reasonable likelihood of costing an administrator their tools, and I hope that a similar degree of accountability is enforced in the engineering community. In particular, I expect engineering supervisors to follow established technical processes for changes that impact others' workflows, and if they decide to skip those processes without a compelling reason (such as a site stability problem) then I hope that they will be held accountable. Again, from my perspective, the failure to follow process here is inexcusable.
Pine
Hello Pine
We had the Gerrit reviewers-by-blame installed a while ago although it was not functional. Tyler, Gergo and I have been talking about that idea for quite a while and felt like it was a good idea to get patches reviewed.
On a quick though, if one authored some code, most probably that person knows the code and thus would qualify as a reviewers. For the few code I wrote from scratch, I am certainly interested in being added automatically.
Anyway, we went with upgrading the Gerrit plugin. I even wrote a blog post to explain a bit of the feature and other ways to find reviewers: https://phabricator.wikimedia.org/phame/post/view/139/
I don't write blogs that often. If I do it is because I am excited about some feature which I firmly believe to be a general improvement. I have been naive? Yes surely. Did we miss evaluating potential side effects? For sure.
Then one as to take in perspective the cost of trying and reverting versus spending ages and months on a project only to dish it out because that is not what the customer wanted. I, and several, choose the first path: quick cheap experiment with limited casualties. A benefit is that this thread gave a lot of exposure to the feature and gathered a lot of constructive feedback. One can then easily conclude that the plugin is not smart enough and fails to spot the proper reviewers.
The plugin does not add reviewers any more (it defaults to add 0 reviewers), and I guess we will just uninstall it entirely.
As for new features for Gerrit or Phabricator or CI. There is no due process established. We just f***ing do it, given we promptly rollback when we screw up which is thankfully rather rare. Else we iterate and refine the feature until it is deemed stable.
That is how we maintain our infrastructure, not by having four hours meetings week after weeks with no deployment in between, not by having cross teams agreement, nor five level of political hierarchy drama. We certainly had a few outages here and there, but given the very few people working on those parts and the number of modifications we do on a weekly basis, I think it is overall rather stable.
I am not willing to start a flame war, but I do not think the English Wikipedia community is a good example of an healthy one. The huge amount of process and policies makes it a challenge to have edits retained, it is partly what made me stop editing entirely.
In short, Pine, please assume good faith 8-]