Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A CEP should contain the following sections: 

  • Scope,

  • GoalsGoals (and non-goals),

  • Approach,

  • Timeline,

  • Mailing list / Slack channels,

  • Related JIRA tickets.

...

  • Motivation: The problem to be solved.
  • Audience: The intended client audience. Examples include data scientists, data engineers, library devs, devops, etc. A single CEP can have multiple target personas. 
  • Goals: What must this allow users to do, that they can't currently.
  • Non-Goals: What problem(s) is this proposal not designed to solve.
  • Proposed Change: The new thing you want to do. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences, depending on the scope of the change.
  • New or Changed Public Interfaces: Impact to any of the "compatibility commitments" described above. We want to call these out in particular so everyone thinks about them.
  • Migration Plan and Compatibility: If this feature requires additional support for a no-downtime upgrade describe how that will work.
  • Rejected Alternatives: What are the other alternatives you considered and why are they worse? The goal of this section is to help people understand why this is the best solution now, and also to prevent churn in the future when old alternatives are reconsidered.

...