Hi Dan,

Thank you so much for sharing this story.

Similarly, I once was colleagues with a group of people working on process isolation (
https://en.m.wikipedia.org/wiki/Process_isolation) for Firefox. They had sort of hit a wall where the memory usage was going to be far more that we thought users could tolerate, and fixing the memory problems would take quite a few more engineers than anyone thought we could spare. Then, Spectre/Meltdown (
https://meltdownattack.com/) happened. It so happened that we were together at an all company meeting, so a group of us got together in a room and talked about what we needed. The group left the room understanding that this work was critically important, that we needed a dedicated team, and we ended up forming a larger team to ship the work with the support (although not unanimous!) of managers and staff. A lot more to the story before and after, but that was the beginning of phase where Firefox ended up actually shipping process isolation. 

What I learned is that it’s possible for critically important change to happen that might be stuck if we all have a very good reason to move it forward (like a very scary security problem!). 

The challenge in prioritization I see for WMF is that we need to find these good reasons, prioritize and do work in small enough chunks that we are able to evaluate progress and adjust course where needed. It’s common to slip into analysis paralysis, or believe that it’s too hard to set short term milestones that deliver significant value to someone. 

Finding ways to move forward together this way is what I see as the path. It has part of the urgency in your story or mine (Meltdown vulns fortunately aren’t happening every quarter!), but balanced with some kind of repeatable process. 

-selena  


On Mon, Apr 17, 2023 at 3:18 PM Dan Garry (Deskana) <djgwiki@gmail.com> wrote:
Despite agreeing wholeheartedly that technical debt, product debt, ownership, and maintenance are persistent problems, here's a story about when this didn't happen, which maybe we can learn from.

Disclaimer: this is from my memory of 2014! Warning, potential inaccuracy and rose-tinted glasses!

We had a global login system (single user login, or SUL) but it was in a bit of disarray. There were many local accounts disconnected from global ones because they were made before the global login system, many username conflicts that went unaddressed. Users were given some tools to resolve these conflicts, but not enough to actually finalise the whole thing. We all agreed it needed solving. We all new the end state we wanted. But, there were multiple technical and product solutions to get there, and no actual concerted effort to do it. Many of the username conflicts were between long-time community members, so we were sure to get some dedicated volutneers angry no matter how we did it. So it sat in limbo, annoying everyone, and never happening. Sound familiar?

Around then, WMF leadership introduced a new prioritisation framework: "top 5 priorities". This was a ranked list of projects that were considered to be more important than others for that quarter. It was intended as a first attempt to combat the "if everything's important, nothing's important" syndrome. You can't argue with a ranked list! And, number one on the list for the first quarter, not something new and shiny, but an old one: the SUL finalisation! Sort it all out, once and for all.

Erik Möller (the then VP of Product and Engineering, de facto CPO and CTO really, reflecting on it) asked me to be the product manager. I was very inexperienced as a PM but had been an editor for eight years, so I understood the problem well. Still, I wondered how we were possibly going to achieve anything, the project had been "in progress" for years with almost no progress. Erik asked me what I needed to make it happen. I got some advice, and said I need a systems designer, a systems architect, an engineer that knows the community well, and a community liaison. Erik went and had the hard conversations with the people that currently needed said people ("It's top priority this quarter, the other stuff has to wait.") and went and got those people. We figured it all out, and we did it, once and for all (timeline reduced, it did still take multiple quarters, but we knew that going in). Everyone now has a fully global account!

Now, times were simpler back then. This exact technique wouldn't work now, for multiple reasons. But, I wonder what we can learn from this as an organisation. What would it take to repeat this achievement?

Dan

P.S. Some of that team I worked with are still on this list. Hello! Thank you for the growth as a PM that I got out of that project, and for beating my inexperienced head around a bit until it got more experienced.
_______________________________________________
Wikitech-l mailing list -- wikitech-l@lists.wikimedia.org
To unsubscribe send an email to wikitech-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/