Video: Software that Fits in Your Head - Dan North

OO = "little computers passing messages" Alan K
replaceable component architecture

Video: Software that Fits in Your Head - Dan North

Software that Fits in Your Head - Dan North



software is not the point
productive != effective

to getting the business impact

understanding code
code I know (new
code no-one knows (middle)
code everyone knows
cared for

entropy

Short software Half-Life
half-life (physics) know precisely half will decay in certain time, dunno which
How long would you need to go away, before half of the code has been completely rewritten?
typically years
~6weeks
fearlessly rewrite code
I know more now
design considerations

well written code shows
what it does
NOT purpose
NOT what is not there (decisions)
purpose: why it's there
responsibility: what it owns (and what not)
lifecycle

documentation = why something is there
write component test and docs
TDD != tests
Article: Mike Nigard, architecture decision records
decision we made
people who made it
things we considered
things we discarded
so this we ended
extra credit:
this is the problem it solves
these risks are introduced
-> stays in version control
static != stable

complexity metric:
"bigger than my head"
if have to page up and down, it's too much
coping mechanisms
analysis
actively ignoring
mocking and stubbing
painkillers for complexity
what fits in my head?
language
clojure
1 way to do something
scala
least opinionated
multiple dialects in 1 code base
framework

what would James do?
shared values

microservices?

hard shell
pass messages
"little computers passing messages"
-- Alan K
-> inventor of OO
object != entity
object does things with entities
think about component by looking at the messages
microservices!

closing message

Video: Software that Fits in Your Head - Dan North

GOTO 2016 • Software that Fits in Your Head • Dan North
17,242 views views
Published on Sep 27, 2016

Description
This presentation was recorded at GOTO Amsterdam 2016 http://gotoamst.nl Dan North - Agile Troublemaker, Developer, Originator of BDD ABSTRACT Software gets complicated fast. Most of good architecture and design practise is about trying to slow the rate at which software gets complicated. You can't stop it, it's a form of entropy. You can only slow it down and do your level best to stay on top [...] Download slides and read the full abstract here: https://gotocon.com/amsterdam-2016/pr...https://twitter.com/gotoamsthttps://www.facebook.com/GOTOConferencehttp://gotocon.com