top of page
  • Zdjęcie autoraWojciech Zawistowski

Narzędzia do pracy: budować in house czy kupić z rynku? 






Wojciech Zawistowski VP of Engineering w Contractbook, firmie tworzącej platformę SaaS do centralizacji, zarządzania cyklem życia i ekstrakcji danych z cyfrowych kontraktów. Ma ponad 20 lat doświadczenia w firmach produktowych, przy budowaniu zarówno narzędzi in house jak i komercyjnych, dla szerokiej gamy branż: podatki, turystyka, legal tech i innych. Specjalizuje się w budowaniu i zarządzaniu cross-funkcyjnymi, zwinnymi zespołami programistycznymi, zorientowanymi na produkt i klienta. Autor treści związanych z karierą i rozwojem zawodowym dla software developerów. Publikuje na LinkedIn oraz w newsletterze.



Autentika: Załóżmy, że potrzebujemy w firmie narzędzia do pracy – na przykład do przygotowania i obsługi umów lub planowania grafiku pracowniczego. Czy Twoim zdaniem lepiej takie narzędzie zbudować wewnątrz firmy (zakładając, że dysponujemy zespołem) czy też szukać gotowego rozwiązania na zewnątrz? 


Wojciech Zawistowski: Osobiście w takiej sytuacji dostrzegam głównie minusy rozwiązań in house, a największym z nich jest koszt i ilość pracy. Istotne jest, by wziąć pod uwagę nie tylko budowanie rozwiązania przez zespół programistyczny, ale także to, że narzędzie trzeba potem rozwijać i utrzymywać. Po jednej stronie mamy więc kupno narzędzia za kilkanaście, kilkadziesiąt czy kilkaset tysięcy złotych, a po drugiej – koszty utrzymania 10-osobowego teamu programistów przez rok, czyli koszt rzędu kilku milionów. I mówimy tutaj o jednym narzędziu, tymczasem w organizacji potrzebujemy ich wielu – nie tylko do umów czy planowania grafiku, ale też np. fakturowania, kampanii mailingowych, CRM i tak dalej. 


Bazując na moim doświadczeniu w Contractbooku mogę powiedzieć, że zrobienie podobnej do naszej aplikacji in house jest niemal niewykonalne. Oczywiście, zaczynaliśmy jako startup, ale w szczytowym okresie nasz zespół produktowy miał 60 osób. I mówię tu tylko o jednym produkcie, który rozwijamy od sześciu lat! Giganci tacy jak Microsoft albo Google może mogą sobie pozwolić na podobne prace, ale małe i średnie firmy już nie. Tam jeden zespół przeważnie pracuje nad kilkoma narzędziami – a na tym zawsze cierpi jakość produktu. 


Czy zatem narzędzia budowane in house są ogólnie gorszej jakości?


Przy narzędziu budowanym wewnętrznie pewne rzeczy mogą ujść na sucho. Budując wewnętrzną aplikację, można powiedzieć kolegom: Wiecie, tu będzie taki i taki trik. Aplikacja działa, choć na przykład nie ma ładnego interfejsu użytkownika. Jednak oprócz kwestii jakości ważne jest też nastawienie użytkowników, które mocno zmieniło się w ostatnich latach. Sam pamiętam jeszcze stare narzędzia do fakturowania, pisane pod MS-DOS, gdzie nikt nie oczekiwał super interfejsu i komfortu użytkowania.


Dzisiaj użytkownicy mają coraz więcej do czynienia z narzędziami online – i to zarówno programiści, jak i księgowi – i wszyscy chcą mieć dobre narzędzia do pracy. Więcej, kwestia jakości narzędzi czasem przesądza o tym, czy ktoś chce pracować w danej firmie.

Bo jeśli fakturowanie jest niewygodne i mało zautomatyzowane, cierpią na tym wszyscy. Tutaj więc zdecydowanie trudno dogonić ofertę i produkt zewnętrznej firmy.


