The Digital Machine - Transforming Systems to Software

93
THIS WORK THE DIGITAL MACHINE Transforming Systems to Software Tim Sheiner Systems Class Visit 2015

Transcript of The Digital Machine - Transforming Systems to Software

Page 1: The Digital Machine - Transforming Systems to Software

THIS WORK

THE DIGITAL MACHINETransforming Systems to Software

Tim SheinerSystems Class Visit 2015

Page 2: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

A system is an interconnected set of elements that is coherently organized

in a way that achieves something.

2

Donella Meadows, Thinking in Systems

Page 3: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

A System has

3

Elements Connections Purpose.

A

B C

Page 4: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

And State.

4

state

A

B C

State describes what is currently true about the objects and relationships in the system.

Page 5: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Dynamic Systems Change State.

5

state’

time

A

B C

A

B C

state

Page 6: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

This is important:

6

dynamics systems change state.

Page 7: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

State Change == Purpose

7

state’

time

state

Page 8: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Software version

8

state’

time

state

Page 9: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

HOW?

9

Page 10: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

MODELS

10

make it possible.

Page 11: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

MODELS

11

let us talk about complicated things.

Page 12: The Digital Machine - Transforming Systems to Software

12

Dubberly, Models of Models, 2009

Page 13: The Digital Machine - Transforming Systems to Software

12

Dubberly, Models of Models, 2009

Models let me put my ideas in your head

Models let me put my ideas in your head

Page 14: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

All models are wrong

13

but some are useful.

George P. Box

Page 15: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

A useful model for making software

14

The Digital Machine

Page 16: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES15

designer

developer

Software

User ProcessObservational

Model

Algorithmic Model

Page 17: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES16

Software

User Process

Algorithmic Model

Observational Model

designer

developer

Page 18: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES16

Software

User Process

Algorithmic Model

Observational Model

designer

developer

Page 19: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES17

Observational Model

Algorithmic Model

Digital Machine

Page 20: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES18

Page 21: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES18

interaction model

object model

data model

persona model

conceptual model

Page 22: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES19

interaction model

object model

data model

persona model

conceptual model

Page 23: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES19

interaction model

object model

data model

persona model

conceptual modelwhat is the purpose?

who is it for?

how do I use it?

what are the elements?

how is state managed?

Page 24: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES20

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

the digital machine

Page 25: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Value of the Digital Machine

21

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model

{ }name:value name:value name:value

1. It is a collaboration

2. The models can be iterated separately, for a time, without losing sight of the whole

3. There is a model for every stakeholder’s point of view

Page 26: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

THE MODELS

22

Page 27: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Conceptual Model

23

for understanding the purpose.

Page 28: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES24

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

Page 29: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Conceptual Model

25

is a about purpose

For target customers Who have a particular need This product is a category of solution That provides a key benefit Unlike the competition

Page 30: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Conceptual Model1. Defines purpose: what problem gets solved for whom 2. Identifies value & utility 3. Does not describe use cases, interface or implementation

26

Page 31: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Persona Model

27

describes behavior.

Page 32: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES28

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

Page 33: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Persona Model

29

Page 34: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Persona Model1. Is a model of human behavior, goals and emotions 2. The most established design practice model with lots of

literature and examples 3. Derives communication power from natural human instinct

for empathy 4. The more real the representation the more effective the

consensus

30

Page 35: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model

31

for how to change state.

Page 36: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES32

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

Page 37: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

By a state of a system is meant any well-defined condition or property that can be

recognized if it occurs again. Every system will naturally have many possible states.

33

Ashby, An Introduction to Cybernetics, 1956

Page 38: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

How Do I Change State?The interaction model defines how to manipulate system state 1. how do I interact with the system? 2. what are the workflows? 3. how do inputs become outputs? 4. how do I get feedback that the state has changed?

34

Page 39: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

What is Interaction?

35

action

feedback

System

input

output

Page 40: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Interaction Changes State

36

action input

output feedback

A

B C

A

B Cstate’

state

Page 41: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Object Change is System Change

37

state’

time

A

B C

A

B C

state

Page 42: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

System Change is a Flow

38

A B

Page 43: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Each Step is a State Change

39

B C

D E

A

Page 44: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Each Step is a State Change

40

A B C

D E

Page 45: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Each Step is a State Change

41

Page 46: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model is a Process Story

42

Page 47: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model is a Process Story

42

Page 48: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model is a Process Story

42

Page 49: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model is a Process Story

42

Page 50: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Interaction Model is a Process Story

42

Page 51: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Interaction Model1. The easiest model for people to connect with (and the one

everyone has an opinion about) 2. Maps inputs to outputs 3. Organized into workflows 4. Defines process by which a system changes state

