Fedora Project Planning Proposal
This is a proposal to unify (as much as appropriate and applicable) the way that various groups manage an plan projects with in the Fedora space.
- Name: Adam Miller
- Email: email@example.com
- Targeted release: Fedora 23
- Last updated: 2015-05-12
- Percentage of completion: 10%
Currently different groups (or "subprojects") within the Fedora Project all function in a very disjoint fashion with completely different workflows. While this is likely very applicable from a technical perspective for various needs, there are project planning workflows that can be adapted to almost any type of work. A prime example of this would be kanban, which was originally extracted from supermarket stocking, applied to automotive manufacturing, and recently become very popular in the software development world. The idea here would be that you take a task and divide it into units of work that are estimated to take some finite amount of time to accomplish and in the event that it takes longer, that task should be broken out into smaller tasks. This lends itself to rapid iterative improvements instead of giant all-encompassing project based work.
Benefit to Fedora
The hope here is that this will allow for Fedora to be more open and inviting to new contributors because various groups/SIGs within the Fedora Project will share a similar workflow at least at a high level such that someone looking at what the Infrastructure Group is up to could also look at what the QA or Docs groups are up to and have a decent idea of what is going on in order to decide if there's any ongoing work that interests them. Another aspect is that if the ongoing work within these groups has been broken down into small enough tasks that someone can accomplish them in half a day, a day, or two days (or some other arbitrary "size" of time), it will allow a newcomer to have a well defined task that is an entry point into the project that they find interesting without being too daunting.
Aside from opening up even more to new contributors, this will hopefully encourage different groups within Fedora to think about the work they are doing in small enough tasks that can be easily measured and by looking at the project "board" (more on the board later in discussion of tools), an overview of what's in progress and what's coming down the pipeline is easy to view both for actively engaged members doing the work and for obervational community members just curious what other groups are up to.
The scope of this work initially is to decide if everyone would be on board with the change. That is what the meeting on 2015-05-13 is about.
From there we will need to decide on a tool to use to deliver the user facing side of the workflow, to allow for different Projects within the Fedora umbrella to access and use the utility for planning work. Once one is decided upon the scope of this will become more apparent in terms of packaging requirements and requests needed to be made to the Infrastructure group.
There are a number of tools that are popular in this space, the most popular of which is arguably Trello, however because it is closed source software it is not an option for Fedora. Luckily because of the popularity of this space there are a number of open source projects that satisfy this space. Of those, the following have been discussed on Fedora mailing lists in the past and will be evaluated for use in Fedora.
- Cantas - Implements effectively the "Kanban board" for projects
- kanboard - Also implements a "kanban board" (the CentOS project is currently using this)
- Phabricator - Offers more of a complete software project hosting service, does have a feature tracker that could likely be adapted to the kanban style (QA is using this for Taskotron development)
- Taiga - Complete project tracking, kanban board, backlog, sprint planning, etc.
- The Kanban System
- Kanban Software Development
- Kanban Development Oversimplified
- Lean Software Development Using Kanban
- Why use kanban in software development?
- What is kanban?
- Kanban Applied to Software Development: from Agile to Lean