Build or buy? Or something in between?
Sep 18, 2015
If your business needs software, then you've essentially got two choices: build or buy. It's a choice between bespoke, custom-made software that fits your needs perfectly but which is likely to be much more expensive, or off-the-shelf packages that won't be tailor-made but will be more affordable. Choosing between the two is rarely an easy decision and deserves some serious consideration.
We're talking about a substantial price difference, the sort you might expect to find between a bespoke suit tailored just for you and one picked up on the high street. For bespoke software, you can expect to pay anything from a few hundred to several million pounds, depending on what you need — typically, you're looking at a cost of between £10,000 and £250,000 for most projects. Off-the-shelf systems, in comparison, usually cost a few thousand per year.
The choice between buying or building is nothing new and is the subject of many white papers and consulting engagements. However, in recent years, we've started to notice a new type of system, a sort of halfway house between these two approaches. It doesn't have an 'official' name yet but we've decided to call it a Mashup Project, and it's based on three converging trends.
1. Cloud software is getting more flexible
Cloud-based software is getting more flexible, more customisable, and easier to integrate with everything else. Most of the cloud applications available today offer some form of API (Application Programming Interface), which gives other developers the opportunity to tap into and customise the original code. There are plenty of examples in every category you can think of, all of these products have APIs:
- Customer Relationship Management systems (CRM): Pipedrive and Close.io
- Project collaboration tools: Basecamp and Trello
- Time tracking systems: Harvest
- Support systems: Freshdesk and Zendesk
- Office software: Google Apps and Office 365
- Content management platforms: WordPress (Wordpress also has a huge ecosystem of plugins)
- Email newsletters platforms: Mailchimp and Sendgrid
- Payment processing: Stripe and Braintree
- Telephony systems: Twilio
- Data entry forms and surveys: Wufoo
- IM/chat: Slack
- Accounting: Xero
All this means more flexibility for end users, and more customisation options inside what are technically 'off-the-shelf' packages.
2. Traditional enterprise software is getting more 'cloud-y'
The second trend we're seeing is in enterprise software: these types of packages have always been very customisable, coming complete with a bunch of APIs and customisation options. What's changed in recent times is the pricing, hosting and implementation of these systems have all gotten easier and moved towards a 'pay as you go' approach. In other words, a highly customised solution has started to get more affordable — Salesforce has led the way in this area, but is now being followed by Microsoft and Oracle.
- Microsoft's high end document/content management system Sharepoint is now available as a service.
- Microsoft owned Skype, has an enterprise telephony solution available for Business.
- Oracle now offer cloud version of their enterprise Finance, ERP and other solutions.
3. New services for gluing everything together
Our third trend is the emergence of services that tie apps and other services together without much coding (or any coding) involved. Some of the most well-known examples:
- IFTTT: Which stands for "If This Then That". This clever tool lets you create 'recipes' which trigger when certain things happen online, and which result in actions happening automatically. For example, "If a new file is added to my Dropbox then send me an email".
- Trello Business Class: A supercharged version of the popular project collaboration tool, which integrates with many popular services to give you a central place where you can see project activity.
- Zapier: another 'trigger' and 'action' service, but more focused on business use cases (so you could add new Shopify customers to a Mailchimp list, for example).
- Box.com: primarily a cloud storage service for businesses, packed with collaboration tools and extensions.
- Geckoboard: a suite of tools for displaying a company's key metrics in a customised, intuitive dashboard. Geckoboard can pull data in from all sorts of sources automatically, and without writing code.
- Chart.io: like Geckoboard, pulls data from everywhere and turns it into advanced visualisations and graphics.
- Trackvia: a tool that lets you manage processes across your team in a spreadsheet like way, only it's online and mobile friendly.
What is a Mashup Project?
As a result of these three trends, a new type of IT project is possible. Simply put, you no longer need to choose between buying and building. You can assemble an almost bespoke system using a combination of the different elements we've mentioned above, plus a sprinkling of bespoke code to glue everything together.
- Need a time tracking system that supports your unique contractual arrangements? A Harvest time tracking system + some custom report widgets in Geckoboard could be the answer.
- After a CRM database that automatically invoices your customers? Mix Pipedrive, Xero and a smattering of bespoke code and you're up and running.
- Want to automatically email your customers when their monthly subscription card transaction fails? Stripe + Mandrill + Zapier should do the trick.
All of these are Mashup Projects: they're projects that involve pulling together many elements and mashing them together. The possibilities are virtually limitless.
The benefit of a Mashup Project is that it sits between the customisable tailor-made system and the inexpensive off-the-shelf alternative. It's cheaper than building a fully bespoke system, because you're only using the minimum amount of customised code necessary (costing you anything from a few hundred to a few thousand pounds). Mashup Projects are quicker to get running (from a few hours to a few days) and allow for quicker iteration too if you want to make changes.
There are disadvantages, which you should be aware of: your business becomes reliant on lots of third-party suppliers (which is fine until one of them goes down or changes their offering) and you don't own or control any of their technology. Secondly, the end result might be almost, but not quite, exactly what you wanted — it's a trade-off between bespoke and off-the-shelf. Rapid change isn't always a good thing either, because your potential to make people upset and angry just went up tenfold.
It's coding Jim, but not as we know it
You still have all the same questions to answer, and a lot of the same complexity is still there. Deciding exactly what you want to happen when the customer's card transaction fails didn't get any easier either — in some ways it got more complicated, because you don't have a blank sheet of paper to work with, and you're using a tool with a set of conventions and idiosyncrasies that you need to learn. You still need someone to think through all this stuff and the resulting implications, and those kind of mental gymnastics are what coders have been doing for years.
A Mashup Project approach isn't for everyone: it has its pros and cons just like the buying or building strategies. However, for the right business and the right scenario, it can save both time and money. If you want to discuss what's going to work best for your company, please get in touch.