Some Future Software Engineering Opportunities and Challenges Barry - - PowerPoint PPT Presentation

some future software engineering opportunities and
SMART_READER_LITE
LIVE PREVIEW

Some Future Software Engineering Opportunities and Challenges Barry - - PowerPoint PPT Presentation

USC University of Southern California S E C Center for Software Engineering Some Future Software Engineering Opportunities and Challenges Barry Boehm, USC-CSSE http://csse.usc.edu The Future of Software Engineering Symposium November 22, 2010


slide-1
SLIDE 1

USC

C S E

University of Southern California

Center 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

slide-2
SLIDE 2

USC

C S E

University of Southern California

Center 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

slide-3
SLIDE 3

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

3

The Future of Systems and Software: 2005

  • 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
  • 10. Combinations of Biology and Computing
slide-4
SLIDE 4

USC

C S E

University of Southern California

Center 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

slide-5
SLIDE 5

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

5

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. Smart Systems; 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
  • 10. Combinations of Biology and Computing
slide-6
SLIDE 6

USC

C S E

University of Southern California

Center 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
slide-7
SLIDE 7

USC

C S E

University of Southern California

Center 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

slide-8
SLIDE 8

USC

C S E

University of Southern California

Center 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
slide-9
SLIDE 9

USC

C S E

University of Southern California

Center for Software Engineering

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

11/22/2010

slide-10
SLIDE 10

USC

C S E

University of Southern California

Center for Software Engineering

Evolutionary Concurrent Engineering: 
 Incremental Commitment Spiral Model

Agile Rebaselining for Future Increments Short, Stabilized Development

  • f Increment N

Verification and Validation (V&V)

  • f 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

10

11/22/2010

slide-11
SLIDE 11

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

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 – Interoperability via Integrated Enterprise Architectures

slide-12
SLIDE 12

USC

C S E

University of Southern California

Center 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
slide-13
SLIDE 13

USC

C S E

University of Southern California

Center for Software Engineering

Source Selection

  • Valuation

Exploration Architecting Develop Operation Valuation Exploration Architecting Develop Operation Valuation Exploration Architecting Develop Operation Operation Develop Operation Operation Operation

System A System B System C System x

LCO-type Proposal & Feasibility Info Candidate Supplier/ Strategic Partner n

  • Candidate Supplier/

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

13

11/22/2010

slide-14
SLIDE 14

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

14

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
  • 10. Combinations of Biology and Computing
slide-15
SLIDE 15

USC

C S E

University of Southern California

Center 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

10 20 30 40 50 60 70 80 1997 1998 1999 2000 2001 2002 Year Percentage

*

slide-16
SLIDE 16

USC

C S E

University of Southern California

Center for Software Engineering

Purchased Services Growth 
 in USC e-Services Projects

11/22/2010

16

slide-17
SLIDE 17

USC

C S E

University of Southern California

Center 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

slide-18
SLIDE 18

USC

C S E

University of Southern California

Center for Software Engineering

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.

11/22/2010

18

slide-19
SLIDE 19

USC

C S E

University of Southern California

Center for Software Engineering

The Incremental Commitment Spiral Model

11/22/2010

19

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 Operations1 and Development2 Commitment Review Operations2 and 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

slide-20
SLIDE 20

USC

C S E

University of Southern California

Center for Software Engineering

  • 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

  • Generally Greenfield; incrementally for Brownfield

11/22/2010

20

slide-21
SLIDE 21

USC

C S E

University of Southern California

Center 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

slide-22
SLIDE 22

USC

C S E

University of Southern California

Center 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

slide-23
SLIDE 23

USC

C S E

University of Southern California

Center 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

slide-24
SLIDE 24

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

24

Value-Based Testing: Empirical Data and ROI


— LiGuo Huang, ISESE 2005

  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 10 20 30 40 50 60 70 80 90 100

% Tests Run Return On Investment (ROI)

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) (b)