Jednak zapewne są wyjątki. 


Tak, rzeczywiście. Wyjątkiem jest, jeśli jakiś obszar jest tak nowy, że jeszcze nie ma dobrych narzędzi. Tak było na przykład kilkanaście lat temu, gdy pisaliśmy własne narzędzia do analityki, bo Google Analytics było wtedy jeszcze dość młode i niedoskonałe. Nie wszyscy też mieli JavaScript w przeglądarkach i nie ufali jakości tej analityki. Dziś to niemal nie do pomyślenia, by pisać analitykę konkurującą z Google czy innymi profesjonalnymi rozwiązaniami. 


Drugim wyjątkiem jest sytuacja, w której firma działa na tak wielką skalę, że typowe rynkowe narzędzia jej nie wystarczają. Dziś jednak nawet ogromne sieci handlowe, które oprócz regularnej sprzedaży mają np. kupony promocyjne, karty podarunkowe, obsługę zwrotów, reklamacji, inne ceny dla produktów powystawowych w sklepie niż dla produktów online, dodatkowe usługi itp., korzystają z gotowych narzędzi. Kiedyś było to rzadkością. Dziś, aby obsługiwać subskrypcje, odroczone płatności, raty i płatności internetowe wystarczy jedna aplikacja, np. Stripe. Nie opłaca się więc budować "drugiego Stripe’a" dla jednej firmy, zwłaszcza że ceny tych narzędzi nie są szczególnie wysokie, a korzystać z nich mogą i duże sklepy, i np. jednoosobowe działalności czy influencerzy sprzedający swoje ebooki. 


Wyjątkiem może być też sytuacja, gdy procesy są tak skomplikowane i niestandardowe, że trudno je obsłużyć zewnętrznym narzędziem. Przykładowo, podczas mojej pracy w eSky, gdy wchodziliśmy na rynek brazylijski, konieczne okazało się stworzenie systemu do sprzedaży ratalnej, który jest w Brazylii bardzo popularny, a jednocześnie bardzo skomplikowany. Stworzyliśmy więc nasz własny system, który dodatkowo sprzęgliśmy z innymi.  


Rozumiem, że ta integracja miała wtedy duże znaczenie? 


Tak, bo mogliśmy połączyć np. konkretną rezerwację lotniczą z fakturowaniem, czego ówczesne systemy księgowe jeszcze nie robiły. Program księgowy to był program księgowy. Jak się chciało zaimportować faktury, trzeba było je zrzucić w postaci pliku CSV z jednego systemu i wciągnąć do innego. Aplikacje "nie rozmawiały" ze sobą tak jak dzisiaj, gdzie widzimy rezerwację, połączoną z nią fakturę, dane z systemu CRM i raportowanie, które dostarcza analizy działowi operacyjnemu. Wówczas w eSky doszliśmy do wniosku, że warto takie narzędzie zrobić i rzeczywiście to była duża wartość dodana. 


Wszystko ma jednak swoje granice – np. nie pisaliśmy własnego systemu księgowego czy systemu obsługi call center. Tu korzystaliśmy z profesjonalnych narzędzi. Widzę to jako odbicie reguły, że warto tworzyć wewnątrz firmy to, co zapewni nam przewagę konkurencyjną. Netflix słynie z niesamowicie dobrej jakości i szybkości odtwarzania filmów – to przewaga ich systemu. Ale jeśli moja firma będzie chciała zamieścić krótki filmik instruktażowy dla użytkownika, to raczej wybierzemy YouTube, a nie będziemy pisać drugiego Netfliksa. 


To, co według mnie warto niekiedy robić in house, to warstwę "kleju", który połączy ze sobą różne narzędzia tak, by mogły się komunikować. 

Czy dzisiejsze narzędzia dostępne na rynku na to nie pozwalają? 


