req_elicitation_Msit2_SE
Eliciting Requirements
The requirement elicitation combines the elements of problem solving ,elaboration, negotiation and specification. The activities which are to be followed are :
-
Collaborative Requirement Gathering
-
Quality function Development
-
User scenarios identification
-
Elicitation work product completion
-
Collaborative Requirement Gathering To encourage a collaborative team oriented approach to requirements gathering a team of stakeholders and developers work together to identify the problem, propose the elements of solution, negotiate different approaches and specify a preliminary set of solution requirements. Many different approaches to collaborative requirement gathering have been proposed. There are guidelines which are followed .Some of them are
-
Meetings are conducted and attended by both software engineers and customers.
-
Rules for preparation and participation are established
-
An agenda is suggested that is formal enough to cover all important points but informal enough to encourage the free flow of ideas.
-
A facilitator controls the meeting.
-
A definition mechanism is used.
-
The goal is to identify the problem, propose the elements of solution, negotiate different approaches, and specify preliminary set of solutions.
2. . Quality function Deployment (QFD)Quality function Deployment (QFD) is a technique that translates the needs of the customers into technical requirements for software.QFD concentrates on maximizing customer satisfaction from the software engineering process.QFD emphasizes an understanding of what is valuable to the customer and deploys these values throughout the engineering process.QFD helps to identify three types of requirements
These requirements reflect objectives and goals stated for a product or system during meetings with the customer.If these requirements are present the customers are satisfied.
These requirements are implicit to the product or system and may be so fundamental that the customer does not explicitly state them. Their absence will be a cause for significant dissatisfaction .
These requirements reflect features that go beyond the customers’ expectations and prove to be very satisfying when present.
The function deployment is used to determine the value of each function that is required for the system.Information deployment identifies both the data objects and events that the system must consume and produce.These are tied to the functions .Task deployments examines the behavior of the system or product withn the context of its environment.
QFD uses customer interviews and observation surveys and examination of the historical data as raw data for the requirements gathering activity.These data are then translated into a requirement table called the customer voice table.
3. User scenarios identification
An overall vision of system functions and features begins to materialize as the requirement gathering process goes on. It is difficult to move into more technical software engineering activities until the software team understands how these functions and features will be used by different classes of end users. To overcome this difficulty the developers and users create a set of scenarios that identify a thread of usage for the system to be constructed.These scenarios are called use cases.These provide a description of how the system will be used.
4.Elicitation work product completion
The work products produced as consequence of requirements elicitation will vary depending on the size of the system or product to be built.For most systems the work products include:
-
A statement of need and feasibility
-
A bounded statement of scope for system or product
-
A list of customers ,users, and other stakeholders who participated in requirement elicitation.
-
A description of the system’s technical environment
-
A list of requirements preferably organized by function and the domain constraints that apply to each
-
A set of usage scenarios that provide insight into the use of the system or product under different operating conditions.
-
Any prototypes developed to better define requirements.
Each of these work products is reviewed by all the people who have participated in requirement elicitation.