Talk given at RubyConf AU 2019 in Melbourne.
RubyConf AU 2019
How did the code
get like that?
What was lacking?
1. Tests pass
2. Expresses intent
3. No duplication (DRY)
1. Tests pass ✅
2. Improve design
3. Others will thank us
Up front design?
“Big design up front is dumb.
Doing no design up front is even dumber.”
— Dave Thomas (YOW! founder)
Improving chances of
Any up front design?
e.g. pull requests
Recent Rails release?
What we neglected!
Be more disciplined
Reﬂecting on Agile
Explore Agile’s essence
Heart of Agile
Be prepared to explain
Don’t try to win
It takes time
1. Be more disciplined
2. Become more persuasive
• “Understanding the 4 Rules of Simple Design” by Corey Haines
• “Refactoring: Improving the Design of Existing Code” by Martin Fowler
• Simon Brown’s C4 model: https://c4model.com/
• Simon Brown - “Software Architecture for Developers” at YOW! 2017: https://www.youtube.com/watch?v=z1xLDzx7hgw
• “#noprojects - A Culture of Continuous Value” by Evan Leybourn & Shane Hastie
• “Continuous Digital - An agile alternative to projects for digital business” by Allan Kelly
• Heart of Agile (Alistair Cockburn): https://heartofagile.com/
• Sandi Metz - “You are insufﬁciently persuasive” at RubyConf AU 2018: https://www.youtube.com/watch?v=Y3k7tHll3RY
• “Crucial Conversations - Tools for Talking When Stakes Are High” by Kerry Patterson, Joseph Grenny, Ron McMillan, Al Switzler
• https://unsplash.com/photos/1K9T5YiZ2WU - Photo by Tim Gouw on Unsplash
• https://unsplash.com/photos/-IMlv9Jlb24 - Photo by Sebastien Gabriel on Unsplash
• https://unsplash.com/photos/aWJ-QqrSU_E - Photo by Harrison Broadbent on Unsplash
• https://unsplash.com/photos/lu15z1m_KfM - Photo by Lili Popper on Unsplash
• https://heartofagile.com/wp-content/uploads/2018/09/hero_graphic2.png - Image
courtesy of Alistair Cockburn
Thanks for listening!