• No results found

Skating to Where the Puck Is Going: Future Software Engineering Opportunities and Challenges

N/A
N/A
Protected

Academic year: 2021

Share "Skating to Where the Puck Is Going: Future Software Engineering Opportunities and Challenges"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

Barry Boehm, USC-CSSE

http://csse.usc.edu

ISCAS Boehm 75 Symposium

April 27, 2011

Skating to Where the Puck Is Going:

Future Software Engineering Opportunities

and Challenges

(2)

4/27/2011

Outline

The Future of Information Technology

8 surprise-free trends; 2 wild-card trends

Changes since 2006 paper

Individual and combined software

engineering opportunities and challenges

Conclusions: General SW engineering

implications

(3)

The Future of Systems and Software: 2006

Eight surprise-free trends

1. Increasing integration of SysE and SwE 2. User/Value focus

3. Software Criticality and Dependability 4. Rapid, Accelerating Change

5. Distribution, Mobility, Interoperability, Globalization 6. Complex Systems of Systems

7. COTS, Open Source, Reuse, Legacy Integration 8. Computational Plenty

Two wild-card trends

9. Autonomy Software

(4)

2011 Trends Largely Missed in 2006

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

(5)

The Future of Systems and Software: 2011

Eight surprise-free trends

1. Rapid, Accelerating Change

2. Software Criticality and Dependability

3. Complexity; Global/Mobile Systems of Systems 4. COTS, Open Source, Services, Legacy Integration 5. Smart Systems; Mining huge volumes of data

6. User Evolution and End Value Focus

7. Computational Plenty and Multicore Chips 8. Increasing integration of SysE and SwE

Two wild-card trends

9. Autonomy Software

(6)

4/27/2011

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

(7)

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

(8)

4/27/2011

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

(9)

Achieving Agility and High Assurance -I

Using timeboxed or time-certain development

Precise costing unnecessary; feature set as dependent variable

Rapid

Change

High

Assurance

Short, Stabilized

Development

Of Increment N

Increment N Transition/O&M Increment N Baseline Short Development Increments Foreseeable Change (Plan) Stable Development Increments
(10)

Evolutionary Concurrent Engineering:

Incremental Commitment Spiral Model

Agile Rebaselining for Future Increments Short, Stabilized Development of Increment N Verification and Validation (V&V) of Increment N Deferrals Artifacts Concerns Rapid Change High Assurance

Future Increment Baselines

Increment N Transition/ Operations and Maintenance

Future V&V Resources Increment N Baseline

Current V&V Resources

Unforeseeable Change (Adapt)

Short Development Increments Foreseeable Change (Plan) Stable Development Increments Continuous V&V 4/27/2011

(11)

3. Complexity and Global Software-Intensive

Systems 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

(12)

4/27/2011

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

(13)

The Future of Systems and Software: 2011

Eight surprise-free trends

1. Rapid, Accelerating Change

2. Software Criticality and Dependability

3. Complexity; Global/Mobile Systems of Systems 4. COTS, Open Source, Services, Legacy Integration 5. Mining huge volumes of data

6. User Evolution and End Value focus

7. Computational Plenty and Multicore Chips 8. Increasing integration of SysE and SwE

Two wild-card trends

9. Autonomy Software

(14)

4/27/2011

4. COTS: The Future Came and Is Leaving

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 P e rc e n ta g e *

(15)

Purchased Services (Cloud Computing) Growth

in USC e-Services Projects

(16)

4/27/2011

Persistence of Legacy Systems

Before establishing new-system increments

Determine how to undo legacy system

(17)

5. Megasensor- Empowered Smart Systems

Smart 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

(18)

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

(19)

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

(20)

4/27/2011

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 R e tu rn O n I n v e s tm e n t (R O I)

Value-Neutral ATG Testing Value-Based Pareto Testing

% of Value for Correct Customer 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 Value for Correct Customer Billing Customer Type 100 80 60 40 20 5 10 15 Automated test generation (ATG) tool

- all tests have equal value

% of Value for Correct Customer 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)

(21)

The Future of Systems and Software: 2010

Eight surprise-free trends

1. Rapid, Accelerating Change

2. Software Criticality and Dependability

3. Complexity; Global/Mobile Systems of Systems 4. COTS, Open Source, Services, Legacy Integration 5. Mining huge volumes of data

6. User Patterns and End Value Focus

7. Computational Plenty and Multicore Chips 8. Increasing integration of SysE and SwE

Two wild-card trends

9. Autonomy Software

(22)

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

(23)

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

(24)

The Incremental Commitment Spiral Model

4/27/2011 1 2 3 4 5 6 RISK-BASED STAKEHOLDER COMMITMENT REVIEW POINTS: Opportunities to proceed, skip phases backtrack, or terminate

Exploration Commitment Review Valuation Commitment Review Foundations Commitment Review Development Commitment Review Operations1and Development2 Commitment Review

Operations2and Development3

