Whether to use inhouse or external solution, how do you decide?

Whether to use inhouse or external solution, how do you decide?

Table of contents

No heading

No headings in the article.

Here, we have to look at the specific requirements. Stick to YAGNI. Don't think another solution is more valid because it can handle future cases that might arise.

The downside of using an external solution:

  • You depend on their service.

  • Another point of failure and learning.

  • Team needs to learn and integrate with an additional tool.

The downside of using an inhouse solution:

  • You have to build and maintain your own solution.

  • Pulls focus away from core business domains.

I think it's best to focus on the simplest solution that meets the current requirements. "Current" is important here. Look at what you really need, and then ask yourself: "What's the simplest solution that meets my requirements?".

I think feature flagging is a good example. Many teams build their own feature flagging solution. They don't need a bunch of the extra stuff that an external solution provides. They just want to be able to turn features on and off. In many cases, the simplest solution is an inhouse one here.

In conclusion: Be pragmatic and live by YAGNI.