Legacy architectures haunt every technology leader. When I joined Vivint Smart Home a year-and-a-half ago as CIO, I knew there would be ghosts of architectures past in my future.
Unlike a startup, most mature tech companies do not have the luxury of starting from a blank slate and building a business entirely in the cloud. As a two-decade-old company, we simply cannot afford to start over. We had to evolve the technology originally developed, and make it work for our needs today.
These challenges made this opportunity all the more appealing to me. My task was “simple” – develop tech solutions to continue to grow our business rapidly; aggressively test new business models, channels and partners; implement at scale the ones that work; and ensure our customer-facing employees have an “always-on” experience.
One small challenge: Like all growth companies, our organization grew up in a culture focused on revenue, generating projects released on aggressive timelines. This worked time and time again, until it didn’t.
Last year, the cracks in the user experience and architecture caught up with us. Cutting corners to meet time-to-market pressures were directly impacting our ability to grow and take advantage of the market opportunities in front us.
My first initiative was to get consensus that we needed to aggressively tackle our technical debt to continue to unlock growth and increase our pace for innovation.
Pay yourself first: Everyone has to cut corners, but you must pay it back
As business priorities change – like needing to beat a competitor to market – technology teams need to meet ambitious deadlines. This is an important characteristic for any engineering team; however, this can lead to implementing new systems too quickly, creating solutions that don’t easily integrate with what’s already in place, and neglecting to nurture a system to ensure it continues to provide maximum value. Business leaders must remember that while these decisions can drive growth, they also drive technology debt, which may not be felt today but will most definitely catch up with you.
Technology leaders must embrace that reality, and that starts with creating the right space and mentality for your engineering team to “pay yourself first.” Each planning cycle should include clear and definitive tech debt goals and value for the business. The maturity of the product or service drives the amount of investment we put toward tech debt. The critical point is to be aware of it, be transparent with your business leaders and create a space to allow your team to pay it back.
Have the guts to press pause and jumpstart your reckoning with the past
Unfortunately, setting this time aside is easier said than done. I realized that if we wanted to be able to continue to grow and innovate at our historical pace, we needed a day of reckoning – or rather, 36 days. We launched a “Pay Yourself First: Summer of Love” campaign to put the brakes on developing any new features, products and services, and instructed our engineers to spend six weeks dedicated to one task and one task only – paying down our tech debt across the organization.
Maintaining this singular focus accomplished two things: 1) In a short amount of time, it solved several headaches that were threatening to become migraines, and 2) It provided a much-needed morale boost. At the end of the initiative, we laid a strong foundation to support our upcoming work and the growth of the business.
It’s important to note we did not eliminate all our debt in that six-week span, and that’s OK. It takes multiple “payments” over an extended period to stop being in the red. But we did make meaningful headway in our priority areas, and we’ve adjusted our engineering output ratios to budget “pay yourself first” time going forward.
Commit to an 'always-on' culture
I’m in the business of failures. Technology breaks, regardless of the amount of technical debt accumulated. No matter how amazing that new experience or feature may be for your customers, if they can’t access it, it’s worthless. And in today’s environment, they expect anywhere, anytime access. Without it, your ability to grow is jeopardized.
Minimizing failures starts with the DNA of your organization. You need to build a culture in which your engineering team prides itself on delivering an always-on experience. This means checking in on the basics: Are you aware of an outage before your business partners or customers? Are you tracking and following best practices with incident and problem management? Are you using these insights to drive a set of strategic architecture changes, including design for failures? Are you able to slip-stream those changes while you are delivering on revenue generating projects?
Adopting this mindset and taking your organization through that process – although can be painful – results in a visceral understanding of root problems and opportunities to improve. It makes your team want to pay down technical debt. It teaches you to design your priority customer flows for failure so you can create that always-on experience, regardless of what may be occurring behind the scenes.
Accumulating technical debt is inevitable for any tech company facing time-to-market pressures and today’s expectations for delivering innovation. But it’s the CIO’s responsibility to create the right environment for their teams to pay it back. You may just find it’s your secret to unlocking growth.
Joy Driscoll Durling is CIO and Digital Enablement Officer at Vivint Smart Home.