Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Adventures in
accidental human
architecture
Michelle Brush
Engineering Director
Cerner Corporation
1769Mechanical Turk
Wolfgang von Kempelen
(person goes here)
2017Are we still
building
mechanical
turks?
(person goes here)
... Datahub
source
source
source
processing
platform
Sepsis
Heart
failure
... Datahub
source
source
source
processing
platform
Tobacco
usage:
Yes
yes
tobacco
tob
cigarettes
smoking
chews tobacco
tobacco use NOS
use of tobacco
tobacco dependence
Tobacco
usage:
NO
no history of tobacco
null
no tobacco
never smoked
smoking, no
negative
tob - no
snomed
428071000124103 Current Heavy tobacco smoker Current Heavy tobacco smoker Smoking Status
428061000124105 Current Li...
snomed
428071000124103 Current Heavy tobacco smoker Current Heavy tobacco smoker Smoking Status
428061000124105 Current Li...
Crawl
Strings
Learn
Concept
mapping
apply
mapping
Let’s NLP!
Tobacco
usage:
NO
no history of tobacco
null
no tobacco
never smoked
smoking, no
negative
tob – no
tb - no
tuberculosis:
NO
tb - no
Crawl
Strings
Learn
Concept
mapping
apply
mapping
Let’s add safety!
review
mapping
Crawl
Strings
Learn
Concept
mapping
apply
mapping
Let’s add safety!
review
mapping
(person goes here)
I approve of this
mapping.
things that
didn’t need
review
things
that did
Stuck in a
back log
Also stuck
Tobacco
usage:
NO
no history of tobacco
null
no tobacco
never smoked
smoking, no
negative
tob – no
tb - no
3
missing
concepts
instead
of 1
no history of tobacco
null
no tobacco
never smoked
smoking, no
negative
tob – no
tb - no
I still get things wrong.
Business value (safety)
greater than
cost (time) + cost (delay)
Is it good
for the
children?
ANSWER:
______________
______________
______________
______________
Is it good
for the
children?
ANSWER:
YES
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
People do not
add safety
unless they make
better decisions
... Datahub
source
source
source
processing
platform
Crawl
Strings
Learn
Concept
mapping
apply
mapping
review
mapping
detect
change
(person goes here)
Crawl
Strings
Learn
Concept
mapping
apply
mapping
review
mapping
detect
change
(person goes here)
Crawl
Strings
Learn
Concept
mapping
apply
mapping
review
mapping
detect
change
(AND here)
detect
change
See
NEW JIRA
What did I
IMpact?
LOG
NEW JIRA
See
NEW JIRA
See
NEW JIRA
... Datahub
source
source
source
processing
platform
How did we
get here?
ANSWER:
______________
______________
______________
______________
CONWAY’s
Law
Identifiable
victim
effect
Cognitive
bias
SCARCITY
MINDSET
I don’t have time!
Tomorrow, I’ll
have time.
Hyperbolic
discounting
$
You don’t really
remove any work by
removing automation
from scope.
Exposing
the
hidden
humans
(There’s a person
in here.)
ADMIT ONE
65536
65536
Jonathan Eyler-Werve
@EylerWerve
“New Atlassian logo is nice, but I
always felt their human figure being
crushed by burden...
ADMIT ONE
65536
65536
toil
manual
drudgery
menial
mechanical_turk
Let’s count things.
Be creative.
ADMIT ONE
65536
65536
Manual
work
incidents
Things that would
have been better
with automation
failures
errors
Let’s count...
Drudgery
budget
No more than X% of our time, tickets, or
tasks can be spent on drudgery.
We exhausted our
budget.
Time to
automate some
things.
Removing
the
hidden
humans
(There’s a person
in here.)
I’m going to
go off on a
tangent.
blink
Malcolm Gladwell
The kouros
fake or real?
Initial evidence suggested it was real.
Something feels fake.
Something feels new.
Something feels wrong.
The project
Good news, I automated this!
The project
• There’s a Ruby script that…
1. Calls a REST API.
2. Creates a text file of the results.
• There’s a person t...
Something feels wrong.
The project
That’s not automation.
The project
It’s manual.
The Project
It’s automated.
txt
ruby REST
chef
git
The project
It’s manual.
There are people in your
architecture.
The Project
It’s automated.
There’s a script.
Something feels wrong.
The project
• There’s a Ruby script that…
1. Calls a REST API.
2. Creates a text file of the results.
• There’s a person t...
The project
• There’s Java code that...
1. Calls a REST API.
2. Creates the text file and zips it up.
3. Makes the zip fil...
How did we
get here?
ANSWER:
______________
______________
______________
______________
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
See
NEW JIRA
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
The project
• There’s a Ruby script that…
1. Calls a REST API.
2. Creates a text file of the results.
• There’s a person t...
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
Something feels wrong.
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
The project
• There’s Java code that...
1. Calls a REST API.
2. Creates the text file and zips it up.
3. Makes the zip fil...
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
Where you
need to be
to teach
peopleRight Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence...
What does good look like?
What does DONE look like?
Automated Deployments
An automated deployment is defined as a deployment process that occurs seamlessly without manual
int...
Logging Transparency
Automated deployments MUST have transparent logging to be able to investigate, troubleshoot, and
faci...
Logging Transparency
Automated deployments MUST have transparent logging to be able to investigate, troubleshoot, and
faci...
• documented expectations
• repeatable tests
• source control
• PEER Review
• User feedback
• monitoring
Automation is sof...
Are you writing
requirements for your
shell scripts?
Do you test it with the
same rigor as your
“other” code?
ADMIT ONE
65536
65536
toil
manual
drudgery
menial
mechanical_turk
Let’s count things.
Why are we doing this?
ADMIT ONE
65536
65536
toil
manual
drudgery
menial
mechanical_turk
To get the count down
See
NEW JIRA
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
35e58b74d49c8a55bbeb3ac5efb68226
13971700920378067bb22f8355d24dcf
2177db9040c74efcc09183114eda2f31
Adba19c577d4174c51bd5c6...
What problem
are we trying
to solve?
Reduced cost of ownership?
Reduced turnaround time?
Reduced error rate?
Increased uptime?
Increased productivity?
Better c...
Measure what
matters
Not what is easy to
measure
Reduced cost of ownership?
Reduced turnaround time?
Reduced error rate?
Increased uptime?
Increased productivity?
Better c...
Reduced turnaround time!
Reduced error rate!
Increased uptime!
oozie
java
zipREST
oozie
java
zipREST
Architectural
leverage
Mechanical
advantage
Steam
engines
Charles Duhigg
Productivity
paradox
Arranged for
Productivity
Many, many
years later
Do I need to go visit a
patient right now?
THUNK!
Notification sound
I heard the chart hit
the box.
Notification sound
Let’s add a notification
sound!
Wrong Answer!
Stages of
Competence
Right Intuition
Right Analysis
Wrong Analysis
Wrong Intuition
unconscious
incompetence
conscious
inco...
Arranged for
Productivity
Many, many
years later
It’s not
really
about
removing
the
hidden
humans
It’s about
rethinking
the ecosystem
that required
them.
Thank you
@michellebrush
@cernereng
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Adventures in Accidental Human Architecture
Upcoming SlideShare
Loading in …5
×

