Learn how to use OOD to create the best kinds of messes, those that let you get software out the door today without regretting your actions tomorrow. Software is always a mess. You can’t avoid this mess, and if hubris goads you into attempting to achieve perfection, you’ll just make things worse. Perfection is a distant, dim land on the unreachable horizon. You’ll not be going there today.
What you can do, however, is use the techniques of object-oriented design (OOD) to make your messes manageable. OOD is good at messes. It understands their origins, predicts their courses, and foresees their outcomes. It shines a light down the dusty nooks and crannies of your application, showing you what to do and what to avoid.