Dlaczego powstał model sprzedaży oprogramowania typu SaaS?
Bo nie ma komu robić. Tyle. Na tym mógłbym skończyć ten artykuł, ale jednak zastanówmy się dlaczego tak się stało.
Wróćmy do początków
Nie zawsze rynek oprogramowania wyglądał tak jak w momencie, gdy czytasz ten artykuł. Możliwe że niektóre (lub wszystkie) stwierdzenia są już nieaktualne, lecz warto pamiętać jaki jest stan na rok 2021. Przez lata 70″ i 80″ oprogramowanie było dostarczane zazwyczaj ze sprzętem i nie było przenośnie. Zdarzały się wyjątki, lecz nie było to powszechne (bazuję na opiniach osób pamiętających tamte czasy). Oprogramowanie było pisane na specjalne zamówienie, czasami zdarzały się programy komercyjne. Taka sytuacja rynku utrzymała się do początku lat 90″, kiedy to znaczna część oprogramowania musiała być nadal pisana na zamówienie przez specjalistów ze względu na ograniczoną moc obliczeniową dostępnego sprzętu i specyficzne wymagania. Sytuacja się zmieniła, sprzęt przestał być tak wielką barierą (choć nadal nią jest), a narzędzie dla programistów stały się bardziej dostępne. Naturalnym krokiem jest wzrost zapotrzebowania na oprogramowanie pisane na zamówienie. Od strony biznesowej szukano modelu sprzedaży pozwalającego na efektywniejsze wykorzystanie czasu programistów. Umożliwiło to przenośność oprogramowania pomiędzy komputerami różnych producentów w tej samej architekturze (x86-64) oraz większe jej ujednolicenie na początku XX w.
Przyszedł czas na sprzedaż gotowego oprogramowania jako produktów
Pisane na zamówienie programy były w miarę powtarzalne i w miarę popularyzacji wykorzystania komputerów pojawiły się firmy zajmujące się produkcją typowego oprogramowania. Wyciągnięto takie rzeczy jak systemy sprzedaży (CRM) oraz systemy do wystawienia faktur jako część powtarzalną w każdym przedsiębiorstwie. Przykładem są także wszelkie pakiety biurowe lub aplikacje wspomagające prowadzenie firmy, które wyewoluowały w systemy ERP.
Brak rąk do pracy
Uczelnie techniczne są w stanie wykształcić skończoną liczbę specjalistów, którzy nawet po tym jak zakończą edukację nabywają doświadczenia od starszych od siebie. Ograniczone możliwości wykształcenia wykwalifikowanej kadry zmuszają do zmiany podejścia. Taki proces jest kosztowny dla firmy, gdyż programista (oraz każdy członek zespołu deweloperskiego) nie wnosi na początku wartości dla projektu.
Cięcie kosztów
Utrzymanie własnego zespołu piszącego oraz utrzymującego oprogramowanie wiąże się nie tylko z kosztami utrzymania tego zespołu, ale także innych członków firmy dla których oprogramowanie. W przypadku korzystania z gotowego oprogramowania lub także jego dostosowania dla konkretnych przypadków odchodzi zupełnie proces development’u, utrzymania oraz aktualizowania. Szczególnie w przypadku małych i średnich przedsiębiorstw takie działania pochłaniały znaczące części budżetu. Kadrę trzeba szkolić, a sprzęt wymieniać.
Optymalizacje
Zamiast pisać całe systemy od początku pojawił się pakiety wspomagające (nazwane później framework’ami) lub oprogramowanie umożliwiające dostosowanie takie jak systemy ERP. Okazało się że znacząca część problemów jest powtarzalna w każdym przedsiębiorstwie. Każda firma ma jakiegoś klienta, który kupuje produkty lub usługi i wystawia za to jakąś formę zapłaty. Nie był to już moduł jak w przypadku CRM czy systemy do wystawienia faktur, lecz oprogramowanie mogące być niższym kosztem dostosowane do potrzeb danej organizacji. Specyficzne elementy zaczęły byś dostosowane przez pluginy lub moduły łączące się z API lub inną formą integracji oprogramowania.
Dynamicznie zmieniające się potrzeby
Czas dostarczenia oprogramowania (ang. Time To Market) stał się rzeczą kluczą w niektórych przypadkach. Własny zespół deweloperski dobrze jakby skupił się tylko na tym co wnosi wartość biznesową i może dać organizacji przewagę, a resztę powtarzalnych funkcji była dostarczana przez zewnętrznego dostawce. Taki układ pozwala skrócić czas dostarczenia i znacznie bardziej efektywne tworzenie oprogramowania.
W którą stronę idą duzi gracze?
Firmy małe i średnie w przypadku, gdy istnieją już usługi typu SaaS i nie mają specyficznych wymagań starają się optymalizować koszty. Duzi gracze mimo dysponowania dużo większymi zasobami także implementują rozwiązania typu SaaS. Powód jest prosty – znacznie lepsze wykorzystanie zasobów. Część oprogramowania jest dostarczona jako usługa i firma nie musi go utrzymywać, jednoczenie firm z takim zapotrzebowaniem jest znacznie więcej.
Podsumowanie
Moim zdaniem SaaS i tworzenie oprogramowania będzie kolejną zmianą. Programiści będą się obawiać że zabierze im to pracę (bo sami przecież napisali by to lepiej), jednak tak jak w przypadku języków wyższego poziomu lub framework’ów to zmiana wymuszona przez rynek. Czy taki model się przyjmie i gdzie zostanie model tradycyjnego wytwarzania oprogramowania pokaże rynek.