Defining the software architecture of a SaaS is one of the main tasks of a CTO (Chief Technology Officer). The SaaS must be scalable, stable and easy to maintain. It must guarantee high availability and be able to evolve quickly with the addition of new features, all while preserving backwards compatibility.

When it is a startup building the SaaS, three aspects take on fundamental importance:

high development speed, above all when releasing the first public version;

limited budget;

a small development team.

While analysing the features the software will have to implement, a Hamletic doubt thus surfaces in the CTO’s mind: integrate third-party software or develop the feature internally?

If, for components very close to the SaaS’s business logic, internal development is the only possible answer, for other components, such as authentication, authorisation, sending notifications, image and file management, subscription management, the answer is not so obvious.

Internal development

With internal development, functional fit is maximal, but the workload on the team increases and, as a consequence, so do the product’s release times.

Internal development is the only solution for the most distinctive aspects of the software. For ancillary components, instead, beyond defocusing the team, it could be a weak choice in terms of security (as in the case of authentication) or functional coverage (subscription management).

At Startup Bakery we have already asked ourselves many questions on the subject and we have tried to give ourselves some answers.

Integration of third-party software

Integrating third-party components can seem the best choice when you want to increase development speed with little impact on the team. Relying on widely adopted commercial products of proven quality brings an advantage in terms of security and reliability. There are, however, some aspects to consider:

searching for the software to integrate takes time and attention;

the final selection of the software requires tests and Proofs of Concept borne by the team, to verify how the chosen service works and whether it actually matches expectations;

the integration cost, in terms of development hours and data model adaptation, can be considerable;

the subscription costs of the service can be high and hard to estimate, above all with products with variable pricing and as the load on the SaaS grows;

the privacy problems that can emerge in the case of services delivered outside the European Union;

the dependence of fundamental SaaS logic on other services over which you have no control, and which can change over time.

This last point is a risk that grows in proportion to the number of integrations, and it is all the higher the closer the integrations are to the “core” of the SaaS. It must therefore be mitigated at integration design time.

Last but not least, managing many external services (each with its own dashboards, subscriptions and configurations) is by no means a trivial task.

Internal development or integration of external software: which to choose?

As a general rule, internal development remains the best choice if the feature is very close to the SaaS’s business logic, or if developing it presents a complexity comparable to developing an integration.

Integrating external services, instead, is the best choice for specialist, delicate features, above all when the market offers proven solutions recognised as standards. The same holds when security must be guaranteed, as in the case of authentication, subscription management and payments. In these cases, it is preferable to choose a third-party service delivered by reliable providers, with good integration documentation available.

In all the other cases, an accurate cost/benefit assessment of both possibilities becomes necessary.

Startup Bakery helps its startups in this choice, providing a framework made of software modules ready to integrate, high-value services, including an NLP pipeline (Natural Language Processing), various ancillary services based on machine learning, available via API, and third-party software selected across various areas, from authentication to payment management.

Through the Framework and the Startup Bakery team’s experience in SaaS development, the software research and selection phases are strongly reduced, including the study of integrations and of the impact on the data model, as is the development of many ancillary components, allowing the startup’s team to concentrate more on the product and shortening the road to the long-awaited MVP (Minimum Viable Product).

Startup Bakery is the Italian startup studio specialised in creating B2B SaaS companies with Artificial Intelligence. We offer aspiring Co-Founders the opportunity to develop a business idea. We create investment opportunities for Professional Investors. We help companies in their innovation process.