Ask HN: Taking over the lead role for a troubled project
Ask HN: Taking over the lead role for a troubled project

I am a senior SW dev with little project lead experience. I have been at this company for 3 years working as a non-lead software resource on the same project that is two years behind schedule. The project is scheduled to ship at the end of this year, and the current lead, who has been with the project from its inception, is moving orgs next month. This leaves me to lead it to completion. I don't think we have a very good chance of success, and I would like to hear ideas for what I can do to improve these chances and also how I can avoid being blamed personally if this project fails.

Here's what I am struggling with and what I plan to do.

Right now the group is three senior devs and an intern. The lead dev is leaving the project, and the intern is coming on board full time. The intern will require a significant portion of my time to become productive. My dev time will become significantly constrained since I will need to spend at least half of my time in meetings and fielding questions from other orgs involved in launching product. Even with with the lead dev here, I am doubtful that we have enough time to resolve all of the tracked issues by launch. In addition, not all issues and outstanding work is being tracked, so I don't feel like project management has an accurate picture of what remains to be done.

There are also fundamental stability issues with the SW that are rare (which makes them difficult to reproduce and resolve), but are nevertheless present and concerning. I feel like these issues have been ignored. I am culpable in this because, as a non-lead, I have not tried raising the visibility of these issues to project management. I would talk to the lead about them, and his response has always been, "Let's track it and address it later." This sort of attitude caused a lot of tech debt to accumulate. Here's just one real example... While other projects can swap out a low-level driver to support a hardware change in an hour or two, this project required two weeks to do so.

To be clear, the current lead will remain available for questions and maybe code reviews, but I doubt his new organization will officially agree to let him spend any meaningful time on this project.

I am planning to do the following:

1. Raise my concerns with my manager and the project manager when I take over the project.

2. Recommend that we add another SW dev to the project. This is unlikely to happen quickly, but will serve as an indication of my concern for the project.

3. Go through outstanding work and make sure it is captured and tracked in the issue tracking system. Keep up with this, as issues come up and requirements change, as a way of communicating to the rest of the org what remains to be done. The difficulty here is that estimating how long each item of work takes has been impossible to do accurately. My manager directly stated to me that he doesn't care if our estimates are close, he just cares that the work gets done.

4. Continue to communicate up that things are taking longer than other projects because of the technical debt. I don't know how to do this without being viewed as negative or blaming the previous SW lead.

5. (This is going to be controversial.) Commit to working a few extra hours a week for the rest of the year as a way of proving to myself that I did everything in my power to make this a success.

In general, I like working here, and, in addition to being concerned, I am also excited about the opportunity of leading a project here.