For each desired change, make the change easy (warning: this may be hard), then make the easy change. Kent Beck creator of extreme programming twitter.com/kentbeck/status/250733358307500032
Long Method Large Class Primitive Obsession Long Parameter List Data Clumps Switch Statements Temporary Field Refused Bequest Alternative Classes with Different Interfaces Divergent Change Shotgun Surgery Parallel Inheritance Hierarchies Comments Duplicate Code Lazy Class Data Class Dead Code Speculative Generality Feature Envy Inappropriate Intimacy Message Chains Middle Man Incomplete Library Class photo by pete fabian Classic Smells
Long Method Large Class Primitive Obsession Long Parameter List Data Clumps Switch Statements Temporary Field Refused Bequest Alternative Classes with Different Interfaces Divergent Change Shotgun Surgery Parallel Inheritance Hierarchies Comments Duplicate Code Lazy Class Data Class Dead Code Speculative Generality Feature Envy Inappropriate Intimacy Message Chains Middle Man Incomplete Library Class photo by pete fabian Classic Smells Bloaters Change Preventers Dispensables Couplers OO Abusers
1. Decide a change should be made 2. Pick a code smell 3. Remove that code smell 4. Repeat until desired change is easy Steps (DO NOT GET DISTRACTED) photo by patrick mcmanaman
Better Teachers Exist! Try these ruby related shortcuts… www.sandimetz.com/99bottles www.youtube.com/watch?v=PJjHfa5yxlU www.youtube.com/watch?v=59YClXmkCVM Sandi Metz - Get a whiff of this Katrina Owen - Succession www.youtube.com/watch?v=DC-pQPq0acs Ben Orenstein - From Good to Great
photo by ᨬឡد ng The product is the behavior change you cause in your users. It is not the application you’re building. Tom Chi Former Head of Experience - Google X
The initial time spent implementing a feature is one of the least interesting data points to consider when weighing the cost and benefit of a feature. Kris Gale Former VP Eng, Yammer firstround.com/review/The-one-cost-engineers-and-product-managers-dont-consider/
• Save time • Get peace of mind • Less documentation that you need to maintain • Less training • Less ongoing maintenance • Less specialty knowledge • Gives you more time to focus on the real value you can deliver
For each desired change, make the change easy (warning: this may be hard), then make the easy change. Kent Beck creator of extreme programming twitter.com/kentbeck/status/250733358307500032
..a simpler design can suggest simplifying the organization and reducing the budget, which can be contrary to conventional incentives… Mel Conway Educator, Author of Conway’s Law melconway.com/Home/pdf/simplify.pdf
I think I just shed a tear. This is GREAT! Zipline makes my job SO MUCH EASIER! VP Operations One of the world’s largest retailers Communications Director One of the world’s largest retailers
[Zara doesn’t] run their factories at 100% utilization. They realized that running them at 80% meant that they could slip projects into the pipeline on short notice and ultimately sell more. Adam Pisoni Former CTO, Yammer firstround.com/review/Responsiveness-New-Efficiency/
We’re hiring Ruby developers who want to make amazing products. Jeremy Baker [email protected] @jhubert https://speakerdeck.com/jhubert photos courtesy of unsplash.com