As coding models get better at working from a rough goal, I’m wondering how much value there is in writing a detailed spec up front.
If you use these models on real projects, when has a spec improved the outcome? When has it added overhead? Have you shifted toward shorter briefs, tests, or iterative feedback?
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.
I tend to agree with bbor. I use the agent to build the spec, usually from unfiltered audio to text data dump. The spec also allows you to manage context by pre-defining scope. I would argue managing context is more important than a spec at a certain quality level of the spec. A high-quality spec should inherently help manage context. If you are leaning into full end to end automation, there is no substitute. I'm not sure "better" is the lens. A more capable model also has more paths of interpretation that it can conceivably take based on the framing of your rough goal.
If you use these models on real projects, when has a spec improved the outcome? When has it added overhead? Have you shifted toward shorter briefs, tests, or iterative feedback?
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.
I tend to agree with bbor. I use the agent to build the spec, usually from unfiltered audio to text data dump. The spec also allows you to manage context by pre-defining scope. I would argue managing context is more important than a spec at a certain quality level of the spec. A high-quality spec should inherently help manage context. If you are leaning into full end to end automation, there is no substitute. I'm not sure "better" is the lens. A more capable model also has more paths of interpretation that it can conceivably take based on the framing of your rough goal.