Download presentation
Presentation is loading. Please wait.
Published byRhoda Lyons Modified over 8 years ago
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.