BoehmFuture - Center for Software Engineering

advertisement
A View of Future Systems and Software
Engineering
Barry Boehm, boehm@usc.edu
USC Center for Systems & Software Engineering
http://csse.usc.edu
The Future of Systems and Software



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
Implications for SE/SW processes
– Jointly and severally
2
Pareto 80-20 distribution of test case value [Bullock, 2000]
100
80
% of
Value
for
Correct
Customer
Billing
60
Automated test
generation tool
- all tests have equal value
40
20
5
10
15
Customer Type
4
Business Case for Value-Based Testing
Return on Investment
(ROI)
2
1.5
1
0.5
0
-0.5 0
20
40
60
80
100
-1
% Tests Run
Pareto testing
ATG testing
5
3,4. Criticality and Rapid Change Trends
 Software increasingly success-critical
– Provides competitive differentiation, adaptability to change
 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 pro-active technology, marketplace monitoring
 Education: Need to learn how to learn
6
Hybrid Agile/Plan-Driven Process:
Increment View
Rapid
Change
Short
Development
Increments
Foreseeable
Change (Plan)
Increment N Baseline
Short, Stabilized
Development
of Increment N
Increment N Transition/O&M
Stable Development
Increments
High
Assurance
7
Hybrid Agile/Plan-Driven Process:
Increment View
Unforseeable Change
(Adapt)
Rapid
Change
Short
Development
Increments
Agile
Future Increment Baselines
Rebaselining for
Future Increments
Deferrals
Foreseeable
Change (Plan)
Increment N Baseline
Stable Development
Increments
Current V&V
High
Assurance
Resources
Short, Stabilized
Development
of Increment N
Artifacts
Increment N Transition/O&M
Concerns
V&V
of Increment N
Future V&V
Resources
Continuous V&V
8
7. COTS: The Future is Here
Major concerns: COTS assurance, evolution, interoperability
– Need pro-active supplier COTS management, synchronization
– Software is not “all about programming” anymore
CBA Growth Trend in USC e-Services Projects
80
70
60
Percentage

50
40
30
20
10
0
1997
1998
1999
2000
2001
2002
Year
9
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
10
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
11
Conclusions
 New Paradigms needed for future success
– Adaptive process immaturity balanced with repeatable process
maturity
– Software/ systems/ acquisition engineering vs. programming
– Supplier management: win-win vs. win-lose
 Enterprise integration: Mutual learning vs. stovepipes
 New skills and career paths needed
– Specialists in build-to-spec, V&V, agile rebaselining
– Managers and SW/ systems engineers with all three skills
– Skills in software/ systems/ acquisition engineering, COTS
assessment and integration, value-based software/ systems
engineering, software/ hardware/ human factors integration,
agile/ adaptive methods
 Continuing education and learning how to learn
– Large-scale collaborative research needed
12
Collaborative Research Opportunity
 USC-CSSE teaming on proposed new NSF Engineering Research
Center
– With three other major universities
 Major focus on collaborative testbeds with industry
 USC-CSSE focus: Multi-mission C4ISR
– For defense, space, supply chains, acquisition
– Organizing Principle: Value/risk-based C4ISR OODA loop
– Observe: value/risk-based sensor tasking
– Orient: Multi-sensor integration, multi-view common ops. picture
– Decide: Multi-stakeholder value-based win-win negotiation
– Act: Concurrent action and current/next-cycle OOD
13
References











G. Anthes, “The Future of IT”, Computerworld, March 7, 2005, pp. 27-36
S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, and P. Gruenbacher (eds.),
Value-Based Software Engineering, Springer, 2005.
B. Boehm, “Some Future Trends and Implications for Systems and Software
Engineering Processes,” System Engineering, 2006.
B. Boehm and J. Lane, “21st Century Processes for Acquiring 21st Century
Software-Intensive Systems of Systems”, Cross Talk, May 2006.
B. Boehm and R. Turner, Balancing Agility and Discipline, Addison Wesley,
2004.
T. Friedman, The World Is Flat, Farrar Straus, and Giroux, 2005
J. Highsmith, Adaptive Software Development, Dorset House, 2000.
INCOSE: “Systems Engineering Technical Vision” (H. Crisp, ed.) v2.0, July
2006.
L. Koskela and L. Howell, “The Underlying Theory of Project Management Is
Obsolete”, Proc. PMI Rsch. Conference, 2002, AP. 293-302
D. Reifer, Making the Software Business Case, Addison Wesley, 2002.
W. Royce, Software Project Management, Addison Wesley, 1998.
14
Backup charts
Risk-Driven Scalable Spiral Model:
Life Cycle View
System LCA
System
Inception
System, DI1 LCA
System
Elaboration
DI2 B/L LCA
Changes
Agile DI2 (OO&D)
Rebaselining
Plan-Driven DI1
Construction (A)
DI1 V&V
LCA: Life Cycle Architecture
IOC: Initial Operational Capability
OO&D: Observe, Orient and Decide
V&V: Verification and Validation
DI:
Development Increment
B/L:
Baselined
DI2 LCA
Plan-Driven DI2
Construction (A)
DI2 V&V
16
Risk-Driven Scalable Spiral Model:
Life Cycle View
System LCA System, DI1 LCA
System
Inception
DI2 B/L LCA
DI3 B/L LCA
DI4 B/L LCA
Changes
System
Elaboration
Agile DI2 (OO&D)
Rebaselining
Plan-Driven DI1
Construction (A)
DI1 V&V
Changes
Update
Update
DI1 IOC
DI1
Trans’n
DI1
Usage
DI2 LCA
Agile DI3 (OO&D)
Rebaselining
Plan-Driven DI2
Construction (A)
DI2 V&V
Changes
Update
DI2 IOC
DI2
Trans’n
DI2
Usage
DI3 LCA
Agile DI4 (OO&D)
Rebaselining
LCA: Life Cycle Architecture
IOC: Initial Operational Capability
OO&D: Observe, Orient and Decide
V&V: Verification and Validation
DI:
Development Increment
B/L:
Baselined
Plan-Driven DI3
Construction (A)
DI3 V&V
DI3 IOC
DI3
Trans’n
DI3
Usage . . .
DI4 LCA
...
17
LCO (MS A) and LCA (MS B) Anchor Points Pass/Fail
Criteria
 A system built to the given architecture will
– Support the operational concept
– Satisfy the requirements
– Be faithful to the prototype(s)
– Be buildable within the budgets and schedules in the
plan
– Show a viable business case
– Establish key stakeholders’ commitment to proceed
LCO: True for at least one architecture
LCA: True for the specific life cycle architecture;
All major risks resolved or covered by a risk management plan
18
Spiral Feasibility Rationale Deliverable
 LCO, LCA reviews not just UML/PowerPoint charts
 Need to show evidence of product and process feasibility
 Evidence provided by prototypes, production code,
benchmarks, models, simulations, analysis
– Sizing and cost/schedule model results for process
feasibility
 Evidence provided in advance to LCO/LCA review team
– Key stakeholders, specialty experts
 Lack of evidence risks destabilizing the process
– Needs coverage by viable risk mitigation plan
 Key new progress metric
– Feasibility evidence progress vs. plans
19
DI1,
System LCA
LCO
Concept
Exploration
Concept Refinement
CD
CD (Inception)
Objectives
• Candidate IOC capabilities
and priorities
• Key Performance
Parameter ranges
• Candidate evolution
capabilities
Constraints
• Environment: threats,
doctrine, external systems
• Cost, schedule
• Legacy systems
• Operational scenarios
Alternatives
• Architecture options
• Candidate suppliers,
capabilities
• Acquisition, support options
• Human hardware/software
rolls
Feasibility evidence and risks
CD
CR
IDR
Review
IPPD
Concept Development
Concept Refinement
Increment Decision
Spiral A IPPD Plans
• Required resources
• Risk mitigations
Evaluation Frameworks
Integrated Product and • Prototypes, models
Process Development • Simulations and facilities
• Exercises
In Process Review
High
Integrated Product TeamSuccess-critical Stakeholder
IPTs
Increment Readiness
IPR
IPT
IRR
Review
OC
Operational Capability
RR
Readiness Review
SDD
System Development and
Demonstration
TD
Technology Development
A
Technology Development
(Elaboration)
Refined
Objectives…
BaselinedIOC,
requirements
Constraints ...
Evaluation Objectives
Alternatives…
Life Cycle Architecture
Feasibility evidence
and risks…
Feasibility evidence and
risks
Spiral B IPPD
Plans …
IOC, SDD Plans
• Risk mitigation
• Acquisition
• Support preparation
Evaluation
frameworks…
Success-critical
StakeholderIPTs
…
SPIRAL B
Technology Environment
Monitoring
Technology Environment
Monitoring
Opportunity, Risk and
Change management
Opportunity, Risk and
Change management
Infeasible
No
Parallel Implementation, V&V,
Rebaselining Next-Increment
Plans and Specs
Success-critical
StakeholderIPTs
IPPD, Monitoring and
Control
CR Risk?
CR
Risk?
OC2
RR
Evaluation frameworks
SPIRAL A
High
System Development and OC SDD
1
Demonstration
RR Cont.
Initial infrastructure
IPPD, Monitoring and
Control
Low
B
DI3 LCA,
DI2 IOC
DI2 LCA,
DI1 IOC
Low
TD Risk?
Risk?
TD
Infeasible
High
No
SPIRAL OC
1
Opt. Development Increments:
DI1 IDR, IPR, IRR
DI2 IDR, IPR, IRR
…
SPIRAL
OC2
…
Technology Environment
Monitoring
Opportunity, Risk and Change
management
Low
SDD Risk?
Risk?
SDD
High
Low
OC, Operations
SDD
Risk?
Risk?
Infeasibl
e
Adjust Objectives/Constraints/Priorities or Discontinue
Infeasible
…
Human-System
Integration
Levels of
Activity
- EIEIO model for
relatively complex
systems
IRR: Inception Readiness Review;
LCO: Life Cycle Objectives;
LCA: Life Cycle Architecture;
OC: Operational Capability.
LCAN+1 is being rebaselined while OCN is being
implemented and OCN-1 is being operated.
Agile and Plan-Driven Home Grounds:
Five Critical Decision Factors
 Size, Criticality, Dynamism, Personnel, Culture
