Software Requirement Elicitation by Aime - Pankamol Srikaew
- What is Requirement Elicitation?
- Why? - Importance of Requirement Elicitation
- Challenges of Requirement Elicitation
- Types of Requirement
- 5 Steps to Extract Requirement
- Applying with Agile
- Requirement Management and Tools
This presentation is related to Object Oriented Software Engineering book by David C. Kung
2. Content
● What is Requirement Elicitation?
● Why? - Importance of Requirement
Elicitation
● Challenges of Requirement
Elicitation
● Types of Requirement
● 5 Steps to Extract Requirement
● Applying with Agile
● Requirement Management and Tool
12. Different users have differents requirement
37% of software development failure is on requirement
“Many Project fail because of wrongly identified or inadequately stated
requirement”
“The hardest single part of building a software system is deciding precisely
what to build”
Importance of Software Requirement Elicitation
13. Software development in general is a wicked problem
Customer and users do not know what software can do and can not express
their needs
Communication barrier between customer/user and development team
Non-functional requirement are not identified or understated
Requirement Change ...
Challenges of Software Requirement Elicitation
24. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review
25. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review
1. Collecting Information
26. Step 1 : Collecting Information
1. What information needs to be collect?
2. What are the available information-collection method and techniques?
3. What are the guideline for information gathering
27. Step 1 : Collecting Information - Cont.
Information-Collection Activity should aim to acquire :
● Information about application
● Business Process
● Application Domain
28. Step 1 : Collecting Information - Cont.
Information-Collection Techniques
● Customer Presentation
● Literature Survey
● Study of Existing Business Procedure and Forms
● Stakeholders Survey
● User Interviewing
● Writing User Stories
29. Step 1 : Collecting Information - Cont.
User Story Form
“As a ______, I want to ________”
User Story Example
“As a manager, I want to assign each part of work to each specific employee”
“As a manager, I want to broadcast weekly schedule too all employee”
“As an employee, I want to contact with manager via personal message”
“As an employee, I want to commute with other employee via Live Chat”
30. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review
2. Constructing model
31. Step 2 : Constructing Model
“REAL WORLD
APPLICATION ARE
COMPLEX”
37. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review
3. Deriving requirement & constraint
38. Step 3 : Deriving Requirements & Constraints
Information have to be analyzed to satisfy the needs.
Identifying Needs from the Wishlists
Identifying Needs to Satisfy Business Goals
Deriving Requirement from Needs
Deriving Requirement from Analysis Model
Numbering Requirements and Constraints
Prioritizing Requirements
39. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review
4. Conducting
Feasibility
Study
40. Step 4 : Conducting Feasibility Study
Team Ability Budget Schedule
41. 1. Collecting Information
2. Constructing model
3. Deriving requirement & constraint
4. Conducting
Feasibility
Study
5. Review5. Review
42. Step 5 : Reviewing Requirement Specification
Technical Review Expert Review Customer Review
● Incompleteness
● Inconsistency
● Ambiguity
● Redundancy
● Intractability
● Infeasibility
● Incorrectness
● Inaccurate
● Inappropriate
● Inconsistent
● Policy
● Standard
● Law
● Rules
● Behavior
● Correctness
● Meet the needs
● User Interface
● All Function
● All Non-Function
we have a ton of thing to talk together today
today content will be ……
so let’s start with ...
what
is
requirement Elicitation
okay you might be more familiar with ...
Requirement Analysis .. But what is it?
Let’s talk about Agile … the process of agile is like ..
eliciting software requirement
deriving set of use case for the requirement
defining development plan
this requirement elicitation is for accomplish the 1st objective
Imagine .. In real world, real work. before we are going to do something
we need to know what we are going to do, right?
and maybe there is a big project, huge project, enormous project but there are many constraints
so .. only a subset of requirement will be implemented for business need.
First you have to understand what is requirement and what is constraints
P. 98
why we have to requirement elicitation … let see this figure
The cause of many project fail is related to requirement … inconsistency, incomplete, inappropriate whatever
Frederick Brooks said that ..
wicked problem -> no fixed solution
We have to ask carefully and in detail to user or use any appropriate methodologies to gather requirement from the user
Security -> protection from malicious software, protection of personal usage, safety of investment
user-friendly interface -> how it is friendly?
Incomplete of non-functional requirement can be a problem too -> more time and more cost
requirement change will impact many factor.
What we have to collect, How we have to collect, Any guideline or Any standard to follow
Objective of Information-collection activity is ...
How we will collect
Cus Pre
similar project
Existing business procedures and forms will help developer know how business process work, the input the output and each business have their own standard
Survey and interviewing
User story is the most famous way to do
Who want to do What? What activity of the end-user want to do