Building Intercom from Home: Software Delivery in Challenging Times
This is a time of great uncertainty, with everyone suddenly having to adjust to social distancing restrictions and widespread industry upheaval. Our customers are relying on Intercom more than ever, and often in a host of new and unforeseen ways. Therefore, it’s incumbent on us to make sure Intercom is stable and robust at this time, and that we keep shipping new features. “How do you try to maintain “business as usual” at a time when everything is seriously unusual?” But how do you try to maintain “business as usual” at a time when everything is seriously unusual? What changes when you suddenly become an all-remote team overnight, having spent years building and shipping alongside one another? We’d like to share some insights from what we’ve learned so far about software delivery and operations over the past few weeks of working from home during COVID-19, and how we as an engineering team have adjusted to this unprecedented, unpredictable situation. New situation, new processes? As the situation escalated a few weeks ago we consulted our business continuity plans and thought hard about the challenges our business would face. Of course, the vast majority of businesses didn’t have plans to deal with a global pandemic and we certainly didn’t have any simple runbook to follow here. “At a time of great change like this, the strong temptation is to introduce new processes and bureaucracy” We asked ourselves these questions: What is the impact to our engineering team of suddenly becoming distributed? How will this affect our productivity and our ability to keep core business activities going? What do we need to change? What information do we need to figure this out? Above all, how do we support each other as colleagues, as friends, as people trying to get through this incredibly stressful situation? At a time of great change like this, the strong temptation is to introduce new processes and bureaucracy. For instance, one understandable reaction that many companies probably considered was to reduce risk by slowing things down and being more careful with building and shipping. Intuitively this kind of makes sense – after all, we were almost certainly going to be working with reduced engineering capacity and would be less capable at responding to problems. Surely at this time, going slower and adding situation-specific processes would keep us safer? A time for the tried and tested However, that wasn’t the approach we decided to take. On the contrary, we decided that relying on the tried and tested principles and approaches to building and shipping Intercom would be more important than ever. “Intercom’s entire software delivery system is built on the ability to move fast…We decided that now is not the time to experiment with slower ways of shipping” Shipping is our heartbeat, and we’ve built up a solid system to get software safely and quickly to production. Intercom’s entire software delivery system is built on the ability to move fast, react to change and rollback, or roll forward, rapidly in the case of something unexpected happening. We decided that now is not the time to experiment with slower ways of shipping. For one thing, (as the Accelerate State of DevOps Report has shown) adding more processes and policies to software deployment is actually likely to increase the risk to software delivery. The care needed to make fundamental changes to an already well running system without causing a lot of friction would inevitably add to the workload of an engineering leadership team that’s trying to cope with working under very new and changed circumstances. » Read More
Like to keep reading?
This article first appeared on intercom.com. If you'd like to keep reading, follow the white rabbit.