Overview
What this challenge is about.
Starting from the live codebase (Java 17, 73 percent line coverage), write a failing test that asserts the desired end state ('TaxCalculator is decomposed into per-country strategies behind a TaxStrategy interface'). Use the Mikado Method to discover prerequisites: every time a refactor breaks, revert, write down the prerequisite as a node in the Mikado graph, tackle it first. Execute the graph leaf-first. The codebase must compile and pass tests after every commit. Deliver the refactored code, the rendered Mikado graph (PlantUML or Graphviz), a 6-page methodology memo, and a recorded 20-minute walkthrough of three representative steps.
The Brief
What you'll do, and what you'll demonstrate.
Decompose a 4,200-line TaxCalculator class into per-country strategies using the Mikado Method, keeping the build green after every commit.
Earning criteria — what you'll demonstrate
- Apply the Mikado Method to plan a non-trivial refactor without big-bang risk
- Use revert-and-discover to surface hidden prerequisites instead of guessing them
- Maintain an always-green build through a multi-week refactor
- Document a refactoring journey so a successor can verify and extend it
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.