No matter which method or approach to architectural programming is used, it will feature techniques and tools for gathering information about the client, users, site, and other fac tors in order to define the nature of the architectural problem. If the data gathered is extensive, then various techniques and tools of analysis will be necessary to distill the raw data into useful in formation. This chapter covers the most basic and frequently used information gathering and data analysis techniques and tools. It does not cover every approach currently used by profes sional programmers. However, careful reading and application of the materials presented should allow the programmer to develop the information needed for most commissions. It will also ad vance the beginning programmer to the point where other tech niques and tools can be evaluated and used as appropriate for a particular programming problem.