phabricator setup for Plasma Mobile: task tracking

Sebastian Kügler sebas at kde.org
Tue Aug 11 21:22:03 UTC 2015


Hi all,

Some news on the phabricator setup for Plasma Mobile. We want to use 
phabricator here to track tasks, designs and patch review.

Task tracking

Phabricator has so-called Workboards, these are kanban-style board which can 
contain tasks. The board has 4 columns, and tasks move from left to right 
during completion.

I've set up the following lanes (which is in line with how we've been using 
Kanban board in Plasma for some time, it's a bit "waterfalley", but I think 
with some added agility, these would work fine. The columns (or stages) are:

- Todo: A task is open and not has already being worked on
- Design: A feature has been designed, but not implemented yet
- Implementation: An existing design is being implemented
- Review: A feature has been developed, but is not fully integrated and 
shipped in the dev version
- A feature is done and integrated in the development version of the reference 
OS image

Of course, there's some overlap between especially the design and 
implementation stages, but I think it's a good way to get ourselves more into 
design-driven development. Especially the last stages mean that we do not just 
want some commits to have happened, but that we verify that a feature is 
available and functional in the reference image. (This last step is something 
we traditionally often forget, as the OS integration bit is usually in the 
hand of a Linux Distro team.)

The stages may differ a bit for different workboard, see Plasma Docs board for 
example doesn't have a design stage, there it's "todo", "writing", "review" 
and "done" -- it makes more sense in this context.

A specific task can belong to one or more projects. One such project is Plasma 
Mobile (rather generic). Then, there is a number of "sub projects" which can 
contain more detailed tasks. This two-level setup allows us to also get a 
complete picture of sub-tasks such as more complex design tasks (the HIG would 
be a good example here) or things as documentation (which also is something we 
need to handle in a more structured way).
Tasks can have sub-tasks and blockers (tasks that need to be done before this 
one can be tackled). I haven't completely figured out which roles these would 
play, but I guess that's something we can find out once we're getting a bit 
more used to it. Therefore, it's good to reflect on the usage and that we all 
think about how we can use this tool more effectively.

One idea that this feature may be very useful for is the scenario of a big 
task. In different stages, the task can change the project, so for example, in 
its design phase, it would belong to "Plasma Mobile" (PM) and "Plasma Design", 
while in a later phase, it could belong to "Plasma Mobile" and a "Plasma CI" 
(I just made this up), so during the "lifecycle" of the task, it moves across 
multiple workboards, and becomes visible to different people.


My first feeling is that tasks that are very detailed should probably be only 
in the subprojects, bigger tasks that are also meaningful in a general context 
should also be under the Plasma Mobile project, but as I said, we may want to 
refine that.

For now, I've set up the following Plasma "subprojects" (which each have their 
own work board):

Plasma Mobile - tracks general progress on the mobile UI and implementation
	https://phabricator.kde.org/project/board/28/

Plasma Docs - tracks progress and of documenting everything
	https://phabricator.kde.org/project/board/31/

Plasma Design - tracks design tasks
	https://phabricator.kde.org/project/board/32/

Plasma Mobile SDK - tracks tasks specific to the SDK
	https://phabricator.kde.org/project/board/30/


I've started adding features that we have discussed in the past weeks, please 
feel free to amend the workboard with items you may have on your list.

I will look into the code review functionality next.

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list