1
Requirements Engineering for Agile
Methods
Lecture # 41
2
Introduction
• Agile methods are a family of software
development processes
• Their aim is to deliver products faster,
with high quality, and satisfy customer
needs through the application of the
principles of lean production to
software development
3
Introduction
• Agile methods have become popular during
the last few years
• Lean production has been conceived during
the ’50s in Toyota. It involves several
practices that are now part of most
manufacturing processes, such as just-in-
time development, total quality
management, and continuous process
improvement
4
Introduction
• The principle of lean production is the
constant identification and removal of
waste, that is, anything that does not
add value for the customer to the final
product
5
Introduction
• Agile methods focus on
– Delivering value for the customer
– Ensuring that the customer understand
such value and be satisfied by the project
6
Introduction
• Agile methods pose a lot of emphasis
in producing and delivering to the
customer only those features that are
useful
• Producing anything that is not required
is considered a mistake
7
Introduction
• Adding a feature that is not needed not
only consumes effort without adding
customer value but also creates extra
code, which may contain errors and
make code longer and more complex to
maintain, to correct and improve
8
Introduction
• The waste includes general
architectures that are used only
partially or reusable components with
functionalities that are likely to be
never used
9
Introduction
• To achieve such elimination of waste,
agile methods claim to be
– Adaptive rather than predictive
– People-oriented rather than process-
oriented
10
Introduction
• A close collaboration between the
development team and the customer is
a must, so that
– Requirements are fully identified and
correctly understood
– Final products reflects what the customer
needs, no more no less
11
Agile Methods
• eXtreme Programming
• Scrum
• Dynamic Systems Development
Method
• Adaptive Software Development
• The Crystal Family
12
Agile Manifesto
• Individuals and Interactions over
Process and Tools
• Customer Collaboration over Contracts
• Working Software over Documentation
• Responding to Change over Planning
13
Common Practices and Behaviors
• Adaptability
• Incremental Development
• Frequent Releases
• Requirements Prioritization before
every iteration
• High Customer Involvement
14
RE in Agile Methods
• In agile methods, the whole
development team is involved in
requirements elicitation and
management, while in traditional
approaches often only a subset of the
development team is involved
15
RE in Agile Methods
• This approach is feasible only if the
size of the problem is limited, as only a
small development team can interact
directly with the customer
• If the problem is bigger, the team can
use other techniques for eliciting and
managing requirements
16
RE in Agile Methods
• The understanding of requirements
variability has a strong impact on the
ability of agile methods to be “lean’
17
Focus of Agile Methods in RE
• The Customer
• Waste in Requirements
• Requirements Evolution
• Non-functional Requirements
18
Customer in RE of Agile Methods
• Customers/stakeholders assume a
paramount role in requirements engineering
in agile methods
• The interaction between the development
team and stakeholders is complex due to the
different perceptions of the problem that the
stakeholders have
19
Customer in RE of Agile Methods
• In agile methods, the problem of multiple
stakeholders is solved reducing their
number to one, who represent all
stakeholders in the project
• The customer should be a domain expert
and able to make important decisions such
as accepting the product, prioritize
requirements, etc.
20
Customer-on-Site Requirements
• Availability
– The customer has to be always available
to answer questions coming from the
development team. Any delay in the
answer delays the development of the
product
21
Customer-on-Site Requirements
• Complete knowledge
– The customer is the representative for all
the stakeholders. Therefore, he is able to
answer all questions, since he is the
domain expert and knows how the
application should work and input/output
data required. Again, this is possible if
the size of the project is limited
22
Customer-on-Site Requirements
• Decision power
– The customer is able to make final
decisions and commitments. Changes in
requirements, acceptance of the features
implemented, etc., can be decided
directly by the customer, allowing a fast
decision making process
23
Waste in Requirements
• Identification and reduction of waste
from requirements assume a paramount
role to avoid the creation of waste later
in the development process
• In lean practices, the reduction of
waste is extremely important because
waste always generates more waste
24
Waste in Requirements
• Waste in requirements includes both wrong
and useless requirements
• All the waste generated is a cost for the
customer both directly and indirectly
• Such costs are likely to generate further
waste inside the customer organization due
to the reduced amount of money available
to its core business and reduced revenues
25
Impact of Requirements Waste on
Development Process
• More source code to write and higher
cost
• Increased complexity of the source
code
• Delayed delivery of the final version of
the application with all functionalities
• More complex and costly maintenance
26
Impact of Requirements Waste on
Development Process
• More resources required by the application,
including: memory usage, processing
power, network usage, etc
• Increased complexity of the application
from the point of view of the customer (e.g.,
more complex user interface, more effort to
learn how to use the application, etc)
27
Impact of Requirements Waste on
Development Process
• Savings produced by the application in
the production process of the customer
are delayed
28
Techniques to Focus on Interaction
with Customer
• The whole development team collects
requirements from the customer
– Usage of documents to share knowledge is
reduced to a minimum
• Requirements are collected using a common
language
– Requirements are collected using the language
of the customer, not any formal language
29
Techniques to Focus on Interaction
with Customer
• Direct interaction between the development
team and the customer
– Reduces both the number of documents
required and the probability of
misunderstanding due to unnecessary
communication layers
• Requirements splitting
– If the development team considers a
requirement too complex, this technique helps
the customer to split it in simpler ones
30
Waste Reduction Techniques
• In order to reduce the waste created by
the over specification of requirements,
following techniques are used
– Requirements prioritization
– Incremental releases
31
Prioritization Activities
• The development team estimates the time
required to implement each functionality. If
the effort required is too high, the
requirement is split into simpler ones that
can be implemented with less effort
• The customer specifies business priorities
for each functionality
32
Prioritization Activities
• According to the business priorities,
the development team assign a risk
factor to the functionalities
• The customer and the development
team identify the functionalities to
implement in the iteration
33
Requirements Evolution
• Agile methods assume that is very hard to
elicit all the requirements from the user
upfront, at the beginning of a development
project
• They also assume that such requirements
evolve in time as the customer may change
its mind or the overall technical and socio-
economical environment may evolve
34
Requirements Evolution
• Agile companies are aware that
changes are inevitable and they include
the management of variability into the
development process
35
Requirements Evolution
• Requirements are not well known at
the beginning of the project
• Requirements change
• Making changes is not expensive
36
Requirements Evolution
• Agile methods assume that the cost of
introducing changes in a product is
nearly constant over the time, but this
hypothesis is not true in every context
37
Requirements Evolution
• Usually, the cost of implementing changes
grows exponentially over the time
• On the other hand, if development phases
are grouped together in very short iterations
and binding decisions are taken as late as
possible, the growing of the cost is limited
38
Requirements Evolution
• In order to manage requirements evolution,
agile methods use variable scope-variable
price contract. This means that the features
really implemented into the system and its
cost evolve as well
• Requirements are negotiated throughout the
project between the customer the
development team
39
Managing Variability
• Decoupling requirements
• Requirements elicitation and
prioritization
40
Managing Variability
• Decoupling requirements
– Requirements have to be as independent
as possible in order to clearly identify
what to implement and make the order of
their implementation irrelevant
41
Managing Variability
• Requirements elicitation and prioritization
– At the beginning of every iteration, there is a
requirements collection and prioritization
activity. During that, new requirements are
identified and prioritized. This approach helps
to identify the most important features inside
the ongoing project.
42
Managing Variability
• Features are implemented mainly
according to their prioritization, not
their functional dependence
43
Non-Functional Requirements
• Agile methods do not provide any widely
accepted technique for eliciting and
managing non-functional requirements
• Such requirements are collected implicitly
during the requirements collection activity.
The need of specifying non-functional
requirements is less important than in other
context due to the continuous interaction
with the customer
44
Roles and Responsibilities
• Customer
• Developers
• Managers
45
Tools for Requirements Management
in Agile Methods
• Paper, pencil, and pin boards
• UML modeling tools
• Requirements negotiation tools
• Instant messaging tools
• Project management tools
46
Summary
• Provided an introduction to agile
methods and their approaches to
requirements elicitation and
management
• These methods are still evolving
• Customer involvement is a must
47
References
• ‘Requirements Engineering for Agile
Methods’ (Chapter 14), by Alberto
Sillitti and Giancarlo Succi in
‘Engineering and Managing Software
Requirements’ by Aybuke Aurum &
Claes Wohlin (Eds.), Springer 2005

