Describe the problem. Why is it a problem? Who or what is impacted by the problem?
What should we do to solve the stated problem? If needed or applicable, provide pseudo-code to describe the solution.
Can this activity be eliminated altogether? Are there other places where a smaller effort will eliminate this task? What are the alternatives, why should they not be chosen? (please carefully reflect on atleast 1 or 2 other paths including elimination)
The answer to this will help define the acceptance criteria for completeness for this work.
Describe the impact this change will have on the platform (ex The proposed solution impacts both consensus and storage.).
To provide this solution, is any other work required in another component or by another team?
Describe the issues which need to be addressed or resolved before attempting implementation.
Provide a list of steps needed to implement the solution.
If applicable, describe the steps for an integration test.