Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2015 D JAGHE Walter Shewhart & the Philosophy of Software David Alan Grier Center for International Science & Technology Policy George Washington University.

Similar presentations


Presentation on theme: "© 2015 D JAGHE Walter Shewhart & the Philosophy of Software David Alan Grier Center for International Science & Technology Policy George Washington University."— Presentation transcript:

1 © 2015 D JAGHE Walter Shewhart & the Philosophy of Software David Alan Grier Center for International Science & Technology Policy George Washington University

2 Historical Talk Not Philosopher Historian of Ideas – Claim to be Philosophy Current Literature – Language & Thought – Metaphor Materialization of Software – Engineering Perspective – Practical Problems

3

4 © 2015 D JAGHE Walter Shewhart

5 © 2015 D JAGHE Walter Shewhart Production Engineer – Not philosopher

6 © 2015 D JAGHE Walter Shewhart Production Engineer – Not philosopher Widely read in philosophy – Dewey, Bertrand Russell, C. I. Lewis

7 © 2015 D JAGHE Walter Shewhart Production Engineer – Not philosopher Widely read in philosophy – Dewey, Bertrand Russell, C. I. Lewis What is mass production? – What kind of entity is it?

8 © 2015 D JAGHE Connection to Software

9 © 2015 D JAGHE Connection to Software Producing Quality Software

10 © 2015 D JAGHE Connection to Software Producing Quality Software Perceptions: – Error prone software – Slow delivery

11 © 2015 D JAGHE Connection to Software Producing Quality Software Perceptions: – Error prone software – Slow delivery Garmisch Conference (1968) – Nato Sponsored – Problems creating quality software

12 © 2015 D JAGHE Connection to Software Producing Quality Software Perceptions: – Error prone software – Slow delivery Garmisch Conference (1968) – Nato Sponsored – Problems creating quality software Not amortized over different firms

13 © 2015 D JAGHE Connection to Software Producing Quality Software Perceptions: – Error prone software – Slow delivery Garmisch Conference (1968) – Nato Sponsored – Problems creating quality software Not amortized over different firms No software industry

14 © 2015 D JAGHE Switch Engineering Role

15 © 2015 D JAGHE Switch Engineering Role Electrical Engineering

16 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity Electrical Engineering – Don’t engineering electricity

17 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity

18 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal

19 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering

20 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering – Engineer signal to control machine Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering – Engineer signal to control machine

21 © 2015 D JAGHE Switch Engineering Role Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering – Engineer signal to control machine Continued reluctance to engineer Electrical Engineering – Don’t engineering electricity – Engineer machine to control electricity – Machine to control signal Software Engineering – Engineer signal to control machine Continued reluctance to engineer

22 © 2015 D JAGHE Why process started in 1968?

23 © 2015 D JAGHE Why process started in 1968? Software quasi-material

24 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape

25 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering

26 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly

27 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly – Disks

28 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly – Disks RAMAC (~1957)

29 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly – Disks RAMAC (~1957) – Time Sharing

30 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly – Disks RAMAC (~1957) – Time Sharing MCP/CTSS/Multics (~1961)

31 © 2015 D JAGHE Why process started in 1968? Software quasi-material Punched cards / Tape Not worthy of engineering Dematerialized slowly – Disks RAMAC (~1957) – Time Sharing MCP/CTSS/Multics (~1961) – Mini-computers (1968)

32 © 2015 D JAGHE Connection between software & production

33 © 2015 D JAGHE Connection between software & production 1793: De Prony

34 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term

35 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term “plan general de l'execution”

36 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term “plan general de l'execution” Transferred to Industrial Engineering

37 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term “plan general de l'execution” Transferred to Industrial Engineering Division between

38 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term “plan general de l'execution” Transferred to Industrial Engineering Division between – Mathematics

39 © 2015 D JAGHE Connection between software & production 1793: De Prony “Plan” Common term “plan general de l'execution” Transferred to Industrial Engineering Division between – Mathematics – Coding (Mechanical Translation)

40 © 2015 D JAGHE Software Breaks with Origins

41 © 2015 D JAGHE Separate Staff – SAGE (1959) Software Breaks with Origins

42 © 2015 D JAGHE Separate Staff – SAGE (1959) Different Process – OS/360 Software Breaks with Origins

43 © 2015 D JAGHE By 1968: Five Treatment Strategies

