Moving Milestones

This week a long-standing "bug" has been fixed in Phabricator.

Actually, it's not technically a bug because it was the intended behavior that has been changed.

For quite a long time now, several Wikimedia teams have been using Milestones in Phabricator as a convenient way to organize tasks into a hierarchy of workboards.

Take for example: Platform Team Workboards, this project has several milestones which track different categories of tasks. Some of these include Platform Team Workboards (Initiatives), Platform Team Workboards (External Code Reviews) and Platform Team Workboards (Clinic Duty Team).

Each of these milestones is conveniently represented by a column in the parent project workboard, allowing for easy movement of tasks from the parent to one of the milestones or from one milestone to another. This suits the specific workflow that our teams have developed, however, until now there was one rather annoying limitation: Workboard columns could not be moved. They were always displayed at the far-right side of a workboard in the order that the milestone was created. So if you were to create a new milestone, it would always be at the end and there was nothing you could do about it. Although it was annoying to our users, this behavior was by design. The fact of the matter is that we have been sort of abusing the Milestones feature for a use-case that wasn't quite intended by the Phabricator developers. You see, Milestones are intended to be used for tracking the progress of strictly sequential software releases. In the context of the original design for Milestones, the "next" milestone should always follow the current one and it shouldn't be possible to re-arrange them because they have a natural order that must not be violated.

Well lets not let the proper intended use for a feature get in the way of a perfectly good workflow that suits our teams quite well. The alternatives to milestones have significant drawbacks which I won't get into right now. No worries though, it turns out that reordering milestones was a simple change and it has been rolled out to our fork of Phabricator. So go ahead and reorder milestones! You are now welcome to violate the sanctity of properly ordered milestones on workboards.

Written by mmodell on May 1 2020, 10:39 AM.
Volunteer Phabricator Admin
"Orange Medal" token, awarded by Krinkle.

Event Timeline