3 ms·
Software specification is circular because what we write down as a requirement is going to depend heavily on what is feasible to implement. But feasibility of i
by wavemode 2y ago
Software specification is circular because what we write down as a requirement is going to depend heavily on what is feasible to implement. But feasibility of implementation is often not clear until you actually try to implement the thing.
In fact, I would go so far as to say that, if in the design phase the precise structure of every single piece of what you are implementing, and the scope and feasibility of all alternatives, is known and crystal clear, then the project is trivial and probably does not need a design phase - you might as well just write the code.
The article makes this point as well: "a complete, abstract specification is, in general, at least as much work as creating the software itself"