44 © 2015 D JAGHE By 1968: Five Treatment Strategies Mechanical Device (McIlroy)

45 © 2015 D JAGHE By 1968: Five Treatment Strategies Mechanical Device (McIlroy) Axiomatic Process (Hoare) Mechanical Device (McIlroy) Axiomatic Process (Hoare)

46 © 2015 D JAGHE By 1968: Five Treatment Strategies Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra) Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra)

47 © 2015 D JAGHE By 1968: Five Treatment Strategies Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra) Natural Entity (Halstead) Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra) Natural Entity (Halstead)

48 © 2015 D JAGHE By 1968: Five Treatment Strategies Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra) Natural Entity (Halstead) Production Plan (Boehm) Mechanical Device (McIlroy) Axiomatic Process (Hoare) Structured Communication (Djikstra) Natural Entity (Halstead) Production Plan (Boehm)

49 All 5 remain in software todate All 5 remain Some more important than others Shewharts’s apprach is core – Materialism that measuring effects

50 © 2015 D JAGHE Mechanical

51 © 2015 D JAGHE Mechanical Dates to 1938 & Harvard Mark I

52 © 2015 D JAGHE Mechanical Dates to 1938 & Harvard Mark I Parts you assemble into whole – Subroutines

53 © 2015 D JAGHE Mechanical Dates to 1938 & Harvard Mark I Parts you assemble into whole – Subroutines Surviving Elements: Libraries – Mathematical – Language – Graphic

54 © 2015 D JAGHE Shortcomings Mechanical

55 © 2015 D JAGHE Shortcomings – Not Sufficient Shortcomings – Not Sufficient Mechanical

56 © 2015 D JAGHE Shortcomings – Not Sufficient – Mere Analysis Shortcomings – Not Sufficient – Mere Analysis Mechanical

57 © 2015 D JAGHE Shortcomings – Not Sufficient – Mere Analysis – Mismatch material model Shortcomings – Not Sufficient – Mere Analysis – Mismatch material model Mechanical

58 © 2015 D JAGHE Axiomatic

59 © 2015 D JAGHE Axiomatic Reasoning from fixed assumptions

60 © 2015 D JAGHE Axiomatic Reasoning from fixed assumptions Hilbert/Turing/Church

61 © 2015 D JAGHE Axiomatic Reasoning from fixed assumptions Hilbert/Turing/Church Algol 60 – Formal Definitions

62 © 2015 D JAGHE Axiomatic Reasoning from fixed assumptions Hilbert/Turing/Church Algol 60 – Formal Definitions C. A. R. Hoare (1969)

63 © 2015 D JAGHE Axiomatic Reasoning from fixed assumptions Hilbert/Turing/Church Algol 60 – Formal Defintions C. A. R. Hoare (1969)

64 © 2015 D JAGHE Axiomatic

65 © 2015 D JAGHE Axiomatic Surviving Elements:

66 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages

67 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions

68 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions – Academic Interest

69 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions – Academic Interest Shortcomings

70 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions – Academic Interest Shortcomings – Economics

71 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions – Academic Interest Shortcomings – Economics – Mechanical Support – Stopping Problem

72 © 2015 D JAGHE Axiomatic Surviving Elements: – Specification Languages – Formal Definitions – Academic Interest Shortcomings – Economics – Mechanical Support – Stopping Problem – Not Materializing at all No artifact

73 © 2015 D JAGHE Structured Communication Edsger Dijkstra

74 © 2015 D JAGHE Structured Communication Programmer – Machine Edsger Dijkstra

75 © 2015 D JAGHE Structured Communication Programmer – Machine Discipline Programmer Edsger Dijkstra

76 © 2015 D JAGHE Structured Communication Programmer – Machine Discipline Programmer Proof Easier Edsger Dijkstra

77 © 2015 D JAGHE Structured Communication Programmer – Machine Discipline Programmer Proof Easier Reduce Complexity – T. H. E. Operating System Edsger Dijkstra

78 © 2015 D JAGHE Structured Communication Programmer – Machine Discipline Programmer Proof Easier Reduce Complexity – T. H. E. Operating System “Goto Considered Harmful” Edsger Dijkstra

79 © 2015 D JAGHE Structured Communication

80 © 2015 D JAGHE Structured Communication Surviving Elements:

