What 3rd Party Components Mean for Your Custom Application Posted on Jan 24, 2019 | Chad Feldmann At Far Reach, we focus on building custom software—applications and platforms that don’t already exist. While most of the time this involves building functionality from scratch, there are certain instances where something that’s already built—a 3rd party component—can be plugged into an application so we’re not reinventing the wheel. One category of 3rd party component we use frequently is an email service provider. Most systems we build send branded email notifications based on certain criteria. There are great email services providers out there that allow us to integrate their functionality into our systems—SendGrid, Mandrill, etc. Because these 3rd party components exist, we can plug and play instead of building from scratch, which leaves more room in the budget to focus on core custom functionality. Email service providers are an example of an individual, mostly independent piece of functionality. In cases like this, the 3rd party component can be integrated quickly and without building the entire system specifically around the component’s requirements. A different, more complex example of a 3rd party component is when the 3rd party tool actually forms the foundation of a system. We see this most commonly with ecommerce and content management systems. We can evaluate existing platforms, choose one based on the system’s requirements, and again focus on custom functionality instead of reinventing what already exists. In general, 3rd party components show most of their value early in the project. Integrating 3rd part component helps us move fast and save some costs in the short term. However, the component will likely be limited to out-of-the-box functionality and you may have to adjust expectations based on what’s available from the component. As with everything in software development, it’s a trade off. The long-term impacts of using a 3rd party integration are along the same vein—some benefits, some drawbacks. The biggest long-term benefit is that someone is focused on keeping that functionality constantly updated and up to the latest standards, ensuring that portion of the application is running smoothly and securely. However, when you use 3rd party components, you’re also giving up control. If a component you use is retired, you have to figure out and invest in implementing alternatives. If the 3rd party provider makes an update to their tool that causes issues with your application, you could see disruption in service and again incur costs to fix it. And if the component has been customized a lot upon integration, it may be almost impossible (or far too costly) to install upgrades. There are a lot of factors to take into account when deciding whether a 3rd party component is right for your custom software project. We’re here to make recommendations and educate you on the realities of your different options. We provide you with the information you need so you can make the most educated decisions. Questions about 3rd party components? Reach out. Share This Related posts The True Cost of Technical Debt Azure Cognitive Services: Computer Vision What Type of Coach Does a Software Development Team Need?