50
USC C S E U niversity ofSouthern C alifornia C enterfor Softw are Engineering 11/22/2010 1 Barry Boehm, USC-CSSE http://csse.usc.edu The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering Opportunities and Challenges

11/22/2010 1 Barry Boehm, USC-CSSE The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

Embed Size (px)

Citation preview

Page 1: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 1

Barry Boehm, USC-CSSE

http://csse.usc.edu

The Future of Software Engineering Symposium

November 22, 2010

Some Future Software Engineering Opportunities and Challenges

Page 2: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 2

Outline

• The Future of Information Technology– 8 surprise-free trends; 2 wild-card trends– Changes since 2005 paper– Individual and combined software

engineering opportunities and challenges

• Conclusions: General SW engineering implications– Research, staffing/education

Page 3: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 3

The Future of Systems and Software: 2005

• Eight surprise-free trends1. Increasing integration of SysE and SwE2. User/Value focus3. Software Criticality and Dependability4. Rapid, Accelerating Change5. Distribution, Mobility, Interoperability, Globalization6. Complex Systems of Systems7. COTS, Open Source, Reuse, Legacy Integration8. Computational Plenty

• Two wild-card trends9. Autonomy Software10.Combinations of Biology and Computing

Page 4: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

2010 Trends Largely Missed in 2005

• Megasensor-intensive smart systems

• Search and mining of ultralarge data aggregations

• Software implications of multicore chips

• Rapid growth of software as a service

• Rapid growth of social networking technologies

11/22/2010 4

Page 5: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 5

The Future of Systems and Software: 2010

• Eight surprise-free trends1. Rapid, Accelerating Change2. Software Criticality and Dependability3. Complexity; Global/Mobile Systems of Systems4. COTS, Open Source, Services, Legacy Integration5. Smart Systems; Mining huge volumes of data6. User Patterns and End Value Focus7. Computational Plenty and Multicore Chips8. Increasing integration of SysE and SwE

• Two wild-card trends9. Autonomy Software10.Combinations of Biology and Computing

Page 6: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 6

1. Rapid Change Trends

• Global connectivity and competition accelerate change

– More ripple effects of technology, marketplace changes• Increased need for agility, continuous learning

– Need to balance agility and plan-driven dependability– Decline of THWADI (That’s how we’ve always done it)– Avoid technical agility, administrative THWADI

• Hybrid agile/plan-driven processes needed for larger systems

• Need for incremental processes, methods, tools, skills

• Need for pro-active technology, marketplace monitoring

• Education: Need to learn how to learn

Page 7: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Architected Agile Approach

•  Uses Scrum of Scrums approach– Up to 10 Scrum teams of 10 people each– Has worked for distributed international teams– Going to three levels generally infeasible

• General approach shown below– Often tailored to special circumstances

11/22/2010 7

Page 8: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 8

2. Criticality and Dependability Trends

• Software increasingly success-critical to product and services

– Provides competitive differentiation, adaptability to change• Dependability is generally not vendors’ top-priority

– “The IT industry spends the bulk of its resources… on rapidly bringing products to market.” – US PITAC Report

• By 2025, there will be a “9/11” – magnitude software failure

– Major loss of life or collapse of world financial system• This will raise dependability to vendors’ top priority

– Market demand; stronger warranties and accountability– Value-based dependability processes and tools

• Avoid bureaucratic solutions• Reflect all stakeholders’ value dependencies

Page 9: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

9

Achieving Agility and High Assurance -IUsing timeboxed or time-certain development

Precise costing unnecessary; feature set as dependent variable

Rapid Change

HighAssurance

Short, StabilizedDevelopment

Of Increment N

Increment N Transition/O&M

Increment N Baseline

Short DevelopmentIncrements

ForeseeableChange

(Plan)

Stable DevelopmentIncrements

11/22/2010

Page 10: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Evolutionary Concurrent Engineering: Incremental Commitment Spiral Model

Agile Rebaselining for

Future Increments

Short, StabilizedDevelopment

of Increment N

Verification and Validation (V&V)of Increment N

Deferrals

Artifacts Concerns

Rapid Change

HighAssurance

Future Increment Baselines

Increment N Transition/

Operations and Maintenance

Future V&V

Resources

Increment N Baseline

Current V&V

Resources

Unforeseeable Change (Adapt)

ShortDevelopmentIncrements

ForeseeableChange

(Plan)

Stable DevelopmentIncrements

Continuous V&V

1011/22/2010

Page 11: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 11

3. Complexity and Global Software-IntensiveSystems of Systems (SISOS)

