Value based software engineering iii
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Value Based Software Engineering –III PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

Value Based Software Engineering –III. Percolating ‘Value’ into the SDLC (Software Development Lifecycle) Nupul Kukreja 5 th October, 2011. Agenda. The ‘science’ of decision making – what, why and how? The role of decision making in Value Based Requirements Prioritization (VBRP)

Download Presentation

Value Based Software Engineering –III

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Value based software engineering iii

Value Based Software Engineering –III

Percolating ‘Value’ into the SDLC (Software Development Lifecycle)

NupulKukreja

5th October, 2011


Agenda

Agenda

  • The ‘science’ of decision making – what, why and how?

  • The role of decision making in Value Based Requirements Prioritization (VBRP)

  • VBRP – what, why & how?

  • Understanding VBRP in CS577

  • Demo of VBRP in Action


Decision making what

Decision Making – What?

Definition:*

  • Decision making can be regarded as the mental processes (cognitive process) resulting in the selection of a course of action among several alternative scenarios

  • Every decision making process produces a final choice

  • The output can be an action or an opinion of choice.

*Courtesy: http://en.wikipedia.org/wiki/Decision_making


Decision making making a choice

Decision Making – Making a Choice

Which apartment do you want to live in?


Making a choice how

Making a Choice – How?

  • So, just how did you choose your apartment?

  • What all did you ‘see’ / evaluate before signing the lease?

  • Examples of possible criteria:

    • Rent per month

    • Location i.e., quality of area

    • Proximity to campus

    • Presence of a good looking neighbor 

    • …and probably several others


Analyzing the problem

Analyzing the ‘Problem’

  • You have the two key ingredients necessary for a decision problem:

    • A list of criteria

    • A set of alternatives

  • Problem: Given a list of criteria AND a set of alternatives select the alternative that best suits the given criteria

Apartment Selection

Criteria

Decision Analysis

Alternatives

Rank ordered set of apartments

Rank ordered set of alternatives


Decision making why bother

Decision Making – Why Bother?

  • Converts ‘art’ into science

    • Adds rigor to the act of decision making

  • Justification of choice of action i.e., why you chose what you chose?

    • Helps decrease legal liability

      Ex.: Why did Company A select the bid/tender of Company X over Y? (It’s not only cost )

  • Documents the institutional memory that lead to that particular decision (i.e., helps trace back to provide justification of decision)


Decision making how do you do it