More Related Content

PPTX
Requirements engineering for agile methods
PDF
Sdec10 lean package implementation
PPTX
Agile Model 2 for advance studies and other
PPTX
STQA Lecture Slides 02.pptxhhhhhhhhhhhhh
PPTX
Lecture 2 Software Development Process and SDCL models.pptx
PPT
Software_Requirement_Engineering_-_CS708_Power_Point_Slides__lecture-07.ppt
PPTX
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
PPT
CSCM Chapter 10 lean and agile
Requirements engineering for agile methods
Sdec10 lean package implementation
Agile Model 2 for advance studies and other
STQA Lecture Slides 02.pptxhhhhhhhhhhhhh
Lecture 2 Software Development Process and SDCL models.pptx
Software_Requirement_Engineering_-_CS708_Power_Point_Slides__lecture-07.ppt
ANIn Ahmedabad Feb 2024 | Addressing Challenges in Project Management via Agi...
CSCM Chapter 10 lean and agile

Similar to Agile Method requirement engineering.ppt (20)

PPTX
SWR302 Chapter_20_26_Requirements for specific project classes.pptx
PPTX
Chapter 2 Intro to SE(SW Process Models.pptx)
PDF
Sdec10 lean AMS
PDF
Agile 101
PPTX
Chapter 4 Requirements ModelInformation Technology Project Management - part ...
PPTX
Microsoft Dynamics AX Implementation Stabilization Case Studies
PDF
chapter04-120827115356-phpapp01.pdf
PPTX
Agile Project Management
PPTX
Development methodologies
PDF
Art of Implementing a Business Solution
PDF
Software Development Methodologies Pros, Cons, & Use Cases.pdf
PPTX
Enfoucs Requirement Suite™
PPTX
Different approaches for different scopes: How to tackle a medium-sized Dr...
PDF
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
PPSX
Software Development Life Cycle - SDLC
PPT
Requirements engineering process in software engineering
PPTX
product development process chapter 11
PPTX
Software Engineering and Project Management - Introduction to Project Management
PPTX
Software Project Management UNIT 2.pptx
PPTX
lean construction and integrated project delivery
SWR302 Chapter_20_26_Requirements for specific project classes.pptx
Chapter 2 Intro to SE(SW Process Models.pptx)
Sdec10 lean AMS
Agile 101
Chapter 4 Requirements ModelInformation Technology Project Management - part ...
Microsoft Dynamics AX Implementation Stabilization Case Studies
chapter04-120827115356-phpapp01.pdf
Agile Project Management
Development methodologies
Art of Implementing a Business Solution
Software Development Methodologies Pros, Cons, & Use Cases.pdf
Enfoucs Requirement Suite™
Different approaches for different scopes: How to tackle a medium-sized Dr...
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
Software Development Life Cycle - SDLC
Requirements engineering process in software engineering
product development process chapter 11
Software Engineering and Project Management - Introduction to Project Management
Software Project Management UNIT 2.pptx
lean construction and integrated project delivery
Ad

