SaaS: sviluppo interno o integrazione di software esterni?

Nell’analizzare le funzionalità che il software dovrà implementare, nella mente del CTO affiora un dubbio amletico: integrare software di terze parti o sviluppare la funzionalità internamente?
SaaS: sviluppo interno o integrazione di software esterni

La definizione dell’architettura software di un SaaS è uno dei compiti principali di un CTO (Chief Technology Officer). Il SaaS deve essere scalabile, stabile e di facile manutenzione. Deve garantire alta disponibilità e poter evolvere rapidamente con l’aggiunta di nuove funzionalità, pur sempre mantenendo la retrocompatibilità. 

Quando a realizzare il SaaS è una startup ci sono tre aspetti che assumono un’importanza fondamentale:

  • alta velocità di sviluppo, soprattutto nel caso del rilascio della prima versione pubblica;
  • budget limitato;
  • team di sviluppo poco numeroso.

Nell’analizzare le funzionalità che il software dovrà implementare, nella mente del CTO affiora quindi un dubbio amletico: integrare software di terze parti o sviluppare la funzionalità internamente?

Se nel caso di componenti molto vicini alla logica di business del SaaS, lo sviluppo interno è l’unica risposta possibile; per altri componenti – come ad esempio l’autenticazione, l’autorizzazione, l’invio di notifiche, la gestione di immagini e file, la gestione della subscription – la risposta non è così scontata.

Sviluppo interno

Con lo sviluppo interno l’aderenza funzionale è massima ma aumenta il carico di lavoro per il team e di conseguenza anche i tempi di rilascio del prodotto.

Lo sviluppo interno è l’unica soluzione per gli aspetti più peculiari del software. Per i componenti accessori, invece, oltre a defocalizzare il team potrebbe essere una scelta poco robusta in termini di sicurezza (come nel caso dell’autenticazione) o copertura funzionale (gestione della subscription).

In Startup Bakery ci siamo già posti molte domande a riguardo e abbiamo provato a darci delle risposte.

Integrazione di software di terze parti 

L’integrazione di componenti di terze parti può sembrare la scelta migliore quando si vuole aumentare la velocità di sviluppo con poco impatto sul team. Affidarsi a prodotti commerciali di larga diffusione e comprovata qualità porta un vantaggio in termini di sicurezza e affidabilità. Ci sono però alcuni aspetti da considerare:

  • la ricerca del software da integrare richiede tempo e attenzione;
  • la selezione finale del software richiede test e Proof of Concept a carico del team per verificare il funzionamento del servizio scelto e l’effettiva corrispondenza con le aspettative;
  • il costo di integrazione in termini di ore di sviluppo e di adattamento del data model può essere notevole;
  • i costi di sottoscrizione al servizio possono essere alti e difficilmente stimabili soprattutto in presenza di prodotti con pricing variabili e con l’aumentare del carico sul SaaS;
  • i problemi di privacy che possono emergere nel caso di servizi erogati fuori dall’Unione Europea;
  • la dipendenza di logiche fondamentali del SaaS da altri servizi su cui non si ha controllo e che possono variare nel tempo.

Quest’ultimo punto è un rischio che cresce proporzionalmente al numero di integrazioni ed è tanto più alto quanto più le integrazioni sono vicine al “core” del SaaS. Dunque, deve essere mitigato in fase di design dell’integrazione.

Ultimo ma non meno importante, la gestione di molti servizi esterni (ciascuno con le proprie dashboard, subscription e configurazioni) non è affatto un compito banale.

Sviluppo interno o integrazione di software esterni: quale scegliere?

Come regola generale, lo sviluppo interno resta la scelta migliore se la funzionalità è molto vicina alla logica di business del SaaS oppure se lo sviluppo della stessa presenta una complessità paragonabile allo sviluppo di un’integrazione. 

L’integrazione di servizi esterni, invece, è la scelta migliore per funzionalità specialistiche e delicate soprattutto quando il mercato offre soluzione rodate e riconosciute come standard. Lo stesso discorso vale quando deve essere garantita la sicurezza, come nel caso dell’autenticazione, gestione della subscription e dei pagamenti. In questi casi, è preferibile scegliere un servizio di terze parti erogato da soggetti affidabili e con una buona documentazione sull’integrazione a disposizione. 

Mentre in tutti gli altri casi diventa necessaria un’accurata valutazione costi/benefici di entrambe le possibilità. 

Startup Bakery aiuta le proprie startup in questa scelta, mettendo a disposizione un framework composto da moduli software pronti da integrare, servizi ad alto valore aggiunto, tra cui una pipeline NLP (Natural Language Processing), vari servizi accessori basati su machine learning, disponibili tramite API, e software di terze parti selezionati in vari ambiti, dall’autenticazione alla gestione dei pagamenti.

Tramite il Framework e l’esperienza nello sviluppo di SaaS del team di Startup Bakery, si riducono fortemente le fasi di ricerca e selezione del software, compreso lo studio delle integrazioni e dell’impatto sul data model, così come lo sviluppo di molte componenti accessorie, consentendo al team della startup di concentrarsi maggiormente sul prodotto e riducendo i tempi per arrivare al tanto agognato MVP (Minimum Viable Product).

Startup Bakery è lo startup studio italiano specializzato nella creazione di aziende SaaS B2B con Intelligenza Artificiale. Offriamo ad aspiranti Co-Founders l’opportunità di sviluppare un’idea di business. Creiamo opportunità di investimento per Investitori Professionali. Aiutiamo le aziende nel processo di innovazione.

  • Blog
  • SaaS: sviluppo interno o integrazione di software esterni?

Creiamo startup innovative

Startup Bakery, lo startup studio italiano specializzato nella creazione di aziende SaaS B2B con Intelligenza Artificiale.