Video: The art of destroying software - Greg Young

April 15th, 2019



[ ] Paper: waterfall - Winston Royce

[ ] Paper: Big Ball of Mud - Brian Foote, Joseph Yoder

[ ] read: alan K

[ ] read: Carl Huwitt

-> learn erlang to learn paradigm for better OO

Video: The art of destroying software - Greg Young

Greg Young - The art of destroying software



Paper: waterfall - Winston Royce

You should read the original waterfall pater.

it describes agile

paper describes waterfall on the first page

then goes on to say it does not work

"waterfall is the optimal way, but it does not work"





Paper: Big Ball of Mud

"this is inevitable"

"this is optimal"

you need to create small pockets





Optimise from the beginning to delete code






combination of small programs

never change code, only rewrite






= change code keep tests

= change tests keep code




= change code and tests





rule of thumb

microservice < 1 week of rewrite

otherwise: flag = high risk area of code





technical debt is not bad

debt is not bad

if technical debt starts acumulating, delete it



"microservices" done right

read: alan K

read: Carl Huwitt





NO 18 month prohect

try a 1week project

- better estimation

- better velocity



1970 write small maneagable






- unix

- erlang

- actors

- microservices

- soa





go learn Erlang





cowboy/fireman hat

"wear the hat when working on prod issues"

someone comes along to ask you something





challenged teams

every time you add an abstraction

create an options-pricing model on that abstraction

and forecast the probability that someone actually needs it

and i want you to measure yourself

and then compare to the null-hypothesis

not much better than dartboard






small amount of state for each program



can be in same database



avoid integration through data when possible


- nasty coupling

- performance



weak schema

hybrid schema

-> some required fields + weak