HACKER Q&A
📣 throwawayfarfar

As a tech lead, how do you handle a failed project


I had been leading a project for about 4 months. It has essentially been declared as failed due to technical choices I made and corresponding unsolved usability issues. I have a pretty successful track record in building and delivering products. So this failure stings. Maybe it also stings a bit more due to some of the politicking that has occurred for it to be declared a failure.

For all the “fail fast” thinking, this does not feel good. How do you deal with such a situation?


  👤 literallyaduck Accepted Answer ✓
1. They can't all be zingers. Broken clocks are right twice a day and no one succeeds 100% of the time.

2. Keep a daily log then summarize it weekly. Summarize weekly logs monthly and quarterly. After success or failure go back over your logs before having a retrospective and see if you can identify choices or behaviors that pushed the outcome.

3. Was the failure within your control? If so how can you stop it next time? If not how can you avoid a situation where you are on the hook for a project without the autonomy to make it right?

4. Change the place you work, or change the place you work. If you don't have the autonomy for success find a place that compensates you and you have fewer responsibilities or are empowered to succeeded.

Don't sweat it we all screw up.


👤 jvalencia
As a manager, I always treat failure as a form of expensive training. Most people beat themselves up when failing, so you can be pretty sure they'll do considerably better in the future.

👤 monkeybutton
On a personal level, I just try to stay emotionally un-invested in it and move on to whatever is next. People that don't do that can be awful to work with as they snap those around them who they see as to-blame for the failure.

I'm a lead for a data science team and I feel like we have to deal with failure more than an average development team. Most of the causes are out of our hands, so there is no sense in dwelling on them except keeping past experiences in mind when planning the next project.


👤 wjnc
Think about your future self. What do you want to be able to tell a colleague, or junior, what you've learned from this failure in ten years? Focus on that. There's a lot of emotion in the now but that won't stick. Focus on the lessons. You've played the hand you were dealt. Was it a lousy hand or did you play lousily, or both? Everyone makes lots of mistakes. Admitting them and learning from them that's what helps you move on.

👤 rajeshamara
When you say failure what exactly you mean 1) Did not scale 2) Performance issues 3) Ran over budget 4) Ran over time 5) Lots of bugs 6) Feature creep

In your message you said unsolved usability issues. Typically usability issues should be solvable. My advice is accept the failure, learn from your mistakes for the next project. These things happen. Just move on.

Also 4 months is too short of a time to declare it as a failure. You can always pivot to make it successful


👤 throwawayfarfar
Thanks everyone for the insights. I found that the first thing I had to do was own up to the things that I genuinely felt could have been done better. The second thing i also had to do was to not accept false narratives. I have done both. Also there is plethora of lessons learnt. And ultimately I am a human as well and will fail at times. I am glad I reached out to HN for perspective.

👤 codeptualize
What helps me is to think: Ok, I screwed up, now let's take charge, figure out what exactly went wrong, and find out how to prevent it from happening again.

I would write a document stating exactly what went wrong, based on that suggest measures and changes to prevent this from happening again in the future. Be brutally honest, but refrain from playing the blame game, do include your own mistakes, be as objective and fair as possible.

You could also see if you can salvage your project in anyway and suggest how to move forward. Usability issues can be solved, technical choices can be changed.

For either option there should be broad support. If not it might give you more insight in the "politicking" that's going on.

Also realize that people make mistakes, nobody is perfect. The best you can do is learn and move on. Beating yourself up over it won't help you in any way. Don't be mean to yourself, be honest but in a kind and empathic manner.

Anyway, it sucks, especially with politics involved, hope you can move on from it. Good luck!


👤 softwaredoug
I'm guessing you're taking it hard. You might feel very close to the problem. Can you take some time off? Do some things just for you... Getting distance from it can help gain perspective and help clarify your own mistakes, make any amends you need to when you come back, and find what makes sense for you to do next.

👤 Canada
It's been declared a failure by whom? If by others and you don't agree, ignore and keep pushing. If you can see that the design/architecture choices you have made are wrong you need to scrap it and start again based on what you know now.

With the experience you and your team has gained you can probaby get back to where you are currently stalled pretty quickly and deliver a great solution.

The better part of success is knowing correctly what you have to do, so now that you know having learned the hard way just do it. Having to admit you were wrong and wasted resources sucks, but it's better than doubling down on something you know isn't going to work, especially if it's important to the business in the long term.


👤 barrysaunders
Do a detailed post-mortem, ensure you can learn from it. Remember that the correctness of a decision is about whether you made the right choice with the information you had at the time, not whether the project succeeded. Many projects succeed in spite of poor decisions, not because of them. If there are things you could have done at the time to improve the chances of success, acknowledge them and ensure you do them next time.

You have a good track record, so do not feel bad about one failure. No-one succeeds every time, and the occasional failure is necessary to ensure we learn how to deal with adversity and become more resilient.


👤 taf2
You surely learned from the experience. It’s good to throw things away. Also it can’t all be bad? At the very least you understand the problem space better now and like any good researcher you now know a path that does not work . Code whatever it’s like a puzzle maz… you have infinite doors to choose from and you have to pick paths to put the puzzle together… now you know a path with some bricks that sucks in at least enough ways to have you deciding to seriously consider choosing a different door that no doubt will also have crappy trade offs…. All software is trash pile of one trade off vs another

👤 thorin
I'm starting to feel less guilty about this kind of thing as whatever short term success you might find always turn into failure (if you have that mindset). Even the most successful software is replaced for technical, business or political reasons. Just try and enjoy the journey and keep learning. Maybe a metaphor for life.

No need to feel bad, even if you don't make the same mistake twice, you'll make a different mistake next time!


👤 ApolloRising
What would it take to fix it?