Value Based Software Engineering (VBSE)

advertisement
Value-Based Software Engineering
(VBSE)
CS577a
Nupul Kukreja,
Barry Boehm
August 31, 2012
Agenda – Part 1
•
•
•
•
Understanding the “Definition of VBSE”
Why practice VBSE?
Who should practice VBSE?
Part 2:
– VBSE in detail
2
Value-Based Software Engineering
• Engineering*:
The science, skill, and profession of acquiring
and applying scientific, economic, social, and
practical knowledge, in order to design and
also build structures, machines, devices,
systems, materials and processes
*http://en.wikipedia.org/wiki/Engineering
3
Value-Based Software Engineering
• Software Engineering*:
The application of a systematic, disciplined,
quantifiable approach to the design,
development, operation, and maintenance
of software, and the study of these
approaches; that is, the application
of engineering to software
*http://en.wikipedia.org/wiki/Software_engineering
4
Value-Based Software Engineering
• Value: (often in the eye of the beholder)
– The regard that something is held to deserve; the
importance or preciousness of something
– Material/monetary-worth of something
– The worth of something compared to the price
paid or asked for it
– The usefulness of something considered in respect
of a particular purpose
– Etc.
5
Value-Based Software Engineering
• Goal of software engineering is to create
products, services and processes that add
value
• VBSE: brings value considerations to the
foreground so that software engineering
decisions at all levels can be optimized to
meet or reconcile explicit objectives of the
involved stakeholders
6
Why Should You Care About VBSE?
• Software has unique internal and external characteristics:
– Highly flexible and volatile
– Heavy dependence on collaboration amongst creative and
skilled people
– Necessitates construction and management approach radically
different from traditional engineering
– Basic engineering principles of discipline, economy, rigor,
quality, utility, repeatability and predictability (to some extent)
still apply
• Value considerations affect trade-offs with much more
subtlety, severity and variety as opposed to engineering of
tangible products
• Trade-offs ultimately govern the outcome of the project!
• VBSE draws attention to these trade-offs
– Impossible to reason about in value neutral setting
7
Who Should Practice VBSE?
• Just about everyone 
– CIOs, Product and Project Managers making high-level
(value adding) decisions
– Process & measurement experts, requirements engineers,
business analysts, QA/usability experts, technical leads etc.
– Software Engineering researchers, educators and graduate
students teaching or studying software processes,
evaluating existing and new practices, technologies,
methods or products
• Basically all academicians, managers, practitioners and
students of software engineering who realize that
software isn’t created in a void is involves numerous
participants 
8
Agenda – Part 2
• Understanding “Theory W” (VBSE’s engine)
• VBSE’s 4+1 Theory
• VBSE Agenda
• VBSE: 7 Key Elements
You WILL practice each of the 7 key elements
over the course of 577ab
9
Theory W*: Enterprise Success Theorem
“Your enterprise will succeed
if and only if
it makes winners of your success-critical stakeholders”
• Proof of “if”:
Everyone that counts is a winner.
Nobody significant is left to complain.
• Proof of “only if”:
Nobody wants to lose.
Prospective losers will refuse to participate, or will
counterattack.
The usual result is lose-lose.
*An Initial Theory of VBSE – Barry Boehm & Apurva Jain
10
Theory W: WinWin Achievement
Theorem
Making winners of your success-critical
stakeholders (SCSs) requires:
• Identifying all of the SCSs
• Understanding how the SCSs want to win
• Having the SCSs negotiate a win-win set of
product and process plans
• Controlling progress toward SCS win-win
realization, including adaptation to change.
11
VBSE Theory: 4+1 Structure
Results chains; value chains; cost,
schedule, performance tradeoffs
Multi-attribute utility;
Maslow’s need hierarchy
Dependency
Theory
Utility
Theory
How do dependencies
affect value realization?
What values are important?
How is success ensured?
How important
are the values?
(Engine)
Theory-W:
SCS Win-Win
How to adapt to change and
control value realization?
Control
Enterprise
Theory
Enterprise Success Theorem
Theory of Justice
WinWin Equilibrium
& Negotiation
How do values affect
decision choices?
Decision
Success Theorem (Make winners of SCS)
Theory of Justice (Being fair to all participants)Theory
Feedback
control
Investment
theory
WinWin
Equilibrium & Negotiation (Being in WinWin
State)
Adaptive control
Spiral risk control
Game theory
Statistical decision theory
VBSE Theory: 4+1 (Steps)
Dependency
Theory
2. Identify SCS
3. SCS Value
Propositions
(Win Conditions)
Theory-W:
SCS Win-Win
6, 7c. Refine, execute,
monitor & control plans
Control
Theory
1. Protagonist goals
7. Risk, opportunity,
change management
Utility
Theory
4. SCS expectations
management
5. SCS WinWin
Negotiation
Decision
Theory
VBSE Theory: 4+1 (Steps)
5a, 7b. Options, solution
development & analysis
Dependency
Theory
2a. Results chains
2. Identify SCS
3b, 5a, 7b. Cost/schedule/
performance tradeoffs
3b, 7a. Solution Analysis
6, 7c. Refine, execute,
monitor & control plans
Control
Theory
6a, 7c. State measurement,
prediction correction;
Milestone synchronization
3. SCS Value
Propositions
(Win Conditions)
Theory-W:
SCS Win-Win
1. Protagonist goals
3a. Solution Exploration
7. Risk, opportunity,
change management
Utility
Theory
4. SCS expectations
management
5a, 7b. Prototyping
5. SCS WinWin
Negotiation
Decision
Theory
5a. Investment
analysis, Risk analysis
Documenting What You Know
• High concurrency/backtracking when practicing the
VBSE 4+1 Model
• “Tacit Knowledge” generated amongst team members
(Team = clients + other success critical stakeholders +
student team)
• How do “we” (577 staff) know what it is you know and
whether you really know what you claim to know?
• By documenting the findings/solutions in the
appropriate artifacts as laid down by the ICSM EPG –
and validate the same during the ARB Sessions and the
periodic grading…
…the DEN team members help out with this in their
role as IIV&V-ers
15
VBSE Agenda
• Objective: Integrating value considerations into the full range of
existing & emerging Software Engineering principles in a manner so
that they ‘compatibly’ reinforce one another
• Major Elements:
–
–
–
–
–
–
–
–
VB* Requirements Engineering
VB Architecting
VB Design and Development
VB Verification And Validation
VB Planning and Control
VB Risk Management
VB Quality Management
VB People Management
*VB = Value-Based
16
VBSE: Seven Key Elements
1. Benefits Realization Analysis
2. Stakeholder Value Proposition Elicitation &
Reconciliation
3. Business Case Analysis
4. Continuous Risk and Opportunity Management
5. Concurrent System & Software Engineering
6. Value-Based Monitoring & Control
7. Change as Opportunity
17
1. Benefits Realization Analysis
DMR/BRA* Results Chain
Assumption(s):
-Order to delivery time is
an important buying criterion
Accountable
Stakeholder(s)
OUTCOME
INITIATIVE
Contribution
Implement a new order
entry system
OUTCOME
Contribution
Reduced order processing cycle
(intermediate outcome)
Increased sales
Reduce time to process
order
Reduce time to deliver product
*DMR Consulting Group’s Benefits Realization Approach
18
Key ‘Benefits’ of Doing BRA/Results Chain
• Explicitly maps the intended benefits of the system to be
acquired along with their causal linkages
• Helps identify the initiatives need to be taken to realize the
benefits
• Helps identify the ‘key stakeholders’ accountable for the
above initiatives
NOTE:
• Refined as more is learnt about the initiatives or an
unforeseen benefit is uncovered
• Done at multiple levels of granularity and stabilizes earlier
into the SDLC than most artifacts
• Lays foundation for the relevant metrics required to ‘track’
the benefits
There will be a subsequent lecture detailing HOW to perform benefits analysis
19
2. Stakeholder Value Proposition
Elicitation & Reconciliation
• Myth: ALL SCSs have readily expressible and compatible value
propositions that can be easily turned into a set of objects for each
initiative and the overall ‘portfolio’ of initiatives
• The following figure is also known as a “Model Clash”
Red lines
indicate
conflicts
that can be
resolved via
successful
negotiations
Black lines
indicate
“inherent”
conflicts –
they are
naturally
occurring
and not
much can
be done to
fix them
20
Techniques
• There are a myriad techniques that can be applied for
stakeholder value proposition reconciliation:
– Expectations Management: Just awareness of potential
conflicts could help SCSs relax their less critical levels of
desire
– Visualization & Trade-off Analysis Techniques:
Prototyping, scenarios, estimation models help SCSs to
mutually understand most important & achievable aspects
of the system
– Prioritization: Helps identify which combination of
capabilities best satisfies the stakeholders’ most critical
needs within available resource constraints
– Groupware: Some groupware tools have support for
collaborative brainstorming, discussions, prioritization etc.,
Each of these is practiced in CS577!!
21
3. Business Case Analysis (BCA)
• Helps determine where is the best bang for
the buck – i.e., capabilities providing the best
ROI (Return on Investment)
• Can directly influence capability prioritization
• TWO Major factors influencing BCA (i.e.
making life difficult)
– Unquantifiable benefits (a.k.a. intangibles)
– Uncertainties & risk
22
Techniques
• ROI – most commonly used to justify a business
case
– Used and practiced in 577
– ROI calculations will be on ‘time saved’ if no money is
involved (may convert time to $ money $)
– If money is involved you should do both forms of ROI
analyses. Ex.: Hiring a maintainer, cost of hosting etc.,
No development costs since you are NOT being paid
for development (you are paying )
• Examples of how to perform ROI analysis is
explained in the ICSM EPG and will be taught in
class, in a later lecture.
23
4. Continuous Risk & Opportunity Management
• Understanding & Addressing People’s Utility
1,1
Functions
Utility
– Risk Averse
– Risk Neutral
– Risk Seeking
It is possible to
have negative
utilities  Losses
Risk averse for
losses and
Risk Seeking for
Benefit
Gains
Implication(s):
0,0
• Very people oriented process
• Continuous and Iterative
• Must have plans/processes in place to identify,
manage and mitigate risks
24
Central Tenet of Risk Management
• Metric Risk Exposure:
RE = Probability (Loss) * Magnitude (Loss)
– Ex.: profits, reputation, quality of life etc.,
High
Low
Risk Probability
• Prioritizing Risks using Risk Exposure (may be misleading!)
Check
Utility Loss Estimate
Major
Risk
Check
Probability
Estimate
Little
Risk
Low
Loss of Utility
High
25
5. Concurrent System & Software
Engineering
• Increasing pace of change in IT marketplace
 traditional sequential approach to software
