Be Careful Agreeing to Tasks in Other Codebases
— In Career
Contributing or receiving contributions to a different codebase requires extra care in planning. Last quarter I learned this hard lesson on both sides of this equation.
On the contributing side, I agreed to take on a task in another team’s codebase. Because I had no previous experience in their codebase, I couldn’t give an accurate estimation of the work. The task turned out to be much more time consuming than expected, which led to schedule hiccups and bad times.
On the receiving side, another team approached us about adding a new feature. I asked them to add it to our codebase, however it took a lot of time and guidance from our side to make it happen. This strained our relationship with the other team. It would have been much faster for us to just do it ourselves.
What did I learn overall? Coordinating tasks across codebases is tricky. In the future, I need to:
- Prefer work be done by the people most familiar with the codebase.
- When it makes more sense for an external contributor to do it, factor in generous ramp-up time.
- Don’t view external contributors as “free work.” It’s a cross-team deal, and both sides should get something.