This is a follow-up to my response to @fsologureng and @dachary worries and frustration about unclear/stalled user-research and roadmapping activities.
This proposal aims to improve agility, suggesting..
(This list makes this issue an 'Epic' that can be split in constituent parts)
Goal: Improve project agility
In the project there are several different disciplines that have long-running processes throughout the project lifecycle. By separating these into parallel project tracks and adopting some Agile practices, it becomes easier to move forward and to assign manageable tasks to community members volunteering for them.
Note: In the following description I use terminology from Agile methodology, but this can change to any terminology the community prefers.
Backlog grooming
Who: Team members take the lead, but also set example for others to follow.
What:
- Split 'Epic' issues / discussion with too much scope into smaller chunks.
- Create relationships between Epic and 'User story' issues.
- Triage the issues and take action according to triage result.
- Add issues to the appropriate boards to plan them for realization.
Issue triaging
The Issue management in one or more project tracks can have a Triage process. For instance the forgejo repository (Development track) might have labels:
triage/doing: The issue is manageable or can be split into manageable sub-issues, and the functionality is clearly desired (no product development needed).
triage/consider: The issue either refers to a large chunk of work and/or it is not clear if the proposed functionality is desirable. A related issue is created in product track and/or research track, and the issue is closed (with a brief explanation).
triage/not-doing: The functionality is not desirable to have in the Forgejo product. The issue is closed with an explanation of the rationale for doing so.
Board planning
Each project track has a Kanban board. Issues aren't planned in iterations, but move over the board in a continuous flow. How many "In Progress" issues there can be depends on what the team can handle, and what community members commit to.
Updating the board is part of Backlog grooming, so the board view is always the most appropriate place to start getting insight in project activity and status.
Project tracks
There are multiple ways to divide the project lifecycle into different parallel Disciplines. For instance Rational Unified Process has this division:
Disciplines of Rational Unified Process
That is a bit much for Forgejo. A division that would seem sensible to me is:
| Project track |
Repository |
Description |
| Development |
forgejo |
Day-to-day development, bug handling, feature triage process. |
| Product |
forgejo-roadmap |
Gather product feedback, analysis, design (incl. UX/UI), roadmapping, product strategy, marketing/PR. The user-research repo is renamed. |
| Governance |
forgejo-process |
Title: "The Forgejo Development Process". Kaizen. Continual agile improvement of the development processes, project structure, community organization. The meta and sustainability repo's are merged into this track. |
| Research |
forgejo-research |
R&D and product innovations. E.g. further-out forge federation topics. Any research not yet ready to become part of product development / roadmapping. |
Note: For the Research track a separate Codeberg organization Forgejo Labs might be created where the forgejo-research repo then sits. This way various prototypes and other repo's can be kept together here.
Note: A further separation might involve taking everything related to Infra, the release process, CI/CD, etc. apart in another project track. A lot of work is dedicated to these topics and there's also a separate chatroom already.
This is a follow-up to my [response](https://codeberg.org/forgejo/meta/issues/99#issuecomment-790356) to @fsologureng and @dachary worries and frustration about unclear/stalled user-research and roadmapping activities.
This proposal aims to improve agility, suggesting..
- [ ] Backlog grooming
- [ ] Issue triaging
- [ ] Board planning
- [ ] Project tracks
_(This list makes this issue an 'Epic' that can be split in constituent parts)_
## Goal: Improve project agility
In the project there are several different disciplines that have long-running processes throughout the project lifecycle. By separating these into parallel project tracks and adopting some Agile practices, it becomes easier to move forward and to assign manageable tasks to community members volunteering for them.
_Note: In the following description I use terminology from Agile methodology, but this can change to any terminology the community prefers._
### Backlog grooming
Who: Team members take the lead, but also set example for others to follow.
What:
- Split 'Epic' issues / discussion with too much scope into smaller chunks.
- Create relationships between Epic and 'User story' issues.
- Triage the issues and take action according to triage result.
- Add issues to the appropriate boards to plan them for realization.
### Issue triaging
The Issue management in one or more project tracks can have a Triage process. For instance the `forgejo` repository (Development track) might have labels:
- `triage/doing`: The issue is manageable or can be split into manageable sub-issues, and the functionality is clearly desired (no product development needed).
- `triage/consider`: The issue either refers to a large chunk of work and/or it is not clear if the proposed functionality is desirable. A related issue is created in product track and/or research track, and the issue is closed (with a brief explanation).
- `triage/not-doing`: The functionality is not desirable to have in the Forgejo product. The issue is closed with an explanation of the rationale for doing so.
### Board planning
Each project track has a Kanban board. Issues aren't planned in iterations, but move over the board in a continuous flow. How many "In Progress" issues there can be depends on what the team can handle, and what community members commit to.
Updating the board is part of Backlog grooming, so the board view is always the most appropriate place to start getting insight in project activity and status.
### Project tracks
There are multiple ways to divide the project lifecycle into different parallel Disciplines. For instance [Rational Unified Process](https://sceweb.uhcl.edu/helm/RationalUnifiedProcess/) has this division:

That is a bit much for Forgejo. A division that would seem sensible to me is:
| Project track | Repository | Description |
| :--- | :--- | :--- |
| Development | `forgejo` | Day-to-day development, bug handling, feature triage process. |
| Product | `forgejo-roadmap` | Gather product feedback, analysis, design (incl. UX/UI), roadmapping, product strategy, marketing/PR. The `user-research` repo is renamed. |
| Governance | `forgejo-process` | Title: "The Forgejo Development Process". Kaizen. Continual agile improvement of the development processes, project structure, community organization. The `meta` and `sustainability` repo's are merged into this track. |
| Research | `forgejo-research` | R&D and product innovations. E.g. further-out forge federation topics. Any research not yet ready to become part of product development / roadmapping. |
Note: For the Research track a separate Codeberg organization `Forgejo Labs` might be created where the `forgejo-research` repo then sits. This way various prototypes and other repo's can be kept together here.
Note: A further separation might involve taking everything related to Infra, the release process, CI/CD, etc. apart in another project track. A lot of work is dedicated to these topics and there's also a separate chatroom already.