Skip to content

Commit

Permalink
Move docs to wiki
Browse files Browse the repository at this point in the history
  • Loading branch information
PureWeen committed Jun 6, 2024
1 parent 5ab0e9c commit 27b8eda
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 63 deletions.
48 changes: 1 addition & 47 deletions docs/ReleasePlanning.md
Original file line number Diff line number Diff line change
@@ -1,47 +1 @@
Throughout the year we add issues to the `Backlog` milestone as is pointed out in our [Triage Process](TriageProcess.md).
We review all the issues in that milestone once a year, after the work on an upcoming major release is complete.
Given the large number of issues, it takes multiple sessions for teams to review and identify candidates for consideration for the next major release.
This document details the process we use for identifying candidate issues for the next release.

## Phases
The process for identifying candidates for the next major release consists of multiple phases. In each phase, we filter issues out of the release by either moving them to the `Backlog`, or closing the issue.
- Filtering & Individual prioritization
- Rough costing
- Team review & Priority adjustment
- Capacity planning
- Define the cut line

### Filtering
At this stage all the issues are distributed to engineers by feature areas. Each engineer reviews all the issues within their feature area, and returns to the next meeting with individual priority labels assigned - fl-p1, fl-p2, fl-p3, where `fl` are their initials.

All the issues which the engineer believes are lower than `Priority-3` - remain in the backlog. We also agree to approximately balance the distribution of the 3 priority labels on the issues that will be brought back by each engineer, so that it forces real prioritization exercise.
The issues which engineers think are good candidates and fit in the above listed requirements are moved to the `.NET V Planning` milestone, where `V` is the upcoming version number.

### Rough costing
At this phase engineers apply rough cost estimates to the final list of issues that they have moved to the `.NET V Planning` milestone, by applying one of the `Cost: X` labels below, where `X` is the size:

| **Label** | **Description** |
|--------------|---------------------------------------------------|
| **Cost: S** | Work that requires one engineer up to 1 week |
| **Cost: M** | Work that requires one engineer up to 2 weeks |
| **Cost: L** | Work that requires one engineer up to 4 weeks |
| **Cost: XL** | Work that requires one engineer more than 4 weeks |

This will be used later during the planning process.

For issues which don't have a clear description of the associated work, it's important to drop a comment summarizing the work involved. This will help at a later time, in case a question about the cost will be raised.

**Note**: while costing issues, it's important to reevaluate costs for those, which already have cost labels applied. Those are most probably from the past and may be outdated, not properly representing the cost any more.

### Team Review & Priority adjustment
Now, that all the issues are in the `.NET V planning` milestone, the team reviews each issue one at a time starting from the highest priority ones (Priority: 1).
We discuss the issues and agree on the priority at this point. Sometimes we make adjustments to the suggested individual priorities. After discussing each issue the `Priority: X` label is applied to each issue.
Each `Priority: 1` issue is then moved to the project board, which will be used by each team for tracking the work for the upcoming release throughout the year. The issues start off in the `Triage` column. At this point we bring only the top priority issues to the board.

### Capacity Planning
We usually reserve only 50% of the team capacity for this work. The reason is that we will be getting a lot of incoming feedback throughout the year and we need to allocate time for handling this feedback throughout the year.
So we calculate the capacity of the team in weeks for the upcoming year and use half of the final number later in this process.

### Define the cut line
At this point we have all the candidate issues that we think are worth considering for the upcoming release. This number is quite large, so the teams usually won't have enough capacity to handle all this.
We start stack ranking issues so the most important work remains on the top of the list. We then draw the cut line and that defines the rough list of things the team will work on during the upcoming release.
[Roadmap](https://github.com/dotnet/maui/wiki/Roadmap)
17 changes: 1 addition & 16 deletions docs/ReleaseSchedule.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,3 @@
# .NET MAUI Release Schedule Information

Versions of .NET MAUI are being released in sync with new .NET versions. More information on the .NET release policy can be found [here](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).

## Past .NET MAUI Releases

Below you can find a list of all the previous releases of .NET MAUI, excluding pre-releases.
For a full list, including release notes, please refer to our [Releases page](https://github.com/dotnet/maui/releases).

| Version | Release Date |
|---------|--------------|
| [6.0.536 (Service Release 4.1)](https://github.com/dotnet/maui/releases/tag/6.0.536) | 2022/09/14 |
| [6.0.486 (Service Release 4)](https://github.com/dotnet/maui/releases/tag/6.0.486) | 2022/08/09 |
| [6.0.424 (Service Release 3.1)](https://github.com/dotnet/maui/releases/tag/6.0.424) | 2022/08/01 |
| [6.0.419 (Service Release 3)](https://github.com/dotnet/maui/releases/tag/6.0.419) | 2022/07/20 |
| [6.0.408 (Service Release 2)](https://github.com/dotnet/maui/releases/tag/6.0.408) | 2022/07/12 |
| [6.0.400](https://github.com/dotnet/maui/releases/tag/6.0.400) | 2022/06/14 |
| [6.0.312](https://github.com/dotnet/maui/releases/tag/6.0.312) | 2022/05/23 |
[Release Versions](https://github.com/dotnet/maui/wiki/Release-Versions)

0 comments on commit 27b8eda

Please sign in to comment.