You can cite the women’s vote. You can credit popularity among young voters. But it was DevOps that made the difference in the reelection campaign of President Barack Obama. So said the president’s campaign software team, speaking at an event hosted by New Relic on Jan. 10. The five engineers credited iterative development, Amazon Web Services, and the complete elimination of the development/operations barrier as the keys to their success.
Chris Gansen, dashboard tech lead for the campaign, said that DevOps was critical for the two-year project to build the campaign’s software. “Some organizations have a very clear line between engineering and ops. We worked very closely, so there was no line. It was absolutely incredible how closely we worked,” he said.
“One engineer would walk over and say, ‘What does Amazon have?’ Or, ‘I’m concerned about how this is going to scale.’ Or the admin comes to the developer and says, ‘This is running hot, make this change.’ These really quick feedback cycles were key to our overall success.”
Quick iteration cycles made a big difference as well, though the non-technical campaign staffers didn’t exactly understand the concept at first.
Scott VanDenPlas, DevOps tech lead on the Obama campaign, said that “It’s a culture clash. None of us has a political background. No one on the technology team came from the political arena. A campaign is something that pops up every four years, and it’s fairly resistant to external change and influence. And at the same time, we don’t understand how things work in politics. Both sides have a difficult time working around that. Iterative deployments are very foreign to a team that has never used technology.”
Due to this disconnect, things were difficult during the first summer of the campaign in 2011. So much so that Jason Kunesh, director of UI/UX on the project, said it was dubbed “The Summer of Messing Up.”
How the Narwhal overcame
Nick Leeper, finance tech lead on the campaign, said that staffers didn’t understand that they were looking at very early iterations of a growing platform. “They’d say, ‘This sucks,’ and we’d say, ‘We know that, but we are working to fix that.’ ”
This butting of heads also extended into the requirement-gathering process. Said Kunesh, “[Staffers were] used to working with vendors, to whom they say, ‘Go build this, come back three months later and we’ll yell at you because it doesn’t do what we want it to do.’ I would have to explain why we did things like talking to people in the field, or wire-framing apps.”