SlideShare a Scribd company logo
1 of 47
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

Similar to Agile Method requirement engineering.ppt

0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
BinNguynVn3
ย 

Similar to Agile Method requirement engineering.ppt (20)

Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
ย 
chapter04-120827115356-phpapp01.pdf
chapter04-120827115356-phpapp01.pdfchapter04-120827115356-phpapp01.pdf
chapter04-120827115356-phpapp01.pdf
ย 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
ย 
Development methodologies
Development methodologiesDevelopment methodologies
Development methodologies
ย 
Art of Implementing a Business Solution
Art of Implementing a Business SolutionArt of Implementing a Business Solution
Art of Implementing a Business Solution
ย 
Software Development Methodologies Pros, Cons, & Use Cases.pdf
Software Development Methodologies Pros, Cons, & Use Cases.pdfSoftware Development Methodologies Pros, Cons, & Use Cases.pdf
Software Development Methodologies Pros, Cons, & Use Cases.pdf
ย 
Enfoucs Requirement Suiteโ„ข
Enfoucs Requirement Suiteโ„ขEnfoucs Requirement Suiteโ„ข
Enfoucs Requirement Suiteโ„ข
ย 
Different approaches for different scopes: How to tackle a medium-sized Dr...
Different approaches for different scopes: How to tackle a medium-sized Dr...Different approaches for different scopes: How to tackle a medium-sized Dr...
Different approaches for different scopes: How to tackle a medium-sized Dr...
ย 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
ย 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
ย 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
ย 
product development process chapter 11
product development process chapter 11product development process chapter 11
product development process chapter 11
ย 
lean construction and integrated project delivery
lean construction and integrated project delivery lean construction and integrated project delivery
lean construction and integrated project delivery
ย 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
ย 
Chapter 04
Chapter 04Chapter 04
Chapter 04
ย 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
ย 
Towards a hybrid approach between agile and traditional methods
Towards a hybrid approach between agile and traditional methodsTowards a hybrid approach between agile and traditional methods
Towards a hybrid approach between agile and traditional methods
ย 
Module-02.pptx
Module-02.pptxModule-02.pptx
Module-02.pptx
ย 
CMMI V1.3
CMMI V1.3CMMI V1.3
CMMI V1.3
ย 
INAAU Project Management for Telecommunications Professionals
INAAU Project Management for Telecommunications ProfessionalsINAAU Project Management for Telecommunications Professionals
INAAU Project Management for Telecommunications Professionals
ย 

More from ubaidullah75790

vu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.pptvu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.ppt
ubaidullah75790
ย 
Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.ppt
ubaidullah75790
ย 
SRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.pptSRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.ppt
ubaidullah75790
ย 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppt
ubaidullah75790
ย 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.ppt
ubaidullah75790
ย 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.ppt
ubaidullah75790
ย 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.ppt
ubaidullah75790
ย 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.ppt
ubaidullah75790
ย 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.ppt
ubaidullah75790
ย 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.ppt
ubaidullah75790
ย 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
ubaidullah75790
ย 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.ppt
ubaidullah75790
ย 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
ubaidullah75790
ย 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.ppt
ubaidullah75790
ย 
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.pptvu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.ppt
ubaidullah75790
ย 

More from ubaidullah75790 (20)

vu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.pptvu-re-lecture-33 requirement engineering.ppt
vu-re-lecture-33 requirement engineering.ppt
ย 
Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.ppt
ย 
SRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.pptSRS for banking system requirement engineer.ppt
SRS for banking system requirement engineer.ppt
ย 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppt
ย 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.ppt
ย 
SRS for banking system requirement s.ppt
SRS for banking system requirement s.pptSRS for banking system requirement s.ppt
SRS for banking system requirement s.ppt
ย 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.ppt
ย 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.ppt
ย 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.ppt
ย 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.ppt
ย 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.ppt
ย 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.ppt
ย 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
ย 
vu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptvu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.ppt
ย 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.ppt
ย 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
ย 
vu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptvu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.ppt
ย 
vu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptvu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.ppt
ย 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.ppt
ย 
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.pptvu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.ppt
ย 

Recently uploaded

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
KreezheaRecto
ย 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
sivaprakash250
ย 
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
ย 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
ย 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
SUHANI PANDEY
ย 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
ย 

Recently uploaded (20)

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
ย 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
ย 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
ย 
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
ย 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
ย 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
ย 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
ย 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
ย 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ย 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
ย 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
ย 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
ย 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ย 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
ย 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
ย 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
ย 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
ย 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
ย 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
ย 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
ย 

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