Answer one unknown in a clock, write the answer down, and throw most of the code away — instead of starting the feature in order to learn. Use when a slice cannot be estimated, before a rewrite, or when two approaches are both plausible.
--- name: timebox-a-spike category: coding description: >- Answer one unknown in a clock, write the answer down, and throw most of the code away — instead of starting the feature in order to learn. Use when a slice cannot be estimated, before a rewrite, or when two approaches are both plausible. --- # Timebox a Spike A spike is a **question with a deadline**. It is not a small version of the feature, not a prototype you will "just clean up," and not a branch that grows until it is the rewrite. If the deliverable is code you intend to ship, you are implementing. Use a behaviour slice. A spike is for when you cannot write the Then because you do not yet know what is true. ## Write the question and the clock first One question, answerable in hours or a day or two, not a week: - Weak: "Look into the search stack." - Strong: "Can we get p95 < 200ms on last week's production queries with the existing index, or do we need a new store? Answer: yes with X, or no because Y." The output is **a written answer**, not a PR. If you cannot phrase the question so that two people would recognise the answer, you are not ready to spike — you are fishing. Set the clock before you open the editor. When it rings, you stop coding and write. Extending "because it is almost working" is how spikes become the project. If you need more time, that is a **new** question, budgeted, not a silent overtime of the old one.
You are reading the opening of this skill.
The rest is open to any signed-in account — free included. Reading the library costs nothing.
Shared publicly by the author and open for any use. See the Terms.