Programming - the problem-seeking journey, is the first most important step in the design process.  It is a complete description of the client's needs, requirements and goals.

 

The programming process is a problem-seeking journey.  It leads logically to the design process which is a problem-solving journey.  Programming, in its most effective form, is a team endeavor requiring client/architect participation in seeking out and understanding each need of the project.  Thus programming assures that architect and client will have a complete understanding of the components of the ultimate goal of the project.  Therefore each component or segment of the problem can be analyzed, defined and prioritized.  A logical evaluation of each design step is possible by constant comparison with program requirements.

 

Programming is the only process that guarantees a clear understanding of the client's priorities in regard to the basic elements of the project goals.  It is the only tool that assures client and architect absolute control over FORM-FUNCTION-ECONOMY-TIME.  Keeping in mind that FORM-FUNCTION-ECONOMY-TIME are the four basic considerations in the programming process, the logical sequence is as follows:

 

Programming: