The Ladder of Laziness

A disciplined decision framework for writing less code.

1. NEED IT? 1. DO WE NEED THIS AT ALL? 1. ELIMINATE: DO WE NEED THIS? 2. STD LIB? 2. CAN STD LIB DO IT? 2. LEVERAGE: CAN STD LIB DO IT? 3. PLATFORM? 3. CAN PLATFORM DO IT? 3. PLATFORM: CAN THE OS/WEB DO IT? 4. EXIST DEP? 4. CAN EXIST DEP DO IT? 4. REUSE: CAN AN EXIST DEP DO IT? 5. ONE-LINER? 5. CAN THIS BE A ONE-LINER? 5. MINIMIZE: CAN THIS BE A SNIPPET? 6. CUSTOM CODE 6. WRITE CUSTOM CODE 6. BUILD: ONLY THEN WRITE CUSTOM CUSTOM DEPLOY DEPLOY CUSTOM CODE DEPLOY MINIMAL CUSTOM ENGINE LAZY EXIT EXIT: USE EXISTING SUCCESS: MAX LAZINESS SAFETY RAILS ERRORS, A11Y, SEC SAFETY EXCEPTIONS VALIDATION, A11Y, SEC MANDATORY SAFETY VALIDATE, ERRORS, A11Y, SEC ponytail: intentionalshortcuts documented
INSPECTOR
Click any node to inspect its architectural rule. Hover to highlight paths.