Click here to monitor SSC

Tony Davis is an Editor with Redgate Software, based in Cambridge (UK), specializing in databases, and especially SQL Server. He edits articles and writes editorials for both the and websites and newsletters, with a combined audience of over 1.5 million subscribers. You can sample his short-form writing at either his blog or his author page. As the editor behind most of the SQL Server books published by Red Gate, he spends much of his time helping others express what they know about SQL Server. He is also the lead author of the book, SQL Server Transaction Log Management. In his spare time, he enjoys running, football, contemporary fiction and real ale.

Build, Buy or Rent?

Published 14 March 2014 3:41 pm

In the pioneering years of the PC industry, people mainly created for themselves whatever tools they needed, because there wasn’t much of an option. I’ve lost count of the number of developers who claim to have invented their own text editor. These days, we simply buy the product or editing module that best suits our style and circumstances, and accept compromises, rather than spend time building the “perfect fit”. Of course, developers still hack things that don’t work quite the way they want, such as JavaScript frameworks, but even that need diminishes over time. It now almost always makes sense to buy rather than build or, even better, rent it as a service.

The question of whether one buys or builds depends on the maturity of the technology at the time. A few years ago, for example, we at Red Gate urgently needed a new CRM to cope with rapidly-expanding business, our instincts were to buy, but inevitably we found nothing that was a great fit. Each candidate had failings and involved compromises that were hard to accept. It was argued, successfully, that the work required to adapt what we could buy would be almost comparable to the effort to build exactly what we needed, and we duly assigned a small team of in-house developers.

At the next CRM upgrade, there will be no debate. The technology has now developed. The custom built tool will be out, and in its place will come a software package, cloud-based, and free of Red Gate-infrastructure. At the same time, out also will go any other email or marketing tools that we bought or built to plug in to the CRM. In will come commodity services to replace them.

Ready-made products tend to mature from the component level to the package, ending as complete solutions like SAP ERP. It is the same with websites. Seven years ago, when I first joined the company, I assessed several ready-made platforms for Simple-Talk, including a fledgling WordPress, and DotNetNuke. It wasn’t hard, though, to argue that no readymade solution fit the bill. We contracted a developer (now author of a highly successful HTML programming book) to build the Simple-Talk we wanted. We completed the project, end-to-end, in six months, at reasonable cost, and with a few bolt-ons and bits of sticking plaster, it’s still with us. The project was, by any measure, a success and yet to do the same thing again now would be unthinkable because there are now ready-made products out there that would be much closer to what we want.

However, this commoditization of software doesn’t always crush all creativity and initiative beneath its wheels. Ingenious new solutions come to dominance even in well-established technologies such as desktop publishing. However, in the main, the new giants seem comfortingly like the old ones. For the thrill of pioneering, the developer needs to find an area of technology where there are problems, but no established solution. That beautiful hand-crafted text editor, or JavaScript framework, that you’re secretly creating may yet emerge as the new standard, but I wouldn’t bet on it.

