Tento mesiac vypíname posledný SaaS nástroj v systéme, ktorý sme stavali 18 mesiacov. Keď sme začínali, tieto nástroje boli hrdinom celej architektúry. Dnes sú tou časťou, ktorú vytrhávame.
Tu je, ako sme sa k tomu dostali a prečo by som to pravdepodobne urobil inak, keby som ten istý projekt rozbiehal dnes.
Ako sme sa sem dostali
Pred rokom a pol sme mali discovery stretnutie s klientom zo zdravotníckeho sektora. Previedli nás svojimi workflowmi, nástrojmi, ktoré používali, a tým, ako bolo všetko prepojené. Neudivila nás samotná komplexnosť, ale fakt, že netechnickí ľudia dokázali z bežne dostupných nástrojov postaviť niečo takto funkčné. Zapier, Typeform, Salesmate… Skutočný hrdina, poskladaný zo SaaS nástrojov.
Našou úlohou bolo postaviť nad tým všetkým centrálny systém. Zákaznícky portál, ktorý prepojí existujúce nástroje a urobí celú skúsenosť self-service. To, ako reálne fungujú zdravotnícke kliniky, je komplikovanejšie, než by ste si mysleli :D, ale vtedy bol plán jednoduchý: ponechať SaaS nástroje, postaviť okolo nich portál a integrovať medzery.
Spočiatku sme si mysleli, že opieranie sa o tieto nástroje nám uľahčí život. A pri prvom release to tak naozaj bolo.
Skutočný problém: zdedíte každé obmedzenie každého nástroja
Tu je to, čo sme podcenili. Keď staviate centrálny systém, ktorý závisí od piatich SaaS nástrojov, neintegrujete len päť API. Zdedíte päť sád obmedzení. Z každého workaroundu v každom nástroji sa stane workaround vo vašom systéme. Každá zvláštnosť, každé blackbox správanie, každá chýbajúca funkcia, každý release plán, ktorý neovládate — to všetko teraz žije vo vašom stacku.
A neexistuje žiadna inžinierska disciplína, ktorá by to dokázala zmierniť. Z produktových rozhodnutí niekoho iného sa nedá vyrefaktorovať.
Počas 18 mesiacov nás zlomili tri veci, všetky vyvierajúce z tohto jedného koreňa.
Tri zdroje pravdy
Centrálnou entitou v týchto workflowoch bol produkt. Produkty sme potrebovali mať aspoň v dvoch SaaS nástrojoch plus v našom centrálnom systéme. Dva zdroje pravdy sú už problém. Tri? Predstavte si personál kliniky, ktorý sa pozerá na produkt vo svojom CRM a vidí zlú cenu, kým náš centrálny systém a zákazníkov checkout ukazujú tú správnu. Zákazník je v poriadku. Ale personál teraz robí rozhodnutia na základe zlého čísla a analytika, ktorú v tom CRM sledujú — tržby, konverzia, výkon na produkt — je nenápadne mimo. Odpoveď bola vždy rovnaká: dúfať, potom overiť.
Testovanie bez záchrannej siete
Väčšina SaaS nástrojov vám nedá dev prostredie. A navyše regulované zdravotníctvo znamenalo, že niektoré z legacy systémov v stacku boli štátom certifikované — žiadne poriadne API, žiadne testovacie prostredie a žiadna šanca na výmenu.
Testovanie sa tak zmenilo na dúfanie. V našom dev prostredí sme postavili falošných providerov, ktorí vracali falošné výstupy, a tieto falzifikáty sme museli držať v synchronizácii s tým, čo vracali reálne nástroje (čo bolo často nezmapované územie). V produkcii sme deployovali a sledovali.
Toto je tá časť, ktorú CTO pocíti v žalúdku. Nedá sa napísať zmysluplný integračný test proti systému, ktorý nemá testovací režim.
Personál odskakujúci medzi prihlasovacími obrazovkami
Systém prestal byť len pre klientov. Žil v ňom aj samotný personál kliniky. Zakaždým, keď museli preskočiť z nášho portálu do inak vyzerajúceho CRM alebo formulárového nástroja, sa friction nabaľoval. Kde sa dalo, použili sme SSO, ale SSO nevyrieši fakt, že ste v inom systéme, s iným mentálnym modelom, a pozeráte sa na iné tlačidlá. Naším cieľom bolo minimalizovať kliky. SaaS stack ich maximalizoval.
Cena
Veľkým faktorom bola aj cena. Ekonomike SaaS verzus custom sa povenujeme v samostatnom článku, ale tu je krátka verzia: zmena za posledných 18 mesiacov bola enormná. Kedysi bolo nemysliteľné nahradiť SaaS nástroj custom riešením a reálne pritom ušetriť. Teraz je to úplne možné a v mnohých prípadoch to dáva dokonalý zmysel.
Akonáhle klesla cena vývoja, každý z vyššie spomenutých problémov prestal byť kompromisom a stal sa daňou.
Takže, urobil by som to znova?
Ak váš centrálny systém závisí pri jednom kľúčovom workflowe od viac než dvoch SaaS nástrojov, dedíte viac obmedzení, než si uvedomujete. Náklady na integráciu sú viditeľné. Daň za testovanie-bez-záchrannej-siete, tri-zdroje-pravdy a personál-odskakujúci-medzi-nástrojmi viditeľná nie je — kým si ju neodžijete celý rok.
Skôr než podpíšete ďalšie obnovenie, prepočítajte si matematiku custom vývoja. Číslo, ktoré dostanete späť, nebude tým, ktoré ste dostali pred dvoma rokmi. Ak hľadáte odrazový bod, spísali sme, ako rozmýšľame nad nahrádzaním SaaS custom riešeniami.
Urobil by som tento projekt rovnako pred 18 mesiacmi? Pravdepodobne. Urobil by som ho rovnako dnes? Takmer určite nie. SaaS-glue štart bol pre svoj moment správny. Moment sa zmenil rýchlejšie než architektúra a práve tomu sa oplatí venovať pozornosť.
Autentické myšlienky od človeka mňa :). Gramatiku opravila AI.