Can I find the code related to the problem or the requested change? Good Naming, High Cohesion, Single Responsibility Principle, Separation of Concerns Can I understand the code? Good Naming, Composed Method, The Principle of Least Surprise, Can You See The Flow of the Code?, Encapsulation Is it easy to change the code? Don't Repeat Yourself, Wormhole Anti-Pattern, Open Closed Principle Can I quickly verify my changes in isolation? Loose Coupling, High Cohesion, Testability Can I make the change with a low risk of breaking existing features? Loose Coupling, High Cohesion, Open Closed Principle, Testability Will I know if and why something is broken? Fail Fast