• Lack of integration among stovepiped systems causes– Unacceptable delays in service– Uncoordinated and conflicting plans– Ineffective or dangerous decisions– Inability to cope with fast-moving events

• Increasing SISOS benefits– See first; understand first; act first– Network-centric operations coordination– Transformation of business/mission potential– Interoperability via Integrated Enterprise Architectures

Page 12: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 12

Complexity of Solution Spaces

• Size: 10-100 MLOC• Number of external interfaces: 30-300• Number of “Coopetitive” suppliers: 20-200

– Even more separate work locations• Depth of supplier hierarchy: 6-12 levels• Number of coordination groups: 20-200

– Reviews, changes, risks, requirements, architecture, standards, procedures, technologies, -ilities, integration, test, deployment, personnel, infrastructure, COTS,…

– Key personnel spend 60 hours/week in meetings• Unprecedentedness• Emergence• Rapid change

Page 13: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

SourceSelection

● ● ●

ValuationExploration Architecting Develop Operation

ValuationExploration Architecting Develop Operation

ValuationExploration Architecting Develop Operation

OperationDevelop Operation Operation Operation

System A

System B

System C

System x

LCO-typeProposal &Feasibility

Info

Candidate Supplier/ Strategic Partner n ●

●●

Candidate Supplier/Strategic Partner 1

SoS-Level ValuationExploration Architecting Develop

FCR1 DCR1

Operation

OCR1

Rebaseline/Adjustment FCR1 OCR2

OCRx1

FCRB DCRB OCRB1

FCRA DCRA

FCRC DCRC OCRC1

OCRx2 OCRx3 OCRx4 OCRx5

OCRC2

OCRB2

OCRA1

Future DoD Challenges: Systems of Systems

1311/22/2010

Page 14: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 14

The Future of Systems and Software: 2010

• Eight surprise-free trends1. Rapid, Accelerating Change2. Software Criticality and Dependability3. Complexity; Global/Mobile Systems of Systems4. COTS, Open Source, Services, Legacy Integration5. Mining huge volumes of data6. User patterns and End Value focus7. Computational Plenty and Multicore Chips8. Increasing integration of SysE and SwE

• Two wild-card trends9. Autonomy Software10.Combinations of Biology and Computing

Page 15: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 15

4. COTS: The Future Is Here• Escalate COTS priorities for research, staffing,

education– It’s not “all about programming” anymore– New processes required

CBA Growth in USC E-Service Projects

* Standish Group CHAOS 2000

CBA Growth Trend in USC e-Services Projects

0

10

20

30

40

50

60

70

80

1997 1998 1999 2000 2001 2002

Year

Perc

en

tag

e

*

Page 16: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Purchased Services Growth in USC e-Services Projects

11/22/2010 16

Page 17: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 17

Persistence of Legacy Systems• Before establishing new-system increments

– Determine how to undo legacy system

1939’s Science Fiction World of 2000 Actual World of 2000

Page 18: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Some Leading Brownfield ApproachesRe-engineering Legacy Software to be Service-Oriented

• IBM Brownfield VITA Approach– Views: Formal descriptions of enabling business systems or

processes

– Inventory: Repository that stores Views information

– Transforms: Define relationships between as-is and to-be states

– Artifacts: Results of Transforms generated from the Inventory

• CMU-SEI Service Migration and Reuse Technique (SMART)– SMART Process from as-is to to-be state

– Service Migration Interview Guide: over 60 questions about migration context, nature, and feasibility

– SMART Tool: Helps gather data, identify risks

– Artifact Templates: For capturing info about stakeholders, components, migration issues, legacy components, creating service components, etc.

11/22/201018

Page 19: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

The Incremental Commitment Spiral Model

11/22/2010 19

Page 20: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

5. Megasensor- Empowered Smart SystemsSmart power grids, buildings, companies, cities

• Ubiquitously-instrumented artifacts and processes

• Complementary growth in data storage and analysis

• EU Digital Agenda “Internet of Things”

• Commitments: Singapore, Abu Dhabi, S. Korea, Portugal– Industry: IBM, HP, Cisco, Siemens, GE

• Generally Greenfield; incrementally for Brownfield

11/22/2010 20

Page 21: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Mining huge volumes of data

• Google example: billions (B) of search hits– All in about 0.2 seconds (9/25/10; fewer, faster 11/17/10)– Video, 16.1B; TV, 9.6B; Star, 6.1B; Time, 5.4B; Movie, 4.4B;

News, 2.8B; Music, 2.7B; Life, 2.3B; Play, 2.1B; Book, 1.7B– What to show first?– How to narrow search to what you want?

