Software engineers love exactness of computing machines.
Developers often ask for detail specification in order to implement feature according to customer expectation.
It’s impossible to create 100% correct requirements. Customer “moods” are changing and it affects requirements.
Developers are puzzled when requirements are changing every day.
Software engineers were implementing exactly what was written in requirements. The next day they have to adapt to new requirements and half of previous work is nonsense in the context of new day.
The question is: How to face change in requirements?
One way is to put everything into requirements, build protective walls from corporate processes and invoke bureaucratic machinery against any deviation from predefined path. Defend current status quo at all cost…
Then you better start swimming or you’ll sink like a stone
For the times they are a changing
What is the other way? Use anticipation and imagination. Build the software in adaptive fashion. Prepare it for change.
How?
The first step is to admit that requirements are incomplete and that it does not mean that they’re bad.
The second step is to see a bigger picture and to find understanding for customer behavior.
Anticipate rather than react.