Commitment Review

Cumulative Level of Understanding, Product and Process Detail (Risk-Driven) Concurrent Engineering of Products and Processes 2 3 4 5 EXPLORATION VALUATION FOUNDATIONS DEVELOPMENT1 FOUNDATIONS2 OPERATION2 DEVELOPMENT3 FOUNDATIONS4 1 6

Evidence-Based Review Content - A first-class deliverable - Independent expert review

- Shortfalls are uncertainties and risks

OPERATION1 DEVELOPMENT2 FOUNDATIONS3 Risk Risk-Based Decisions Acceptable Negligible High, but Addressable Too High, Unaddressable

(25)

Concurrent

Engineering:

ICSM Activity

Levels for

Complex

Systems

|

Creates Need to

Synchronize

and Stabilize

the

Concurrency

(26)

4/27/2011

ICSM Loop Invariant: Feasibility Evidence and Risk

• Evidence

provided by developer and validated by independent experts

that:

If the system is built to the specified architecture, it will

– Satisfy the requirements: capability, interfaces, level of service, and evolution – Support the operational concept

– Be buildable within the budgets and schedules in the plan – Generate a viable return on investment

– Generate satisfactory outcomes for all of the success-critical stakeholders

• All major risks resolved or covered by risk management plans

– Shortfalls in evidence are uncertainties or probabilities of loss – Risk Exposure = Prob (Loss) * Size (Loss)

• Serves as basis for stakeholders’ commitment to proceed

(27)
(28)

4/27/2011

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 life

Physically, 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

(29)

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

(30)

4/27/2011

Backup Charts

Limitations to software process

perfectability

Value-based systems and software

(31)

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

(32)

4/27/2011

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

(33)

Limitations: Converse of Conway’s Law

Convay’s Law (extended to user organizations)

The structure of a computer program

Reflects the structure of

(34)

4/27/2011

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

(35)

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

(36)

4/27/2011

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.

(37)

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; 5a. Investment analysis,

Risk analysis

1. Protagonist goals 3a. Solution exploration 7. Risk, opportunity, change management

5a, 7b. Prototyping

2a. Results Chains

3b, 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) 6, 7c. Refine, Execute, Monitor & Control Plans 5. SCS Win-Win

(38)

4/27/2011

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 checklistsGroup B 13 IV&V personnel using previous value-neutral checklists

Significantly higher numbers of trivial typo and grammar faults

Experiment Experiment

Value-Based Reading (VBR) Experiment

Keun Lee, ISESE 2005

(39)

Adaptation Challenges: A Dual Cone of Uncertainty

– Need early systems engineering, evolutionary development

Uncertainties in competition, technology, organizations,

mission priorities

Uncertainties in scope, COTS, reuse, services

(40)

4/27/2011

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)

30 10 3.0 1.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

(41)

Added Cost of Weak Architecting

Calibration of COCOMO II Architecture and Risk Resolution factor to 161 project data points

(42)

Effect of Size on Software Effort Sweet Spots

(43)

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 feasibility

Via prototypes, benchmarks, models, role-playing

Addressing both quantitative and qualitative value factors

Validation progress becomes a key management metric

Validation 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

(44)

4/27/2011

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

(45)
(46)

4/27/2011

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

(47)

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

(48)

4/27/2011

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

(49)

Source Selection ● ●● ● ● ● ● ● ● ●● ● Valuation

Exploration Architecting Develop Operation

Valuation

Exploration Architecting Develop Operation

Operation

Develop Operation Operation Operation

System B System C System x LCO-type Proposal & Feasibility Info Candidate Supplier/ Strategic Partner ●●●● n ● ●● ● ● ● ● ● Candidate Supplier/ Strategic Partner 1

SoS-Level Exploration Valuation 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

(50)

Some Leading Brownfield Approaches

Re-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.

(51)

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

(52)

4/27/2011

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

References

Related documents

This publication presents the main outcomes of a partnership working towards “Harmonising Approaches to Professional Higher Education in Europe” (HAPHE) in 2012–2014,

Incremental Development Process 09/17/2014 Software Engineering 24 Define outline requirement Assign requirements to increments Design system architecture Develop system

Two and three dimensional compressible flow simulations were also conducted at NDSU on an incident tolerant blade design to look at the effect of incidence angle, Reynolds number,

• There is a major need for providers in Maine that can prescribe buprenorphine, morphine for Medication Assisted Treatment (MAT) for Opioid Use Disorder (OUD). Much like primary

My role: Psychological evaluation within an RTI district; psychological and eligibility report writing; eligibility determination as part of the Student Support Team;

Achat divers materiel de construction Moussa Ibrahim Fadouie. Supply

The total number of Brazilian dairy farms is difficult to determine, due to the large presence of an informal milk production and distribution system in Brazil... In Table 1

- No pass-through of efficiencies and countervailing power if central negotiation of purchasing terms and RA members compete in final good market with significant joint market