1 of 21

Richard W. Selby

Director of Engineering

Northrop Grumman

Adjunct Professor

University of Southern California

Barry Boehm

Contributions

Summary

November 9, 2022

2 of 21

Biography of Barry W. Boehm: Positions and Education

  • Barry W. Boehm was the TRW Professor of Software Engineering in the Computer Science Department at the University of Southern California (USC) in Los Angeles, California. He was also the Director of the Center for Systems and Software Engineering at USC. He was a professor at USC since 1993.
  • From 1989 to 1992, he served within the U.S. Department of Defense (DoD) as Director of the Defense Advanced Research Projects Agency (DARPA) Information Science and Technology Office and as Director of the Defense Research and Engineering (DDR&E) Software and Computer Technology Office
  • From 1973 to 1989, he worked at TRW culminating as Chief Scientist of the Defense Systems Group
  • From 1959 to 1973, he worked at the Rand Corporation culminating as Head of the Information Sciences Department, and from 1955 to 1959, he was a Programmer-Analyst at General Dynamics
  • He received his B.A. degree from Harvard in 1957 and his M.S. and Ph.D. degrees from UCLA in 1961 and 1964, all in Mathematics. He also received an honorary Sc.D. degree in Computer Science from the University of Massachusetts in 2000.

1

3 of 21

Biography of Barry W. Boehm: Projects and Activities

  • USC
    • Led collaborative research activities with over 30 industry and government affiliate organizations and taught software engineering
    • Provided program office support to large future software-intensive systems-of-systems such as the Army FCS
  • DARPA
    • Managed acquisition of over $1 billion in advanced technology including DARPA’s contributions to the ARPAnet and Internet, supercomputing, applied AI, software development and reuse environments, large-scale virtual reality simulators, and sponsorship of the SEI
  • DDR&E
    • Led efforts to improve software development including CMM policies and co-led the software development standard that became IEEE-EIA Joint Standard 016 Standard for Information Technology - Software Life Cycle Processes - Software Development - Acquirer-Supplier Agreement
  • TRW
    • Served in several leadership positions and conducted engineering and management reviews of large aerospace and commercial systems
  • Rand
    • Led major Air Force command and control mission analyses such as the Command & Control Information Processing 1985 (CCIP-85) study

2

4 of 21

Biography of Barry W. Boehm: Boards and Committees

  • Barry served on the boards of several scientific journals including the IEEE Transactions on Software Engineering, IEEE Computer, IEEE Software, ACM Computing Reviews, Automated Software Engineering, Software Process, and Information and Software Technology
  • He served as:
    • Chair of the AIAA Technical Committee on Computer Systems
    • Chair of the IEEE Technical Committee on Software Engineering
    • Member of the Governing Board of the IEEE Computer Society
    • Chair of the Air Force Scientific Advisory Board’s Information Technology Panel
    • Chair of the NASA Research and Technology Advisory Committee for Guidance, Control, and Information Processing
    • Chair of the Board of Visitors for the CMU Software Engineering Institute

3

5 of 21

Biography of Barry W. Boehm: Honors and Awards

  • Guest Lecturer of the USSR Academy of Sciences (1970)
  • AIAA Information Systems Award (1979)
  • J.D. Warnier Prize for Excellence in Information Sciences (1984)
  • ISPA Freiman Award for Parametric Analysis (1988)
  • NSIA Grace Murray Hopper Award (1989)
  • Office of the Secretary of Defense Award for Excellence (1992)
  • ASQC Lifetime Achievement Award (1994)
  • ACM Distinguished Research Award in Software Engineering (1997)
  • IEEE Harlan D. Mills Award (2000)
  • Visiting Professor of the Chinese Academy of Sciences (2005)
  • Fellow of the primary professional societies in
    • Computing (ACM)
    • Aerospace (AIAA)
    • Electronics (IEEE)
    • Systems engineering (INCOSE)
  • Member of the National Academy of Engineering

4

6 of 21

“Software and Its Impact: A Quantitative Assessment” (1973)

5

  • Barry led 1971-72 study for the Air Force called “Command and Control Information Processing – 1985” (CCIP-85)
  • Software technology served as the critical technology the Air Force would need to achieve its 1985 command and control objectives
  • Software costs exceeded hardware costs by at least 2:1 and up to 7:1 for major government and commercial systems

7 of 21

“Software and Its Impact: A Quantitative Assessment” (1973) (cont.)