Adventures in Accidental Human Architecture

703 views

Published on

Slides from the 2017 O'Reilly Software Architecture Conference in London.

Published in: Technology

Adventures in Accidental Human Architecture

  1. 1. Adventures in accidental human architecture Michelle Brush Engineering Director Cerner Corporation
  2. 2. 1769Mechanical Turk Wolfgang von Kempelen (person goes here)
  3. 3. 2017Are we still building mechanical turks? (person goes here)
  4. 4. ... Datahub source source source processing platform
  5. 5. Sepsis
  6. 6. Heart failure
  7. 7. ... Datahub source source source processing platform
  8. 8. Tobacco usage: Yes yes tobacco tob cigarettes smoking chews tobacco tobacco use NOS use of tobacco tobacco dependence
  9. 9. Tobacco usage: NO no history of tobacco null no tobacco never smoked smoking, no negative tob - no
  10. 10. snomed 428071000124103 Current Heavy tobacco smoker Current Heavy tobacco smoker Smoking Status 428061000124105 Current Light tobacco smoker Current Light tobacco smoker Smoking Status 428041000124106 Current some day smoker Current some day smoker Smoking Status 8517006 Ex-smoker (finding) Former smoker Smoking Status 266919005 Never smoked tobacco (finding) Never smoker Smoking Status 77176002 Smoker (finding) Smoker, current status unknown Smoking Status 449868002 Smokes tobacco daily (finding) Current every day smoker Smoking Status 266927001 Tobacco smoking consumption unknown (finding) Unknown if ever smoked Smoking Status
  11. 11. snomed 428071000124103 Current Heavy tobacco smoker Current Heavy tobacco smoker Smoking Status 428061000124105 Current Light tobacco smoker Current Light tobacco smoker Smoking Status 428041000124106 Current some day smoker Current some day smoker Smoking Status 8517006 Ex-smoker (finding) Former smoker Smoking Status 266919005 Never smoked tobacco (finding) Never smoker Smoking Status 77176002 Smoker (finding) Smoker, current status unknown Smoking Status 449868002 Smokes tobacco daily (finding) Current every day smoker Smoking Status 266927001 Tobacco smoking consumption unknown (finding) Unknown if ever smoked Smoking Status
  12. 12. Crawl Strings Learn Concept mapping apply mapping Let’s NLP!
  13. 13. Tobacco usage: NO no history of tobacco null no tobacco never smoked smoking, no negative tob – no tb - no
  14. 14. tuberculosis: NO tb - no
  15. 15. Crawl Strings Learn Concept mapping apply mapping Let’s add safety! review mapping
  16. 16. Crawl Strings Learn Concept mapping apply mapping Let’s add safety! review mapping (person goes here)
  17. 17. I approve of this mapping.
  18. 18. things that didn’t need review things that did
  19. 19. Stuck in a back log Also stuck
  20. 20. Tobacco usage: NO no history of tobacco null no tobacco never smoked smoking, no negative tob – no tb - no
  21. 21. 3 missing concepts instead of 1 no history of tobacco null no tobacco never smoked smoking, no negative tob – no tb - no
  22. 22. I still get things wrong.
  23. 23. Business value (safety) greater than cost (time) + cost (delay)
  24. 24. Is it good for the children? ANSWER: ______________ ______________ ______________ ______________
  25. 25. Is it good for the children? ANSWER: YES
  26. 26. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 52e0c8b148280b423e0efe190287424b 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  27. 27. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 44a61926b5f01d36e1a8204210dc160b 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  28. 28. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 A moose once bit my sister... 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  29. 29. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 A moose once bit my sister... 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  30. 30. People do not add safety unless they make better decisions
  31. 31. ... Datahub source source source processing platform
  32. 32. Crawl Strings Learn Concept mapping apply mapping review mapping detect change (person goes here)
  33. 33. Crawl Strings Learn Concept mapping apply mapping review mapping detect change (person goes here)
  34. 34. Crawl Strings Learn Concept mapping apply mapping review mapping detect change (AND here)
  35. 35. detect change
  36. 36. See NEW JIRA What did I IMpact? LOG NEW JIRA
  37. 37. See NEW JIRA
  38. 38. See NEW JIRA
  39. 39. ... Datahub source source source processing platform
  40. 40. How did we get here? ANSWER: ______________ ______________ ______________ ______________
  41. 41. CONWAY’s Law
  42. 42. Identifiable victim effect
  43. 43. Cognitive bias
  44. 44. SCARCITY MINDSET
  45. 45. I don’t have time!
  46. 46. Tomorrow, I’ll have time.
  47. 47. Hyperbolic discounting $
  48. 48. You don’t really remove any work by removing automation from scope.
  49. 49. Exposing the hidden humans (There’s a person in here.)
  50. 50. ADMIT ONE 65536 65536
  51. 51. Jonathan Eyler-Werve @EylerWerve “New Atlassian logo is nice, but I always felt their human figure being crushed by burdens they cannot escape really told the Jira story. #ux”
  52. 52. ADMIT ONE 65536 65536 toil manual drudgery menial mechanical_turk Let’s count things.
  53. 53. Be creative.
  54. 54. ADMIT ONE 65536 65536 Manual work incidents Things that would have been better with automation failures errors Let’s count things.
  55. 55. Drudgery budget No more than X% of our time, tickets, or tasks can be spent on drudgery.
  56. 56. We exhausted our budget. Time to automate some things.
  57. 57. Removing the hidden humans (There’s a person in here.)
  58. 58. I’m going to go off on a tangent.
  59. 59. blink Malcolm Gladwell
  60. 60. The kouros fake or real? Initial evidence suggested it was real.
  61. 61. Something feels fake.
  62. 62. Something feels new.
  63. 63. Something feels wrong.
  64. 64. The project Good news, I automated this!
  65. 65. The project • There’s a Ruby script that… 1. Calls a REST API. 2. Creates a text file of the results. • There’s a person that… 1. Calls the Ruby script, passing in a string. 2. Checks the text file into git. 3. Merges to master. • There’s a person that... 1. Creates a release. 2. Deploys the release with Chef. • There’s Java code that... 1. Finds the text file and zips it up. 2. Makes the zip file available for download via REST. txt ruby REST chef git oozie java zipREST
  66. 66. Something feels wrong.
  67. 67. The project That’s not automation.
  68. 68. The project It’s manual.
  69. 69. The Project It’s automated.
  70. 70. txt ruby REST chef git
  71. 71. The project It’s manual. There are people in your architecture.
  72. 72. The Project It’s automated. There’s a script.
  73. 73. Something feels wrong.
  74. 74. The project • There’s a Ruby script that… 1. Calls a REST API. 2. Creates a text file of the results. • There’s a person that… 1. Calls the Ruby script, passing in a string. 2. Checks the text file into git. 3. Merges to master. • There’s a person that... 1. Creates a release. 2. Deploys the release with Chef. • There’s Java code that... 1. Finds the text file and zips it up. 2. Makes the zip file available for download via REST. txt ruby REST chef git oozie java zipREST
  75. 75. The project • There’s Java code that... 1. Calls a REST API. 2. Creates the text file and zips it up. 3. Makes the zip file available for download via REST. REST oozie java zipREST
  76. 76. How did we get here? ANSWER: ______________ ______________ ______________ ______________
  77. 77. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  78. 78. See NEW JIRA
  79. 79. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  80. 80. The project • There’s a Ruby script that… 1. Calls a REST API. 2. Creates a text file of the results. • There’s a person that… 1. Calls the Ruby script, passing in a string. 2. Checks the text file into git. 3. Merges to master. • There’s a person that... 1. Creates a release. 2. Deploys the release with Chef. • There’s Java code that... 1. Finds the text file and zips it up. 2. Makes the zip file available for download via REST. txt ruby REST chef git oozie java zipREST
  81. 81. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  82. 82. Something feels wrong.
  83. 83. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  84. 84. The project • There’s Java code that... 1. Calls a REST API. 2. Creates the text file and zips it up. 3. Makes the zip file available for download via REST. REST oozie java zipREST
  85. 85. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  86. 86. Where you need to be to teach peopleRight Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  87. 87. What does good look like?
  88. 88. What does DONE look like?
  89. 89. Automated Deployments An automated deployment is defined as a deployment process that occurs seamlessly without manual intervention. The triggering of this process is outside of the scope of the deployment itself. Minimum Requirements Below are the minimum requirements outlined to have a successful automated deployment process. An automated deployment MUST have each of the attributes listed below. Consistent Deployments It is assumed that automated deployments MUST be consistently deployed across domains. No Intermediary Actions With an automated deployment, there MUST be no intermediary actions that take place between the start of the execution and the end state (regardless of that being a successful deployment or not). If any manual intervention is made during or as a result of the deployment, it is not an automated deployment. Idempotence Automated deployments MUST be idempotent. If the deployment were to run multiple times, the end state MUST be the same. No Downtimes Automated deployments MUST support and maintain high availability. Pre/Post Condition Checks Automated deployments MUST have automatic precondition and postcondition checks. • A deployment can be initiated if and only if the precondition checks pass. • A deployment is considered successful if and only if the postcondition checks pass. Automated Rollbacks Automated deployments MUST be able to automatically rollback to previously stable state based on the result of the post condition checks. Critical State Alerting Automated deployments MUST have the ability to alert if the system reaches an invalid state. Example: 1. A deployment happens 2. The post condition check fails 3. An automated rollback happens 4. The post condition for that rollback also fails 5. An alert fires to immediately have system owners investigate the state of the system
  90. 90. Logging Transparency Automated deployments MUST have transparent logging to be able to investigate, troubleshoot, and facilitate additional learning about the deployment process in action. Benchmarking Automated deployments MUST support benchmarking to account for consistency, success and failure rates, and other metric based information. Recommended Practices Below are the recommended practices outlined to have a successful automated deployment process. An automated deployment SHOULD have each of the attributes listed below. Checkpointing Automated deployments SHOULD support checkpointing. Checkpointing is defined as supporting the deployment of viable partial states (if part of the deployment fails, only the part of it that failed SHOULD be automatically rolled back). This assumes that the successful parts of the deployment are isolated and not dependent on the failed portions. Blackout Periods Automated deployments SHOULD support periods of calendar time where the automated triggering of deployments is suspended. Examples of such times would be incidents, critical events, off hours, etc. Synthetic Traffic/Processing Automated deployments SHOULD use synthetic traffic/processing for validation purposes. Synthetic traffic/processing ensures greater reliability of the successfulness of a deployment. Real-time Visibility Automated deployments SHOULD have real-time visibility with which to see a visual representation of deployments as they are occurring. This visibility ensures more accurate comprehension of the high level view of the overall system. 2 Pages of documented Expectations
  91. 91. Logging Transparency Automated deployments MUST have transparent logging to be able to investigate, troubleshoot, and facilitate additional learning about the deployment process in action. Benchmarking Automated deployments MUST support benchmarking to account for consistency, success and failure rates, and other metric based information. Recommended Practices Below are the recommended practices outlined to have a successful automated deployment process. An automated deployment SHOULD have each of the attributes listed below. Checkpointing Automated deployments SHOULD support checkpointing. Checkpointing is defined as supporting the deployment of viable partial states (if part of the deployment fails, only the part of it that failed SHOULD be automatically rolled back). This assumes that the successful parts of the deployment are isolated and not dependent on the failed portions. Blackout Periods Automated deployments SHOULD support periods of calendar time where the automated triggering of deployments is suspended. Examples of such times would be incidents, critical events, off hours, etc. Synthetic Traffic/Processing Automated deployments SHOULD use synthetic traffic/processing for validation purposes. Synthetic traffic/processing ensures greater reliability of the successfulness of a deployment. Real-time Visibility Automated deployments SHOULD have real-time visibility with which to see a visual representation of deployments as they are occurring. This visibility ensures more accurate comprehension of the high level view of the overall system. 2 Pages of software requirements
  92. 92. • documented expectations • repeatable tests • source control • PEER Review • User feedback • monitoring Automation is software development.
  93. 93. Are you writing requirements for your shell scripts?
  94. 94. Do you test it with the same rigor as your “other” code?
  95. 95. ADMIT ONE 65536 65536 toil manual drudgery menial mechanical_turk Let’s count things.
  96. 96. Why are we doing this?
  97. 97. ADMIT ONE 65536 65536 toil manual drudgery menial mechanical_turk To get the count down
  98. 98. See NEW JIRA
  99. 99. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 52e0c8b148280b423e0efe190287424b 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  100. 100. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 44a61926b5f01d36e1a8204210dc160b 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  101. 101. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 A moose once bit my sister... 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  102. 102. 35e58b74d49c8a55bbeb3ac5efb68226 13971700920378067bb22f8355d24dcf 2177db9040c74efcc09183114eda2f31 Adba19c577d4174c51bd5c6d494c3eb4 51349f29721377485f559dfc981d6ee8 35c79708b687e14de730afd7c9e159e8 9c69d0bb52329f90ac2c21a1d5e18f3e 902dd86879d8b03c35ee7fd021b0080d 34224fdf241ed23b01437c5b41535e1d 9cfbf5558b97b8b951f31cb753727201 A mouse once bit my sister... 2ae9e253652219b8d173c27a2c651574 faf1e47517b6841cee6dee2a118dbce2
  103. 103. What problem are we trying to solve?
  104. 104. Reduced cost of ownership? Reduced turnaround time? Reduced error rate? Increased uptime? Increased productivity? Better customer service? Improved quality?
  105. 105. Measure what matters
  106. 106. Not what is easy to measure
  107. 107. Reduced cost of ownership? Reduced turnaround time? Reduced error rate? Increased uptime? Increased productivity? Better customer service? Improved quality?
  108. 108. Reduced turnaround time! Reduced error rate! Increased uptime!
  109. 109. oozie java zipREST
  110. 110. oozie java zipREST
  111. 111. Architectural leverage
  112. 112. Mechanical advantage
  113. 113. Steam engines Charles Duhigg
  114. 114. Productivity paradox
  115. 115. Arranged for Productivity Many, many years later
  116. 116. Do I need to go visit a patient right now?
  117. 117. THUNK!
  118. 118. Notification sound I heard the chart hit the box.
  119. 119. Notification sound Let’s add a notification sound!
  120. 120. Wrong Answer!
  121. 121. Stages of Competence Right Intuition Right Analysis Wrong Analysis Wrong Intuition unconscious incompetence conscious incompetence conscious competence unconscious competence
  122. 122. Arranged for Productivity Many, many years later
  123. 123. It’s not really about removing the hidden humans
  124. 124. It’s about rethinking the ecosystem that required them.
  125. 125. Thank you @michellebrush @cernereng

×