Video: Software that Fits in Your Head - Dan North

April 13th, 2019

 

[ ] Article: Documenting Architecture Decisions - Michael Nygard

[ ] 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

 

 

no description for image available

 

 

no description for image available

 

 

no description for image available

 

 

 

 

software is not the point

 

 

productive != effective

 

 

no description for image available

to getting the business impact

 

 

 

 

no description for image available

understanding code

code I know (new

code no-one knows (middle)

code everyone knows

cared for

 

 

no description for image available

 

 

entropy

 

 

no description for image available

 

 

 

 

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

 

 

no description for image available

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

no description for image available

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

 

 

 

 

no description for image available

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

 

 

no description for image available

what would James do?

shared values

 

 

 

 

no description for image available

 

 

 

 

 

 

microservices?

no description for image available

 

 

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!

no description for image available

 

 

 

 

closing message

no description for image available

 

 

 

 

 

 

 

 

Video: Software that Fits in Your Head - Dan North

 

 

GOTO 2016 • Software that Fits in Your Head • Dan North

https://www.youtube.com/watch?v=4Y0tOi7QWqM

GOTO Conferences

17,242 views views

Published on Sep 27, 2016

 

 

no description for image available

 

 

 

 

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/gotoamst

https://www.facebook.com/GOTOConference

http://gotocon.com