Channels ▼

Paul Kimmel

Dr. Dobb's Bloggers

Other Party Software

October 31, 2010

Many, many times in over twenty years I have heard the statement we don't use 3rd party software. It got me thinking about this. Instead of trying to tell people what to do I thought how Herb Cohen would get someone over to his way of thinking. It evokes the following questions: do you hire contractors that write software for you? Do you hire employees that write software for you? Do these employees or contractors sometimes take jobs elsewhere and become unavailable? Then, the obvious conclusion is that don't they become other parties or 3rd parties once they leave? And, since you are no long paying these ex-employees and ex-contractors don't they become disinterested other parties?

The obvious answer to these questions is that in fact employees and contractors almost eventually leave at some point.

The response is that well at least we have the code. So, if you have the source code and still have other parties why not buy software from other parties at the best possible price, as long as you have the source code?

Here is the predicament. Intellectual capital costs money. Contractors and employees may be experts in your domain but are seldom experts at everything like writing controls or components. However, you can buy controls and components from other parties without owning the long term cost of the intellectual property. Suppose you can buy a grid for $200, an interested other party's profit model is based on supporting that code, they aren't going to leave because they have other customers and upgrades are only a couple hundred dollars. Compare that to a non-expert inventing a grid over a week, debugging and upgrading over several more weeks and then all of the inherent bugs, quirks and challenges of owning code written by committed employees or contractors to code written by engaged owner-experts that aren't employees or contractors. You are more likely to have a long term relationship, support, modestly priced upgrades, and a better result by interested experts that make their living writing just those controls and components, especially if they sell you the source. The choice is obvious: better code, written by experts, at substantially lower prices.

Let your employees and contractors write differentiating code that gives you a competitive advantage, code that you can't get from third parties and leverage code written by experts that yield professional interfaces for example as much as possible. You will save money, still have source code at a lower overall cost, and your software will be produced at a better price. This also gives you a competitive advantage time to market.

I have never met a contractor or employee of XYZ company write a better grid at a better price than an expert that does just that job every single day.

Most people aren't qualified to do their own plumbing build a house, car, or airplane, and can't do it as cost effectively as an expert can. Sure your programmers have some expertise and they may know about your problem domain, so let them focus on what only they can do and let the experts do the rest.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.