Technical debt is the cost incurred when poor technical design and/or implementation decisions are taken to build the tech platform for the sake of moving fast in the short-term instead of a better approach that would take longer but preserves the efficiency, maintainability, and sanity of the codebase.
In the absence of good tech oversight practices, slow and steady accumulation of bad code starts, it gets hard to stop, as more code is written to contain the negative effects of an existing bad code while building new features, then some more code to maintain the ever-growing mess. Maintenance become more difficult and costlier, especially as the codebase expands.
Key investments in time upfront to safeguard against the quality of the tech platform will end up paying dividends in term of cost savings whether the business strategy is acquisition or growth.
Following are the top areas of focus for a CEO while building the tech:
- Retain CTO leadership that has a proven record in balancing speed vs quality.
- Minimum processes should be put in place from the start to provide oversight to the development process to preserve the quality of the tech platform(s).
- Build vs buy/Integration approaches should be aligned with company’s competitive strategies.
- Product strategy should drive the tech strategy not the other way around.
When developing a new technical initiative, the tech team will suggest a development methodology for the platform delivery. Understanding the two popular delivery methodologies at a high level are very important for the a CEO because this knowledge will contribute immensely for the success of the platform and the company. CEO will be able to understand the time and cost needed not only for the tech team but also for other business units needed for the continues delivery of a quality platform. The two well know methodologies are Waterfall and Agile. Agile software development relies on self-organizing, cross-functional teams discovering and building a solution using an iterative process to discover and build the solution, as opposed to the traditional Waterfall method that defines and plans the entire project before any development work begins.
Key factors to be considered in selecting a delivery approach.
- Few initial Product and Regulatory Requirements ( Use Agile)
- Strict Process in Place (Use Waterfall)
- High Product Owner involvement (Use Agile)
- Greenfield product (Use Agile)
- Fixed & Firm Timeline (Use Waterfall)
- Fixed, Inflexible Budget (Use Waterfall)
The Waterfall methodology prevails when the initiative is constrained by cost and/or time, and the requirements and scope are well understood. In these cases, the Waterfall methodology provides a set of processes that are built on the principle of approval of the previous phase.
Agile wins the day when the product team is unsure at the onset what needs to be built or they wish to discover what should be built based on adjustments they make along the way. Agile will produce more features in a shorter period of time and also gives the team more flexibility throughout the process so that they can take advantage of opportunities as the project unfolds.
Some of the most important consideration when deciding to build vs buys software depending on the current business needs and constraints. These are the considerations.
- Use cases.
- Opportunity Cost
Building a custom platform can be a smart investment that an organization should consider only if it has sufficient time and resources for development. When resources are sacred and leading is top priority, then investing in a comprehensive, extensible platform can reduce costs and maximize performance more than any homegrown solution ever could.
CTO responsibilities varies depend on the stage and size of the organization. If you’re looking to hire a CTO, think carefully about the skills and background you need.
- Infrastructure Manager: Mainly used in traditional businesses where IT is in more of a support role.
- Technology Visionary and Operations Manager: Often a co-founder of the business or one of the first hires.
- External Facing Technologist: Typically found in established, more traditional software or hardware companies where interaction with key customers is a prominent activity.
- Big Thinker: Usually found in companies where information technology isn’t critical to success and where having someone focus on opportunities in the horizon could be beneficial.
One of the first inquiries I get from non-technical founders is, when do I need a CTO? To answer that, you first need to understand how a CTO fits into your organization. If you are building a company reliant on technology and you don’t have a technical co-founder, I’d tell you that you’d need a CTO from day one. There are various models available in the industry to get the CTO expertise needed to drive the technology strategy with limited budget. E.g. Hiring a fractional CTO or a solid tech lead who has inspiration to become a CTO with proper mentorship. These approaches have pros and cons associated with them and require proper planning and management to get the expected results.