11 Responses to “Build, Buy or Rent?”

  1. Dave.Poole says:

    A few months ago Red-Gate posted a framework for making add-ins for SQL Server Management Studio.
    I’d like to see commercial software deliberately designing their software to allow plug-ins to be developed by enthusiastic developers.
    To give a specific example of how Red-Gate could do this think of SQLDoc. It probably isn’t commercially viable for Red-Gate to broaden the DB coverage of this product but if there was a defined contract and plug-in mechanism then developers could build DB specific plugins to capitalize on the core product facilities.

    This is approach is commercial software nurturing creativity in the development community by giving a leg up with the core product.

  2. That’s more or less where we’re going with our extensibility. At the moment we’ve exposed APIs to make SSMS extensibility simpler, but we’d also like to expose more in future, such as the database object model, which is what would be needed to easily build a SQL-Doc-like tool. A third party has already developed a database vizualisation tool, GenesisOne T-SQL Code Unscrambler, on top of the SSMS API.

  3. sdmcnitt says:

    I do have to fight the urge to go with the “fun” of building software when there is a buy option. For technology solutions that are at the heart of your business and that provide you competitive advantage, moving away from commodity should be good.

    I remember my dad building our first TV ( We actually built it into the furniture … actually it was the size of a sofa.

  4. Keith Rowley says:

    This is one of the reasons I love working with the internet of things. Because it is still new enough that you can’t buy anything you would want off the shelf, so you have to build and program your own solution.

    I also wonder if the programmers of tomorrow won’t be so much building things from scratch as modifying existing solutions to fit the specific needs of the the business.

  5. philm says:

    That’s quite a teaser
    “The project was, by any measure, a success and yet to do the same thing again now would be unthinkable because there are now ready-made products out there that would be much closer to what we want”
    What ready made products would you now choose over DotNetNuke or WordPress?
    BTW, I built that Heathkit TV (GR370) in 1973, still have it, and enough parts to fix it…anyone want it?

  6. Phil Factor says:

    I remember looking through the Heathkit catalog, seeing that TV and wondering ‘who on earth would want to build that?’. Mind you I built my first PC, an s100 bus CP/ M Machine from a pile of chips and pcbs. I still have it too, if anyone wants it.

    • philm says:

      That Heathkit TV cost $800 (26″) and you still had to build it. I built it to impress my girlfriend of the day. And to have a TV. Both strategies worked.

  7. Robert Young says:

    Back around 1990 I was the IT guy for a million dollar-ish contractor. They had a COBOL accounting and job cost application which ran on an antique (even then) TI-990 machine. Apparently, TI marketing had targeted VAR, COBOL (Ryan-McFarland) developers back in the late 1970s. (A truly oddball machine: ) So, time to get something else. Contracting was (still is?) something of a niche vertical market, since beyond accounting there’s job costing and job management (and, as my employer, also some amount of wholesale distribution as well) which needs to dovetail with the books.

    At that time, most of the “solutions” were on the AS/400, with its “integrated relational database” (before it got rebranded as DB2 for blahblah). For companies of the size I worked for, building wasn’t an option. I was all of IT, for as long as I lasted. In the end, we opted for a Progress/AIX machine with two applications, one for the contracting and the other for the wholesale folks. Integration wasn’t all that tough, given the common database.

    The guys who built the contracting application were engineers who had been some years in various contracting companies. SMEs, in today’s speak. The thing about the contracting business, as with many others, is that the way the business is run is most of the Value Add; the software to run it has to manifest the uniqueness of the vision. For small companies such as ours, that particular VAR came close enough to the way we ran the business.

    What’s always floored me is how SAP in particular has been able to co-opt major corporations’ mission critical functions. How you run your business is manifest in your controlling application, which is running the books. Why would you buy that, if you didn’t have to?

  8. paschott says:

    I’ve seen this done both ways – some where we built our own solutions, somewhere we used something written by someone else. We’ve switched from in-house to 3rd party (and the other way around). It just depends on the needs. We had one person who really wanted to write their own CMS for our system but we eventually ended up not using that. I now recommend WordPress or something like it for people who want to start a blog. We outsourced accounting solutions before to not hire a full time person and would never think of trying to write our own.

    Of course there are times that it’s interesting or fun to write your own solutions, but it doesn’t typically make a lot of sense to develop something outside of the core competencies for a company unless they’re trying to stretch their developers. I’m even getting to the point where I don’t really want to put a lot of time into building my own PC. I enjoy it, but the cost and time don’t really compensate for my personal use.

  9. EdCharbeneau says:

    Having been down that road before, building a custom CMS because nothing at the time “fit”. I wouldn’t do it again today. I think “web connected software” has advanced to the point where harnessing a well developed API far outweighs the benefits of starting from scratch. Technology mash-ups using cloud based services that support Restful APIs via JSON are the future of development. Think DRY (don’t repeat yourself) and OCP (open closed principal) on a large scale.

  10. Timothy A Wiseman says:

    I agree with everything you have said, but the beauty of many of these things is that they allow building of yet newer things in a simpler fashion.

    If I had to write my own text teditor to get one I was happy with, I would not be working on something more advanced. On the other hand, because I have text editors I can focus on working on other projects using the text editor as a tool. This is true of especially of things like functions or frameworks where they are directly used as materials for new developments.

Leave a Reply

Blog archive