Plans pay off
Of course you wouldnt build a house without a lot of carefully drawn plans. If you build a deck or a dog house your plans wont be so elaborate, but youll probably still start with some kind of sketches to guide you on your way. Software development has gone to extremes. For a long time, people didnt have much structure in their development, but then big projects began failing. In reaction, we ended up with methodologies that had an intimidating amount of structure and detail, primarily intended for those big projects. These methodologies were too scary to useit looked like youd spend all your time writing documents and no time programming. (This was often the case.) I hope that what Ive shown you here suggests a middle patha sliding scale. Use an approach that fits your needs (and your personality). No matter how minimal you choose to make it, some kind of plan will make a big improvement in your project, as opposed to no plan at all. Remember that, by most estimates, over 50 percent of projects fail (some estimates go up to 70 percent!).
By following a planpreferably one that is simple and briefand coming up with design structure before coding, youll discover that things fall together far more easily than if you dive in and start hacking. Youll also realize a great deal of satisfaction. Its my experience that coming up with an elegant solution is deeply satisfying at an entirely different level; it feels closer to art than technology. And elegance always pays off; its not a frivolous pursuit. Not only does it give you a program thats easier to build and debug, but its also easier to understand and maintain, and thats where the financial value lies.