reducing wasted effort
due to proposal churn
Michael Ficarra • July 2023
background
overview of our current stage process
(please don't sweat the details)
Stage 1
problem is defined
Stage 0
idea
Stage 2
solution is chosen
Stage 3
details are "final";�recommended for implementation
Stage 4
draft standard
activities in increasing level of effort
if we delay higher-effort activities until after we've used lower-effort methods to discover any issues, we will reduce total expended effort
we should do these in order
1st
2nd
3rd
last
why don't we? issues with our process
In stage 3, while writing tests,
But we can't simply require tests before stage 3 (implementation) because
still requires significant repeated effort to update or rewrite the tests
proposed solution
A way to signal our commitment to the current proposal design. Allows tests to be written, but not yet recommended for implementation.
A stage between Stage 2 and Stage 3.
Once this stage has been reached, changes are only made based on feedback from tests or implementations. No flip-flopping allowed.
Stage 2
solution is chosen
Stage 3
recommended for implementation
New Stage
details are "final"
SAME
will this slow down the proposal process?
Not necessarily.
Tests can be written before the committee commits to the design, jumping directly from Stage 2 to Stage 3, but they risk having to be redone if design changes are requested.
The new stage won't be another chance to relitigate the design. It is not an IETF Last Call. Advancement to Stage 3 is based solely on adequacy of the tests.
who writes the tests?
The champion(s), or someone working with them.
do the tests need to be perfect?
No. They just need to be deemed adequate by the committee.
This may be subjective based on the size or complexity of the proposal. We may also define objective measures in the future to set a minimum bar.
what do we do about stage numbers/names?
we can call it Stage 2¾ for now
🤷
should we apply this retroactively?
discuss