Chapter 3. Before You Begin Coding Application Planning
The importance of application planning cannot be overstated. An application plan provides a roadmap for the development process with various waypoints and milestones signaling the completion of a phase of the plan. Developers often jump straight into the development of application code without a plan. It's great that they're eager to get started, but that's not the most important thing.
Imagine you wake up one morning and decide that you're going to compete in a local 5K road race. You show up at the advertised starting point and pay your fee to register for the race. You get your number and go over and stand with a swarming crowd of people. Someone walks over and without explaining the course or giving anyone a map, fires the starter's pistol.
What's the result? Mass confusion? A couple of things are working against you. Recall that we didn't mention whether you'd prepared for this race. We only said that you woke up and decided to run it. You showed up and made your investment, but you received no instructions and had no idea of the direction that you were to run. You had no clearly defined course, rules, or a finish line.
This same type of scenario happens all too often in application development. The fact is that there is plenty of work to be completed before a developer starts to crank out application code. The work includes planning and preparing the roadmap or framework on which the application will be structured. It also includes the planning of the physical structure of the environment on which the application will function and the development of a strict methodology for the application-development process. All are essential to the successful completion of the project.
In this chapter, we discuss how attention to architectural considerations, effective planning, and sticking with a standard development methodology for your project can help you to successfully complete your application-development project. The topics of discussion in this chapter help paint a clear picture of the application-development process and can help every developer gain a better understanding of how to effectively improve his or her contribution to the process.