Decision Making – How do you do it?

  • If it is a well studied science (it is) does anything exist ‘out there’ to help practice this ‘science’?

  • There are various techniques that can be employed:

    • Multi-attribute utility theory (ISE 562 in Fall)

    • Analytical Hierarchy Process (AHP)

    • Simple Additive Weighting

    • TOPSIS

    • …and many more (http://en.wikipedia.org/wiki/MCDA#MCDM_Methods)


Decision problem look and feel

Decision Problem – Look and Feel

When considering multiple criteria in decision making the problem is often referred to as “Multiple Criteria Decision Analysis” (MCDA) or “Multiple Criteria Decision Making” (MCDM)

Almost always has a matrix-like representation:

Sij = Measure of how well Alternative ‘i‘ does on Criterion ‘j’


Okay great but what has any of it got to do with vbse

Okay, Great! But what has any of it got to do with VBSE?

  • Everything!! 

  • How do you decide:

    • Which requirement to implement first?

    • Which component to design first?

    • Which architectural style/pattern to use?

    • Which requirements to test first?

    • Which test-cases form part of the regression suite?

    • What all to prototype first?

    • For which component to write the “first line of code”?


Wait but i ve already done all of this before and i got it right too

Wait! But I’ve already done all of this before and I got it right too!

  • Probably correct. However…

  • Were you able to justify your choice i.e., how you came about choosing a specific option?

    • Was there ever a need to do so? 

  • Just “how” did you decide?

    • Perhaps intuition, gut feel, domain knowledge, tossing a coin, do as the Romans do…

  • Yes, a simple 1-10 works or even MoSCoW (Must, Should, Could, Would – have) but for relatively simple problems


Decision making and vbrp

Decision Making and VBRP

  • Decision analysis techniques can be ‘overloaded’ to perform requirements prioritization…

  • …the rank-ordered output of decision making techniques could also rank-order requirements!

  • But what is so “value-based” about VBRP? Shouldn’t a simple 1-10 ranking or MoSCoW be enough?


The dimensions of value

The ‘Dimensions’ of Value

  • Value is a multi-dimensional quantity, a simple 1-10 may not cut it

  • Value lies in the eyes of the beholder

    …and so does its dimensions! 

  • Dimensions are ‘hidden’ within the ‘expected benefits’ of the various stakeholders

  • The benefits serve as the goals/objectives/criteria on which to prioritize the requirements

  • Point to consider: Are all dimensions* equally important?

    (*dimensions = benefits = criteria = goals = objectives)


Prioritizing criteria value dimensions

Prioritizing Criteria/Value Dimensions

  • All criteria may NOT be equally important

  • But just HOW do you prioritize the criteria themselves?

    • A simple 1-10 (Yes, it works )

    • A highly involved process like multi-attribute utility theory (MAUT) to get the utility functions for each criteria which shows the risk attitude of each criterion

    • Or another interesting technique - Project Success Sliders*

* Radical Project Management by Rob Thomsett


Project success sliders

Project Success Sliders

25%

50%

75%

Success Criteria (defined at start of project)

Image: Radical Project Management by Rob Thomsett


Project success sliders1

Project Success Sliders

We’ll show you later what success sliders will you be using in CS577…

…please be patient 

25

1

It’s ‘subjective’ but an extremely effective tool to understand the importance of expectations and their relative tradeoffs!

50

2

100

4

3

75

They can (and are) interpreted on a relative scale i.e., twice as important, half as much etc.,

25

1

75

3

50

2

Image: Radical Project Management by Rob Thomsett


Putting it all together

Putting It All Together

You have:

  • Relative ranking of all criteria

  • List of requirements (or win conditions)

    What else do you need?

  • Scores! How well each requirement/win-condition does on each criteria

    You STILL need something else…

  • The decision analysis ALGORITHM!


Value based software engineering iii

Decision Analysis Algorithm: Given a set of criteria with possible weights and the measure of how the alternatives rank on the respective criteria find the most optimal alternative

The scale of the scores could be absolute, relative, 1-10 (Likert Scale), Fibonacci... …must be consistent across the matrix


Algorithms for practicing vbrp

Algorithms for Practicing VBRP

  • There are various algorithms in literature to choose from along with those from MCDA/M:

    • Kano Analysis

    • Planning Poker

    • 100-point assignment technique

    • Simple Additive Weighting

    • Quality Function Deployment (House of Quality)

    • Cost of Delay

    • Weiger’s Prioritization

    • Theory-W (Business value vs. Technical Feasibility)

    • …and quite a few more 


What are we using in cs577

What are we using in CS577?

  • TOPSIS: Technique of Ordered Preference by Similarity to Ideal Solution (MCDM Technique)

  • Can combine several different models of prioritization (from the previous slide) “under” TOPSIS, if it is made generic enough (mother of many )

  • Success Sliders can be conveniently incorporated (i.e., their ‘numerical/relative’ output)

  • Relatively low learning curve

  • We’ll be using Business Value, Technical Feasibility and Relative Penalty as the criteria against which to rank the requirements. You may add more (e.g., risk, cost, effort, time – anything you deem appropriate!)

  • Let’s see it in action – WinWin Prioritization Template


Points to note

Points To Note

  • TOPSIS is ONE way of practicing VBRP

  • You could even perform COTS tradeoff analyses using it. (It’s a decision problem!)

  • Use the VBRP technique that is best suited to the situation – each technique has its pros and cons. Choose wisely.

  • Some prioritization techniques do not lend themselves to a typical spreadsheet like analysis

  • The output of some techniques could be bucketed (categorized into the MoSCoW buckets) or ordinal (explicitly rank ordered)


Conclusion

Conclusion

  • Tools and techniques for prioritization are only one side of the coin…

  • …negotiations and discussions are the other. The latter must be held for the former to be of any value. Using the tool will NOT guarantee VBRP

  • There will be a Homework on VBRP posted tonight, due next week!


  • Login