Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you resolve ambiguities in specification?

I need some advice on how to resolve ambiguities within application specifications. As one simple example,

When a user fails to authenticate after a number of times, send a notification to IT.

In the above example, it is not clear how many times "a number of times" is. It is not clear and I cannot simply set a random limit like 1000 times.

How would you go about to resolve unclear portions in any specifications? (not just the one I mentioned)

And also, what kind of topics should I search for on Google or for books for these kind of situations? Software engineering? Agile development? I am not sure where to start.

Any helpful know-hows and tips would be greatly appreciated.

like image 253
dance2die Avatar asked Mar 09 '09 15:03

dance2die


People also ask

How do you deal with ambiguous requirements?

Techniques to deal with ambiguous requirements. Use examples: For each requirement that is not clear to you, ask users to walk you through a real example. While doing so, add more details to your requirement. If you use User Stories, examples will help you confirm or write down the Acceptance Criteria.

What is ambiguity in specification writing?

Ambiguity is the main factor which affects the quality of the product. Ambiguity in requirement specification will affect the development of product. If ambiguity present in requirement specification then that will be considered as a bug. This will lead to poor design and performance of the final product.

What is your process if the story has some ambiguity in the requirements?

If there is ambiguity in your requirement, showcase some options to your client to help them clarify their thoughts. Ask WHY it's important: I recommend asking WHY whether the requirement is ambiguous or not. The WHY will give you more context and meaning as to why this requirement is so important to your users.

How do you identify the ambiguous requirements?

We define a requirement as ambiguous if it has multiple interpretations despite the reader's knowledge of the RE context. It does not matter whether the author unintentionally introduced the ambiguity, but knows what was meant, or he or she intentionally introduced the ambiguity to include all possible interpretations.


2 Answers

If you're tracking your requirements in a formal way, you can make your assumptions and document them as derived requirements:

Example:

User Requirement:

Req 1: When a user fails to authenticate after a number of times, send a notification to IT.

Derived Requirements:

Req 1.1 When a user fails to authenticate after three (3) attempts, the system will suspend the account and send an email to the IT support desk.

Req 1.1.1 The account suspension email will specify the following:

  • The account name of the user.
  • The IP address of the computer from which the authentication attempts were made.

Have the customer, or stakeholder if the customer is not available, review and approve the derived requirements.

For more info, Google "requirements management" or "requirements engineering". The defense industry sector is loaded with examples and templates, perhaps too many ;)

Some I have bookmarked:

  • Guide to Specification Writing
  • Writing Software Requirements Specifications
like image 80
Patrick Cuff Avatar answered Sep 22 '22 00:09

Patrick Cuff


Respond to the client with exact questions you might have. That's the best option, if available. If not, then make it configurable by end user (client).

like image 38
dusoft Avatar answered Sep 20 '22 00:09

dusoft