Prefactoring
Chapter three General Development Issues
Start with the Big PictureTHINK ABOUT THE BIG PICTURE
Decisions within a system should be congruent with the big picture.
Interface Contracts
CREATE INTERFACE CONTRACTS
Design with well-defined interfaces and enforce the contracts for those interfaces.