Just as you wouldn't build a house without a blueprint, you would not wish to commence a development effort without planning. A good plan considers the project from many different perspectives and brings confidence to the effort, while also providing a central point of communication and project culture. Diligence is key: we don't jump into code but ask a lot of questions that will clarify our effort and ensure maximum efficiency of execution.
With the proliferation of cheap developer force, fluid business requirements, and agile methodologies, planning has taken a back seat and software design has fallen out of favor. However, in projects of any significant complexity, it is absolutely essential. When combined with the right architectural approach and sound management, a very complex system can be realized very quickly through carefully prepared parallel development efforts.