Selecting a Test Tool (2)

Continuing our look at the factors contributing to the build vs buy decision making process, let us now look at -

Reason 2 to build a tool in-house – We have the talent (technical & functional) and understand our requirements / needs better than any external vendor. We can develop a tool that best matches our needs and better than what a commercial tool vendor may be able to provide.

Whom are we kidding ? Unless we are talking simple tools, the likelihood of internal groups being able to achieve the above and meeting requirements to a “satisfactory” extent is when the particular internal group that is expected to be building the tool – has tool building as it's main responsibility, has demonstrated expertise in successfully building tools, has the time / money / resources / skills to commit to building a tool that matches all requirements and can maintain the same on an on-going basis.

Why are these requirements needed of internal groups ? While it is easy to commit to developing tools, it is often hard to cater to all of the requirements and commit to sustain / maintain the tool for the longer term. Most commercial tool vendors have specialized groups dedicated to developing specific tools and have made large investments towards building tools. These tool vendors have built the expertise to address challenges and have the resources available to support the tool on an on-going basis.

Usually, when in-house tools are developed, it is the case that a set of engineers are assigned to work on the tool along with their regular tasks. Divided attention is hardly beneficial. If the tool developers have pressure to work on other tasks, they can easily lose focus and attempt to cobble up a tool that at best, barely meets requirements. When developers are assigned to work full time on creating tools, unless they have the aptitude and skills required – they can give up soon or even look at cutting / watering down requirements to complete their assignment and move on to other projects. Also, internal groups often face the challenge of maintaining and enhancing the tools that are developed. One other factor to consider while choosing to develop tools in house is testing. Like any product that is developed, the tool too must go through the same standard development processes and test efforts to be useful.

So, unless you are willing to commit the resources (time, money, effort) to develop, test and sustain a tool, it might not be a great idea to build it in-house. Now before you start thinking that i am trying to discourage any in-house development activity, let me state that the intent is to present some common reasoning from both sides of the fence (in-house vs external). I'll cover more reasons in subsequent posts. Stay tuned.

Image courtesy: Michal Marcol /