slide-25
SLIDE 25

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

25

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
  • 10. Combinations of Biology and Computing
slide-26
SLIDE 26

USC

C S E

University of Southern California

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

  • ption analysis, performance monitoring, fault tolerance

11/22/2010

26

slide-27
SLIDE 27

USC

C S E

University of Southern California

Center 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
slide-28
SLIDE 28

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

28

Why Software Projects Fail

slide-29
SLIDE 29

USC

C S E

University of Southern California

Center 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 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

  • Forms and timing of new capabilities still unclear
slide-30
SLIDE 30

USC

C S E

University of Southern California

Center 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

slide-31
SLIDE 31

USC

C S E

University of Southern California

Center 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

slide-32
SLIDE 32

USC

C S E

University of Southern California

Center 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

slide-33
SLIDE 33

USC

C S E

University of Southern California

Center 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-

  • riented 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

slide-34
SLIDE 34

USC

C S E

University of Southern California

Center for Software Engineering

11/22/2010

34

Backup Charts

  • Limitations to software process

perfectability

  • Value-based systems and software

engineering

slide-35
SLIDE 35

USC

C S E

University of Southern California

Center 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

slide-36
SLIDE 36

USC

C S E

University of Southern California

Center 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

slide-37
SLIDE 37

USC

C S E

University of Southern California

Center 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

slide-38
SLIDE 38

USC

C S E

University of Southern California

Center 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

  • rganizations
slide-39
SLIDE 39

USC

C S E

University of Southern California

Center 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

slide-40
SLIDE 40

USC

C S E

University of Southern California

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

slide-41
SLIDE 41

USC

C S E

University of Southern California

Center 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 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) SCS: Success-Critical Stakeholder 6, 7c. Refine, Execute, Monitor & Control Plans

  • 5. SCS Win-Win

Negotiation

slide-42
SLIDE 42

USC

C S E

University of Southern California

Center 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

  • f Concerns

0.049 65

Average of Problems

0.056 51

Average Impact

  • f 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

Experiment

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

slide-43
SLIDE 43

USC

C S E

University of Southern California

Center for Software Engineering

43

Adaptation Challenges: A Dual Cone of Uncertainty


– Need early systems engineering, evolutionary development

F easibility C oncept of Operation R qts. S pec. P lans and R qts. P roduct Design P roduct Design S pec. Detail Design S pec. Detail Design

  • Devel. and

Test Accepted S oftware

P hases and Milestones R elative C ost R ange 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

slide-44
SLIDE 44

USC

C S E

University of Southern California

Center 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)

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)

10 20 30 40

A g i l e P l a n

  • d

r i v e n 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)

10 20 30 40

A g i l e P l a n

  • d

r i v e n

slide-45
SLIDE 45

USC

C S E

University of Southern California

Center for Software Engineering

45

Added Cost of Weak Architecting

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

11/22/2010

slide-46
SLIDE 46

USC

C S E

University of Southern California

Center for Software Engineering

Effect of Size on Software Effort Sweet Spots

46

11/22/2010

slide-47
SLIDE 47

USC

C S E

University of Southern California

Center 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 needs

11/22/2010

47

slide-48
SLIDE 48

USC

C S E

University of Southern California

Center for Software Engineering

DDR&E Systems 2020 Research Areas

Capability

  • n Demand

Model Based Engineering

Platform

Based Engineering

Modeling and simulation tools for

concurrent design, development & manufacture

Architectural and automated design tools to

rapidly insert new capabilities

Systems embedded with organic adaption

capabilities Faster delivery of complex, adaptive systems Trusted Systems Design

Design methods and tools for system

assurance that detect malice or enable self awareness

11/22/2010

48

slide-49
SLIDE 49

USC

C S E

University of Southern California

Center 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 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 – Continuous learning and adaptation

 Especially in wild-card areas

slide-50
SLIDE 50

USC

C S E

University of Southern California

Center 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