Programming with Intention

Building programming can take on many forms, from an abstract accounting of square footage to a more purposeful shaping of the spatial experience. Usually completed in the pre-design or conceptual design phase, programming establishes a set of design requirements for the size, shape, location, and adjacencies of the different spaces within the building. The output Program document can be a spreadsheet, diagram, or infographic with varying levels of detail and precision.

But what I’ll call programming with intention employs the process and products of a programming exercise as an investigative design tool, with the goal of going beyond data representation to discover new insights about the building.

I have tended to adopt a careful, sometimes exhaustive programming exercise as part of my design process since grad school. For example, here’s the program diagram I developed for my terminal studio project.

My grad school terminal studio program, which didn’t explore things beyond representation.

The studio sought to merge performance and production in an urban setting and my response of assembling the different elements of performing arts production into a single building lent itself to a rich programming approach. I focused on simply representing and grouping the sometimes dissimilar functional areas, but this was just the tip of a more interesting iceberg.

Exploring representation methods carried over into my professional work, where the development and presentation of program diagrams helped clients with less architectural experience understand what they were asking for and how it compared to what their competition was building.

This graphic shows a broad program comparison — with information identifying the specific buildings redacted.

Translating the pure spreadsheet representation to something more architectural often serves as a bridge between the abstract tabular data and the possibilities for building organization. This is particularly helpful in buildings with intricately interrelated program elements.

Programmatic blocking diagram fro a medical education concept based on the previous image

Program elements may also be represented as user function or action, dropping room names entirely to better represent the experience of being in the building, and whether particular organizational arrangements really serve user needs.

These diagrams start to hint at a whole world of possibilities — going beyond just displaying the raw data and using the program diagram as a design tool. The ability to manipulate the program elements in an abstract form enables exploration of functional relationships, groupings and adjacencies, and the opportunity to create spaces that serve the needs of building occupants in ways that are not apparent from a simple list of rooms.

Exploration of adjacent elements, along with the associated activities, can lead to innovative design ideas

An overlay of the bar chart concept using scale room representations to arrive at new spatial ideas

On this project, we made program elements into physical blocks — painted styrofoam — sized to the expected structural grid and floor level height. This made design decisions tangible and offered instant feedback on building organization, serving as a proving ground for different concepts and vehicle for architectural expression.

Evolution of the previous two diagrams into physical representation, and going further to imagine how the program organization might become a building

Programming is a process that can take a ‘just enough’ approach or go down a rabbit hole to sometimes absurd conclusions. Building type and complexity are major drivers of where a design process lands on this continuum, but some amount of program development almost always occurs. I always try to be thoughtful and intentional when approaching a building program — no two projects are exactly the same. While a super in-depth process doesn’t always yield insights or add value, it often does. This helps ground the project team in how the building needs to function to best serve its occupants before schematic design begins in earnest.

Next
Next

Reset, Rebrand, Restart