Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting...
Transcript of Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting...
![Page 1: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/1.jpg)
Supporting the Dynamic Reprioritization of Requirements in Agile Development of
Software Products
Z. Racheva, M. Daneva, L. Buglione
2° International Workshop on Software Product Management (IWSPM)
Barcelona, 9 September 2008
![Page 2: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/2.jpg)
2
![Page 3: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/3.jpg)
3
Agenda
1. Agile Requirements Engineering 2. Agile Product Management 3. Review of Requirements Prioritization Techniques
in Agile Projects 4. Conceptual model of agile requirements
prioritization 5. Issues and Solutions
![Page 4: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/4.jpg)
4
Agile Requirements Engineering
active customer participation
iterative and incremental build-up process
accommodation of changes
![Page 5: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/5.jpg)
5
The Role of Customers in Agile RE
An integral part of the team / on-site with the team. writes user stories, discusses requirements with
programmers responsible for business decisions, including
prioritizing user stories evolves the requirements tests the software to confirm it works as expected
![Page 6: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/6.jpg)
6
Agile RE from a Product Manager's perspective
custom programming environments - on-site customer
software vendors - product manager
Note: both serve as the customer representative in planning and requirements definition
![Page 7: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/7.jpg)
7
• PMs anticipate the requirements (instead of reacting to them)
• PMs can tie the actual work being done to market drivers
• PMs can track project progress, so that they set expectation of their clients and executives.
The “extended” role of the Product Manager (PM)
![Page 8: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/8.jpg)
8
Research Approach
Step1: Systematic literature review.
Step2: Codding.
Step3: Conceptual model
![Page 9: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/9.jpg)
9
Prioritization approaches in agile projects
Why do we call these approaches agile:
we found evidences about their use in an iterative and incremental process, following an agile methodology like:
SCRUM
XP
Crystal
![Page 10: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/10.jpg)
10
Prioritization approaches in agile projects (1)
Round-the-group prioritization Ping Pong Balls $100 allocation Multi-voting system MoSCoW (must-should-could-won‘t) Pair-wise analysis Weighted criteria analysis
![Page 11: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/11.jpg)
11
Analytic Hierarchy Process Dot voting Binary Search Tree Ranking based on product definition Planning Game Quality functional deployment QFD Wiegers’ matrix approach Mathematical programming techniques for release planning
Prioritization approaches in agile projects (2)
![Page 12: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/12.jpg)
12
Agile Prioritization Approaches: Summary
Two main groups: Techniques directly comparing requirements pair-
wise e.g. Binary search tree, AHP, pair-wise analysis
Techniques that group requirements depending on their importance e.g. MoSCoW, Planning Game, QFD, 100$ allocation
![Page 13: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/13.jpg)
13
Conceptual model of agile requirements prioritization from client‘s perspective (1)
What we did: identified main processes and actors identified dependencies and information
sources
![Page 14: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/14.jpg)
14
Conceptual model of agile requirements prioritization from client‘s perspective (2)
![Page 15: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/15.jpg)
15
Issues and solutions (1)
Issue 1 – related to step 2 – Business Value estimation at the beginning of iteration
Solution 1 – Make explicit the decision criteria by attaching
additional parameters to a feature: - weight among siblings - dependencies (e.g. chronological, architectural) - certainty factor - mirrors the certainty about the need to
implement the feature at the present moment
![Page 16: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/16.jpg)
16
Issue 2 – related to step 2 – Not all Features create Business Value (chronological
dependency) Solution 2. 1
– Consider such user stories as married to the story that creates (max) business value
Solution 2. 2 – Introduce time-ranking (adding Dependency –
parameter in the description of features)
Issues and solutions (2)
![Page 17: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/17.jpg)
17
Issue 3 – Quality attributes can not be separated from other
features
Solution 3 – Consider them as functional requirements, where the
main criteria is the certainty parameter
Issues and solutions (3)
![Page 18: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/18.jpg)
18
Issue 4 – Variation of current BV
Solution 4 – Estimate current BV before each iteration as:
Business Value feature n, iteration i = f(initial business value, current cost estimate)
Issues and solutions (4)
![Page 19: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/19.jpg)
19
Issue 5 – Choice of prioritization technique
Solution 5 – Consider following criteria:
• number of items to be prioritized, • number of stakeholders involved, • level of requirements volatility, • sources of information available
Issues and solutions (5)
![Page 20: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/20.jpg)
20
Issue 6 – Defining the scope of next iteration
Solution 6 – Apply optimization-based, systematic approach,
• e.g. real-options analysis
Issues and solutions (6)
![Page 21: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/21.jpg)
21
Conclusions
Prioritization is pushed to product managers (customers), but this is not without problems
Partial solutions do exist, but their applicability in context is under-researched
![Page 22: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/22.jpg)
22
What’s next?
Develop a decision-support vehicle that helps clients complement value-based and cost-based prioritization criteria
Investigate project context features that influence the prioritization
Work on more systematic and objective agile prioritization approach
![Page 23: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/23.jpg)
23
Thanks for your attention! ¡Gracias por vuesta atencion!
![Page 24: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/24.jpg)
Z. Racheva: [email protected] M. Daneva: [email protected] L. Buglione: [email protected]
![Page 25: Supporting the Dynamic Reprioritization of Requirements in Agile … · 2008-09-09 · Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products](https://reader033.fdocuments.in/reader033/viewer/2022050421/5f90b608f45dc959710589d2/html5/thumbnails/25.jpg)
25
Traditional vs. Agile prioritization
Aspects of the prioritization process
Traditional (waterfall) development Agile
When is prioritization performed
Typically once, after the analysis phase and before implementation
Before each iteration, at planning phase, or during iteration
Who is responsible Developer, with participation of project manager and other stakeholders.
Client/customer is the main driver for choosing, having an aid by the Scrum master (or Agile PM) about the technical feasibility of a schedule.
Goals/Purpose of the prioritization
Project management-vehicle Vehicle to make sure delivered Business value is maximized at each iteration; Scope definition vehicle at iteration level