Technical Weeks at TheFork
Our proposal to manage Technical Debt
TheFork system has been live for more than 10 years and is in constant evolution. 130 people are maintaining and running >150 services in production, written in php or nodeJs.
One of our company values is #SpeedWins, making the system evolve every day. Managing the technical debt is a constant challenge while the company keeps growing. Today we’ll present how we adjusted our product and engineering culture to answer these challenges.
1st try : Tech Debt tickets in the backlog
Teams are equipped with quality tools (Sonarqube..) and they check their projects states and technical debt tickets are regularly added to the backlog. The situation sounds ideal, but given tight roadmaps, tickets tend to be arbitrated.
2nd try : introduce «Chapter weeks»
Having put in place some guilds, we asked the officers to organise 2 weeks of “chapter work” in order to perform the cleanup and upgrade. We requested around 30% of the staff to work on it, resulting in only few components to be upgraded (and conflicts with other projects). It was a good start, we needed to go further.
3rd try : move to «Technical Weeks»
Given the success of the Chapter Weeks, we extended the process to all guilds and all mission teams, during 2 weeks each quarter. Even if some high priority topics overwhelmed some people, around 90% of the engineering staff participated. More components were upgraded.
Technical Weeks Rules
- Production first !
- 2 weeks “all inclusive” duration, including demo, release and retro
- Every lab engineer is requested to participate full time
- Exception for OKR preparation or few well identified top priority topics
- Typical subjects : Work on performance, upgrade dependencies or frameworks, refactor applications, solve some security issues, try new libraries, improve test coverage, improve automation, migrate from js to typescript….
Conclusion
Last edition was performed in full remote due to covid-19, and lot of improvements have been delivered. We’ll improve for next quarter.