πŸ’ΎDevelopment Cycle

P2PU Roadmap

We use the P2PU Roadmap to keep track of the discrete projects at P2PU. Projects should not be exclusively software development-related and should include discrete initiatives and tasks we are undertaking.

The idea is that we keep track of what we are working on, ideas we've had in the past, and prioritized ideas we need to flesh out.

The document itself describes the process it follows. At this writing, the sections are inbox, in-progress, on-deck, brainstorm, ice-box and completed.

When adding a new idea or feature:

  1. Scan other sections for existing ideas related to the feature

  2. If none exists, add the new idea to the Inbox section

  3. If the new idea seems urgent, schedule a discussion for it

A few times a year we will talk about the Roadmap in order to

  • Discuss new ideas and integrate them into the roadmap

  • Prioritize projects

  • Update any existing projects with new information

  • Move completed projects to the completed section

Project process

At some point, a project transitions from a few sentences in the roadmap to something on its own. For this we create a project document where we describe the project, keep notes of discussions related to the project and capture any decisions made. The feature template is provided as a starting point for this project document.

At this transition point, most projects require a meeting with the whole team to agree on the overall project goals and implementation.

For some projects, a single feature document is sufficient, but sometimes other tools are needed. The project document should serve as a dashboard for these documents and make it easy for someone looking at the project document to quickly gather the required context and an overview of the current status/activity.

It is the responsibility of the project owner to create and maintain this document.

A quick cheat sheet:

  1. Copy the feature template

  2. Schedule a meeting with the team

  3. Update the top part of the template with the latest agreed-upon information

  4. Keep notes at the bottom of the feature template

  5. Link any relevant documentation / tools

  6. Link to the project document from the relevant line items in the WIP document

For project involving a substantial part of software development, a GitHub project should be created with the following columns: "Prioritize", "To-do", "Doing" and "Done". New items are added as notes to the "Prioritize" column and then moved to the "To-do" column by the person responsible for the project.

Many projects require some for of documentation at completion. For software project, this typically means release notes, but other projects have their own requirements or other forms of documentation that is more appropriate.

Release notes should be user focused and closer to the style of a user guide rather than a bulleted list of updates items.

Ongoing maintenance and bugs

Not all activity matches the project flow. (e.g. software bugs and support inquiries). For software-related issues, we use the General Prioritized project board.

  1. Add a note to the "New" column of the project

  2. Prompt the relevant person via email/IM if the matter is urgent, or bring it up during the next WIP meeting

  3. Once new issues are clarified and prioritized, it will be moved to the "Prioritized" column

  4. Once work is started, it will be moved to the "In Progress" column

  5. Once done, it is moved on the "Review" column

  6. During each weeks WIP meeting, the items in the "Review" column are checked to ensure the issue has been resolved and then moved to the "Done" column.

Last updated