Pamiętam okres, gdy pojawiły się pierwsze aplikacje online, które zastąpiły desktopowe programy instalowane w firmie. W tych nowych aplikacjach trudniej było wyeksportować czy zaimportować pliki, trzeba było się przełączać i przelogowywać. Producenci aplikacji szybko zaczęli myśleć o połączeniach – i tak popularność zyskało API. Dzisiaj nowoczesny program księgowy już nie eksportuje żadnych plików, które trzeba przetworzyć i zaimportować do innej aplikacji – API pozwala na pobranie danych, a kolejne API – import do kolejnej aplikacji. 


No dobrze, ale jak to się ma do tworzenia warstwy "kleju" przez zespół in house? 


Tutaj warto wyjaśnić, po co firmom w ogóle nowe narzędzia. Przecież księgować dokumenty można ręcznie, działało to przez tysiące lat. Sensem nie jest jednak pozyskanie nowej możliwości, tylko większa efektywność pracy, jej usprawnienie, oszczędność czasu i kosztów. W sytuacji, gdy systemy się ze sobą nie łączą, nie mamy tych oszczędności – bo wszystko trzeba wpisywać dwa razy, eksportować, importować itp. 


API było pierwszym krokiem do sklejenia aplikacji. Zespół in house mógł zbudować tylko warstwę łączącą dla obecnych już w organizacji narzędzi, zapewnić przepływ danych. W naszej sytuacji – znów wracam tu do eSky – to miało sens, bo narzędzia były jeszcze dość prymitywne i nie wszystko dało się zautomatyzować. Dzisiaj technologia rozwinęła się tak, że API są coraz bardziej standardowe, coraz lepsze, pojawiają się systemy, które pozwalają zaprojektować obieg danych czy proces w firmie, takie jak Zapier. Taka platforma potrafi rozmawiać z kilkoma tysiącami narzędzi, więc dziś robienie tej warstwy klejącej też nie zawsze ma sens.


A co, jeśli naprawdę mamy niestandardowy proces i dużą organizację? 


Według mnie, warto rozważyć, czy jednak nie dostosować się wtedy do standardowych procesów i dzięki gotowej aplikacji zaoszczędzić czas i pieniądze. Czy nasz unikalny workflow ma naprawdę aż takie znaczenie?


Jako Contractbook zdobywamy rynek tym, że robimy świetne narzędzie do tworzenia kontraktów, a nie że w jakiś bardzo specyficzny sposób sprzedajemy abonament za to narzędzie.

A co w przypadku, gdy z jakiegoś powodu nie chcemy gotowego narzędzia i jeśli do wyboru mamy stworzenie narzędzia in house lub zatrudnienie zewnętrznej firmy? 


Z mojego punktu widzenia agencja będzie tutaj droższa niż zespół wewnętrzny. Warto go ponieść, kiedy sami nie mamy wiedzy domenowej na dany temat – chcemy budować narzędzie księgowe, ale nie znamy się na księgowości. Tutaj jednak zadałbym pytanie o częstotliwość zmian w takim narzędziu. Często zamawiamy coś, kupujemy, a narzędzie się nie rozwija, mimo zmian w potrzebach firmy. Program księgowy na przykład trzeba aktualizować dość często, ale raczej ze względu na zmiany w prawie, nie zmiany wewnątrz firmy. Co innego, gdy kupujemy narzędzie obsługujące nasze unikatowe procesy. One zmieniają się bez przerwy. Tutaj więc jedynym wyjściem jest długofalowa współpraca z dostawcą, partnerstwo, a nie po prostu zakup produktu. 


Z czego Twoim zdaniem wynika to, że firmy dziś tak chętnie korzystają z gotowych rozwiązań – z postępu technologicznego, który pozwala na ich budowanie, czy też trendu standaryzacji procesów i potrzeby ich ujednolicania? 


