Election day does not move
I ran digital for three national campaigns. Election day is set by law, and it taught me more about shipping than any methodology has.
4 min read
Election day is the first Tuesday after the first Monday in November. It does not move. There is no December release. There is no "we will ship the donation page when the architecture is right." The voters arrive whether the software is elegant or not.
I learned that in my body before I learned it as a principle. From August 2009 to November 2010 I ran internet strategy for Friends of John McCain, the Arizona Senate race: ExpressionEngine and CodeIgniter on MySQL, smaller single-purpose sites on short cycles, email and social on the same clock. The date at the end of that calendar was not a stakeholder preference. It was a statute.
Then Newt 2012, in Arlington. The primary site and the donation page were PHP and jQuery, and they had to hold up under load you cannot schedule, because primaries do not give you a traffic forecast you can trust. Volunteer tooling included Call-From-Home, which placed many thousands of voter-ID and GOTV calls. The number that mattered was the Tuesday.
Then Romney for President, May to November 2012, in Boston. Donor, Facebook, and website data collection on Zend and Symfony with Salesforce as the system of record, designed as a blueprint for later RNC collection, plus the national campaign store on Magento. Same November. Same wall.
I have sat in a lot of roadmap conversations since. Most assume the date is a negotiation. You can feel the room relax when someone says "we could slip a sprint." An immovable deadline does the opposite. It makes the scope conversation happen while you can still do something about it. You cut out loud and early, or you cut quietly at the end with worse options. There is no third choice where the calendar yields.
What that teaches, that agile as a ceremony does not, is which part of a feature is the part that matters. Not on a whiteboard. In your hands, on a Tuesday, with the other ninety percent still in the ticket. Ugly and shipped beats elegant and late. Permanently, without exception. I have not found a counterexample that survived contact with a date that could not move.
The regulator version of the same lesson showed up later. At Life Happens the rewrite I led was driven by SEC compliance: event-sourced, able to reconstruct any account's state at any point in time. That is a different kind of immovable date. Not a Tuesday, a requirement that does not care about your preferred data model. Compliance was a better forcing function than taste. Taste will let you keep a design you like. A reconstruction requirement will not.
A campaign deadline and a regulatory rewrite are not the same job. One is a clock. The other is a constraint on what the system is allowed to forget. What they share is that you cannot talk your way into more time or a softer spec. The work is deciding what to keep.
That decision is the part I still trust from those years. Not the stack. The stacks are receipts, not a method. The method is the cut: name the thing that has to exist on the day, and be honest about the things that will not.
This matters more now, not less. Agent throughput removes the excuse that the work was slow. I can produce a donation page, a volunteer tool, a rewrite plan faster than I could in 2012. What remains, when production is cheap, is the scope decision, and almost nobody has been trained on that decision by a date that refuses to move. Most of us were trained by sprints that slip, and by elegance that arrives after the moment it would have been useful.
The failure mode has flipped. The old failure was shipping late because the work took too long. The new failure is shipping late, or shipping everything, because the work is easy and you cannot decide what to leave out. Cheap execution makes the elegant version available overnight. That is a gift if you already know the cut. It is a trap if you use the extra capacity to keep the ninety percent you used to be forced to drop.
I was trained, by dates I did not control, to make the cut in public and early. Campaign work will do that. A reconstruction requirement will do that. A methodology will talk about it.
The part I have not mastered is making the same cut when the machine can finish the elegant version before the meeting ends. Keeping everything no longer costs a week. It costs a review, and reviews are where the new late happens. I know how to ship ugly against a wall. Throwing work away when throwing it away is the only hard part left: that is the discipline the wall used to enforce for me.
Related: Hard deadlines, Event sourcing, Player-coach