Share via


At the Drawing Table

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

When you have gathered as much information as you can from your customers, sit down with a pencil and paper, and sketch out the initial design for the application — the technologies to be used, the user interface, the organization of the code. Doing this gives you a basis to begin working, and it is likely to bring up all kinds of new questions you must ask your customers. Nailing down as many issues as you can before you start coding will save you time in the long run.

If your application is complex, you might want to write a specification for it. A specification is a document that outlines your goals in creating the application, discusses the details of the application's implementation, and notes unresolved technical and design issues. It is a valuable document and helps both you and your customers agree on how the application will work before you begin creating it. It also provides you and any other programmers working on the project with a road map for the development process.

Of course, you might not be able to foresee every aspect of your application's design ahead of time. As you develop the application, you most likely will learn new ways to do things, encounter unplanned obstacles, and refine your understanding of your customers' requirements. The key is to create a flexible design, so making a change does not send you all the way back to the beginning. For example, creating custom objects is a good way to build in flexibility. If you must modify an object, you only have to do so once within that object's class module. Using constants in your code is another way to make your code more organized and easier to modify.

If you suspect there might be a more efficient way to do something, indulge your intuition before you dive into the code. There is no point in re-creating the wheel if someone has already built the component you must have.

See Also

The Design Process | What Do Your Customers Want? | What Do Your Customers Need? | Building a Prototype