Commit 7ca0ff5d authored by Kenny Johnston's avatar Kenny Johnston 🌀

Merge branch 'add-breaking-change-flow' into 'master'

Add breaking change flow

See merge request !17235
parents 7562348d 87f3b68b
Pipeline #40062418 passed with stages
in 21 minutes and 27 seconds
......@@ -1573,6 +1573,37 @@ approval to bring an issue to a reasonable state within a first iteration.
If lingering questions remain, subsequent iterations can address any shortcomings
the feature might have.
#### Introducing a breaking change in a minor release
As a product manager, you should carefully consider the costs and benefits when
planning to introduce a breaking change. Breaking changes may heavily impact existing
users, and it is your responsibility to minimize the negative effects.
If you want to introduce an urgent breaking change in a minor release (e.g. you
need to provide support for a new feature that cannot be backward compatible), you
have to consider how many users will be affected by the change, and whether the change
can wait until the next major release instead.
If you evaluate that the impact on users is acceptable (e.g., you have evidence
that the feature is not used significantly), and the change will allow many users
to benefit of new features or to solve problems, follow this process:
1. Create an issue to discuss the breaking change, describing it in details including
the impact and benefits
1. Consider if you really need to do a breaking change in a minor. Can you wait
for the next major release
1. Communicate the breaking change as soon as possible, for example:
- Publish a blog post about the upcoming change, with a timeline and a simple way
to recognize who is affected, and who is not
- Ask to schedule tweets about the blog post in the `#twitter` Slack channel
- Ask to reach out customers that may be affected by the change in the
`#customer-success` and `#sales` Slack channels
- Mention the problems customers may report and how to address them in the
`#support_self-managed` and `#support_gitlab-com` Slack channels
1. Throughout this process, think like a customer. Figure out actions that could
make the breaking change less painful from their point of view.
1. Always keep the issue up-to-date
### Where should you look when you need help?
* The first thing you should do is read this page carefully, as well as the
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment