Re:The age of cargo cult Agile must end
by DubiousPusher on Wednesday February 22, 2023 @12:29PM
(#34899226)
I see spikes as user stories that instead of a deliverable as their output, their output is the answer to a question.
Re:The age of cargo cult Agile must end
by sodapopcan on Wednesday February 22, 2023 @02:40PM
(#34901472)
Absolutely, that's a good way to put it. All feature spikes should have tickets defining what it's trying to validate.
From a TDD standpoint, I also use the word "spike" to describe any quick experimental throw-away work done on a small slice of functionality before writing the first test. These should not have tickets as that would be a bit over-the-top (and you don't always know if you're going to do them).
Basically you try and get as much of the feature implemented as quickly as possible. Forget tests, forget well-named identifiers (just call 'em foo1, foo2, foo3 if you're stuck), forget breaking other part of the app, just get enough of the feature working as quickly as possible that you can identify pain points. If you get enough of it working it can even be used as a prototype for the customer to play with to see if they actually want it.
Of course, when _and if_ you decide to actually implement the feature, you gotta throw away all your spike work or you're going to have a bad time. It is of course perfectly acceptable to keep it around on another branch for reference.