mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-22 06:13:14 -07:00
Revise the new feature process
This commit is contained in:
parent
d6917f5664
commit
768443368f
2 changed files with 55 additions and 36 deletions
40
.github/ISSUE_TEMPLATE/feature_request.md
vendored
40
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -7,17 +7,37 @@ assignees: ''
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Please describe your feature request.**
|
<!--
|
||||||
<!--For more information see https://github.com/Microsoft/calculator/blob/master/docs/NewFeatureProcess.md -->
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
See https://github.com/Microsoft/calculator/blob/master/docs/NewFeatureProcess.md for
|
||||||
<!--A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]-->
|
suggestions on how to write a good feature pitch. Just want to submit an idea quickly? Try Feedback
|
||||||
|
Hub instead: https://insider.windows.com/en-us/fb/?contextid=130
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
-->
|
||||||
<!--A clear and concise description of what you want to happen.-->
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
**Problem Statement**
|
||||||
<!--A clear and concise description of any alternative solutions or features you've considered.-->
|
<!-- What problem are we trying to solve? Who’s the customer? Is there a customer need or pain
|
||||||
|
point we need to remedy? Is there a business goal or metric we are trying to improve? Do we have
|
||||||
|
a hypothesis we want to prove or disprove? -->
|
||||||
|
|
||||||
**Additional context**
|
**Evidence or User Insights**
|
||||||
<!--Add any other context or screenshots about the feature request here.-->
|
<!-- Why should we do this? Potential sources of data: Feedback Hub, GitHub, request from another
|
||||||
|
team, telemetry data, anecdotes from listening to customers in person, user research, market or
|
||||||
|
competitive research -->
|
||||||
|
|
||||||
|
**Proposal**
|
||||||
|
<!-- How will the solution/feature help us solve the problem? How will the solution/feature meet
|
||||||
|
the customer’s needs? How will the solution/feature improve the metrics? Who’s the target
|
||||||
|
audience? -->
|
||||||
|
|
||||||
|
**Risks**
|
||||||
|
<!-- This section may not be necessary if covered by the problem statement. What is the risk if we
|
||||||
|
don’t do this work? What is the risk if we do? -->
|
||||||
|
|
||||||
|
**Goals**
|
||||||
|
<!-- What you want to accomplish with this feature. Typical examples include
|
||||||
|
“User Can *perform some task*” -->
|
||||||
|
|
||||||
|
**Non-Goals**
|
||||||
|
<!-- Things we are explicitly not doing or supporting or that are out of scope, including reasons
|
||||||
|
why. -->
|
|
@ -1,25 +1,27 @@
|
||||||
# New feature process
|
# New feature process
|
||||||
|
|
||||||
## When should I follow this process?
|
## Where do I submit my idea for a new feature?
|
||||||
You need to follow this process for any change which "users will notice". This applies especially
|
We encourage new feature requests in [Feedback Hub](https://insider.windows.com/en-us/fb/?contextid=130).
|
||||||
to new features and major visual changes.
|
Feedback Hub is easy to use. You can write your request in any language, and any Windows user (even
|
||||||
|
if they aren't on GitHub) can upvote it. The Calculator team reviews Feedback Hub regularly and
|
||||||
|
takes action on upvoted ideas.
|
||||||
|
|
||||||
You do not need to follow this process for bug fixes, performance improvements, or changes to the
|
Once we're ready to develop an idea further, we'll create a [feature pitch issue here on GitHub](https://github.com/Microsoft/calculator/issues)
|
||||||
|
to track our progress. If you want to help develop the idea, you can write a feature pitch too!
|
||||||
|
This document explains the elements of a good pitch and how we'll guide features from a pitch to a
|
||||||
|
finished product.
|
||||||
|
|
||||||
|
## Do I need to follow this process? Can I just start coding and submit a PR?
|
||||||
|
You *do not* need to follow this process for bug fixes, performance improvements, or changes to the
|
||||||
development tools. To contribute these changes, discuss the issue with the team and then submit a
|
development tools. To contribute these changes, discuss the issue with the team and then submit a
|
||||||
pull request.
|
pull request.
|
||||||
|
|
||||||
## Step 1: Create an issue and discuss with the community
|
You *do* need to follow this process for any change which "users will notice". This applies
|
||||||
New features are submitted in Feedback Hub. In Feedback Hub you can upvote existing feedback or
|
especially to new features and major visual changes.
|
||||||
submit your own. We also encourage discussion on open issues in Feedback Hub and in GitHub.
|
|
||||||
|
|
||||||
## Step 2: Wait for Microsoft product team sponsorship
|
## Step 1: Feature pitch
|
||||||
New features must have a sponsor from the Microsoft product team. We can only work on a few ideas
|
The feature pitch concisely describes a point of view on the problem the new feature should solve.
|
||||||
at a time, so some good feature ideas might remain open but unassigned to a sponsor.
|
It will typically include these sections:
|
||||||
|
|
||||||
## Step 3: Scoping and feature pitch
|
|
||||||
Once we've decided to sponsor a feature, a member of the Microsoft team will write a
|
|
||||||
*feature pitch*. The feature pitch concisely describes our point of view on the problem and will
|
|
||||||
typically include these sections:
|
|
||||||
|
|
||||||
* **Problem Statement**: What problem are we trying to solve? Who’s the customer? Is there a
|
* **Problem Statement**: What problem are we trying to solve? Who’s the customer? Is there a
|
||||||
customer need or pain point we need to remedy? Is there a business goal or metric we are trying
|
customer need or pain point we need to remedy? Is there a business goal or metric we are trying
|
||||||
|
@ -38,11 +40,12 @@ typically include these sections:
|
||||||
including any reasoning to why.
|
including any reasoning to why.
|
||||||
|
|
||||||
The feature pitch may also include a low-fidelity concept which will be refined during the
|
The feature pitch may also include a low-fidelity concept which will be refined during the
|
||||||
prototyping process.
|
pre-production process.
|
||||||
|
|
||||||
We will edit the issue description on GitHub to include the feature pitch.
|
Feature pitches are submitted as issues on GitHub. We encourage discussion on open issues, and as
|
||||||
|
discussion progresses we will edit the issue description to refine the idea.
|
||||||
|
|
||||||
## Step 4: Prototyping
|
## Step 2: Pre-production
|
||||||
After the goals are written, we think of a variety of ways to address these goals and build
|
After the goals are written, we think of a variety of ways to address these goals and build
|
||||||
*prototypes* to try them out. We welcome community participation in this process.
|
*prototypes* to try them out. We welcome community participation in this process.
|
||||||
|
|
||||||
|
@ -59,7 +62,7 @@ the wiki for this project. Progress updates will be posted in the issues section
|
||||||
During the investigation phase, we might discover that the idea isn't feasible or doesn't align
|
During the investigation phase, we might discover that the idea isn't feasible or doesn't align
|
||||||
with our product roadmap. If this happens, we'll document what we learned and close the issue.
|
with our product roadmap. If this happens, we'll document what we learned and close the issue.
|
||||||
|
|
||||||
## Step 5: Prototype review
|
### Spec review
|
||||||
Once there is a high-fidelity design which addresses the goals described in the original pitch, the
|
Once there is a high-fidelity design which addresses the goals described in the original pitch, the
|
||||||
Microsoft product team will review the prototype and ensure all items on this checklist are
|
Microsoft product team will review the prototype and ensure all items on this checklist are
|
||||||
addressed:
|
addressed:
|
||||||
|
@ -75,7 +78,7 @@ addressed:
|
||||||
- [ ] Is it technically feasible to build this feature? Take a look at the "before committing"
|
- [ ] Is it technically feasible to build this feature? Take a look at the "before committing"
|
||||||
checklist below and identify any issues which are likely to be blockers.
|
checklist below and identify any issues which are likely to be blockers.
|
||||||
|
|
||||||
## Step 6: Implementation
|
## Step 3: Production
|
||||||
A feature can be implemented by the original proposer, the Microsoft team sponsor, or by other
|
A feature can be implemented by the original proposer, the Microsoft team sponsor, or by other
|
||||||
community members. Code contributions and testing help are greatly appreciated. Please let us know
|
community members. Code contributions and testing help are greatly appreciated. Please let us know
|
||||||
in the issue comments if you're actively working on a feature so we can ensure it's assigned to
|
in the issue comments if you're actively working on a feature so we can ensure it's assigned to
|
||||||
|
@ -85,7 +88,7 @@ You might be able to reuse code written during the prototype process, although t
|
||||||
be more work required to make the solution robust. Once the code is ready, you can begin
|
be more work required to make the solution robust. Once the code is ready, you can begin
|
||||||
[submitting pull requests](../CONTRIBUTING.md).
|
[submitting pull requests](../CONTRIBUTING.md).
|
||||||
|
|
||||||
## Step 7: Technical review
|
### Technical review
|
||||||
As with all changes, the code for new features will be reviewed by a member of the Microsoft team
|
As with all changes, the code for new features will be reviewed by a member of the Microsoft team
|
||||||
before being checked in to the master branch.
|
before being checked in to the master branch.
|
||||||
|
|
||||||
|
@ -135,14 +138,10 @@ new features, the Microsoft team considers at least these items:
|
||||||
[Fiddler](http://docs.telerik.com/fiddler/knowledgebase/fiddlerscript/perftesting)
|
[Fiddler](http://docs.telerik.com/fiddler/knowledgebase/fiddlerscript/perftesting)
|
||||||
can be used to simulate slow or failed requests.
|
can be used to simulate slow or failed requests.
|
||||||
|
|
||||||
## Step 8: Final product review and merge to master
|
## Step 4: Final product review and merge to master
|
||||||
After the technical review is complete, the product team will review the finished product to make
|
After the technical review is complete, the product team will review the finished product to make
|
||||||
sure the final implementation is ready to release to Windows customers.
|
sure the final implementation is ready to release to Windows customers.
|
||||||
|
|
||||||
## Step 9: Release
|
|
||||||
The release process is handled internally by the Microsoft team. When we release, we create a
|
|
||||||
`servicing` branch from master. We merge changes into servicing branches only to fix severe bugs.
|
|
||||||
|
|
||||||
Releases are distributed through the Microsoft Store, first to Windows Insiders and then to all
|
Releases are distributed through the Microsoft Store, first to Windows Insiders and then to all
|
||||||
supported Windows 10 devices once we are confident in the update's quality. We usually ship an
|
supported Windows 10 devices once we are confident in the update's quality. We usually ship an
|
||||||
update every month. After the app has been released to the Microsoft Store, it will be part of
|
update every month. After the app has been released to the Microsoft Store, it will be part of
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue