... | ... | @@ -10,7 +10,6 @@ Project management as described here serves a few different purposes: |
|
|
* Users want to know what we're working on, and what they can do to help us.
|
|
|
* Funders want to stay apprised of how well we're doing at meeting our promises to them, without having to read git commits.
|
|
|
|
|
|
|
|
|
## What do we track exactly?
|
|
|
|
|
|
Let's start in the middle, with a **project**. In our parlance, a project is a medium- to long-duration task that one or more people could work on. Example projects might include "Make Tor support RFC1149 transports," "Translate the website into isiXhosa," "Hire a virtual office manager for our virtual office," "Write a how-to guide for using Tor on the Banana 6000," "Release Tor 0.6.7.x-rc", or "Design and deploy a new project management system."
|
... | ... | @@ -22,8 +21,8 @@ Projects involve creating or enhancing some **products**. Most of our **product |
|
|
Projects are divided into **objectives** with **tasks.** Each **task** should represent a comprehensible unit of work that can get done in a matter of hours or days. Example tasks for "Make Tor support UDP" might be "write a specification for ".
|
|
|
|
|
|
There are a few ways we represent projects, depending on their status:
|
|
|
* Every **active** project should get represented by a kanban board linked from the appropriate page in [our sponsored projects](home#projects) or one of its sub-pages listing the projects for a particular product. All significant to-do items for a project should be tickets in the project's milestones. Projects may have more than one milestone to help complete its deliverables but will have only ONE label with the sponsor number to mark all the tickets for the project.
|
|
|
|
|
|
* Every **active** project should get represented by a kanban board linked from the appropriate page in [our sponsored projects](home#projects) or one of its sub-pages listing the projects for a particular product. All significant to-do items for a project should be tickets in the project's milestones. Projects may have more than one milestone to help complete its deliverables but will have only ONE label with the sponsor number to mark all the tickets for the project.
|
|
|
|
|
|
### How to tell projects from other things
|
|
|
|
... | ... | @@ -55,6 +54,7 @@ Determining what project to apply for depends on capacity, funding opportunities |
|
|
When a call for proposals (CFP) for a grant is available we [write the proposal](/Process/Project-Design-and-Grant-Writing) and send it. If it gets funded then we move forward with it (unless it is a project that needs to happen regardless of funding). This may take from 6 months to a year.
|
|
|
|
|
|
Once a decision has been made to pursue a particular funding opportunity, then the grant writer meets with the project manager, team lead(s) and other stakeholders in the proposed project and decides:
|
|
|
|
|
|
* Goal: the goals of the project, why they make sense, and what the high-level features, requirements will be.
|
|
|
* Timeframe
|
|
|
* Estimation / Budget
|
... | ... | @@ -81,6 +81,7 @@ All grant writing happens in ephemeral Google docs, or in the Fundraising Team/G |
|
|
Once the project gets approved, the project manager gets the submitted documents that were approved and stores the approved, final clean version in Nextcloud in the folder Projects/Project NN/Documents Submitted. They will also add the project's information to the [active Project's page](home#projects).
|
|
|
|
|
|
Next the project manager will:
|
|
|
|
|
|
* Send a poll to all people involved in the project to find a day to do a kickoff meeting.
|
|
|
* Converts the approved time-line into a ‘status and timeline’ spreadsheet to track and change across the duration of the project.
|
|
|
* Creates a label ‘Project NN’ in Gitlab.
|
... | ... | @@ -94,6 +95,7 @@ Next the project manager will: |
|
|
* Indicators used in the project, if any.
|
|
|
|
|
|
The [kickoff meeting](Process/Templates/KickoffMeetingTemplate) agenda includes:
|
|
|
|
|
|
* Going over Deliverables and desired outcomes, clarifying anything that is not clear
|
|
|
* Reviewing what we are tracking during the project
|
|
|
* Define Scope (who is creating tickets for what) at this time. If possible have a presentation from "objective owners" about what they were thinking about when they wrote that specific objective and activity.
|
... | ... | @@ -112,7 +114,7 @@ The [kickoff meeting](Process/Templates/KickoffMeetingTemplate) agenda includes: |
|
|
|
|
|
Next, we create tickets, adding them to the appropriate milestone, tagging them with the project label.
|
|
|
|
|
|
The [roadmap](process/HowToBuildRoadmap) will be define by a [kanban board](https://gitlab.torproject.org/groups/tpo/-/boards) filtered by the project's milestone.
|
|
|
The [roadmap](https://gitlab.torproject.org/tpo/team/-/wikis/Process/HowToBuildARoadmap) will be define by a [kanban board](https://gitlab.torproject.org/groups/tpo/-/boards) filtered by the project's milestone.
|
|
|
|
|
|
### Communication
|
|
|
|
... | ... | @@ -121,6 +123,7 @@ Through the life of a project we hold monthly or bi-weekly [meetings](Process/Te |
|
|
### Executing
|
|
|
|
|
|
We are tracking the progress of the project in different ways. The project manager tracks the progress on work toward deliverables as well as tracks the indicators that we need to reach and report. The CFO tracks the costs that the project are incurring to.
|
|
|
|
|
|
* project costs: done by CEO (Sue)
|
|
|
* costs: done by CEO (Sue)
|
|
|
* regular risks assessments (not done on a regular basis at the moment but it should be done by PM)
|
... | ... | @@ -129,6 +132,7 @@ We are tracking the progress of the project in different ways. The project manag |
|
|
* progress on activities in Gitlab as well as who is working on what.
|
|
|
|
|
|
At a pre-determined regular frequency there are voice meetings in BBB to coordinate work from the project. Each meeting will have:
|
|
|
|
|
|
* Agenda created by participants
|
|
|
* Status for each person in the project’s team with what they worked on in the last period, what they are planning to work next and if they need help.
|
|
|
* Check timeline/deliverables/outcomes if needed.
|
... | ... | @@ -144,6 +148,7 @@ Right now to track the work done in the project we use: |
|
|
* A spreadsheet in Nextcloud that has the timeline and status of each activity in the project. This is kept up-to-date manually by the project manager based on information from Gitlab’s tickets, project meetings and discussions with team leads.
|
|
|
|
|
|
Key performance indicators on a project:
|
|
|
|
|
|
* time spent on tasks: we do not do this but it would be desirable to keep track of time spent on tasks. For this we need people to write down estimations for their tasks as well as how much time was spent on each issue. Gitlab tickets can track this information.
|
|
|
* % of project completed
|
|
|
|
... | ... | |