Wynika to z pewnej dojrzałości rozwiązań online. Kiedyś standaryzacja nie była tak ważna, bo aplikacje były od siebie niezależne, a dane nie przepływały między nimi i trzeba było wiele rzeczy robić ręcznie. Internet i rozwój technologii chmurowych spowodowały jednak, że te standardy się ujednolicają.


Mamy coraz więcej rozwiązań w chmurze, coraz więcej firm ich używa, bo są tańsze, lepsze, wciąż aktualizowane.

Problemem wciąż pozostaje przepływ danych – i to nad nim dzisiaj większość firm pracuje. Wielu klientów nie chce nawet używać aplikacji takich jak Zapier, oczekują płynnego przesyłania danych od samych narzędzi. 


Contractbook na przykład sam zaciąga dane do umowy z systemu CRM takiego jak Salesforce czy Hubspot, a potem wysyła je do programu do faktur. Klient dostaje taką usługę niejako w standardzie zamiast samodzielnie łączyć wszystkie aplikacje. Tego dziś oczekują klienci – a naszym zadaniem jest im to zapewnić. Nie zawsze jest to proste, choć istnieją pewne oczywiste połączenia, które klient konfiguruje jednym kliknięciem. Czasem jednak konieczne jest niestandardowe połączenie – w czym także możemy pomóc. W każdym razie, warstwa "kleju" przerzucona jest na narzędzie, a nie na klienta i jest to bardzo wyraźny trend. To sprawia, że nawet jednoosobowe firmy są w stanie w ciągu kilku dni postawić sklep internetowy z płatnościami, pobieraniem cyfrowych produktów i fakturowaniem. 


Czyli innowacja dziś to raczej łączenie aplikacji i narzędzi niż same narzędzia? 


Narzędzia do pracy istnieją od tysięcy lat, ale nie są już obsługiwane ręcznie. Są też coraz lepiej połączone i to tutaj tak naprawdę leży oszczędność czasu i pieniędzy – w połączeniu i automatyzacji, która oszczędza wielu różnych czynności. Kolejnym krokiem jest (co robimy już w Contractbooku) traktowanie dokumentów jako danych. Umowa czy kontrakt nie jest więc rozumiana jako tekst, a jako dane. I tutaj otwiera się dziś pole do działania dla sztucznej inteligencji, która może wyłowić z takiego dokumentu np. liczby, kwoty, daty i przesłać je dalej albo np. ustawić przypomnienie o odnowieniu umowy. To powoduje największe oszczędności czasu i kosztów i będzie wiodącym trendem w przyszłości. 


Dodatkowo, ważny jest user experience, który w aplikacjach in house często traktowany jest po macoszemu. U nas jest na świeczniku i szczycimy się, że jest wygodny i przyjazny dla użytkownika. 

Jakie jeszcze zastosowania widzisz dla AI w narzędziach?


Wiele z dzisiejszych funkcjonalności to gadżety, które tak naprawdę nie przyspieszają pracy. A o to chodzi – o wyeliminowanie niepotrzebnych kroków i tutaj AI może się przydać. Pierwszym krokiem było zrobienie czegoś, co jest ładne i wygodne dla użytkownika. Drugim – automatyzowanie tej czynności, a trzecim – że sztuczna inteligencja robi to za nas. Oczywiście, nie można jeszcze stuprocentowo ufać AI i trzeba weryfikować to, co dostarcza, ale ten skok jakościowy już jest widoczny. Nasz klient nie musi już wertować setki kontraktów w poszukiwaniu jakiejś informacji, może dzięki AI przejrzeć potrzebne dane w postaci tabelki i tylko kliknąć "ok". Więc zamiast godzinami przeglądać umowy, wysyła je do aplikacji i w ciągu 20 minut ma wyciągnięte potrzebne dane. 


Jednak AI jest jeszcze na bardzo wczesnym etapie i zrozumienie, jak może działać w narzędziach do pracy jest jeszcze przed nami. 



Comments


bottom of page