81 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture

82 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture – Programming Tools

83 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture – Programming Tools Shortcomings

84 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture – Programming Tools Shortcomings – Not Necessary

85 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture – Programming Tools Shortcomings – Not Necessary – Clarified Structure Not Meaning

86 © 2015 D JAGHE Structured Communication Surviving Elements: – Software Architecture – Programming Tools Shortcomings – Not Necessary – Clarified Structure Not Meaning – Materializing irrelevant thing

87 © 2015 D JAGHE Natural Entity

88 © 2015 D JAGHE Natural Entity Software Science

89 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead

90 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead Software Natural Entity

91 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead Software Natural Entity Natural Measurements

92 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead Software Natural Entity Natural Measurements – Number of Operands

93 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead Software Natural Entity Natural Measurements – Number of Operands – Program Length

94 © 2015 D JAGHE Natural Entity Software Science Maurice Halstead Software Natural Entity Natural Measurements – Number of Operands – Program Length – Program Volume

95 © 2015 D JAGHE Halstead Methods

96 © 2015 D JAGHE Halstead Methods Surviving Elements

97 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling

98 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings

99 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings – Not Sufficient or Necessary

100 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings – Not Sufficient or Necessary – High Variability

101 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings – Not Sufficient or Necessary – High Variability – Limited Correlation

102 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings – Not Sufficient or Necessary – High Variability – Limited Correlation – Chaotic Materiality

103 © 2015 D JAGHE Halstead Methods Surviving Elements – Performance Modeling Shortcomings – Not Sufficient or Necessary – High Variability – Limited Correlation – Chaotic Materiality Natural World

104 © 2015 D JAGHE Production Plan

105 © 2015 D JAGHE Production Plan Aerospace Industry

106 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm

107 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm Well-versed in Production

108 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm Well-versed in Production – Complex Production

109 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm Well-versed in Production – Complex Production – High Risk Production

110 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm Well-versed in Production – Complex Production – High Risk Production Software as part of plan

111 © 2015 D JAGHE Production Plan Aerospace Industry Barry Boehm Well-versed in Production – Complex Production – High Risk Production Software as part of plan Turned to Walter Shewhart

112 © 2015 D JAGHE Quality Control/Assurance

113 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s

114 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s Production Plans for Western Electric

115 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s Production Plans for Western Electric What is Quality?

116 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s Production Plans for Western Electric What is Quality? Basis for Work

117 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s Production Plans for Western Electric What is Quality? Basis for Work – Materialization of Modern Physics

118 © 2015 D JAGHE Quality Control/Assurance Bell Labs, 1920s Production Plans for Western Electric What is Quality? Basis for Work Materialization of Modern Physics – Materializing Quality of System

119 © 2015 D JAGHE Clarence I. Lewis C. I. Lewis (1983-1964)

120 © 2015 D JAGHE Clarence I. Lewis Student of Royce C. I. Lewis (1983-1964)

121 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic C. I. Lewis (1983-1964)

122 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic – A  B ≠ (Not A) ∨ B C. I. Lewis (1983-1964)

123 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic – A  B ≠ (Not A) ∨ B Follower of Dewey C. I. Lewis (1983-1964)

124 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic – A  B ≠ (Not A) ∨ B Follower of Dewey – Pragmatist C. I. Lewis (1983-1964)

125 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic – A  B ≠ (Not A) ∨ B Follower of Dewey – Pragmatist – “Pragmatism is a Process” C. I. Lewis (1983-1964)

126 © 2015 D JAGHE Clarence I. Lewis Student of Royce Mathematical Logic – A  B ≠ (Not A) ∨ B Follower of Dewey – Pragmatist – “Pragmatism is a Process” – Effects of Process not system C. I. Lewis (1983-1964)

127 © 2015 D JAGHE Materializing Quality Statistical Quality Control (1939)

128 © 2015 D JAGHE Materializing Quality Object Statistical Quality Control (1939)

129 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges Statistical Quality Control (1939)

130 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Statistical Quality Control (1939)

131 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Moved from Object to Process Statistical Quality Control (1939)

132 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Moved from Object to Process Process as means for controlling system Statistical Quality Control (1939)

133 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Moved from Object to Process Process as means for controlling system – Controllable Causes Statistical Quality Control (1939)

