TDD - Inevitable Challenge for Software Developers (phpkonf15 keynote)
Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan...
Transcript of Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan...
![Page 1: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/1.jpg)
Software Is Details @KevlinHenney
![Page 2: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/2.jpg)
![Page 3: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/3.jpg)
![Page 4: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/4.jpg)
Any program is a model of a
model within a theory of a model
of an abstraction of some portion
of the world or of some universe
of discourse.
Meir M Lehman "Programs, Life Cycles, and Laws of Software Evolution"
![Page 5: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/5.jpg)
The purpose of abstraction is not
to be vague, but to create a new
semantic level in which one can
be absolutely precise.
Edsger W Dijkstra
![Page 6: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/6.jpg)
It's just semantics.
![Page 7: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/7.jpg)
It's just meaning.
![Page 8: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/8.jpg)
It's just details.
![Page 9: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/9.jpg)
![Page 10: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/10.jpg)
Details count.
Peter Weinberger
![Page 11: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/11.jpg)
Geeks are people who
love something so much
that all the details matter.
Marissa Mayer
![Page 12: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/12.jpg)
We're talking about a very
specific mindset that is crucial
when it comes to the act of
creating.
Will Gompertz
Think Like an Artist
![Page 13: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/13.jpg)
It is an attitude that can be
encapsulated in a simple but
demanding rule: always think
both big picture and fine detail.
Will Gompertz
Think Like an Artist
![Page 14: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/14.jpg)
software
![Page 15: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/15.jpg)
software architecture
![Page 16: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/16.jpg)
code
![Page 17: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/17.jpg)
implementation
![Page 18: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/18.jpg)
implementation details
![Page 19: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/19.jpg)
design details
![Page 20: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/20.jpg)
design decisions
![Page 21: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/21.jpg)
![Page 22: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/22.jpg)
Architecture represents the
significant design decisions
that shape a system, where
significant is measured by
cost of change.
Grady Booch
![Page 23: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/23.jpg)
Architecture is a hypothesis,
that needs to be proven by
implementation and
measurement.
Tom Gilb
![Page 24: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/24.jpg)
We propose [...] that one begins
with a list of difficult design
decisions or design decisions
which are likely to change. Each
module is then designed to hide
such a decision from the others.
David L Parnas On the Criteria to Be Used in Decomposing Systems into Modules
![Page 25: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/25.jpg)
Programming is
a design activity.
Jack W Reeves What Is Software Design?
![Page 26: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/26.jpg)
Coding actually makes sense more often
than believed. Often the process of
rendering the design in code will reveal
oversights and the need for additional
design effort. The earlier this occurs, the
better the design will be.
Jack W Reeves What Is Software Design?
![Page 27: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/27.jpg)
![Page 28: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/28.jpg)
If a plot works out exactly
as you first planned, you're
not working loosely enough
to give room to your
imagination and instincts.
![Page 29: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/29.jpg)
/ WordFriday
![Page 30: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/30.jpg)
pantser, noun Writer who writes by the seat of their pants.
In contrast to a plotter, a pantser doesn't
work to (or have) an outline.
![Page 31: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/31.jpg)
![Page 32: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/32.jpg)
![Page 33: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/33.jpg)
16-bit
![Page 34: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/34.jpg)
32-bit
![Page 35: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/35.jpg)
64-bit
![Page 36: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/36.jpg)
<windows.h>
![Page 37: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/37.jpg)
LLP64
![Page 38: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/38.jpg)
LP64
![Page 39: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/39.jpg)
![Page 40: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/40.jpg)
Hamlet: To be, or not to be, that is the question.
![Page 41: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/41.jpg)
Ophelia: 'Tis in my memory locked, and you yourself shall keep the key of it.
![Page 42: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/42.jpg)
Hamlet: Yea, from the table of my memory I'll wipe away all trivial fond records.
![Page 43: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/43.jpg)
![Page 44: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/44.jpg)
Mutable
Immutable
Unshared Shared
Unshared mutable data needs no synchronisation
Unshared immutable data needs no synchronisation
Shared mutable data needs synchronisation
Shared immutable data needs no synchronisation
![Page 45: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/45.jpg)
Mutable
Immutable
Unshared Shared
Unshared mutable data needs no synchronisation
Unshared immutable data needs no synchronisation
Shared mutable data needs synchronisation
Shared immutable data needs no synchronisation
The Synchronisation Quadrant
![Page 46: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/46.jpg)
![Page 47: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/47.jpg)
All computers
wait at the
same speed
![Page 48: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/48.jpg)
Savings in time feel like simplicity
![Page 49: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/49.jpg)
... premature optimization is the root of all evil (or at least most of it) in programming.
Donald Knuth
![Page 50: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/50.jpg)
... premature optimization is the root of all evil (or at least most of it) in programming.
Donald Knuth
![Page 51: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/51.jpg)
... premature optimization is the root of all evil (or at least most of it) in programming.
Donald Knuth
![Page 52: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/52.jpg)
Command-line tools
can be 235x faster than
your Hadoop cluster
Adam Drake
http://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html
![Page 53: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/53.jpg)
sort
![Page 54: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/54.jpg)
![Page 55: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/55.jpg)
O(n log n)
![Page 56: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/56.jpg)
O(n2)
![Page 57: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/57.jpg)
![Page 58: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/58.jpg)
![Page 59: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/59.jpg)
O(n!)
![Page 60: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/60.jpg)
![Page 61: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/61.jpg)
OMG!
![Page 62: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/62.jpg)
![Page 63: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/63.jpg)
O(n)
![Page 64: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/64.jpg)
Simple Testing Can Prevent
Most Critical Failures
An Analysis of Production Failures in
Distributed Data-Intensive Systems
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
![Page 65: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/65.jpg)
![Page 66: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/66.jpg)
Schiaparelli’s Inertial Measurement Unit (IMU) went about its business of calculating the lander’s rotation rate. For some reason, the IMU calculated a saturation-maximum period that persisted for one second longer than what would normally be expected at this stage.
When the IMU sent this bogus information to the craft’s navigation system, it calculated a negative altitude.
http://gizmodo.com/a-crazy-miscalculation-doomed-the-sciaparelli-lander-1789319670
![Page 67: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/67.jpg)
That fateful miscalculation set off a cascade of despair, triggering the premature release of the parachute and the backshell, a brief firing of the braking thrusters, and activation of the on-ground systems as if Schiaparelli had already reached the surface.
This all happened while the vehicle was still two miles (3.7 km) above ground.
http://gizmodo.com/a-crazy-miscalculation-doomed-the-sciaparelli-lander-1789319670
![Page 68: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/68.jpg)
A majority of the production
failures (77%) can be
reproduced by a unit test.
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
![Page 69: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/69.jpg)
htt
p:/
/www.c
om
mitst
rip.c
om
/en/2016
/08/25/a-v
ery
-com
pre
hensi
ve-a
nd-p
recis
e-s
pec/
![Page 70: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/70.jpg)
htt
p:/
/www.c
om
mitst
rip.c
om
/en/2016
/08/25/a-v
ery
-com
pre
hensi
ve-a
nd-p
recis
e-s
pec/
![Page 71: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/71.jpg)
htt
p:/
/www.c
om
mitst
rip.c
om
/en/2016
/08/25/a-v
ery
-com
pre
hensi
ve-a
nd-p
recis
e-s
pec/
![Page 72: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/72.jpg)
htt
p:/
/www.c
om
mitst
rip.c
om
/en/2016
/08/25/a-v
ery
-com
pre
hensi
ve-a
nd-p
recis
e-s
pec/
![Page 73: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/73.jpg)
Normally screws are so cheap and small and
simple you think of them as unimportant.
But now, as your Quality awareness
becomes stronger, you realize that this one,
individual, particular screw is neither cheap
nor small nor unimportant.
Robert M Pirsig Zen and the Art of Motorcycle Maintenance
![Page 74: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/74.jpg)
Right now this screw is worth exactly the
selling price of the whole motorcycle,
because the motorcycle is actually valueless
until you get the screw out.
With this reevaluation of the screw comes a
willingness to expand your knowledge of it.
Robert M Pirsig Zen and the Art of Motorcycle Maintenance
![Page 75: Keynote: Software Is Details · Keynote: Software Is Details Author: Kevlin Henney (Curbralan Limited) Subject "It's just a detail." Software is lots of details brought together in](https://reader035.fdocuments.us/reader035/viewer/2022081401/5f0679437e708231d4182bab/html5/thumbnails/75.jpg)
Software Is Details