jump to navigation

Build vs. Buy Revisited July 11, 2008

Posted by Jeremy in Development Process.
Tags: , , , , ,

I wrote the original version of “Build vs. Buy” some time ago and realized that I it needed some work after rereadng it.


I believe that the information that I provided for purchasing a solution still holds true.   Much of the problem with purchasing a solution revolves around the fact that in many cases you will need to mold your business to fit the software.

Now, I will qualify that there are definitely solutions out there that can be customized to meet your needs by the software company.  In this scenario you will need to work with the vendor to find out the customization capabilities of the software.  At this point it becomes much more like outsourced build.

Internal Build

This method is still a viable option but I believe that it takes a significant investment in order to successfully acheive the desired results.  There are actually a few problems that will arise (on top of the previous list):

Lack of internal resources

Many businesses simply do not have internal resources to be able to handle the life cycle of a new development project.  In many cases, they also may not have the resources to help them determine what resources they need.  In is a catch-22 situation.  In order to staff a new development project you really need someone who has experience in new development projects.  It can also be quite difficult to find the people with the right skillsets with out someone to validate that they actually have the skillsets.  This can be a very difficult situation and it gets many companies into trouble.

Lack of internal process

For many businesses who have not done new development or it has been a long time, they do not have processes in places to work through the development lifecycle.  This takes considerable effort and thought to implement.  Although many businesses choose not to do it, it is extremely important.  Without the proper process in place to do analysis, design, development, and testing the project can be drastically delayed if not fail.

Lack of IT Resources

In today’s IT market, it can be very difficult to find the resources that you need to complete a development project.  In many areas of the United States there are IT shortages.  This means that although you have good intentions of hiring a senior level developer to help, you may have a difficult time filling that position (either as a full-time employee or even a contractor). 

Cost of IT Resources

Because of the demand for IT resources, the cost to get good resources is definitely on the rise.  Based on estimates, that is not going to change in the foreseeable future.

Outsourced Development

Based on the reasons above in the internal build, I personally believe that outsourced development is going to continue to grow. 

**Please understand outsourced development and offshore development can be different things.  Outsourced simply means someone else is doing it, preferrably a software consulting business.  It can be either domestic or overseas.

Ability to retain skilled resources

An advantage that outsourced companies have is that all they do is develop software so in many cases can afford to keep more skilled, experienced, and expensive people on staff.  For many businesses, the price to retain those resources is simply too much.  On the other hand, if they can pay the firm to use the resources and build the solution and then they are done, it can be a viable option. 

In most cases experienced, skilled resources can also deliver the project in a shorter timeframe with less time required for testing and rework.  This is because the resources involved have typically completed many projects before and they have worked out their process. 

Reusable Components

Another advantage that outsourced build companies can have is the use of reusable components.  Because they are writing software all the time, they are running into a lot of scenarios where they can build components that can be reused.  Examples may include: data access components, logging components, document management, etc.  This will typically reduce the expense and timeframe of a project because they are pre-developed and pre-tested.


This post definitely came off sounded biased toward the outsourced development option and quite honestly I think it is for a good reason.  I think in many cases outsourced development shops are better positioned with resources, experience, and their development processes to complete projects more efficiently than many businesses are.  This is mainly because most businesses are not development shops.  It is not their focus.  It is no different that outsourcing your printing, marketing, cleaning, lawn care, or whatever.  In most cases the companies that focus on a specific task can acheive the desired result cheaper, faster, and easier.  This is simply due to having the necessary resources and the necessary experience.

I hope that helps.



1. Build vs. Buy « Refocusing Technology - August 18, 2008

[…] Build vs. Buy July 10, 2008 Posted by jlattimore in Development Process. Tags: build, buy, development, Refocus, software trackback **8/18/2008: I have added an update to this article: Build Vs. Buy Revisited […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: