Why It’s Important to Integrate Hardware, Software, Human Factors, and Systems Engineering

advertisement
University of Southern California
Center for Systems and Software Engineering
Why It’s Important to Integrate
Hardware, Software, Human Factors,
and Systems Engineering
Barry Boehm, USC-CSSE
Annual Research Review Executive Workshop
March 10, 2010
Some charts include explanatory notes
University of Southern California
Center for Systems and Software Engineering
Why It’s Important to Integrate
Hardware, Software, Human Factors, and Systems Engineering
• Most Current and Future Systems Need All Four
– But most people’s learning focuses on just one
• They have different mental models
– That make different assumptions about solutions
– Some of the assumptions are decreasingly valid
• Hardware-first doesn’t work
– Nor does software-first or human-factors first
• Initiatives are forming to address integration
– SERC SwE and SysE Bodies of Knowledge; SysE 2020
– Incremental Commitment Model
– US Science, Technology, Engineering, and Math Initiative
3/10/2010
©USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
Systems Engineering Is Evolving from its Hardware Origins
90
F-22
F/A-22
80
70
B-2
B-2
60
50
F-16
F-16
40
F-15
F-15
30
F-111
F-111
20
10
F-4
A-7
1960
1964
Multi-year
delays
associated
with software
and system
stability
Software and
testing delays
push costs
above
Congressional
ceiling
0
3/10/2010
Ref: Defense
Systems Management College
1970
1975
©USC-CSSE
1982
1990
2000
3
University of Southern California
Center for Systems and Software Engineering
Underlying HwE, SwE, HfE Differences
Difference Area
Hardware
Software
Human Factors
Major Life-cycle
Cost Concern
Development,
manufacturing
Life-cycle evolution
Training and
operations labor
Ease of Changes
Generally difficult
Good within
architectural
framework
Very good, but peopledependent
Nature of Changes
Manual, slow, laborintensive, expensive
Electronic, rapid,
inexpensive
Need personnel
retraining, can be
expensive
User-tailorability
Generally difficult,
limited options
Technically easy;
mission-driven
Technically easy;
mission-driven
Indivisibility
Inflexible lower limit
Flexible lower limit
Smaller increments
easier to introduce
Underlying Science
Physics, chemistry,
continuous
mathematics
Discrete
mathematics,
linguistics
Behavioral sciences
Testing
By test organization;
much analytic
continuity
By test organization;
little analytic
continuity
By users
3/10/2010
©USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
Implications for Integrating HwE, SwE, and HfE:
Current SysE Guidelines Emphasize Hardware Concerns
• Focus on early hardware decisions may lead to
–
–
–
–
Selecting hardware components with incompatible software
Inadequate hardware support for software functionality
Inadequate human operator capability
Late start of software development
• Difficulty of hardware changes may lead to
– High rate of change traffic assigned to software without
addressing critical–path risks
• Indivisibility may lead to single-increment system acquisition
• Different test phenomena may lead to inadequate budget and
schedule for testing software and human factors
3/10/2010
©USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
System/Software Architecture Mismatches
- Maier, 2006
• System Hierarchy
• Software Hierarchy
– Part-of relationships; no
shared parts
– Uses relationships; layered
multi-access
– Function-centric; single
data dictionary
– Data-centric; class-object
data relations
– Interface dataflows
– Interface protocols;
concurrency challenges
– Dynamic functionalphysical migration
– Static functional-physical
allocation
3/10/2010
©USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
Examples of Architecture
Mismatches
• Fractionated, incompatible sensor data management
…
…
Sensor 1
SDMS1
…
Sensor 2
Sensor 3
Sensor n
SDMS2
SDMS3
SDMSn
• “Touch Football” interface definition earned value
– Full earned value taken for defining interface dataflow
– No earned value left for defining interface dynamics
• Joining/leaving network, publish-subscribe, interrupt handling,
security protocols, exception handling, mode transitions
– Result: all green EVMS turns red in integration
3/10/2010
©USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
Software Development Schedule Trends
#Years ~ 0.4 * cube root (KSLOC)
20
Years to
Develop
Software,
Hardware
10
SW
HW
0
10
100
1000 10000 100000
Thousands of source lines of code (KSLOC)
Delaying software start increasingly risky
Need to find ways to compress software schedules
- Timeboxing; architecting for decoupled parallel development
3/10/2010
©USC-CSSE
8
University of Southern California
Center for Systems and Software Engineering
Why It’s Important to Integrate
Hardware, Software, Human Factors, and Systems Engineering
• Most Current and Future Systems Need All Four
– But most people’s learning focuses on just one
• They have different mental models
– That make different assumptions about solutions
– Some of the assumptions are decreasingly valid
• Hardware-first doesn’t work
– Nor does software-first or human-factors first
• Initiatives are forming to address integration
– SERC SwE and SysE Bodies of Knowledge; SysE 2020
– Incremental Commitment Model
– US Science, Technology, Engineering, and Math Initiative
3/10/2010
©USC-CSSE
9
University of Southern California
Center for Systems and Software Engineering
Problems with Software-First or
Human-Factors-First
• Unscalable SW COTS choices (New Jersey DMV)
• Too many SW layers (IBM 360/67, Medlars II)
• Insensitive to new technology (ASICs, multicore)
•
•
•
•
Changing user interface (UI) slows project (FAA AAS)
Immature natural language UI ability (library systems)
UI choices neglect new technology (WYSIWYG)
Computer-knows-best UIs (MS WYTINWYG)
– What you type is not what you get (HSI becomes HIS)
3/10/2010
©USC-CSSE
10
University of Southern California
Center for Systems and Software Engineering
Why It’s Important to Integrate
Hardware, Software, Human Factors, and Systems Engineering
• Most Current and Future Systems Need All Four
– But most people’s learning focuses on just one
• They have different mental models
– That make different assumptions about solutions
– Some of the assumptions are decreasingly valid
• Hardware-first doesn’t work
– Nor does software-first or human-factors first
• Initiatives are forming to address integration
– SERC SwE and SysE Bodies of Knowledge; SysE 2020
– Incremental Commitment Model
– US Science, Technology, Engineering, and Math Initiative
3/10/2010
©USC-CSSE
11
University of Southern California
Center for Systems and Software Engineering
ICM HSI Levels of Activity for Complex Systems
3/10/2010
©USC-CSSE
12
University of Southern California
Center for Systems and Software Engineering
The Incremental Commitment Life Cycle Process: Overview
Stage I: Definition
Stage II: Development and Operations
Anchor Point
Milestones
Synchronize, stabilize concurrency via FEDs
Risk patterns
determine life
cycle process
3/10/2010
©USC-CSSE
13
University of Southern California
Center for Systems and Software Engineering
Anchor Point Feasibility Evidence Description
• 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
• Serves as basis for stakeholders’ commitment to proceed
Can be used to strengthen current schedule- or event-based reviews
3/10/2010
©USC-CSSE
14
University of Southern California
Center for Systems and Software Engineering
US Science, Technology,
Engineering, and Math Initiative
• Major national program to strengthen K-12 Science,
Technology, Engineering, and Math (STEM) education
• DARPA program to use advanced GUI, agent, and game
technology to make STEM learning more fun, interesting
• USC-ISI DREAMS proposal
• DDR&E-SERC program to create systems engineeringoriented capstone courses for mono-discipline majors
• Need for T-shaped people (Ramo)
• Need ability to quickly learn other disciplines (Rechtin)
3/10/2010
©USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
References
Boehm, B., Software Engineering Economics, Prentice Hall, 1981.
Boehm, B., and Lane, J., “Using the ICM to Integrate System Acquisition, Systems
Engineering, and Software Engineering,” CrossTalk, October 2007, pp. 4-9.
Boehm, B., and Lane, J., "Guide for Using the Incremental Commitment Model (ICM) for
Systems Engineering of DoD Projects,” version 0.5, USC-CSSE-2009-500, December
2008, http://csse.usc.edu/csse/TECHRPTS/
Checkland, P., Systems Thinking, Systems Practice, Wiley, 1980 (2nd ed., 1999).
Galorath, D., and Evans, M., Software Sizing, Estimation, and Risk Management, Auerbach,
2006.
Jensen, R. “An Improved Macrolevel Software Development Resource Estimation Model,”
Proceedings, ISPA 5, April 1983, pp. 88-92.
Lientz, B., and Swanson, E.B., Software Maintenance Management, Addison Wesley, 1980.
Maier, M., “System and Software Architecture Reconciliation,” Systems Engineering 9 (2),
2006, pp. 146-159.
Pew, R. W., and Mavor, A. S., Human-System Integration in the System Development
Process: A New Look, National Academy Press, 2007.
Putnam, L., “A General Empirical Solution to the Macro Software Sizing and Estimating
Problem,” IEEE Trans SW Engr., July 1978, pp. 345-361.
Rechtin, E. Systems Architecting, Prentice Hall, 1991.
15 July 2008
©USC-CSSE
16
Download