USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
1
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
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
1
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
2
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
3
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
4
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
5
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
6
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
7
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
8
USC
C S E
University of Southern California
Center for Software Engineering
9
Increment N Transition/O&M Increment N Baseline Short Development Increments Foreseeable Change (Plan) Stable Development Increments
11/22/2010
USC
C S E
University of Southern California
Center for Software Engineering
Agile Rebaselining for Future Increments Short, Stabilized Development
Verification and Validation (V&V)
Deferrals Artifacts Concerns
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
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
11
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
12
USC
C S E
University of Southern California
Center for Software Engineering
Source Selection
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
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
13
11/22/2010
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
14
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
15
CBA Growth in USC E-Service Projects
CBA Growth Trend in USC e-Services Projects
10 20 30 40 50 60 70 80 1997 1998 1999 2000 2001 2002 Year Percentage
*
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
16
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
17
1939’s Science Fiction World of 2000 Actual World of 2000
USC
C S E
University of Southern California
Center for Software Engineering
– 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
– 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
USC
C S E
University of Southern California
Center for Software Engineering
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
OPERATION1 DEVELOPMENT2 FOUNDATIONS3
Risk
Risk-Based Decisions
Acceptable Negligible High, but Addressable Too High, Unaddressable
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
20
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
21
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
22
Golden Rule: Do unto others as you would have others do unto you Platinum Rule: Do unto others as they would be done unto
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
23
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
24
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
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
% of Value for Correct Customer Billing Customer Type
100 80 60 40 20 5 10 15
Automated test generation (ATG) tool
Bullock data – Pareto distribution
(a) (b)
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
25
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
26
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
27
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
28
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
29
– 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
– 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
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
30
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
31
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
32
USC
C S E
University of Southern California
Center for Software Engineering
– 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-
– Offering lifelong learning opportunities for systems engineers who must update their skills to keep pace with the evolution of best practices
11/22/2010
33
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
34
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
35
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
36
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
37
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
38
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
39
– Multi-attribute utility; Maslow need hierarchy
– Investment theory; game theory; statistical decision theory
– Results chains; value chains; cost/schedule/performance tradeoffs
– Feedback control; adaptive control; spiral risk control
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
40
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
41
Utility Theory Theory W: SCS Win-Win Decision Theory Dependency Theory Control Theory
6a, 7c. State measurement, prediction, correction; Milestone synchronization
Risk analysis
management 5a, 7b. Prototyping
3b, 5a, 7b. Cost/schedule/ performance tradeoffs
3b, 7a. Solution Analysis 5a, 7b. Option, solution development & analysis
management
Propositions (Win conditions) SCS: Success-Critical Stakeholder 6, 7c. Refine, Execute, Monitor & Control Plans
Negotiation
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
0.049 65
Average of Problems
0.056 51
Average Impact
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
– Significantly higher numbers of trivial typo and grammar faults
Experiment
USC
C S E
University of Southern California
Center for Software Engineering
43
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
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
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
44
Personnel Dynamism (% Requirements
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
r i v e n Personnel Dynamism (% Requirements
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
r i v e n
USC
C S E
University of Southern California
Center for Software Engineering
45
11/22/2010
USC
C S E
University of Southern California
Center for Software Engineering
46
11/22/2010
USC
C S E
University of Southern California
Center for Software Engineering
– 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
USC
C S E
University of Southern California
Center for Software Engineering
Platform
11/22/2010
48
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
49
Integration of systems engineering and software engineering
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
Parnas encapsulation of sources of change
Especially in wild-card areas
USC
C S E
University of Southern California
Center for Software Engineering
11/22/2010
50