December 31st, 2015 by Adam Sandman
Like most software companies, every day we get several emails from various IT service companies offering us low-cost developers and testers to help us with the development and testing of our products. Every day we put these emails in the trash folder. So why have we always built our products in-house? Are we foolish? Are we myopic?
Intellectual Property
When companies talk about IP or intellectual property they are using referring to legal agreements, patents, trademarks, source code and other paper artifacts. However IP is much more than this, IP is also the living embodiment of those artifacts.
If a company has the source code, the trademarks, and patents but no one in the company knows what the software does, how it works, how to enhance it, then all you have is an empty shell. It is akin to having an empty office park with no businesses or tenants. We have always believed that IP and human tacit knowledge go hand in hand.
Tacit Knowledge
I used to work at a consulting firm many years ago and one of the truisms was that the company's entire intellectual property was tied up in the heads of the employees; employees that could walk out of the door any instant. To try and capture/retain that information, the company invested a significant amount of money in 'knowledge management' systems (big buzzword in the late 1990s for those that remember). The idea was that the KM system would be able to somehow capture this 'tacit knowledge', the experiences and lessons learned by employees on their projects. Ideally the KM system would enable a fresh graduate to build upon the experiences and lessons of those that came before them 'to step on the shoulders of giants'
However at the first hint of a downturn, the company laid off a large portion of the workforce and in the end none of those fancy KM systems really captured this knowledge and when the economy picked up the only true KM system was to hire back those formerly laid off workers. So the lesson was - the only KM system that actually seemed to retain such tacit knowledge was to have employees who stay with the company.
The Risks of Turnover and Outsourcing
One of the nice things about having Inflectra based outside of some of the hottest tech centers (Bay Area, Austin, etc.) is that we have people who've worked here for many years, growing with the company and moving from one product team to another. This continuity allows team members to work on our different products, disseminate knowledge, see how changes in SpiraTest influence RemoteLaunch or Rapise (for example). In the same way, our testers have tested all of our different products over multiple years, they are not learning the application for the first time.
So back to the question, why have we kept our development and testing in-house, the answer is simple. We have a strong core team that has worked on all of products for many years, they have seen the mistakes made in previous versions, worked with customers to find out how to improve them to meet their needs and have a deep understanding of what we need to work on, and most importantly why.
As the company has grown, we have added new people with fresh ideas, better understandings of different industries; people able to challenge the status quo - why are we not using jQuery as much as we should, why not use Bootstrap instead of jQuery UI. The difference between adding a permanent team member and contracting with an outsourced service provider is that these fresh ideas get added to the long term history of the product, those people get to become part of the core team and we get to keep their fresh ideas and accumulated wisdom rather than having to start all over for each release.
Better Support & Long-Term Commitment
So why would you as a customer care about all this - well when you call our support phone number you will speak with someone who has worked here for some time, someone who knows the products in depth. When you tell someone one of your ideas for an improvement or frustrations you are having, that person is not just logging the idea into a database (they are of course doing that as well) but that person will be here a year from now seeing that new feature rolled out and helping the same customer take advantage of it.
In summary, we look forward to a long term relationship with our customers, and having a long term relationship with our employees is the best way to achieve that in our opinion. Happy 2016.