• Recommender systems– Based on preference data or past activity– Amazon.com; Pandora; Netflix

• Service-provider data warehousing– Better services, but service provider has your data

• General concerns with privacy, controls

11/22/2010 21

Page 22: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 22

6. User/Value Focus Trends

• Computerworld panel: More focus on user/ownership costs and benefits; less focus on features and license costs

– Technology should adapt to people, not vice versa– Tension between usability and feature creep

• User-orientation has many challenges– Emergent needs and priorities: IKIWISI, Maslow– Diversity of people and cultures: no OSFA solutions– Group vs. individual performance– Engineer focus on engineer-usability

Golden Rule: Do unto others as you would have others do unto you

Platinum Rule: Do unto others as they would be done unto

IKIWISI: I’ll know it when I see it OSFA: one size fits all

Page 23: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 23

Motivation for Value-Based SE

• Current SE methods are basically value-neutral– Every requirement, use case, object, test case, and

defect is equally important– Object oriented development is a logic exercise– “Earned Value” Systems don’t track business value– Separation of concerns: SE’s job is to turn requirements

into verified code– Ethical concerns separated from daily practices

• Value–neutral SE methods are increasingly risky– Software decisions increasingly drive system value– Corporate adaptability to change achieved via software

decisions– System value-domain problems are the chief sources of

software project failures

Page 24: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 24

Value-Based Testing: Empirical Data and ROI— LiGuo Huang, ISESE 2005

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 10 20 30 40 50 60 70 80 90 100

% Tests Run

Re

turn

On

In

ve

stm

en

t (R

OI)

Value-Neutral ATG Testing Value-Based Pareto Testing

% of Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

Bullock data– Pareto distribution% of

Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

% of Valuefor

CorrectCustomer

Billing

Customer Type

100

80

60

40

20

5 10 15

Automated test generation (ATG) tool

- all tests have equal value

Bullock data– Pareto distribution

(a)

(b)

Page 25: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 25

The Future of Systems and Software: 2010

• Eight surprise-free trends1. Rapid, Accelerating Change2. Software Criticality and Dependability3. Complexity; Global/Mobile Systems of Systems4. COTS, Open Source, Services, Legacy Integration5. Mining huge volumes of data6. User Patterns and End Value Focus7. Computational Plenty and Multicore Chips8. Increasing integration of SysE and SwE

• Two wild-card trends9. Autonomy Software10.Combinations of Biology and Computing

Page 26: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

7. Computational Plenty and Multicore Chips

• Moore’s Law stymied by heat dissipation problems– 2x circuit speed, density every 18 months

• Keep growth by developing multi-CPU chips– Lower circuit speed, but lower power consumption– Growth in #CPUs keeps up processing power growth– But only if programs can be parallelized– Otherwise, legacy software will run more slowly– Amdahl’s Law: Speed limited by speed of slowest part on

critical computation path

• But can also use CPUs for other purposes– Assertion checking, intrusion detection, trend analysis,

option analysis, performance monitoring, fault tolerance

11/22/2010 26

Page 27: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 27

8. Increasing SysE/SwE Integration

• Can’t do good SwE by neglecting SysE– Weak SysE the root cause of most SW project failures

• Can’t do good SysE by neglecting critical success factors– Software an increasing system critical success factor

• Provides most of competitive differentiation• Provides most of adaptability to change• Enables later binding of commitments

Page 28: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 28

Why Software Projects Fail

Page 29: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 29

9, 10. Wild Cards: Autonomy and Bio-Computing

• Great potential for good– Robot labor; human shortfall compensation

5 Senses, healing, life span, self-actualization

– Adaptive control of the environment

– Redesigning the world for higher quality of lifePhysically, biologically, informationally

• Great potential for harm– Loss of human primacy: computers propose, humans decide

– Overempowerment of humans Accidents, terrorism, 1984 revisited

– New failure modes: adaptive control instability, self-modifying software, commonsense reasoning, bio-computer mismatches

– V&V difficulties: cooperating autonomous agents, biocomputing

• Forms and timing of new capabilities still unclear

Page 30: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 30

Outline

• The Future of Information Technology– 8 surprise-free trends; 2 wild-card trends– Changes since 2005 paper– Individual and combined software

engineering opportunities and challenges

• Conclusions: General SW engineering implications– Research, staffing/education

Page 31: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 31

Software Process Research Implications – I

• Empirically-evolved process technology– Languages, methods, metrics, models, and tools– Incremental and ambiguity-tolerant– Accommodating incomplete, informal, and partial specification– Bridging formality, life-cycle, and culture gaps– Empirical testbed-based maturity/transition acceleration

