Since 2006 the era of “Everything as a service” has advanced quickly. Cloud computing is dominant. Infrastructure as a service is now standard, as are Platform and Software as a service. Function (also known as Serverless) is about to be the next big thing. AI is potentially the next elephant waiting to enter the room. There are more opportunities than ever to outsource your undifferentiated heavy lifting to third parties.
These third parties are relevant because our engineering capacity has never been more limited. Thanks to the constraints of time and money and the scarcity of engineering talent, we must be very careful in deciding how to spend our precious time. We should be spending it on things that maximize value and minimize cost, both in the short and long term.
There will always be some unavoidable amount of cost incurred whenever your code runs in production. You will have to fix bugs that impact your customers, handle outages, etc. These costs can never be completely eliminated but what you can do is minimize them.
Offloading as much responsibility as possible to third parties is a useful technique for minimizing the number of things the team is directly responsible for (and therefore need expertise in) and allowing the team to operate at a higher level of abstraction (and therefore deliver customer value more rapidly).
Knowing what to outsource and to whom is an art, so we use the following guidelines to help us make decisions:
- Don’t outsource things core to your customers’ user experience as this makes it easier for others to copy your product and disrupt your business.
- Do outsource things the industry considers undifferentiated heavy lifting and enable your team to move faster, leaner and provide a higher level of quality to customers.
- Be extremely mindful and diligent in understanding the security of companies you are outsourcing to.
- Understand the potential consequences of outsourcing to young startups. Young startups go out of business regularly and their security and reliability is often worse than more mature companies.
Source: Run Less Software, Rich Archbold, https://www.intercom.com/blog/run-less-software/