Table of Contents
Requirement engineering is a type of engineering which deals with the requirement of product before developing it. Requirement engineering is related to defining, documenting and maintaining the requirements in the engineering design process.
Role of Requirement Engineering in SDLC
In software development life cycle Requirement Engineering is among one of the most important phases. In order to complete a task it is very important to gather information about what we are going to produce. Requirement Engineering is actually a early step or a model for the product which we are going to develop. Requirement Engineering also helps to create or develop a product with minimum number of errors. Thus in order to develop a software Requirement Engineering is one of the most important phase.
Problems in Requirement Engineering
Why Requirement Engineering is hard to perform
There are many reasons that led problems in Requirement Engineering at the time of developing a software. One of the most important problems are given below
Requirements change
When system requirements change then it also reflects the Requirement Engineering and as a result Requirements change.
Types of changes
- Technological change
With new technologies requirements may be change.
- Organizational change
With the change in organizations Requirement Engineering also changes.
Changes due to environment
- Market changes
When competitors introduce other systems in market then the market for that system changes. Increments in the system requirement may increase the functionality of the system, so to handle these changes is very necessary. And it becomes a big challenge for requirement engineer to change according to the requirement of markt.
- Economy change
Requirements also changes due to economy.
- Legal and political changes
Due to external event government policies may change. When government policies changes then it may led to the Requirement Engineering challenge .Sometime stakeholder does not think about the benefits of company, they insist them to develop what they want. So it effect the whole system.
- Conflicts in requirements
Different stakeholders want different things from a system. it is very difficult to satisfy all the stakeholders so it will also led towards Requirement engineering challenge.
Key stakeholders are busy
When we are developing a detailed requirement for the future system then senior people that are effected by the system might not given high priority. Key stakeholders are very busy in their work. That is why they have no time to attend meetings in which stakeholder might think about the system. That is why stakeholders express their Requirements in high level which is also a Requirement challenge.
- Poor Requirement process
In most of the projects due to lack of documentation requirement is hard to perform. The requirement engineering method which is mostly used is unluckily used in all type of requirements.
- Poor interaction between people
Due to difference in language, time zone and difference in business environment requirement challenges may occur.
- Lack of Requirements
It is an important problem in Requirement Engineering. Medium sized systems contains a lot of requirements of the system of large size having thousands of separate requirements. So there are chances that important requirements may gone.
- Inexperienced Requirement Engineers
Many people think that requirements are written in natural language. It is also believe that the people who know nothing about the requirement engineering can become requirement engineer. While his is not true it is common to see people working as requirement engineers without proper training and experience. But they don’t know requirement engineering has its own tools, methods. Which are very important to become a successful requirement engineer.
- Problems in requirement elicitation
Scope problem: in this requirement little information is provided.
Problem in understanding: in this issue user has incomplete and poor understanding about their needs.
Problems in volatility: these requirement include changing in requirement as requirement reflect outside of the system as it changes so requirement may changes.