By Fraser Deans
All digital businesses sooner or later face an inevitable question: "do we build feature X into our product or should we pay for company Y to handle it for us?"
We've come across the question a couple times when pitching Nickelled. The conversation often goes something like this:
Nickelled: "So what do you think of the product?"
Prospect: "It really scratches our itch. Our customers are clearly having usability problems which Nickelled could solve."
Nickelled: "Ok super, sounds like we'd be of help then. Let's get the balling rolling on the pilot?"
Prospect: "We've been meaning to build interactive guides for ages. I can see the development team are planning building it in 6 months time. I think we'll just wait."
With this scenario in mind, there are some very clear advantages for using a 3rd-party software provider to deliver the goods instead of building feature X yourself.
Building any kind of software takes time (often a lot of time). The lifecycle of a new feature goes something like this:
Your organisation may even include more meetings and stages within a feature lifecycle. On top of that, discussing feature X with multiple colleagues is taking time away from your organisation by a multiple of people in the room. What seems like a simple feature on the surface has all these unintended consequences on our time and will take weeks or even months to get into your customers' hands. 3rd-party software is here today, is ready for you to start using and making your customers happy.
Your developers were hired to fix problems within your domain. It was your domain that excited them: Google developers want to better manage the world's information; Facebook developers want to better connect people; NASAs engineers want to conquer space travel. Pulling your developers away from that domain will bore them, it's not what they signed up for.
In addition it's likely that your domain is where your developers expertise lies. Pulling your developers away from your domain seems like a distraction unless it is a business critical issue.
On top of this, if a 3rd-party software supplier can provide feature X, it's not a competitive advantage for your company. Whilst you're taking time building software that doesn't build competitive advantage, your competitiors are concentrating on domain specific issues. 3rd-party software doesn't take your developers away from business critical issues.
Every feature added requires code. Additional code leaves developers struggling to navigate and understand it, we call this complexity cost. 3rd-party solutions minimises the amount of code needed to add a feature. For example, Nickelled requires zero code changes to get the benefits of interactive guides.
For more information on complexity cost take a look at this excellent article by Kris Gale, VP Engineering at Yammer.
The cost-savings you may (or may not) make now in developing the software yourself are going to get eroded as time goes past. Modern SaaS companies are continously deploying new features and improving their products. With future browser updates and a constantly evolving list of devices we have to take into account for accessibility, a feature which takes a couple man-hours to develop now is going to a couple hours again and again and again to keep up-to-date. 3rd-party solutions will be kept up-to-date without your input, how great is that!
3rd-party software providers become experts in their domain. By building the solution yourself you are resigning yourself to the mistakes that others have already made. That doesn't sound very clever.
Imagine you want to build a new bathroom in your house, you're pretty good at DIY and maintaining the house, but you'd never fit new pipes yourself because it's not a high priotity task – your time is better spent elsewhere.
Your feature X is exactly what excites those 3rd-party software providers. Therefore their solution is likely to be superior to anything that you will build. 3rd-party software providers will be more than happy to share their expertise with their customers. At Nickelled, we share our knowledge with our customers so that they benefit from our experience. We ensure their guides have crystal clear content and are delivering maximum value for their customers. You won't get access to that experience if you build feature X yourself.
In the world of software development, that small idea for feature X often snowballs into a mass far greater than intended. It sucks time out of your organisation that isn't representational of the value your customers are going to eventually receive. 3rd-party software providers can be leant on to deliver customer value that exists outside of your expertise.
Next time that inevitable question pops up, take a little longer to think before you add feature X to your future development list.