Requirements Engineering
MBIT - Lecture 2 Requirements Engineering Process
Contents
Requirements Engineering Process
Phases of Requirements Engineering Requirements Elicitation
Knowledge Acquisition
Requirements Elicitation Techniques Interviews Social and Cultural Issues Other problems
RE process maturity
Requirements Engineering Process
One of the most critical processes
Involves interaction and creativity among diverse group of people
Varies from organization to organization
Size of organization Type of organization Iterative vs Water fall
Software development life cycle
Phases of Requirements Engineering
Elicitation
Analysis & Negotiation
Specification
Validation
Management
Requirements Elicitation
Stakeholder identification Requirements discovery
Functional & Non-functional
Environment understanding
Business model People Current systems and processes
Knowledge acquisition
Reading Listening Asking Observing current system, competitor
Knowledge acquisition
Techniques for knowledge acquisition
Reading Listening
Asking
Observing current system, competitor
Requirements Elicitation Techniques
Individual
Interview, Discussion
Group
Meeting, Presentation, Demo
Prototyping, Storyboards, Wireframes
Thinking process, psychology of people
Modeling
Cognitive
Requirements Elicitation Techniques
Establish objectives Understand background Organize knowledge Collect requirements
Business goals Problem to be solved System constraints Organizational structure Application domain Existing systems Stakeholder identification Stakeholder requirements Domain requirements Organizational requirements
Goal prioritization
Domain Knowledge filtering
Interviews
Interviewing different stakeholders
Types of interviews
Closed Interview predefined set of questions
Open Interview no predefined agenda
Understanding application domain Organizational issues Some requirements may not be discussed
Less effective for
Political factors
Interviews
Interviewers must be open minded
Stakeholders must be given a starting point
Question
Requirement
Current system Competitors system
Data gathering interviews
Prepare
Define purpose and objectives Obtain background information Logistics Prepare interview guide for interviewee
Conduct
Open build trust and credibility Body question and answer Close summarize and review findings, link to objectives
Follow through
Jot down all key information and send MOMs to all stakeholders Review any documentation received Follow up on leads obtained
Social and Cultural Issues
Organizational issues
Inter-team and within a team Client and software development organization Different time zones Different languages
Geographical issues
Communication barriers
Religious differences Ethical considerations
Other Problems in Requirements Engineering
Lack of stakeholder involvement
Business need not considered Lack of requirements management
Lack of defined responsibilities
Stakeholder communication problem
RE Process Maturity
Initial Level
No defined RE process Requirements volatility problem Unsatisfied stakeholder High rework cost Dependent of individuals experience and skills
Repeatable Level
Defined standards for requirements document Defined policies and procedures Defined RE process based on good practices and techniques Active process improvement
Defined Level
RE Process Maturity
Level 1 Defined
Defined process based on best practices Process improvement in place
Level 2 Repeatable
Standardized requirements engineering Fewer requirement problems
Level 1 Initial
Ad-hoc requirements engineering Requirement problems are common
Examples of good practice guidelines
Define a standard document structure Uniquely identify each requirement
Define policies for requirements management
Use checklist for requirements analysis Use scenarios to elicit requirements
Specify requirements quantitatively
Use prototyping to animate requirements Reuse requirements
Thank you
Q&A