Personnel
(% Level 1B) (% Level 2&3)
40
15
30
20
20
25
10
30
0
35
Criticality
(Loss due to impact of defects)
a: Many Lives
a b
b: Single Life
c: Essential Funds
d: Discretionary Funds
e: Comfort
c
d
e
Dynamism
(% Requirements – change/month)
1.0 0.3
3.0
30 10
3
10
30
100
300
Size
(# of personnel)
90
70
50
30
10
Culture
(% thriving on chaos vs. order)
22
5. Distribution/Globalization Trends
 Global connectivity drives market opportunities
– Network economics, economies of scale
– Need for multi-cultural products, virtual collaboration
 Standards-based infrastructure a necessity
– Gradual growth up the protocol stack
– Open-source development largely in infrastructure
sector
 Challenges: feature prioritization, security
assurance
23
Diversity of Cultures
 Hall: monochromatic (closure) vs. polychromatic
(concurrency)
 Hofstede: individual/group; power distance;
masculine/feminine; uncertainty avoidance; long/shortterm orientation
 Example: Software Capability Maturity Model
– Widely adopted in U.S. culture
 Monochromatic, individual, masculine, short-term
– 17 adoptions out of 380 in Thailand
 Polychromatic, group, feminine, long-term
24
Integrated Enterprise Architectures
Federal Enterprise
Architectural Framework (FEAF)
DOD Architectural
Framework (DODAF)
Zachman
Framework
25
6. The Need for 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
26
Systems of Systems Processes
 More like adaptive command and control than
purchasing
– Stabilized plan-driven increments
– Concurrent agile change management of next
increment
– Value-based reprioritization
 Requires new outsourcing practices and skills
– Change impact analysis, content renegotiation, COTS
refresh
– New contracting processes and incentives
27
8. Computational Plenty: Process Implications
 New platforms: smart dust, human prosthetics (physical, mental)
– New applications: sensor networks, nanotechnology
 Enable powerful self-monitoring software
– Assertion checking, trend analysis, intrusion detection, proofcarrying code, perpetual testing
 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
28
Acquisition Management Implications - I
 20th century build-to-spec contracting practices usable in
part
– Good fit for stabilized-increments team
– But not for rebaselining, V&V teams
 Time & materials or equivalent
 Award fee based on cost/effectiveness
 These apply all the way down the supplier chain
 Need top-level award fee for cost-effective team
balancing
– No stable distribution of effort
29
Acquisition Management Implications - II
 Don’t skimp on system definition phases
– But avoid analysis-paralysis
– Use Feasibility evidence generation as progress metric
 Use more evidence-based source-selection processes
– Competitive exercise as proof of capability
– Preceded by multistage downselect
 Use Schedule/Cost as Independent Variable processes
– Prioritized features as dependent variable
 Top priority: transformational empowerment of acquisition corps
– Education, mentoring, tools, techniques
30
Download