mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
RFC template (#98501)
* docs: ✏️ adjust rfc tpl as suggested by stacey * docs: ✏️ add double newline before first level headings * docs: ✏️ add "who is affected" section * docs: ✏️ add stakeholders * docs: ✏️ specify rfc and issue fields * Update rfcs/0000_template.md Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com> * Update rfcs/0000_template.md Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com> * Update rfcs/0000_template.md Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com> * Update rfcs/0000_template.md Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com> * docs: ✏️ adjust PR links as per review request * docs: ✏️ move architectural diagrams as sentence into design Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com>
This commit is contained in:
parent
5cb990628e
commit
308596d51b
1 changed files with 51 additions and 16 deletions
|
@ -1,25 +1,47 @@
|
||||||
- Start Date: (fill me in with today's date, YYYY-MM-DD)
|
- Start Date: (fill me in with today's date, YYYY-MM-DD)
|
||||||
- RFC PR: (leave this empty)
|
- TTL: (e.g. "April 20th, 2021", time the review is expected to be completed by. Don't use relative days.)
|
||||||
- Kibana Issue: (leave this empty)
|
- Champion: (usually you, person who writes and updates the draft and incorporates feedback)
|
||||||
|
- Main reviewer: (somebody familiar with the subject matter, who has committed to provide timely and detailed reviews for this RFC)
|
||||||
|
- Owner team: (team who will own implementation, if it is accepted)
|
||||||
|
- Stakeholders: (people or groups who will be affected by the proposed changes)
|
||||||
|
- RFC PR: (leave this empty, it will be a link to PR of this RFC)
|
||||||
|
- PoC PR: (optional, link to a PoC implementation of the feature)
|
||||||
|
- Kibana Issue: (link to issue where the proposed feature is tracked)
|
||||||
|
|
||||||
# Summary
|
|
||||||
|
|
||||||
Brief explanation of the feature.
|
# Executive Summary
|
||||||
|
|
||||||
# Basic example
|
Summarize this RFC so those unfamiliar with the project and code can quickly understand
|
||||||
|
what the problem is, why it is important,
|
||||||
|
and the proposed solution. Below are some suggested sections for the Executive
|
||||||
|
Summary. Tweak as you desire and try to keep it succinct.
|
||||||
|
|
||||||
If the proposal involves a new or changed API, include a basic code example.
|
## Problem statement
|
||||||
Omit this section if it's not applicable.
|
|
||||||
|
|
||||||
# Motivation
|
What is the problem we are trying to solve? Supply any relevant background
|
||||||
|
context. Why is this something we should focus on _now_.
|
||||||
|
|
||||||
Why are we doing this? What use cases does it support? What is the expected
|
Focus on explaining the problem so that if this RFC is not accepted, this
|
||||||
outcome?
|
information could be used to develop alternative solutions. In other words,
|
||||||
|
don't couple this too closely with the solution you have in mind.
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
|
||||||
|
What are the goals of this project? How will we know if it was successful?
|
||||||
|
|
||||||
|
## Proposal
|
||||||
|
|
||||||
|
What are we doing to achieve the goals and solve the problem?
|
||||||
|
|
||||||
|
|
||||||
|
# Who is affected and how
|
||||||
|
|
||||||
|
Use this section to hone in on who will be affected and how. For example:
|
||||||
|
|
||||||
|
- Are consumers of a specific plugin affected because of a public API change?
|
||||||
|
- Will all Kibana Contributors be affected because of a change that may affect
|
||||||
|
the development experience?
|
||||||
|
|
||||||
Please focus on explaining the motivation so that if this RFC is not accepted,
|
|
||||||
the motivation could be used to develop alternative solutions. In other words,
|
|
||||||
enumerate the constraints you are trying to solve without coupling them too
|
|
||||||
closely to the solution you have in mind.
|
|
||||||
|
|
||||||
# Detailed design
|
# Detailed design
|
||||||
|
|
||||||
|
@ -29,7 +51,15 @@ implementation to implement. This should get into specifics and corner-cases,
|
||||||
and include examples of how the feature is used. Any new terminology should be
|
and include examples of how the feature is used. Any new terminology should be
|
||||||
defined here.
|
defined here.
|
||||||
|
|
||||||
# Drawbacks
|
Include architectural diagrams if you see fit, a picture is worth a thousand
|
||||||
|
words.
|
||||||
|
|
||||||
|
## Terminology
|
||||||
|
|
||||||
|
A glossary of new terms can be very helpful.
|
||||||
|
|
||||||
|
|
||||||
|
# Risks
|
||||||
|
|
||||||
Why should we *not* do this? Please consider:
|
Why should we *not* do this? Please consider:
|
||||||
|
|
||||||
|
@ -40,22 +70,26 @@ Why should we *not* do this? Please consider:
|
||||||
|
|
||||||
There are tradeoffs to choosing any path. Attempt to identify them here.
|
There are tradeoffs to choosing any path. Attempt to identify them here.
|
||||||
|
|
||||||
|
|
||||||
# Alternatives
|
# Alternatives
|
||||||
|
|
||||||
What other designs have been considered? What is the impact of not doing this?
|
What other designs have been considered? What is the impact of not doing this?
|
||||||
|
|
||||||
|
|
||||||
# Adoption strategy
|
# Adoption strategy
|
||||||
|
|
||||||
If we implement this proposal, how will existing Kibana developers adopt it? Is
|
If we implement this proposal, how will existing Kibana developers adopt it? Is
|
||||||
this a breaking change? Can we write a codemod? Should we coordinate with
|
this a breaking change? Can we write a codemod? Should we coordinate with
|
||||||
other projects or libraries?
|
other projects or libraries?
|
||||||
|
|
||||||
|
|
||||||
# How this scales
|
# How this scales
|
||||||
|
|
||||||
Does this change affect Kibana's performance in a substantial way? Have we discovered
|
Does this change affect Kibana's performance in a substantial way? Have we discovered
|
||||||
the upper bounds before we see performance degradations? Will any load
|
the upper bounds before we see performance degradations? Will any load
|
||||||
tests be added to cover these scenarios?
|
tests be added to cover these scenarios?
|
||||||
|
|
||||||
|
|
||||||
# How we teach this
|
# How we teach this
|
||||||
|
|
||||||
What names and terminology work best for these concepts and why? How is this
|
What names and terminology work best for these concepts and why? How is this
|
||||||
|
@ -67,6 +101,7 @@ at any level?
|
||||||
|
|
||||||
How should this feature be taught to existing Kibana developers?
|
How should this feature be taught to existing Kibana developers?
|
||||||
|
|
||||||
|
|
||||||
# Unresolved questions
|
# Unresolved questions
|
||||||
|
|
||||||
Optional, but suggested for first drafts. What parts of the design are still
|
Optional, but suggested for first drafts. What parts of the design are still
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue