←back to thread

388 points replyifuagree | 1 comments | | HN request time: 0.217s | source
Show context
paulsutter ◴[] No.37965627[source]
The only magic wand in software development is to simplify requirements. The requirements are always wrong: too broad, too vague, based on invalid assumptions

The real genius is to propose a simplified solution, by discarding some assumptions. This is the best and only way to shrink the schedule

replies(7): >>37965809 #>>37966142 #>>37966325 #>>37966429 #>>37966768 #>>37966963 #>>37967034 #
masklinn ◴[] No.37966142[source]
> The only magic wand in software development is to simplify requirements. The requirements are always wrong: too broad, too vague, based on invalid assumptions

I think it's less simplification and more precision and completeness. Obviously if you have simpler requirements they more complete and precise, but the requirement might not actually be simplifiable. In which case what you want is better specification.

"They write the right stuff" about the shuttle software group is basically a story about doing that: https://www.fastcompany.com/28121/they-write-right-stuff

replies(1): >>37966264 #
bgribble ◴[] No.37966264[source]
As a developer I hate "precise" and "complete" requirements. Usually these extremely detailed roadmaps are just fairy tales. They indicate a management and product mindset that thinks you can pre-chew a developer's food for them and make things more predictable.

In fact, what you are doing is tying the developer's hands and making it less possible for them to nimbly work around unforeseen obstacles or repurpose existing solutions without raising a "process exception" to reopen the spec or sizing of a work item.

Be clear about the goals but let the developer(s) who have their hands in the code make the decisions about how to implement it. That means you can't really roadmap a big project down to the minute, but those roadmaps were always lies so there is literally nothing lost except for some fantasy Gantt charts.

replies(5): >>37966435 #>>37966631 #>>37966866 #>>37967309 #>>37967811 #
1. flagrant_taco ◴[] No.37966631[source]
> As a developer I hate "precise" and "complete" requirements. Usually these extremely detailed roadmaps are just fairy tales.

Requirements and roadmaps are very different in my opinion. Requirements say what the product needs to do, scaling and/or response time targets, systems or needs to integrate with, etc. Roadmaps are either a high level plan for where the project goes in the future or a list of seemingly arbitrary deadlines.

Both have their place, but in my experience the right balance has been precise and complete specs with a high level, flexible roadmap.