development (i.e., Waterfall model) is
increasingly risky to use!
• Preferable: Concurrently engineer the
product’s operational concept, requirements,
architecture, life cycle plans and key sections
of code
27
Choose Relevant Process Models
Anchor point milestones – of the chosen process model
Lifecycle Objective
(LCO)
Lifecycle Architecture
(LCA)
Initial Operational
Capability (IOC)
For at least one
For a specific detailed
architecture, a system built architecture a system built to
to that architecture will:
that architecture will:
An implemented
architecture, an
operational system that
has:
• Support core Operational
concept
• Satisfy core requirements
• Be faithful to
prototype(s)
• Buildable in
budget/schedule in the
plan
• Show a viable Business
case
• Have key SCSs committed
to support the ‘next
phase’
• Realized the operational
concept
• Implemented the initial
operational requirements
• Prepared a system
operation & support plan
• Identified the initial site(s)
of deployment for initial
transition
• Identified users,
operators & maintainers
to assume operational
roles
28
• Support elaborated
operational concept
• Satisfy elaborated
requirements
• Be faithful to prototype(s)
• Buildable in budget/schedules
in the plan
• Show a viable Business case
• Have key SCSs committed to
support the full lifecycle
• All Major risks
resolved/covered by a risk
management plan
Techniques
• There are a myriad software process models –
choose the one that best fits your organization
– We use ICSM (Incremental Commitment Spiral Model)
in 577ab
• Feasibility evidence MUST be provided at each
milestone to support the claims as shown on the
previous slide
– That is what we expect during your ARB (Architecture
Review Board) sessions, held twice in 577a  FCR
(Foundation Commitment Review) and DCR
(Development Commitment Review)
There will be a subsequent lecture detailing Feasibility Analysis/Evidence Description
29
6. Value-Based Monitoring & Control
• Use project’s business case for monitoring the
actual business value of the capabilities to be
delivered
YES
Develop/update
business case;
time phased
cost; benefit
flows; plans
YES
Perform to
plans
Value
being
realized?
NO
Assumptions
still valid?
NO
Determine Corrective Actions
30
7. Change as Opportunity
• Today’s world – a not so good Present:
– Expending resources to adapt to change is often
stated as “rework costs”
– Changes are treated as defects in change tracking
systems
• The real world:
– Continuous ongoing changes in
•
•
•
•
Technology
Opportunities can
become risks if nothing
Marketplace
is done about it!
Organizational
Stakeholders’ value propositions and priorities
31
A Brave New World
• Organizations that can adapt to change more
rapidly will succeed better in the their mission
• Developing change anticipatory modular
design can be considered a good investment
to enhance system value in the future
• Two techniques for enhancing adaptability to
change:
– Architecture based
– Refactoring based
• Example of “Change as Opportunity”
– Internet and the Web and their effect on
ecommerce
32
Conclusions
• The notion and definition of value is getting
increasingly important…
… that is, of more value 
• Directly capturing ‘value’ in measurable terms
is hard…
…but probing questions and good estimation
techniques can help understand the
dimensions on which to measure ‘value’
• Practicing VBSE is getting increasingly more
important…
…the tools/techniques in 577 are preparing
you for that 
33
References
• The VBSE Book:
Value Based Software Engineering :
Stefan Biffl, Aybuke Aurum, Barry Boehm,
Hakan Erdogmus, Paul Grunbacher
34
Download