A building program is a critical step in the home design process. It serves as a roadmap for the entire design process, detailing project goals, requirements, and constraints. Building programs should be created at the
beginning of the design process. The program will ensure that all parties are on the same page.
The program is a list of requirements,
desirements and nice-to-have features
that will distinguish your custom residence from many chicken coops that populate the suburbs. Your program might include “off-grid” or passive home, timber frame construction, cathedral ceilings, a kitchen-family room, morning/afternoon light, a luxury master suite, a walkout basement, or whatever features are most important to you. The building program typically starts with defining the number of people planning on living in the house. The ages and health of the people living in the house are important details to consider in the home design. Additionally, any special activities the people engage in needs to factor into the design.
It may seem like overkill to spend time and money defining every aspect of the house before starting the design process. But in reality, it will save time and money in the long run. 
Below is an excerpt of the building we use at New Earth Engineering & Design Services.