• Virtual process collaboration support– Distributed, multi-stakeholder, multi-cultural

• Game technology for process education and training– Acquire and develop the way you train– Train the way you acquire and develop

Page 32: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 32

Software Process Research Implications – II

• Lean, value-based processes for balancing dependability and agility– Plus scalability, incrementality for systems of systems– General techniques for multi-attribute tradeoff analysis– Associated progress metrics, review criteria, early warning

indicators

• Integrated technical and acquisition processes– Supporting balance of dependability and agility– Applicable to globally-distributed, multi-cultural collaboration

• Process capitalization on computational plenty– Self-monitoring software, higher levels of abstraction,

knowledge-based tools

• Integration and risk assessment of wild-card technologies– Autonomy, bio-computing

Page 33: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Software Engineering Education Implications

• Current software engineering students will be practicing into the 2050s. Their education should consider the following:

– Anticipating future trends and preparing students to deal with them; – Capitalizing on information technology to enable the delivery of just-in-time and

web-based education; – Monitoring current principles and practices and separating timeless principles

from outdated practices; – Participating in leading-edge software engineering research and practice and

incorporating the results into the curriculum; – Packaging smaller-scale educational experiences in ways that apply to large-

scale projects; – Helping students learn how to learn, through state-of-the-art analyses, future-

oriented educational games and exercises, and participation in research; and – Offering lifelong learning opportunities for systems engineers who must update

their skills to keep pace with the evolution of best practices

• ETH Zurich program an excellent education and research example

11/22/2010 33

Page 34: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 34

Backup Charts

• Limitations to software process perfectability

• Value-based systems and software engineering

Page 35: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 35

Limitations: Brooks’ Four Essentials Plus Two

• Complexity: larger components, systems of systems, attribute tradeoffs

• Conformity: evolving standards, external system/COTS constraints

• Changeability: solution half-life, unpredictable certainties

• Conceptuality (invisibility): COTS opacity, multi-view consistency

• Community: stakeholder proliferation, distribution, diversity

• Centrality: software failure risks, rice-bowl implications

Page 36: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 36

Limitations: Lampson’s Continuing SW Crisis

• Moore’s Law enables the feasibility of new applications– Requiring new and often more complex software

• Easier to handle complexity in software than elsewhere– Good engineering practice to address via software

• Few physical limits on software applications– Easy to overreach with proposed software solutions

Page 37: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 37

Limitations: Converse of Conway’s Law

• Convay’s Law (extended to user organizations)– The structure of a computer program– Reflects the structure of– The organizations that build and use it

Page 38: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 38

Limitations: Converse of Conway’s Law

• Conway’s Law (extended to user organizations)– The structure of a computer program– Reflects the structure of– The organizations that build and use it

• Converse of Conway’s Law– We will learn how to build perfectly functioning

software– As soon as– We learn how to build perfectly functioning

organizations

Page 39: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 39

Initial VBSE Theory: 4+1 - with Apurva Jain

• Engine: Theory W (stakeholder win-win): What values are important?– Enterprise Success Theorem– Theory of Justice– Win-Win Equilibrium and Negotiation

• Four Supporting Theories– Utility Theory: How important are the values?

– Multi-attribute utility; Maslow need hierarchy

– Decision Theory: How do values determine decisions?– Investment theory; game theory; statistical decision theory

– Dependency Theory: How do dependencies affect value realization?

– Results chains; value chains; cost/schedule/performance tradeoffs

– Control Theory: How to monitor and control value realization– Feedback control; adaptive control; spiral risk control

Page 40: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 40

Theory W: Enterprise Success Theorem– And informal proof

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.

Page 41: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 41

Initial VBSE Theory: 4+1 Process– With a great deal of concurrency and backtracking

Utility Theory

Theory W:SCS Win-Win

Decision Theory

Dependency Theory

Control Theory

6a, 7c. State measurement, prediction, correction; Milestone synchronization

5a. Investment analysis, Risk analysis

1. Protagonist goals3a. Solution exploration7. Risk, opportunity, change management

5a, 7b. Prototyping

2a. Results Chains3b, 5a, 7b. Cost/schedule/performance tradeoffs

2. Identify SCSs

3b, 7a. Solution Analysis

5a, 7b. Option, solution development & analysis

4. SCS expectations management

3. SCS Value Propositions(Win conditions)

SCS: Success-Critical Stakeholder

6, 7c. Refine, Execute, Monitor & Control Plans

5. SCS Win-Win Negotiation

Page 42: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 42

By Number P-value % Gr A higher

By Impact P-value % Gr A higher

Average of Concerns 0.202 34 Average Impact of Concerns

0.049 65

Average of Problems 0.056 51 Average Impact of Problems

0.012 89

Average of Concerns per hour

0.026 55 Average Cost Effectiveness of Concerns

0.004 105

Average of Problems per hour

0.023 61 Average Cost Effectiveness of Problems

0.007 108

• Group A: 15 IV&V personnel using VBR procedures and checklists

• Group B 13 IV&V personnel using previous value-neutral checklists– Significantly higher numbers of trivial typo and grammar faults

ExperimentExperiment

Value-Based Reading (VBR) Experiment— Keun Lee, ISESE 2005

Page 43: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

43

Adaptation Challenges: A Dual Cone of Uncertainty– Need early systems engineering, evolutionary development

Feasibility

Concept of Operation

Rqts. Spec.

Plans and

Rqts.

Product Design

Product Design Spec.

Detail Design Spec.

Detail Design

Devel. and Test

Accepted Software

Phases and Milestones

RelativeCost Range x

4x

2x

1.25x

1.5x

0.25x

0.5x

0.67x

0.8x

Uncertainties in competition, technology, organizations,

mission priorities

Uncertainties in scope, COTS, reuse, services

11/22/2010

Page 44: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 44

Agile and Plan-Driven Home Grounds: Five Critical Decision Factors

• Size, Criticality, Dynamism, Personnel, Culture

Personnel

Dynamism (% Requirements- change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

3010

3.01.0

0.3

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan- driven

Personnel

Dynamism (% Requirements- change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Plan- driven

Page 45: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

45

Added Cost of Weak ArchitectingCalibration of COCOMO II Architecture and Risk Resolution

factor to 161 project data points

11/22/2010

Page 46: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

Effect of Size on Software Effort Sweet Spots

4611/22/2010

Page 47: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

DDR&E Systems 2020 Objectives and Constraints

OBJECTIVES

• DEVELOP FAST: Reduce by 3x the time to acquisition of first article for systems and solutions – DEVELOP FAST

• FLEXIBLE: Reduce by 4x the time to implement planned and foreseen changes in systems – FLEX

• ADAPTABLE: Embed within systems the ability for changes at the tactical edge, as the mission evolves in unplanned and unforeseen ways, e.g., IED threat – ADAPT

CONSTRAINTS

• Achieve the objectives while maintaining or enhancing:– Trust and Assurance – Able to withstand exploitation before or after

fielding, enabling the leveraging of global supply chains

– Reliability – Across a range of changing operational conditions

– Interoperability – Working with other systems to meet user needs11/22/2010 47

Page 48: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

DDR&E Systems 2020 Research Areas

Capability

on Demand

Capability

on Demand

Model Based

Engineering

Model Based

Engineering

Platform Based

Engineering

Platform Based

Engineering

Modeling and simulation tools for concurrent design, development &

manufacture

Architectural and automated design tools to rapidly insert new capabilities

Architectural and automated design tools to rapidly insert new capabilities

Systems embedded with organic adaption capabilities

Systems embedded with organic adaption capabilities

Faster delivery of complex, adaptive systemsFaster delivery of complex, adaptive systems

Trusted Systems Design

Trusted Systems Design

Design methods and tools for system assurance that detect malice or enable self

awareness

Design methods and tools for system assurance that detect malice or enable self

awareness11/22/2010 48

Page 49: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 49

Software Process Management Implications• Increasing uncertainty requires risk/value-based

processes– Concurrent engineering of system goals, solutions, plans

Integration of systems engineering and software engineering

– Thoroughly validated for consistency and feasibilityVia prototypes, benchmarks, models, role-playingAddressing both quantitative and qualitative value factorsValidation progress becomes a key management metricValidation shortfalls become risks to be managed

• Criticality and rapid change require balance of agile, plan-driven processes– Plan-driven for foreseeable change, high criticality

Parnas encapsulation of sources of change

– Agile for unforeseeable change– Continuous learning and adaptation

Especially in wild-card areas

Page 50: 11/22/2010 1 Barry Boehm, USC-CSSE  The Future of Software Engineering Symposium November 22, 2010 Some Future Software Engineering

USC

C S E University of Southern CaliforniaCenter for Software Engineering

11/22/2010 50

Computational Plenty: Other Implications

• New platforms: smart dust, human prosthetics (physical, mental)– New applications: sensor networks, nanotechnology

• Enable higher levels of abstraction– Pattern programming, programming by example with

dialogue– Simpler brute-force solutions: exhaustive case analysis

• Enable more powerful software tools– Based on domain, programming, management knowledge– Show-and-tell documentation– Game-oriented software engineering education