Buy vs. Build Your Software

August 8, 2011 | ,

Most organizations shift back and forth between building and buying software solutions in time with executive leadership shifts. To avoid the resulting IT portfolio churn, each organization should establish the IT strategy that best supports its business model – including decision criteria for build vs. buy – or be condemned to holy wars on every solution design. Our default recommendation is “buy,” and here is why.

  1. Your business should be your business! Unless you are in the business of producing software, producing software is a distraction from your core business objective. Time spent producing, maintaining, and supporting in house software is time not focused on whatever your core business goals might be. If you happen to be in the business of producing software, focus on your product and your customers needs, and not on building in-house tools, for the same reasons.
  2. Your genius will be somebody else’s genius someday. In house solutions tend to be led by and require reliance on a few (or one) key employees. If (when!) they leave, the solution becomes much more difficult to support or enhance.
  3. Contractual accountability has its perks. When you purchase external products, you have contracts and service level agreements; both provide leverage to resolve issues and achieve satisfaction. When you build internally, you may have a good relationship with the team upon which you rely, but otherwise have very little leverage to make your concerns a priority. See also #2.
  4. Expertise can be bought. An off the shelf product comes with many person-years of knowledge, fixed mistakes, and best practices. You may have an extremely sharp team, but some lessons just need to be learned.

That’s not to say there are not sometimes valid reasons to build:

  1. Your business need is very unique. If there is no off the shelf solution to buy, clearly you have no choice but to build.
  2. The rate of business change is high. If the solution supports a segment of the business which requires a high number of ongoing changes to the solution, more agile change can be effected internally.
  3. A facet of your business IS the product you need. For example, if you are a company that sells a sales platform, you may want to eat your own dog food and use that platform for your own sales.

When you do determine that building is the answer, be sure to identify the risks and make the decision with your eyes wide open. Also, buying software is no panacea – you need to identify your requirements and perform responsible product selection – but that is a topic for another day!

Dan Hughes
Dan Hughes is a principal consultant and partner at Systems Flow, Inc., where he leads the technology services practice. He has 20 years of software engineering experience spanning a broad range of technologies and techniques. Startup to enterprise, he has launched, managed, and executed all aspects of both product and enterprise life cycle, delivering complex, enterprise-scale architectures for clients in the public and private sector, in industries ranging from banking and insurance to international development. Dan holds a Bachelor of Science in Computer and Systems Engineering from Rensselaer Polytechnic Institute. For more details, please visit Dan's LinkedIn profile
Dan Hughes

Latest posts by Dan Hughes (see all)



Comments

Got something to say?