Member-only story
How to Deal With Ambiguous Requirements in Software Engineering
The real “Definition of Done” for your cards!
Every programmer wants to deliver their set of cards in a Sprint with the least number of bugs. Theoretically, a user story gets completed when it meets the acceptance criteria and delivers on the outcome needed from the user story. Practically, the number one issue that all programmers face is incomplete, ambiguous, or badly written user stories.
I think everyone appreciates well-written complete requirements that are precise and accurate to deliver a user story in its entirety. Most of the time it is the BA, Product Owner, or the Product Manager who writes the stories by breaking down the epics into manageable deliverables. This article is not about criticizing anyone but collaborating on removing ambiguities and delivering value faster. The reason I say this is because no matter how good and precise your requirements are, there will always be scenarios that get uncovered during development, design, implementation, and testing.
Effects of ambiguity in software teams
Ambiguity in any shape, size, and form can create havoc for your delivery. In the age of Continuous Delivery, the last thing you want is to push code to production implemented with incomplete and vague requirements. If your team constantly has to battle such requirements the effects can be catastrophic leading to
- Blown estimates due to the scope being unclear
- Missing delivery timelines
- Building the wrong thing or not what is envisioned
- Wasted effort and time
- Decreased team productivity
Tolerance for ambiguity
According to an article published on IDSA, “Tolerance for ambiguity can be defined as the degree to which an individual is comfortable with uncertainty, unpredictability, conflicting directions, and multiple demands”
Budner (1962) defines the construct as the Intolerance of ambiguity may be defined as ‘the tendency to perceive (i.e. interpret) ambiguous situations as sources of threat’; tolerance of ambiguity as ‘the tendency to perceive ambiguous…