Download PDF Version
This page is also available in PDF.Download PDF
Technology Modernization Service Description
Re-architecting the technology stack is a predictable and somewhat common event in the life of a growing company – the technology and the data center that once supported 10,000 users aren’t designed to handle 1 Million. Although scaling the number of users is often a catalyst for re-architecture, scaling is not the only impetus to force re-architecture. Multi-tenancy support, redesigning the data model to support the breadth of the product, and migrating to a Software Oriented Architecture (SOA), micro-services, or a cloud compute model also require re-architecture. In general, the technology stack typically needs a fundamental refactoring every 2-5 years, as the company focus evolves from finding product-market-fit, to expanding the product to satisfy the addressable market, to increasing robustness, and finally to hyper-scaling.
Find Out More
Enter your info below to talk with an SVSG specialist.
More challenging situations arise when the technology stack has not been updated for more than 3-5 years: the main frameworks used in the product are two (or more) major versions behind the actively developed version, and upgrades are likely to no longer be backward compatible. With outdated code, the organization is forced to either refactor or rewrite the code entirely.
In extreme cases, bad code hygiene or “spaghetti code” may require the complete recreation of the product as markets have evolved and new technologies have emerged that render the legacy stack insufficient. This requires the reduction, or elimination, of the existing product, in order to focus on developing a new product that offers essentially the same benefits to the same market, while being implemented with a fully modern technology stack.
Finally, along with the modernization of its technology, a growing company requires a regular upgrade in the methodologies and tools employed by its Engineering teams (particularly QA), an upgrade of the data center infrastructure and DevOps tools, and a never ending pursuit of new skills and knowledge.
The SVSG Process
Often the biggest challenge in technology modernization projects is reaching clarity on business objectives, in order to provide the proper references for trade-offs. Often the most difficult decisions involve deciding which features to stop supporting, in order to simplify constraints for the new technology stack.
The process is thus as follows:
- Articulate the business drivers for the technology modernization
- Review the existing code and infrastructure – Identify gaps with the business objectives
- Make refactor vs. rewrite vs recreate decisions for major components, and whole product
- Articulate trade-offs in business terms: compute the cost, including opportunity cost, of maintaining non-major features versus increasing complexity, time and effort to build new code
- Identify the major upgrades required for engineering tools, including DevOps and QA, methodologies, processes, data center infrastructure, etc.
- Create a phased implementation plan
- Include new tools, methodologies and data center infrastructure required
- Scope effort in resources, time and budget
- Secure approval from executive team
- Optionally, SVSG will partner with the organization’s engineering team to execute the recommended plan
Upon conclusion of the project, SVSG delivers:
- Component by component assessment of the code with recommendations to refactor vs rewrite vs recreate each component, as well as the whole product
- Long term reference architecture:
- Technology stack
- APIs, main entities schema
- Data center system architecture
- Tool chain for development, QA, DevOps and data center
- Quarterly high-level release plan based on business objectives
- New skills required for the team. Recommended upgraded tools and methodology
- Optional delivery of the release plan, in cooperation, with the organization’s engineering team
SVSG is comprised of Silicon Valley CTOs who have led teams that have created unique products and technologies as well as participated in the acquisition of technology companies. This experience is invaluable when assessing a company’s core technology, its effectiveness at bringing new products to market and its ability to grow revenues in a highly competitive environment. SVSG CTOs have conducted numerous evaluations on technology organizations, and leverage both formal tools and creativity to tease out the differentiated strengths and weaknesses of technology teams.