Homegrown vs Off the shelf

When faced with a decision between home grown development and buying an application off the shelf we need to think seriously about a few key things:

1. Homegrown: What will be the TCO (total cost of ownership)? Sure you can get it built off-shore for a 4th of the price but what happens when you want to upgrade? What happens when you need to evolve the platform to access new capability? What happens when you lose your lead developer? 

I have watched a client try to deal with the struggles of a large homegrown application which ran 99% of their business. Their lead developer left. They were stuck with a system that couldn't evolve. The platform was impossibly hard to pull apart and understand. Speed to market was impacted. Revenue was restricted. They had ZERO visibility into their business because reporting had to be custom coded. They couldn't fix the issues. They had to start again. Way too many times in the last 6 months have I heard "We logged in and found a mess! Code everywhere. It was too complex and we had to shut it down". 

If you are headed in this direction: 1. Map out what you want and build extremely clear documentation on every single detail. 2. Ensure you have two lead developers working on the build to ensure sustainability. 3. Maintain and expect audit ready coding practices - the goal here is any developer could be sent the code base and quickly understand it within 1 day 4. Spend just as much time on User Experience than functionality because even if the tool does what you want your people need to want to use it.

2. Off the shelf: Is there realistically 90% of the features your team needs found in off the shelf components? Can these components be integrated into your single source of the truth? Does the off the shelf software update itself regularly throughout the year? Does it have inbuilt realtime reporting features? Can you find global resources who are certified on these platforms to help when your team changes? 

If you are headed in this direction: 1. Hold your vendors to account and set up a dialouge of authentic communication - cut the sales BS and get to the heart of functionality and use cases 2. Never rely on promises of new features that are not stipulated in your contract 3. Ask to see demonstrations that show your unique process in the tool 4. Negotiate around the end of the vendors financial periods to capture the best discounts on licensing 5. Probe training and set up costs and factor these into your TCO calculations.

I have seen clients consolidate around a stable and industry leading platform to get powerful real time visibility, stage marketing campaigns tracking conversion in hours, access real time visibility into revenue, customer satisfaction and sales performance with a click. 

Think twice before you make a cost first decision. Remeber TCO not only what it costs to buy a platform but what it will cost to manage, maintain and update, whilst also protecting your revenue and establishing an enabling platform that is sustainable for the long term. 

What is more and more common these days is a hybrid environment of off the shelf capability and homegrown applications. The principles above still ring true even when you blend. When blending look to build things that you can't buy off the shelf. Buy industry best practice tools to integrate with your in house built custom applications.

These home grown applications should represent your organisations IP and competitive advantage. Generally a good test here is if you can see a future of re selling access to these homegrown applications and see a path to capture revenue from this sale you probably should start building a development team.