Comment by bbor

4 days ago

I'd argue that you 100% need a spec --ideally tied to some high-level unit tests-- and should have a plan, but I don't think there's any strict need to write any of those three by hand; the critical step is where you review it and request changes if needed.

Doing it all manually better guarantees quality of course, so makes sense for a lot of problems. But if you're looking to move a bit faster with a bit more risk, I'd sacrifice the writing step without sacrificing the reading & validating step.