Wha are implicit requirements?
Implicit requirements (ImRs) are obvious, although they are not documented like explicit ones. It is what everyone expects to be in the product, although it is not written down.
They are features or characteristics of product experience that both the developers and the customers expect in the product. If the product lacks this feature, it would be viewed as incomplete in the market.
The implicit requirements are central to that product that the product cannot exist without it. It is so apparent that the product teams will not need to request the developers to include it. Examples of implicit requirements include usability, performance, security, and availability.
Companies cannot achieve a great product if they only focus on explicit requirements while ignoring implicit requirements. Although it is not necessary to specify the implicit requirements among the stakeholders, if they are not aware of them, it could lead to gross problems or deficit in the product. Also, it can ruin an entire project.
When to Specify Implicit Requirements
For instance, it is essential to specify ImRs when the product is being developed in a new domain by the software developers. Also, determining the implicit requirements is necessary when the organization has subcontracted another entity or has just hired new software developers. Failure to give specifications of implicit requirements in such scenarios can lead to poor quality of the software and failure of the project altogether.
Challenges of Implicit Requirements
- The developers may not be well aware of the ImRs, for instance, when developing a new product or in a new domain.
- If not well managed, ImRs can lead to a budget overrun.
- The implicit requirements evolve, probably due to the changing technology or change of users’ needs.
- ImRs concerns such as usability, scalability, or security carry some risks. If they are not discovered early, they may cause far-reaching and expensive effects on the architecture of the software and the collapse of the whole project.
How to Address the Challenges?
The possible challenges of ImRs can be addressed using some decent requirement elicitation procedures. Also, it can be resolved by inclusive software development paradigms such as agile approaches.
Another solution to dealing with the challenges is to systematically use previously documented ImRs to leverage and improve the engineering requirements in new projects.
Testing the Implicit Requirements
The implicit software requirements focus on speed, uptime, performance, and reliability. So, it is easy to develop a process for testing the implicit requirements in software. According to StickyMinds, when testing for implicit requirements, the tester should be an expert in the domain of the user’s problems and the technology the software uses in solving the said problems.
If the software does not meet the implicit requirements, a report must be included giving the customers reasons why the software is likely to behave abnormally.