6

  • Barry circulated a “software quiz” to engage key stakeholders and gain their attention by having them attempt to answer simple questions about where software developers spend most of their effort and experience most of their errors

8 of 21

“Software Engineering Economics” (1981)

7

  • Barry defined economics as the study of how people make decisions in resource-limited situations and applied this to software
  • For example, developers never have enough time or money to incorporate all the good features they want, and they must design software products that operate within a world of limited computer power, memory, and storage

9 of 21

“Software Engineering Economics” (1981) (cont.)

8

  • Barry emphasized the importance of analyzing risks, their impacts, and the time-value of information
  • COCOMO defined a scaling model that integrates product size and phase-sensitive multipliers for cost driver attributes
  • COCOMO provided an approach for understanding the cost consequences of software decision-making as well as sensitivity analysis and tradeoff analysis

10 of 21

“Improving Software Productivity” (1987)

9

  • Barry defined the productivity of a process as the outputs produced by the process divided by the inputs consumed by the process
  • His comparisons of actual productivity rates across projects substantiated the COCOMO productivity multiplier factors of 4.18 due to personnel/team capability etc.
  • He emphasized the multi-dimensional nature of and the interdependencies among software quality, effort, and schedule attributes and the need for modeling frameworks

11 of 21

“Improving Software Productivity” (1987) (cont.)

10

  • Barry described productivity opportunities: get the best from people, make steps more efficient, eliminate steps, eliminate rework, build simpler products, and reuse components
  • Improved software productivity is not an end in itself; it is a means of helping people expand their capabilities to use information, make better decisions, and increase effectiveness and efficiency

12 of 21

“A Spiral Model of Software Development and Enhancement” (1988)

11

Spiral Model and Concurrent Engineering

13 of 21

Theory W: WinWin Achievement Theorem

Making winners of your success-critical stakeholders requires:

  1. Identifying all of the success-critical stakeholders (SCSs).
  2. Understanding how the SCSs want to win.
  3. Having the SCSs negotiate a win-win set of product and process plans.
  4. Controlling progress toward SCS win-win realization, including adaptation to change.

12

“Theory W Software Project Management: Principles and Examples” (1989)

14 of 21

“Managing Software Productivity and Reuse” (1999)

13

  • Barry identified three strategies for improving productivity: (a) Work faster by using tools that automate or speed up previously labor-intensive tasks (8% gain). (b) Work smarter by using process improvements that avoid or reduce non-value-adding tasks (17% gain). (c) Avoid unnecessary work by reusing software artifacts instead of custom developing each project artifact (47% gain).

15 of 21

“Software Economics: A Roadmap” (2000)

14

  • Barry articulated that software design and engineering serve as investment activities that focus on creating maximal value for a given investment
  • Better decision-making serves as the key enabler of greater value creation, such as decisions about structuring phased projects, designing for change, and entering new markets

16 of 21

“Early Experiences in Software Economics” (2002)

15

  • Barry’s early fundamental idea was that getting a software system’s economic and systems analyses right were at least as important as getting its programming right
  • Requirements/design phases inserted the bulk of the serious software defects but developers did not eliminate them until testing phases when they were much more expensive to fix
  • Challenge is to selectively prune the parts of the software experience base that become less relevant and to conserve and build on the parts with lasting value for the future

17 of 21

Pareto 80-20 Distribution of �Test Case Value

16

Actual business value

% of

Value

for

Correct

Customer

Billing

Customer Type

100

80

60

40

20

5

10

15

Automated test

generation tool

-

% of

Value

for

Correct

Customer

Billing

Customer Type

100

80

60

40

20

5

10

15

Automated test

generation tool

-

all tests have equal value*

*Usual SW assumption for all requirements, objects, defects, …

“Value-Based Software Engineering” (2006)

18 of 21

Initial VBSE Theory: 4+1 Process�– With a great deal of concurrency and backtracking

17

“Value-Based Software Engineering” (2006)

19 of 21

“Incremental Commitment Model” (2014):�Single Increment View

18

20 of 21

“Incremental Commitment Life Cycle Process” (2014)

19

21 of 21

Barry Boehm’s Approach to Systems and Software Engineering

  • Studies actual systems
  • Generalizes ideas to enable transferability
  • Leverages data
  • Builds models
  • Articulates using high degree of insightfulness and clarity
  • Creates research that has timeless value
  • Collaborates across many organizations
  • Bridges across industry and academia
  • Exercises “convening power”
  • Engages with openness
  • Achieves objectivity and drives leadership

20