43

Page 52: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Object Model

44

describes the positions and the players.

Page 53: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES45

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

Page 54: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Design a game

46

about riding a bicycle.

Page 55: The Digital Machine - Transforming Systems to Software

47

Page 56: The Digital Machine - Transforming Systems to Software

47

Page 57: The Digital Machine - Transforming Systems to Software

48

Page 58: The Digital Machine - Transforming Systems to Software

48

handle barhandlegriphandgripcontrol

?grip

Page 59: The Digital Machine - Transforming Systems to Software

48

grip

Page 60: The Digital Machine - Transforming Systems to Software

49

grip

Page 61: The Digital Machine - Transforming Systems to Software

49

rotation

grip

Page 62: The Digital Machine - Transforming Systems to Software

49

Xrotation

grip

Page 63: The Digital Machine - Transforming Systems to Software

49

rotation

grip

inclination

Page 64: The Digital Machine - Transforming Systems to Software

49

rotation

grip

inclination

gravity

Page 65: The Digital Machine - Transforming Systems to Software

50

gravity

rotation

inclination

grip

Page 66: The Digital Machine - Transforming Systems to Software

50

gravity

rotation

inclination

grip

Page 67: The Digital Machine - Transforming Systems to Software

50

gravity

rotation

inclination

griptransportation!

Page 68: The Digital Machine - Transforming Systems to Software

50

gravity

destination

rotation

inclination

griptransportation!

Page 69: The Digital Machine - Transforming Systems to Software

50

gravity

destinationorigin

rotation

inclination

griptransportation!

Page 70: The Digital Machine - Transforming Systems to Software

50

gravity

destinationorigin position

rotation

inclination

griptransportation!

Page 71: The Digital Machine - Transforming Systems to Software

50

gravity

destinationorigin position

trip

rotation

inclination

griptransportation!

Page 72: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

trip

Object Model

51

vehicle

origin

destination

bicyclerider

grip

Page 73: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Object Model1. The elements and relationships of the system that work

together to achieve purpose. 2. The most personal and the most confusing. 3. Describes concepts, their capabilities and their relationships. 4. Names matter. A lot.

52

Page 74: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

trip

Object Model

53

vehicle

origin

destination

bicycleriderposition

rotationinclination

grip

What about the properties?

How is state retained?

(system)dtd

state change =

Page 75: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

The Data Model

54

identifies the object properties.

Page 76: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES55

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona model { }name:value

name:value name:value

Page 77: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

WHAT IS DATA?

56

(in the software context)

Page 78: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

name : value

57

Page 79: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

lat : '37.78'

58

Page 80: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES59

        position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       }        

Page 81: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES59

a set of name : value pairs defines object

state

        position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       }        

Page 82: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES60

trip

vehicle

origin

destination

bicyclerider

grip

Page 83: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

bikeTrip  =  {     vehicle  :  {       rider  :  {         name  :  'Kyle'       },       bicycle  :  {         grip  :  {           rotation  :  '12',  inclination  :  '3'         }       },       position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       },     },     origin  :  {       name  :  'San  Francisco',       position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       },     destination  :  {       name  :  'Los  Angeles',       position  :  {         lat  :  '34.05',  long  :  '-­‐118.24'       }    }

60

a set of object states defines

system state

trip

vehicle

origin

destination

bicyclerider

grip

Page 84: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Value Change == State Change == Purpose

61

state’

time

state

position  :  {  lat  :  '37.78',  long  :  '-­‐122.42'  

}

position  :  {  lat  :  '34.05',  long  :  '-­‐118.24'  

}

Page 85: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }    }

37.78 -­‐122.42

62

(system)dtd

state change =

Page 86: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }    }

37.78 -­‐122.42

62

(system)dtd

state change =

Page 87: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }    }

37.78 -­‐122.42

62

interaction model

(system)dtd

state change =

Page 88: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }    }

62

34.05 -­‐118.24

interaction model

(system)dtd

state change =

Page 89: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Data Model Defines State

63

The names do not change. The values change to reflect system state.

Page 90: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

Data Model1. The atomic structure is name:value pairs 2. A set of name:value pairs defines object state 3. A set of object states defines system state 4. The data model, therefore, defines what can read or written 5. Or more simply, what can be changed

64

Page 91: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES65

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona

model { }name:value name:value name:value

the digital machine

Page 92: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES66

conceptual model

output

input

interaction model

storage

logic

object model

data modelpersona

model { }name:value name:value name:value

Software

User ProcessObservational

Model

Algorithmic Model

the digital machine

Page 93: The Digital Machine - Transforming Systems to Software

THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES

FIN

67