134 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Moved from Object to Process Process as means for controlling system – Controllable Causes – Uncontrollable Causes Statistical Quality Control (1939)

135 © 2015 D JAGHE Materializing Quality Object – Go/No Go Gauges – Quality is Nd parallelepiped Moved from Object to Process Process as means for controlling system – Controllable Causes – Uncontrollable Causes Materialism of System implies materialism of software Statistical Quality Control (1939)

136 © 2015 D JAGHE Shewhart’s Philosophical Problem

137 © 2015 D JAGHE Shewhart’s Philosophical Problem Causality Problem

138 © 2015 D JAGHE Shewhart’s Philosophical Problem Causality Problem Specify – Want for operation

139 © 2015 D JAGHE Shewhart’s Philosophical Problem Causality Problem Specify – Want for operation Production – Adjust manufacture

140 © 2015 D JAGHE Shewhart’s Philosophical Problem Causality Problem Specify – Want for operation Production – Adjust manufacture Inspect – What you can see (nondestructive) (sample destructive)

141 © 2015 D JAGHE Pragmatic Solution

142 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences

143 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences Equalize Variation of Uncontrollable

144 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences Equalize Variation of Uncontrollable Largely overlooked in modern applications

145 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences Equalize Variation of Uncontrollable Largely overlooked in modern applications Assume fundamental materialism

146 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences Equalize Variation of Uncontrollable Largely overlooked in modern applications Assume fundamental materialism – Underlying thing

147 © 2015 D JAGHE Pragmatic Solution Align Controllable Influences Equalize Variation of Uncontrollable Largely overlooked in modern applications Assume fundamental materialism – Underlying thing – Materialized process

148 © 2015 D JAGHE Transfer to Software Barry Boehm )

149 © 2015 D JAGHE Transfer to Software Materializing Action of System Barry Boehm )

150 © 2015 D JAGHE Transfer to Software Materializing Action of System Quality is Uniform Action Barry Boehm )

151 © 2015 D JAGHE Transfer to Software Materializing Action of System Quality is Uniform Action Controllable forces more general Barry Boehm )

152 © 2015 D JAGHE Transfer to Software Materializing Action of System Quality is Uniform Action Controllable forces more general Uncontrollable forces more prevalent Barry Boehm )

153 © 2015 D JAGHE Transfer to Software Materializing Action of System Quality is Uniform Action Controllable forces more general Uncontrollable forces more prevalent Implemented in Standards Barry Boehm )

154 © 2015 D JAGHE IEEE Standardization

155 © 2015 D JAGHE IEEE Standardization Begins in 1978

156 © 2015 D JAGHE IEEE Standardization Begins in 1978 IEEE 730: Quality Assurance Plans

157 © 2015 D JAGHE IEEE Standardization Begins in 1978 IEEE 730: Quality Assurance Plans Defining material (measurable) nature of software

158 © 2015 D JAGHE IEEE Computer Society Progress

159 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983)

160 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984)

161 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984) – 1002 Taxonomy for Software Standards (1987)

162 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984) – 1002 Taxonomy for Software Standards (1987) – 730 Quality Assurance Plans (1988)

163 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984) – 1002 Taxonomy for Software Standards (1987) – 730 Quality Assurance Plans (1988) – 982 Measures of Dependability (1988)

164 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984) – 1002 Taxonomy for Software Standards (1987) – 730 Quality Assurance Plans (1988) – 982 Measures of Dependability (1988) – 828 Configuration Management (1990)

165 © 2015 D JAGHE IEEE Computer Society Progress – 829 Software Test Documentation (1983) – 830 Requirements Specification (1984) – 1002 Taxonomy for Software Standards (1987) – 730 Quality Assurance Plans (1988) – 982 Measures of Dependability (1988) – 828 Configuration Management (1990) – 1074 Software Lifecycle (1991)

166 What do we learn about Philosophy? Engineers more Pragmatists than we thought Less Rational Positivists Clearly Mathematical Logic still important Materialize Problem – Identify aspects that can be put in box – Solve those aspects – Limit Influence of all else

167 © 2015 D JAGHE Walter Shewhart & the Philosophy of software David Alan Grier


Download ppt "© 2015 D JAGHE Walter Shewhart & the Philosophy of Software David Alan Grier Center for International Science & Technology Policy George Washington University."

Similar presentations


Ads by Google