I’ve been seeing a number of refactor PRs, and kudos to the community for cleaning up our codebase, or making it more extensible, or testable, etc.
At 2U, for certain code refactors we have employed dark launching in order to compare the new and old results before committing to the refactored code. It could even compare performance of the old vs new. Note that this would typically be done behind a rollout toggle.
I’m hoping that some code refactor work in the community could employ this where it makes sense. It is a nice way to reduce risk and better ensure compatibility during a code refactor. It may come with some possible cost, especially if you wish/need to coordinate with 2U to enable your toggle and provide results from edx.org. That said, let’s have those discussions, and hopefully everyone wins if we choose to give this a whirl.
If you want to read more about this idea, see:
- Dark Launching
- Scientist: Measure Twice, Cut Once - The GitHub Blog
- I don’t believe we need to use a whole framework for this, but this clarifies the idea.
Thank you.
Robert