Just had some requirements through for a query that a customer has specified.
“Set the value to 1 if the Outcome is not Complete or Cancelled or NULL”
This could be variously interpreted as:
“if the Outcome is NOT Complete and NOT Cancelled and NOT NULL”
Or “if the Outcome is NOT Complete, and NOT Cancelled, or IS NULL”
Or perhaps even “if the Outcome is NOT ‘Complete or Cancelled’ or IS NULL”
Obviously I’ll go back to them for clarity, but it’s a wonder why so often “bugs” arise based on interpretation of specifications.
This helps with writing unit tests as well.