The Obama
Campaign
A Programmer’s
Perspective
Doors closed and the first text message came from a
precinct: it looked like a large attendance. Then came
the second, the third, the fourth. Each was typed into
our model, and a projection was starting to form. The
fifth, the sixth, and now the seventh. The projection of
attendance seemed solid. The Des Moines Register’s poll
had been correct: more than 240,000 people participated
in the Iowa caucus. The numbers were astounding, and
Barack Obama was going to win it. Simple technologies—text messaging combined with data analysis and
PHP—enabled the campaign to create a simple, yet effective, predictive dashboard.
The Obama campaign has been praised—with good
reason—for its incredible use of technology. Many organizations would love to replicate its ability to do outreach,
its focus on data, and its ability both to coordinate the
efforts of hundreds of thousands of volunteers in a single
direction and to empower those individuals to take control of their own distinct parts of the campaign.
The use of technology within the Obama campaign
creates two seemingly contradictory points: the technology strategy was not a technology strategy—it was an
overall strategy—yet it could not have been executed
without technology. But this misses what programmers
have always understood about software—a truth that
has finally blossomed in the age of social networking:
software itself is an organizing force that equips organizations to achieve their goals. The Obama campaign used
technology as a front-end enabler rather than a back-end
support, and this synchronization between mission and
tools allowed for the amplification of both.
While the Internet operations of the campaign represented the most visible aspect of its technology efforts,
the campaign used technology throughout its operations:
for internal processes, for opening offices, for managing
GOTV (get-out-the-vote) operations, and for communicating with internal and external stakeholders, including
fund raisers, policy advisors, and external consultants.
Much of this technology was integrated so that fund raising could be linked across different channels (offline and
online) and GOTV efforts could be executed using both
online resources and old-fashioned canvassing. All of this
had to be linked to the compliance and operation efforts
of the campaign while making sure that the budget was
managed and every dollar accounted for. All of these
systems had to be created, integrated, and rolled out with
training for thousands of staff and volunteers in less than
two years.
NO MAGIC FORMULA
How was all this technology designed, developed, and
rolled out in such a short time (and at a cost that reflected
its short-term nature)? To understand the success of the
Obama campaign in using technology, it is important to
reflect on how other software architectures have empowered and reflected the organizations they have supported.
For example, command-and-control organizations used
the structured programming architectures of their time.
Object-oriented architectures reflected the move to
shared-services organizations in which functions such
as HR and finance were moved to more central parts of
the organization. Service-oriented architectures seem to
support the outsourcing that many organizations have
moved toward, where access to the objects is necessary
both outside and inside the organizations. Successful
organizations have been able to integrate the most current software architecture patterns into their business
model quickly and effectively. At this juncture, where
technology and people are moving in the same direction,
innovation takes place.
The Obama campaign reflects this ability to its
extreme. What have been the advances in software architecture that made the Obama campaign successful? Obviously, social networking played a huge part in organizing
people, but other models that are important to look at are
the open source development and PaaS and SaaS (
Platform and Software as a Service) models. Additionally, the
campaign made extensive use of data analysis. Combining these pieces through the use of existing tools allowed
the campaign to innovate. Of course, these concepts had
constraints, such as a high learning curve, the need for a