Is Your Software Running on Borrowed Time?
How do you know when it’s time to refresh or rebuild your custom software systems code? With the explosive growth of technology, pure technical innovation is happening on a global scale. New frameworks pop on and off the scene almost weekly – techniques, tools, and even hardware are all moving at an incredible pace. Today, more than ever, we are speaking with businesses that are wondering whether their current software systems need to be updated or if it is time to completely rebuild, starting a new with some of the latest technologies available.
To help answer the question, “When is it time to rebuild my software system”, we have compiled the top obvious, and not so obvious, signs that you should consider.
When is it time?
Core tech is end-of-life / not supportable.
You have been working with the same technology for a long time, but you find out it is no longer being supported. In this case, you may be working to maintain your current product throughout the years without a strategy to continue updates. Our blog post, How to Kill Software, addresses what happens to software that is never updated. A migration plan to modern technologies is a must when the former technologies are sunsetted. A prime example would be continuing to work on/ support a system built in Flash. In the fight between Flash vs. HTML5, Flash lost.
Existing tech/operations not scaling
Whether you picked the right or the wrong technology, the system that was built is not scaling with the business you are experiencing. With increased usage and technical requirements, you continually have to add additional storage, features etc., and now your product may be cracking under the stress. The main takeaway is that, in this scenario, your business has out-scaled the technology. A good example is the rapid growth and expansion of Slack, which grew to over 750,000 daily active users. The CTO, Cal Henderson, stated it best: “It’s not like we had some amazing grand plan and it’s all working out as expected …We didn’t have a sense of the scale it [Slack] could grow to.”
New agile competition entering the market
Are you facing a decrease in renewals and increase in churn? Is there a new competitor in the market that is taking away business? Usually there is a reason that your client feels that there are better options. Are clients leaving due to competitor marketing, ease of use, better tech OR is the product just shinier? If you’re losing business to a competing product, this could be a good indication that it is time to update and/or rebuild your software.
Sales are stagnate/ increased churn
You are comfortable in the market and business has been good, but not great. Your company is closing new product deals but you’re seeing a slight decline year over year in new product sales or you are facing an increase in churn of current customers. You’re seeing and hearing buzz in the market, but you aren’t part of it. This may be an indication that it is time to conduct market and user research and testing to address how well your current product fits into the market. Based on the results of this evaluation, you can make product adjustments to become the talk of the town again.
The LESS Obvious
Technical inflection in the market… i.e. shift to mobile
There has been shift in your market, and customers are expecting more and in a new context. For instance, there has been a major technological shift to self-service and a focus on mobile over the last several years. A good example of an industry that faced major disruptions in their markets due to mobile is real estate. “The 2013 Survey of California Home Buyers found 85 percent of buyers used a mobile device during the home buying process.” – Mercury News
Generation shift occurring
An aging workforce is creating a generational shift. A classic example is in education where over 50% of the nation’s teachers will be facing retirement in the next decade, according to the NCTAF. The new wave of workers in the marketplace has very different expectations compared to the previous generation. This newer workforce is bringing in a technology shift as they search for products that align with what they are used to and comfortable with. If your customer base is facing a major generational shift, then you should start planning to address the new generation of workers/customers in your market as soon as possible. Those that do not address this early typically become the stagnate companies that are referenced above.
Unbundling occurring in your markets.
As time goes on, technology shifts and the needs of customers change. There has been a shift in many vertical markets regarding product and feature bundling. We have worked with a variety of clients recently that have come to us for help after their customers didn’t want to have to purchase EVERYTHING. This market shift has lead to product “unbundling” and rebuilding. Airlines are a great example of unbundling. Many years ago when you purchased a flight, your ticket included meals, bags etc. After the rise of the lower fare airlines stripped the “product” down to a la carte options, the larger airlines were forced to follow suit. Bottom line: if you have a “bundled” solution with no option for unbundling, you might need to rethink it to be more competitive. .
Talent shortage/ shift
The years continue to go by, and the platform that your technology product was built on remains unchanged. As time goes on, you will most likely find it more and more difficult to hire the right people to work on your product. This would be an indicator that you should potentially leave your legacy system in the past and rebuild on a newer and more relevant technology.
Things to consider when rebuilding your software product
Migration of the customer
There comes a time that all successful technology businesses will need to migrate customers to their new product. Sunsetting a product AND the customers that use that product, at the same time, is very rare. Remember that migration can be painful to customers and part of the plan for your future software must consider customer retention with the launch of the new product. There are cases where we would recommend running two systems in parallel, but that is considered on a case by case basis.
Design for today’s market
When rebuilding your technology product, remember to build for today’s customer needs and requirements and not the original product market. You should be able to answer – Is this still the right product for the market? Don’t make the assumption that the product you have today IS the right product to rebuild.
The technical aspects of software projects still require great engineering, but the magic is now in the design process. It’s commonplace for Eureka’s customers to invest more in design research, user experience, and product market fit than we do in engineering proper. As well, the “science” component of what we do has shifted largely toward pushing the limits of design over the limits of technology. This allows us to mitigate the risk associated with rebuilding existing software products for our customers.
Engineering team staffing
For most organizations, it makes sense to run the rebuild in parallel with support of the current product. This gives them 2 options: 1) Take current engineers, sales and marketing to staff the team that will build the new product which will, in turn, create a void or 2) Hire a new team (internally or outsourced) that will build the new product while leaving the current team in place to support the current product and future customer migration. The second option will minimize the impact to your current business.
Whether you found yourself relating to the obvious or not so obvious signs that you should rebuild your software, we are here to help. We know the in’s and out’s of redesign and rebuild projects and we’d love to share that expertise with you.
We typically recommend beginning with an investigative / discovery project which allows us to use our expertise to address your specific needs. Every product and project is unique, so you shouldn’t have to settle for a boilerplate SOW. If you’re curious to know more or would just like to understand a little more about our process and how we’ve helped hundreds of others just like you, feel free to reach out!