After a two-day spike, a developer reports that the third-party API can do what the story needs, but the spike code is messy and untested. The product owner suggests shipping the spike code to save time. What should the agile practitioner recommend?
Choose one.
Spikes produce knowledge, not shippable code; the real work is then built to the definition of done.
The spike has answered its question (the API works). Its code was written to learn fast, not to last. The story should now be built to the definition of done. Shipping or extending the spike, or patching it with overtime, trades long-term quality for a short-term saving.
- Confirm the spike answered its question.
- Recall that spike code is throwaway by intent.
- Apply the definition of done to the real story.
- Reject options that ship or stretch exploratory code.
Exam tip: Keep the spike's lesson; rebuild its code to the definition of done.
PMI-ACP Experiment Early: MVPs, Spikes, Hypotheses and a Culture of Innovation — the lesson that teaches this.