This post was originally published on LinkedIn.
Today’s technology moves so fast that any tech firm more than a few years old has to contend with aging stacks, outdated code and ever more complexly linked infrastructure.
Yet there are also great advantages in having proven stacks, experienced staff and existing users. I am always interested in exploring how established technology firms keep things up-to-date and manage what they have. My thinking on this topic led me to four questions that every tech leader at an established firm should consider.
Is it time for a serious investment?
The pace of technology is such that every 18 months, things have changed significantly. Though businesses will explore and invest in new tools on an ad-hoc basis, I believe that companies should perform a comprehensive technological assessment at least every three years. This means a thorough review of what’s new and what’s just around the corner followed by an honest appraisal of where your current stack is creaking. The business case for a substantial investment is stark but simple: if you don’t do it, you’ll fall behind the competition so fast you won’t last another 18 months.
Are you building on or building new?
Where to make investments should always be based on the business goals for the coming years. Are you building on your existing products and services or are you approaching a fresh market with something new? If you’re building on then you’ll want to see how you can enhance and optimize your existing systems, though don’t be afraid of a complete overhaul if needed. If you’re doing something new, you may want to focus your attention on starting fresh instead of building on top of your existing technology that will still require an upgrade. Are you just replacing the tires or building a brand new car?
As part of this exercise one of my team also open sourced a cool new framework that we call Wilson. It is a framework built on top of Angular.js and has a lot of goodies as part of it. Head to http://wilsonjs.org/ to learn more.
What’s your time-to-market turnaround?
Most established businesses aren’t quite so binary that they’re either developing something existing or building something new. At Hightail, we recently created a new beta service called Hightail Spaces that currently lives alongside our existing product. We built it from scratch for a numbers of reasons: Spaces is a significantly difference experience to our existing service; we wanted to avoid potential disruption to existing users; and, most significantly, we wanted a functioning product in the hands of users quickly without having to build out all the features of our current service first. This tight turnaround demanded that we move fast so creating new code and utilizing third-party services was preferable to constantly testing the impact on our existing service.
Can you introduce more automation?
The focus on Hightail Spaces didn’t mean that we stopped investing in Hightail. Over the past year, we moved our storage infrastructure from DDN to object storage, we added new server locations in Australia and the UK and we have just completed a complete overhaul of our file system with a brand new code base. One of the reasons we were able to get so much done on two different products is that we’ve automated many of our processes.
We now practice Continuous integration, which makes for a much smoother release cycle and catches bugs early. We also developed software that allows us to deploy code automatically using our company’s preferred instant messaging tool, HipChat. A developer simply pings their code to a dedicated IM group (ours is codenamed @nc, in honor of the actor Nicolas Cage) and it is integrated into the local environment instantly. We’ll explore this idea in greater detail in a future post.
Discussing these questions openly and honestly can be difficult for any technology organization. But having the discipline to do so and develop clear answers to these four questions is a great ways to build a business case for serious investment in your company’s technology stack. The answers will help you establish the right time and place to be focusing your engineering resources, and ensure that investment helps the company hit its business goals.