Lecture 4 - Establishing Requirements
Lecture 4 - Establishing Requirements
1
Agile methods and requirements
2
Functional and non-functional requirements
• Functional requirements
• Statements of services the system should provide, how the system should
react to particular inputs and how the system should behave in particular
situations.
• May state what the system should not do.
• Non-functional requirements
• Constraints on the services or functions offered by the system such as
timing constraints, constraints on the development process, standards,
etc.
• Often apply to the system as a whole rather than individual features or services.
• Domain requirements
• Constraints on the system from the domain of operation
3
functional Vs non-functional requirements
4
System stakeholders
5
Case Study : Stakeholders
Suppose that you have to develop software for cash dispenser. You
should develop software for both cash dispenser, i.e. the part for
communication with the customers (delivering money and report
the account state), the software for communication and software
needed in banks for communicate with the bank transaction
systems. You have a team of 10 people – all of them can play a role
of designers, developers, testers and document writers. You have
got a contract to implement the first version in 6 months. All
hardware and development tools are available. In the project 5
banks are included that use 2 different transaction systems. The
customer wants that you incrementally implement the system –
first the cash dispenser software, then the interface to the bank
account system, finally the communication. The total system
should be delivered after 6 months.
6
Problems of requirements elicitation
7
The requirements elicitation and analysis
process
8
Process activities
• Requirements discovery
• Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
• Requirements classification and organisation
• Groups related requirements and organises them into coherent
clusters.
• Prioritisation and negotiation
• Prioritising requirements and resolving requirements conflicts.
• Requirements specification
• Requirements are documented and input into the next round of the
spiral.
9
Requirement Gathering
• Why bother?
Requirements
definition is the
stage where
failure occurs
most commonly
• Why ‘establish’?
— motor abilities may affect the suitability of certain input and output
devices
• Interviews:
— Props, e.g. sample scenarios of use,
prototypes, can be used in interviews
— Good for exploring issues
• Focus groups:
— Group interviews
• Questionnaires:
— Often used in conjunction with other
techniques
— Can give quantitative or qualitative data
— Good for answering specific questions from
a large, dispersed group of people
• Direct observation:
— Gain insights into stakeholders’ tasks
• Indirect observation:
— Not often used in requirements activity
Cultural probes
Contextual Inquiry
—2 to 3 hours long
retrieve Visa
• Start with a user goal which is examined and the main tasks for
achieving it are identified
34