c a k e s , s h o w e r s a n d e l e c t r i c i a n s
EMERGENT DESIGN
Rouan Wilsenach @rouanw
rouanw.github.io thoughtworks.com
14https://www.flickr.com/photos/chrisny2/4637837938
16
emerge
verb • become apparent
https://www.flickr.com/photos/schnappi/2321628609
17
not
become well-designed
https://www.flickr.com/photos/evaysucamara/5438832695
22
a system made out of genuinely simple parts, is going to be able to
affect the greatest change with the least work
- Rich Hickey
23http://martinfowler.com/bliki/BeckDesignRules.html
31
refactoring
noun • a change made to the internal structure of software to
make it easier to understand and cheaper to modify without
changing its observable behaviour
http://martinfowler.com/bliki/DefinitionOfRefactoring.html
SOME RESOURCES
Articles
• http://martinfowler.com/articles/designDead.html
• http://martinfowler.com/bliki/BeckDesignRules.html
• bit.ly/nf-ead-all (Neal Ford)
Videos
• http://www.infoq.com/presentations/Simple-Made-Easy (Rich Hickey)
• https://vimeo.com/16955608 (Neal Ford)
Books
• http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 (Uncle Bob)
• http://www.amazon.com/Extreme-Programming-Explained-Embrace-Edition/dp/0321278658 (Kent Beck)
News
• http://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
• http://motherboard.vice.com/en_uk/read/how-is-critical-life-or-death-software-tested
46
a m e t a p h o r m a s h - u p
EMERGENT DESIGN
Rouan Wilsenach @rouanw
rouanw.github.io thoughtworks.com