More from ubaidullah75790 (20)

PPTX
Chapter20 transaction processing system .pptx
PPTX
Chapter22 database security in dbms.pptx
PPTX
Chapter27 distributed database syst.pptx
PPTX
File Organization in database management.pptx
PPTX
transaction processing databse management.pptx
PPT
physical database design distributed .ppt
PPT
module03-ipaddr ipv6 addressing in net.ppt
PPT
PDBD- Part2 physical database design.ppt
PPT
Physical_Design system development life.PPT
PPT
S3 application and network attacks in.ppt
PPT
Chapter 5 cyber security in computer.ppt
PPTX
1606802425-dba-w7 database management.pptx
PPT
ENCh18 database management system ss.ppt
PPT
Chapter07 database system in computer.ppt
PPT
Chapter05 database sytem in computer . ppt
PPT
Chapter04 database system in computer.ppt
PPT
Chapter03 database system in computer.ppt
PPT
Chapter02 database system in computer.ppt
PPT
Chapter01 database system in computer.ppt
PPT
MYCH8 database management system in .ppt
Chapter20 transaction processing system .pptx
Chapter22 database security in dbms.pptx
Chapter27 distributed database syst.pptx
File Organization in database management.pptx
transaction processing databse management.pptx
physical database design distributed .ppt
module03-ipaddr ipv6 addressing in net.ppt
PDBD- Part2 physical database design.ppt
Physical_Design system development life.PPT
S3 application and network attacks in.ppt
Chapter 5 cyber security in computer.ppt
1606802425-dba-w7 database management.pptx
ENCh18 database management system ss.ppt
Chapter07 database system in computer.ppt
Chapter05 database sytem in computer . ppt
Chapter04 database system in computer.ppt
Chapter03 database system in computer.ppt
Chapter02 database system in computer.ppt
Chapter01 database system in computer.ppt
MYCH8 database management system in .ppt
Ad

Recently uploaded (20)

PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PDF
Applications of Equal_Area_Criterion.pdf
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PDF
20250617 - IR - Global Guide for HR - 51 pages.pdf
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPTX
Software Engineering and software moduleing
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Design Guidelines and solutions for Plastics parts
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
PDF
Computer organization and architecuture Digital Notes....pdf
PDF
Unit1 - AIML Chapter 1 concept and ethics
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PPT
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Applications of Equal_Area_Criterion.pdf
August -2025_Top10 Read_Articles_ijait.pdf
20250617 - IR - Global Guide for HR - 51 pages.pdf
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Software Engineering and software moduleing
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Information Storage and Retrieval Techniques Unit III
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Design Guidelines and solutions for Plastics parts
Exploratory_Data_Analysis_Fundamentals.pdf
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
Computer organization and architecuture Digital Notes....pdf
Unit1 - AIML Chapter 1 concept and ethics
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
tack Data Structure with Array and Linked List Implementation, Push and Pop O...

Agile Method requirement engineering.ppt

  • 1. 1 Requirements Engineering for Agile Methods Lecture # 41
  • 2. 2 Introduction • Agile methods are a family of software development processes • Their aim is to deliver products faster, with high quality, and satisfy customer needs through the application of the principles of lean production to software development
  • 3. 3 Introduction • Agile methods have become popular during the last few years • Lean production has been conceived during the ’50s in Toyota. It involves several practices that are now part of most manufacturing processes, such as just-in- time development, total quality management, and continuous process improvement
  • 4. 4 Introduction • The principle of lean production is the constant identification and removal of waste, that is, anything that does not add value for the customer to the final product
  • 5. 5 Introduction • Agile methods focus on – Delivering value for the customer – Ensuring that the customer understand such value and be satisfied by the project
  • 6. 6 Introduction • Agile methods pose a lot of emphasis in producing and delivering to the customer only those features that are useful • Producing anything that is not required is considered a mistake
  • 7. 7 Introduction • Adding a feature that is not needed not only consumes effort without adding customer value but also creates extra code, which may contain errors and make code longer and more complex to maintain, to correct and improve
  • 8. 8 Introduction • The waste includes general architectures that are used only partially or reusable components with functionalities that are likely to be never used
  • 9. 9 Introduction • To achieve such elimination of waste, agile methods claim to be – Adaptive rather than predictive – People-oriented rather than process- oriented
  • 10. 10 Introduction • A close collaboration between the development team and the customer is a must, so that – Requirements are fully identified and correctly understood – Final products reflects what the customer needs, no more no less
  • 11. 11 Agile Methods • eXtreme Programming • Scrum • Dynamic Systems Development Method • Adaptive Software Development • The Crystal Family
  • 12. 12 Agile Manifesto • Individuals and Interactions over Process and Tools • Customer Collaboration over Contracts • Working Software over Documentation • Responding to Change over Planning
  • 13. 13 Common Practices and Behaviors • Adaptability • Incremental Development • Frequent Releases • Requirements Prioritization before every iteration • High Customer Involvement
  • 14. 14 RE in Agile Methods • In agile methods, the whole development team is involved in requirements elicitation and management, while in traditional approaches often only a subset of the development team is involved
  • 15. 15 RE in Agile Methods • This approach is feasible only if the size of the problem is limited, as only a small development team can interact directly with the customer • If the problem is bigger, the team can use other techniques for eliciting and managing requirements
  • 16. 16 RE in Agile Methods • The understanding of requirements variability has a strong impact on the ability of agile methods to be “lean’
  • 17. 17 Focus of Agile Methods in RE • The Customer • Waste in Requirements • Requirements Evolution • Non-functional Requirements
  • 18. 18 Customer in RE of Agile Methods • Customers/stakeholders assume a paramount role in requirements engineering in agile methods • The interaction between the development team and stakeholders is complex due to the different perceptions of the problem that the stakeholders have
  • 19. 19 Customer in RE of Agile Methods • In agile methods, the problem of multiple stakeholders is solved reducing their number to one, who represent all stakeholders in the project • The customer should be a domain expert and able to make important decisions such as accepting the product, prioritize requirements, etc.
  • 20. 20 Customer-on-Site Requirements • Availability – The customer has to be always available to answer questions coming from the development team. Any delay in the answer delays the development of the product
  • 21. 21 Customer-on-Site Requirements • Complete knowledge – The customer is the representative for all the stakeholders. Therefore, he is able to answer all questions, since he is the domain expert and knows how the application should work and input/output data required. Again, this is possible if the size of the project is limited
  • 22. 22 Customer-on-Site Requirements • Decision power – The customer is able to make final decisions and commitments. Changes in requirements, acceptance of the features implemented, etc., can be decided directly by the customer, allowing a fast decision making process
  • 23. 23 Waste in Requirements • Identification and reduction of waste from requirements assume a paramount role to avoid the creation of waste later in the development process • In lean practices, the reduction of waste is extremely important because waste always generates more waste
  • 24. 24 Waste in Requirements • Waste in requirements includes both wrong and useless requirements • All the waste generated is a cost for the customer both directly and indirectly • Such costs are likely to generate further waste inside the customer organization due to the reduced amount of money available to its core business and reduced revenues
  • 25. 25 Impact of Requirements Waste on Development Process • More source code to write and higher cost • Increased complexity of the source code • Delayed delivery of the final version of the application with all functionalities • More complex and costly maintenance
  • 26. 26 Impact of Requirements Waste on Development Process • More resources required by the application, including: memory usage, processing power, network usage, etc • Increased complexity of the application from the point of view of the customer (e.g., more complex user interface, more effort to learn how to use the application, etc)
  • 27. 27 Impact of Requirements Waste on Development Process • Savings produced by the application in the production process of the customer are delayed
  • 28. 28 Techniques to Focus on Interaction with Customer • The whole development team collects requirements from the customer – Usage of documents to share knowledge is reduced to a minimum • Requirements are collected using a common language – Requirements are collected using the language of the customer, not any formal language
  • 29. 29 Techniques to Focus on Interaction with Customer • Direct interaction between the development team and the customer – Reduces both the number of documents required and the probability of misunderstanding due to unnecessary communication layers • Requirements splitting – If the development team considers a requirement too complex, this technique helps the customer to split it in simpler ones
  • 30. 30 Waste Reduction Techniques • In order to reduce the waste created by the over specification of requirements, following techniques are used – Requirements prioritization – Incremental releases
  • 31. 31 Prioritization Activities • The development team estimates the time required to implement each functionality. If the effort required is too high, the requirement is split into simpler ones that can be implemented with less effort • The customer specifies business priorities for each functionality
  • 32. 32 Prioritization Activities • According to the business priorities, the development team assign a risk factor to the functionalities • The customer and the development team identify the functionalities to implement in the iteration
  • 33. 33 Requirements Evolution • Agile methods assume that is very hard to elicit all the requirements from the user upfront, at the beginning of a development project • They also assume that such requirements evolve in time as the customer may change its mind or the overall technical and socio- economical environment may evolve
  • 34. 34 Requirements Evolution • Agile companies are aware that changes are inevitable and they include the management of variability into the development process
  • 35. 35 Requirements Evolution • Requirements are not well known at the beginning of the project • Requirements change • Making changes is not expensive
  • 36. 36 Requirements Evolution • Agile methods assume that the cost of introducing changes in a product is nearly constant over the time, but this hypothesis is not true in every context
  • 37. 37 Requirements Evolution • Usually, the cost of implementing changes grows exponentially over the time • On the other hand, if development phases are grouped together in very short iterations and binding decisions are taken as late as possible, the growing of the cost is limited
  • 38. 38 Requirements Evolution • In order to manage requirements evolution, agile methods use variable scope-variable price contract. This means that the features really implemented into the system and its cost evolve as well • Requirements are negotiated throughout the project between the customer the development team
  • 39. 39 Managing Variability • Decoupling requirements • Requirements elicitation and prioritization
  • 40. 40 Managing Variability • Decoupling requirements – Requirements have to be as independent as possible in order to clearly identify what to implement and make the order of their implementation irrelevant
  • 41. 41 Managing Variability • Requirements elicitation and prioritization – At the beginning of every iteration, there is a requirements collection and prioritization activity. During that, new requirements are identified and prioritized. This approach helps to identify the most important features inside the ongoing project.
  • 42. 42 Managing Variability • Features are implemented mainly according to their prioritization, not their functional dependence
  • 43. 43 Non-Functional Requirements • Agile methods do not provide any widely accepted technique for eliciting and managing non-functional requirements • Such requirements are collected implicitly during the requirements collection activity. The need of specifying non-functional requirements is less important than in other context due to the continuous interaction with the customer
  • 44. 44 Roles and Responsibilities • Customer • Developers • Managers
  • 45. 45 Tools for Requirements Management in Agile Methods • Paper, pencil, and pin boards • UML modeling tools • Requirements negotiation tools • Instant messaging tools • Project management tools
  • 46. 46 Summary • Provided an introduction to agile methods and their approaches to requirements elicitation and management • These methods are still evolving • Customer involvement is a must
  • 47. 47 References • ‘Requirements Engineering for Agile Methods’ (Chapter 14), by Alberto Sillitti and Giancarlo Succi in ‘Engineering and Managing Software Requirements’ by Aybuke Aurum & Claes Wohlin (Eds.), Springer 2005