Sustain Excellence & Avoid Tech Debt: Tech20 Explained
At the heart of every robust technology platform is a well-thought-out approach to sustain technical health. Learn how our Tech20 approach helps software teams stay ahead and avoid common pitfalls for scalability and stability.
Maintaining a strong technical foundation and keeping tech debt in check are critical for the long-term success of a product or platform. Yet many companies don’t have an effective approach to make sure this happens. The resulting neglect can bring serious consequences, whether that’s poor customer experiences, increased business risk or deteriorating engineering productivity. These situations often force companies to put out fires reactively, leaving them even less time to focus on the future.
So how can companies avoid this? In a recent deep dive at our #TechTalk, Whitespectre Tech Lead Rafał Jamróz, highlighted how “Tech20” has been key in helping our teams and clients avoid the “tech neglect” trap and maintain high technical standards over multi-year horizons. In this article, we’ll cover how this straightforward and surprisingly transformative approach can help organizations efficiently achieve long-term technical excellence.
Why it's so easy for "tech neglect" to happen, despite good intentions
At Whitespectre, we’ve worked alongside and within the engineering organizations of many large-scale companies as well as scale-ups. One thing is true across the board – when organizations haven’t aligned on a consistent approach for investing in technical excellence, that investment often doesn’t happen.
That’s because as companies and products scale, there’s a constant tug of war between advancing new features and doing the core activities to ensure future maintainability, scalability, and general tech team agility. While most organizations know that activities like improving future platform stability, upgrading to the latest tech stack, or keeping tech debt in check are important, those activities rarely have a near-term impact on the metrics most non-tech stakeholders are focused on: user growth, retention, etc. As such, it’s all too easy for critical behind-the-scenes technical investments to get deprioritized, sprint after sprint.
Over time, the effects of this lack of investment will compound, making it much more difficult and expensive to address. Significant scaling or stability issues show up and feature development slows down as companies find themselves unable to dig out.
The Tech20 approach and why it works
Over our years of working with clients, we’ve honed in on “Tech20” as a simple, transparent way for organizations to avoid the tech neglect trap and ensure teams can maintain technical excellence for long-running products and platforms.
The “Tech” stands for technical investments and the “20” stands for 20%. The approach is that each sprint, a dedicated percentage of the development team’s capacity goes towards these efforts. 20% is our typical amount for mature products and platforms. But for each company it will vary depending on the current state of the tech and a product’s lifecycle point – so maybe your “Tech20” is “Tech15”.
To achieve this, each engineering delivery team maintains a prioritized backlog of Tech20 “stories” or tasks with effort estimates for each. For companies following the standard sprint process, that means that each sprint, 80% of the developer capacity or “points” is dedicated to “normal user stories” and 20% is reserved for Tech20.
So what makes Tech20 more effective than other approaches?
It’s a pre-allocation, with a clear mandate
The pre-allocation to Tech20 means that each engineering team can effectively plan and execute on the activities needed to maintain the technical health of the platforms and digital products. It not only ensures they have the capacity and resources for sustained excellence, it also stops unproductive and frequent “either/or” discussions on features vs. tech excellence. Instead, there’s a shared agreement that the company has set aside an allocation for each team to ensure the tech is built on solid ground with an eye towards the future.
It’s a continuous investment, not a spike
The spike approach, whereby an engineering team only makes sporadic, ad hoc efforts to “clean up” tech issues in the product, often fails because tech debt, scalability, and maintainability issues become much harder to overcome when they've been allowed to persist.
In contrast, continuous investment avoids this build-up, meaning it’s not only better for maintaining technical excellence, it’s also less costly long-term. In addition, a continuous investment means that teams can proactively address critical future needs, whether that’s investments to support scaling, future team efficiency, or future business risks, such as staying ahead on platform work that directly intersects with security.
It’s uncomplicated, transparent, and fits within with the existing Sprint process
Because Tech20 efforts are done continuously by the team as part of their normal sprint process, they’re also shared with stakeholders on sprint demos and weekly or monthly updates. In other words, these non-feature building activities are not a “shadow” engineering project with limited visibility. Instead, there’s an active dialogue on the activities in each sprint, empowering engineers and helping to further build trust in the organization.
Putting Tech20 into practice: the Tech20 focus areas for your engineering team
To successfully navigate the deployment of Tech20, organizations will want a thorough understanding of its key areas. The following list covers the most common areas we address in the Tech20 backlog with our client projects:
- Performance and scalability: Ensure the applications not only perform well, but have significant ‘headroom’ to scale. Identify and address performance ‘bottlenecks’.
- Keeping the tech stack up to date: Regularly upgrade libraries, frameworks, and services to the newest, stable version in order to make maintenance easier and get the benefits of the latest advances.
- Background process optimization: Enhance efficiency and security through strategic updates and process management.
- Auditing and improving monitoring and alerts: Ensure the monitoring tools perform as expected; evaluate needs in light of recent learnings or new risks.
- Security audits and investigations: This also includes auditing and reviewing core components of your workflows that may impact security.
- Production releases and QA: Streamline release processes and scale QA to keep pace with growing feature sets.
- Technical documentation: Address gaps in missing technical documentation or automating the creation of documentation – e.g. data schema, API docs, etc.
- Code maintenance: Remove or deprecate unneeded or obsolete code. Furthermore, as user bases and feature sets expand, the established solutions initially designed for smaller scopes may need to be effectively scaled or enhanced to meet the new demands.
- Investigate new tools and approaches for greater efficiency or quality: This wide-ranging topic covers everything from investigating new third-party tools (like AI tooling for code creation), to creating simple POCs to test drive a new approach.
Equally important is identifying for the organization what Tech20 is not, i.e. a catch-all for anything the tech team does that’s not actively tied to new feature development. For example, it’s not a replacement for a bug backlog or production support. Nor will it be (or should it be!) a big enough allocation that it covers things like large-scale migrations. Setting these expectations from the start will help keep the whole organization on track.
The many positive outcomes of Tech20 for your tech and organization
Because Tech20 equips teams to broaden their focus beyond delivering features, it helps them both avoid the pitfalls and risks associated with tech neglect and focus on long-term technical health and innovation. This, in turn, leads to far more forward-thinking and productive engineering departments.
Overall, this results in:
- Platform robustness and scalability: Enhances the stability and scalability of platforms, enabling effective and cost-efficient infrastructure management.
- Reduction in business risk: Lowers the risk associated with tech debt, accelerating the development and rollout of new features.
- Technical guardianship: Positions the engineering team as stewards of product integrity, ensuring sustainable and forward-thinking development.
- Culture of innovation: Fosters a proactive exploration of new tools and technologies, addressing both business and technical challenges innovatively.
- Retention of engineering talent: Working on products with large amounts of tech debt, stability issues, and other consequences of tech neglect can kill morale. Investing in the Tech20 areas is not only better for your product, it’s better for your team.
Final thoughts
At the end of the day, the Tech20 approach is a commitment to ensuring that as products and platforms grow, the technical foundation remains unshakeable and your teams are at the forefront of efficiency and excellence innovation. For those navigating the complex waters of tech leadership, the Tech20 approach is a surprisingly simple approach to ensuring progress is not just fast, but also high-quality and sustainable.