Architectural Programming is the process of determining “what” should be designed. It is the recipe that architects and engineers will follow as they complete their work. Programming is the time to define expectations, establish benchmarks, explore alternatives, balance scope and budget, and to uncover all of the functional issues that impact the project. The resulting document is a comprehensive definition of the project, incorporating: