The Power of Ownership and TDD

Posted on December 11, 2011


I’ve spent most of my professional career founding companies and building products. Up until a few months ago I had a deep sense of ownership over each of the products I built. A few months ago, though, I teamed up with someone to build a product and have struggled to feel any ownership over the project.

The idea for the project was his and he had already built up some of the infrastructure technology, so he had a much better familiarity with the technology then I did. He is also much more respected in entrepreneurship circles than I am because he was on the founding team of one the Internet’s biggest successes (which also made him a LOT of money). So we weren’t on a level playing field to start. Basically it’s all added up to a sense that I need to ask his permission to do anything. Not because he demands it, but because I didn’t have the confidence to make my own decisions.

It’s funny how much that simple fact has damaged my ability to be creative and innovative and autonomous. I haven’t had the confidence to make decisions and so my motivation and creativity have been seriously crippled. I didn’t felt any ownership of the product and my role was immediately reduced to sort of an assistant. Only capable of carrying out someone elses orders and usually not that effectively.

Having felt ownership over many products before I could tell there was a stark difference in my capabilities between this project and my other project. I knew I had to gain ownership if I was ever going to feel satisfied with my involvement in the project.

So I looked for ways to gain confidence. Luckily I’ve been test-driving my code for a long time now and he wasn’t as familiar with TDD, so I offered to start writing tests for all the untested code. It didn’t take long for me to gain much more comfort with the technology through tests as I felt much more comfortable making mistakes because the tests were backing me up.

It’s amazing how much of a difference it has made. Although I still don’t have the level of ownership over this project that I did on previous projects, it’s night and day since I started writing out tests. It’s just such a good way for someone to get their feet wet because you can be a little more lackadaisical about your testing code because the users/customers never see it (somewhere a Pivot just lost their wings). I actually think this is a very good thing because it provides a more informal way for someone to get ramped up with out the pressure that is usually applied to the production code.

Anyways I’m still not there yet with regard to ownership, but I’m enjoying the project a great deal more now. Thanks TDD.