|
|
|
|
|
by slightlycuban
4369 days ago
|
|
In my line of work, either I'm building a new component, or I'm dealing with requirements change. So dealing with the shifting sands of what the system should do is a major concern. Requirements come and go for me. And losing requirements can be just as disruptive as getting them. Worried about how component X will handle users? Well, we don't ship component X anymore, so any refactoring work you've done is wasted. I might be the odd one out with requirements changing all the time, but I don't get the choice between good design and fast design. I have to creep forward in my architecture, like I'm fumbling around in the dark, because what my system should do today may not hold until tomorrow. |
|
And that is simply the case with certain lines of work.
To help me determine which requirements changes are simply a failure in the requirements process I ask myself:
"If I had shipped feature X a month ago would it have had business value?"
If the answer is no then I'm likely dealing with a legitimate requirements change.
For example: If I worked in the tax industry and the government changes tax laws then shipping these changes months before would not deliver any business value.
Or if I have to make a requirements change because of an external dependency changing. No extra value.