The other day a friend of mine was talking regarding projects failures and stuffs and he asked for my opinion. Of course I’m not going to predict what is going to happen with all the projects you pretend to work on but I will make the case for a particular project that I’ve worked on and failed I will name this project FeetBook because the name is catchy and the owner of the product did not know exactly what he want to do with it. I won’t describe what the project did because that’s irrelevant I will just describe what I think went wrong with it.
What I think was the major mistake that get this project into the grown?
- There were no tests!!! In fact there were some tests but they were badly written tests and that’s the same as don’t having any. I know what you are thinking, there are a lot of more factors that will make a project successful and you are probably right, but this is the first one that should be checked.
- The team did not wanted to invest the time on fixing technical debt and the code was getting worst on each iteration. Also another thing to think about and probably you will say take it easy man probably those folks did not have the experience and you neither; and I will admit to you that you are totally right but then here comes the next item on my list.
- Learn for God’s sake. I spend a big amount of my time learning about new stuffs and experimenting with everything I try at work. I try to read a book each week, I try to do code katas, I try to build small experimentations with Rails and that’s all on my free time because I have to get better to give a higher value to whatever company I’m working for. That’s was another problem with that team they did no have direction with the product because they did not have direction with their own skills.
What did I learn from this experience?
- I need to ask more questions on interviews to know how is the culture before getting into any company or work on a contract project. I don’t want to spend a lot of time wasting it and not learning. I don’t care about high salaries I do care about my craft and I think that’s the real value that I’m giving back to my employer.
I think this items are food for thought and at some point we should reflect on the things we as software developer did wrong on some projects and because of that they went down. This are my external items but something also I did wrong. Like not getting very well with communicating what was wrong with us as a whole; not everything is just external problems sometimes there are internal ones too. So take a look at yourself from time to time. Until the next one ;-)