[kcdc 2025] Crisis Coding: Navigating Impossible Deadlines

Speaker: Drew Spencer

For more see the table of contents


Background

  • Works at a lab (MAWD Pathology Group)
  • COVID created imposible deadlines

Situation

  • Dealing with a global crisis
  • Everything needed to be done as soon as humanly possible
  • Deadline was as soon as possible before legacy software died
  • Big labs couldn’t handle volume.
  • Repurposed instruments and tried to scale up.
  • Database started failing
  • Needed more flexibility, wanted to develop own because unique needs
  • Off the shelf solution would have taken a year

True Deadlines

  • Some are arbitrary deadlines and some are true deadlines
  • ex: launch date for funding

Requirements

  • Scalable
  • Google cloud

Lesson: Deliver what you can, when you can

  • Deliver most critical items ASAP
  • Delivered first thing in 100 days. MVP was a single test
  • Two week sprints
  • Do not deviate from spring cadence to bring in new requirements unless you have to
  • Work closely with key users
  • Guard vigilantly against scope creep
  • Protect developers from themselves- “it’s not that much effort to do x”
  • User noted only one instrument for test. Don’t spend time/lose trust demoing something that wasn’t critical
  • Intellectual debt is better than a failed project – ex: hard coding things

Lesson: Things will go wrong; react accordingly

  • Move fast and break things. But understand what cannot break.
  • Went live on a Saturday because volume was lower
  • Ran with a test patient – Mickey Mouse
  • Were sending results by fax. Line was busy after first one. Learned need to queue and send out in batches every 30 minutes. Fixed by Monday
  • Things will go wrong; it’s not always your fault. User entered wife’s phone number and use was looking at his phone. User errors hard to account for

Lesson: Trust

  • Trust team – no junior developers because needed to know team could deliver
  • Continue to deliver – incremental delivery
  • Build trust with leadership and clients
  • Trust must be from the top down.

Result

  • Over 900K Covid tests
  • Mass test sites in KC area
  • Platform for schools and businesses

Other notes from end and Q&A

  • While there wasn’t a defined, there was testing fatigue and a drop off in quantify
  • Max 5K tests in a day
  • Crisis pace not sustainable; crisis must end
  • Burnout
  • Everyone was exhausted but people expected it as normal. Need to get out of crisis mode. Use that pace selectively.
  • Had two systems. Just did Covid tests in new system. Used legacy system for everything else. Reporting from both systems
  • Tried to keep 8 hour workdays as much as can, although more when close to deadline. Did work weekends. Tried to guard teams time with nighttime calls and only let thru when system down.
  • Pre-covid everyone worked on site. Developers were almost all remote (not local)
  • Drove tester crazy. Short deadline to test but quality still matters
  • Deployed a week after sprint ended
  • Banked flex days to take off after crisis was over One person went on a sabbatical to refresh

My take

This was a great case study. Different than the ones you usually see. It’s helpful that the problem was an actual crisis and not an arbitrary deadline. The learnings were well distilled. Interesting answers during Q&A.

Leave a Reply

Your email address will not be published. Required fields are marked *