Firma o krok nad przepaścią. Jak nie doprowadzić do bolesnego upadku?
W poprzednim wpisie z tej serii przedstawiliśmy dane, które udowadniają, że prowadzenie startupu to praktycznie balansowanie nad przepaścią. W każdej chwili można sięgnąć dna i to z kilkunastu różnych powodów, zaczynając od problemów z pozyskaniem finansowania, kończąc na nieumiejętnym podejściu do budowy oraz rozwoju produktu. Jeżeli jeszcze nie czytaliście naszego wpisu: „5 najważniejszych powodów, przez które Twój startup upadnie”, zapraszamy do lektury.
W dzisiejszym wpisie skupimy się już bezpośrednio na problemach produktowo-technologicznych, jakie obserwujemy z perspektywy Software House’u, a które nierzadko, podstępem, doprowadzają startupy i szybko rozwijające się firmy do fatalnego końca. Jeżeli nie na samym początku ich drogi, to po kilku latach istnienia na rynku, kiedy to właśnie powinny stabilizować swoją pozycję. Podpowiemy także, jak można się przed nimi zabezpieczyć albo co zrobić, kiedy zauważamy pierwsze niepokojące sygnały.
Huston, mamy problem, czyli kiedy biznesy popadają w tarapaty?
Na początku wydaje się, że wszystko pójdzie gładko. Jest pomysł, jest rozwiązanie, jest zespół gotowy do pracy. Jednak jak omówiliśmy w poprzednim artykule, większości startupów (podobnie jak firm nastawionych na szybki rozwój) się nie udaje. Czasem problem zaczyna się już na początku, a czasem wychodzi dopiero w kolejnych latach funkcjonowania biznesu. Pocieszające jest jednak to, że niemal przed każdym niebezpieczeństwem można się ustrzec, a wiele z nich da się rozwiązać, jeśli wychwyci się je wystarczająco szybko.
Problemy, z jakimi mierzą się firmy, podzielić można na cztery główne kategorie, przy czym trzy pierwsze łączą się bezpośrednio z fazą, w jakiej znajdują się prace nad rozwiązaniem:
- Produktowe
Faza I – sam początek prac nad produktem, a właściwie nad jego odkryciem.
- Produkcyjne
Faza II – stopniowe wdrażanie produktu, wypuszczenie pierwszych MVP.
- Technologiczne
Faza III – utrzymanie i rozwój produktu w następujących latach.
- Ludzkie
Każda faza – najtrudniejsze do rozwiązania 😉
1. PROBLEMY PRODUKTOWE
Powiedzmy sobie szczerze: nie ma nic gorszego od zainwestowania czasu, pieniędzy i zaangażowania w produkt, który nikogo nie zainteresuje albo okaże się kompletnie nieprzydatny. Jak pokazują dane, ponad 40% startupów i nowopowstałych firm popełnia błąd już na etapie tworzenia modelu biznesowego i myślenia nad docelowym rozwiązaniem. To bardzo niepokojące wnioski i poważny problem: skąd tak duże rozminięcie się między z pozoru dobrym pomysłem a faktyczną potrzebą rynkową?
Firmy często powstają pod wpływem chwili. Na rynku pojawiają się pierwsze zauważalne zmiany i już przedsiębiorcy szukają pomysłu na biznes, który będzie miał szansę zaistnieć w nowej rzeczywistości. Widać to na przykładzie wybuchu pandemii, która najpierw na parę miesięcy wstrzymała wszystkie działania, a potem była przyczyną rozkwitu wielu nowych przedsięwzięć. Chęć szybkiej reakcji i wyprzedzenia potencjalnej konkurencji najczęściej prowadzi do zbyt płytkiej analizy rynku. Twórcy koncentrują się na innowacyjności produktu i oczyma wyobraźni już widzą, w jaki sposób pomoże on przyszłym odbiorcom. Problem w tym, że między wyobrażeniem a rzeczywistym popytem może istnieć ogromna przepaść.
Najczęstsze błędy produktowe, które popełniają firmy nastawione na szybki wzrost:
- Płytka analiza rynku lub jej zupełny brak, kierowanie się własnymi wyobrażeniami;
- Brak określenia i analizy grupy docelowej;
- Ignorowanie potrzeb klientów i zakładanie, że „wie się lepiej”, czego potrzebują;
- Zbyt wczesne wypuszczenie produktu (produkt może być niedopracowany lub czas może być nieodpowiedni. Przykładowo wypuszczenie nowego rozwiązania na początku pandemii, kiedy ludzie najbardziej się bali, mogło prowadzić do negatywnego odbioru lub całkowitego zignorowania oferty);
- Zbyt późne wypuszczenie produktu (trudność z przebiciem się przez konkurencję lub potrzeba rynkowa uległa zmianie i produkt jest nieaktualny już od samego początku);
- Słaby model biznesowy (brak sprecyzowania, w jakim kierunku produkt i oferta będą rozwijane w przyszłości, kiedy zaspokoi się główne potrzeby klientów);
- Brak pomysłu na monetyzację rozwiązania;
- Produkt nieprzyjazny dla odbiorców, trudny w obsłudze, mało intuicyjny,
- Zły dobór technologii do projektu.
W jaki sposób najlepiej zweryfikować swoje pomysły, zanim uruchomi się całą produkcyjno-promocyjną maszynę działań wokół rozwiązania, którego być może nikt nie potrzebuje? Najlepiej sięgnąć do mechanizmów, jakie stoją za podejściem Product Discovery, a więc wypracowanych sposobów na odkrywanie wartościowych produktów.
Product Discovery prowadzi do zmniejszenia niepewności, jaka towarzyszy wprowadzaniu na rynek nowego rozwiązania. Jest to powtarzalny proces, którego celem jest odkrycie rzeczywistych potrzeb lub problemów docelowego odbiorcy. Zebrane informację pomagają w walidacji pierwotnego pomysłu, wyznaczają kolejne kroki projektowe i rozwijają produkt w zgodzie z oczekiwaniami rynku. Co jednak ważne, nie ma on jednej narzuconej formy, a raczej kilka faz, w których wykorzystywane są indywidualnie dobierane narzędzia badawcze. Wszystko zależy od projektu i hipotez postawionych względem budowanego rozwiązania — może to być pogłębiona analiza danych, techniki tworzenia wizji produktów, warsztaty z twórcami, badania z użytkownikami, eksperymenty, wywiady czy budowa prototypów.
Proces Discovery w dużej mierze opiera się o feedback zebrany z rynku, a całość idealnie wpisuje się w zwinne metodyki wytwarzania oprogramowania. Działania prowadzone są w krótkich iteracjach, dzięki czemu proces produkcyjny pierwszych MVP można zacząć stosunkowo szybko.
[su_service title=”Wniosek:” icon=”icon: check” icon_color=”#bbe2ef” size=”36″]Biorąc pod uwagę presję czasu, pod jaką działają startupy i młode firmy, trudno się dziwić, że w wielu aspektach szukają drogi na skróty. Aby jednak projekt odniósł sukces, trzeba wypracować pewien balans oraz szukać rozwiązań, które pozwolą pracować szybko i mądrze. Proces odkrywania produktu zwiększa szanse, że wszystkie kolejne działania będą bardziej skuteczne, a biznes nie okaże się tylko pustą wydmuszką o dużych planach, ale małych możliwościach. [/su_service]
https://www.altkomsoftware.com/pl/blog/ile-wiesz-o-swoim-produkcie-20-metod-na-odkrycie-prawdziwych-potrzeb-twoich-odbiorcow/
2. PROBLEMY PRODUKCYJNE
Kiedy mamy już pewność, jaki problem chcemy rozwiązać i jakie narzędzie jest nam do tego potrzebne, przychodzi pora na rozpoczęcie prac programistycznych. Praktycznie każdej firmie zależy na czasie, ale startupy i młode biznesy jeszcze bardziej odczuwają presję upływających tygodni. W efekcie praca nad rozwiązaniem polega na ciągłych zmianach i nieustannym publikowaniu nowych wersji oprogramowania. W dłuższej perspektywie takie podejście stanowi niewątpliwe wyzwanie, dlatego całość należy zawczasu przemyśleć i ściśle kontrolować. W przeciwnym wypadku wszelkie zaniedbania i niedociągnięcia zaczną boleśnie mścić się na kolejnych etapach projektu.
Jakie są najczęstsze problemy produkcyjne projektów IT?
- Długi czas oczekiwania od momentu zmiany w kodzie, do chwili wdrożenia jej na środowisko;
- Brak automatycznych testów w przypadku każdej zmiany kodu, przez co trudno wykryć błąd, jeżeli do repozytorium trafi kilka zmian równocześnie;
- Brak usystematyzowanego standardu pracy. Budowane rozwiązanie może inaczej działać u różnych programistów i nie tworzyć spójnej całości;
- Zapominanie o regularnym uruchomianiu testów.
Wszystko to powoduje opóźnienia i przekraczanie terminów, a praca nad produktem jest mało elastyczna i często droższa niż w pierwotnych założeniach. A to, szczególnie w przypadku startupów, może przełożyć się na problemy z finansowaniem. Na szczęście z pomocą przychodzą tu dobre praktyki ciągłości i automatyzacji wszystkich etapów wdrażania kodu, czyli praca z wykorzystaniem składowych Continuous Development (Continous Integration oraz Continous Delivery). Każdy zespół zaangażowany w proces wytwórczy nowoczesnego oprogramowania powinien być świadomy, jakie korzyści płynną z ich wykorzystania w projekcie oraz jakie ma to przełożenie na rozwój produktu.
Tak naprawdę jest to pewnego rodzaju kultura pracy nad tworzeniem oprogramowania, dzięki której zespół developerów może częściej dostarczać przetestowane i sprawdzone zmiany w kodzie. W ogólnym ujęciu procesy Continuous Development odpowiadają za ciągłość kompilacji i testów tworzonego kodu, a więc automatyzują budowanie gotowych paczek, testowanie, analizę kodu i wdrażanie zmian na różne środowiska. W tym podejściu do tworzenia oprogramowania, zmiany są możliwie małe i możliwie często (w sposób automatyczny) trafiają na środowiska docelowe.
Największe zalety wdrożenia rozwiązań opartych o Continuous Development:
- Szybsze opracowywanie i wdrażanie nowych funkcjonalności;
- Elastyczne reagowanie na potrzeby użytkowników i ciągła praca nad poprawą jakości rozwiązania;
- Usprawnienie procesu testowania i stały monitoring rozwoju produktu;
- Mniej błędów i szybsze wyłapywanie pomyłek czy błędnych fragmentów kodu;
- Większa dbałość o jakość i czystość kodu, a więc mniejszy próg wejścia w razie zmiany lub poszerzenia zespołu;
- Poprawa produktywności zespołów i większa satysfakcja z pracy.
[su_service title=”Wniosek:” icon=”icon: check” icon_color=”#bbe2ef” size=”36″]Chociaż praca w oparciu o dojrzały proces CI/CD wymaga doświadczonego zespołu i inwestycji w dodatkowe narzędzia, to w rezultacie jest to najlepszy sposób na uniknięcie opóźnień w dostarczaniu kolejnych wersji oprogramowania. Marzeniem wielu firm jest posiadać całkowicie zautomatyzowane środowisko pracy, ale osiągnięcie takiego poziomu, szczególnie w trwających projektach, nie jest wcale takie proste. Startupy i firmy będące na początku swojej drogi mogą od razu wprowadzić dobre praktyki i świadomie budować produkt, a te będące już na jakimś stopniu zaawansowania prac, dążyć do stopniowej automatyzacji procesów. Szczególnie jeżeli już teraz zaczynają odczuwać skutki opóźnień i błędów w projekcie. [/su_service]
https://www.altkomsoftware.com/pl/blog/a-co-jezeli-twoja-firma-urosnie-szybciej-niz-produkt-sprawdz-dojrzalosc-swojego-procesu-ci-cd/
3. PROBLEMY TECHNICZNE
Nikt nie lubi zaciągać długów, ale czasami świadomie decydujemy się na zadłużenie, jeżeli jest to jedyna droga do osiągnięcia celu. I tak jak w przypadku kredytu na dom zdajemy sobie sprawę, że pożyczkę będziemy musieli spłacić, tak w przypadku rozwoju oprogramowania techniczne zadłużenie również wymagać będzie inwestycji pieniężnych. A im dłużej zwlekamy ze spłatą, tym wyższy koszt całkowity.
Dla startupów i szybko rosnących firm walutą jest czas. Trzeba wystartować z produktem przed konkurencją, zweryfikować pomysł i zacząć na nim zarabiać. Presja jest ogromna, a budowa oprogramowania przecież trwa. A im bardziej przemyślany i dopracowany projekt, tym początkowo droższy i bardziej czasochłonny. Dlatego firmy decydują się pójść na skróty i zrealizować tańszą oraz szybszą opcję, która nie jest idealna na starcie, ale pozwoli uruchomić pierwsze działania. Jeżeli jest to w pełni świadomy wybór, wraz z przemyślaną i zaplanowaną spłatą, nie musi być to wcale złe wyjście.
Gorzej, że nie zawsze pozostajemy świadomi zaciąganego długu technicznego albo nie zdajemy sobie sprawy, jak szybko zaczną narastać jego odsetki. Koszt spłaty może w pewnym momencie zacząć przerastać inwestycję w projekt. Tym samym tworzone rozwiązanie przestaje być rentowne, a fundusze topnieją w oczach.
Przykładowe sytuacje, w których firmy nieświadomie zaciągają dług techniczny:
- Koncentracja na szybkim pozyskiwaniu klientów, zamiast rozwoju oprogramowania.
Firmy powierzchownie traktują problem i tworzą rozwiązanie, które tylko częściowo go adresuje. Skupiają się na promocji swojego pomysłu, przyspieszając wdrożenie niegotowych wersji. Kiedy okazuje się, że aplikacja nie spełnia wszystkich oczekiwań klientów, zaczyna się nerwowe dodawanie kolejnych funkcjonalności lub firma spotyka się ze ścianą.
Czasem łatwiej zacząć od początku niż pracować na źle zaprojektowanym oprogramowaniu.
- Brak spojrzenia w przyszłość i ograniczona współpraca na linii biznes-technologia.
Rozwiązywanie bieżących problemów to łatwy sposób pozyskania klientów tu i teraz, ale co dalej? Czy za dwa, trzy, pięć lat wypracowany model biznesowy ma szanse nadal istnieć? Jeżeli tak, to w jakiej formie: niezmiennej czy w planach jest stały rozwój?
Brak długoterminowych planów to nie tylko zagrożenie ze strony biznesowej, ale także dla technicznej strony projektu. Liderzy IT muszą znać plany odnośnie przyszłości biznesu, a najlepiej w nich uczestniczyć. Dzięki temu przygotują się na przyszłe wyzwania technologiczne i będą bardziej świadomie podejmować decyzje architektoniczne.
- Zadowolenie się stabilnością rozwiązania i ignorowanie sygnałów z rynku.
Produkt działa, klienci zadowoleni, więc po co dodatkowo kombinować? Taka postawa nierzadko zwiastuje początek poważnych problemów. Moment, w którym wychodzimy na rynek z ciekawym produktem, to również moment, w którym konkurencja zaczyna pracować nad jego lepszą wersją.
Świat idzie do przodu, a rozwiązanie stoi w miejscu. W pewnym momencie może być już tak zadłużone (np. w wyniku braku aktualizacji oprogramowania), że kiedy do właścicieli wreszcie zaczyna docierać potrzeba zmian, jest już zbyt późno, aby skutecznie wyjść z zadłużenia.
[su_service title=”Wniosek:” icon=”icon: check” icon_color=”#bbe2ef” size=”36″]Nawet jeśli tworzymy okrojony produkt, chcąc iść na skróty, to jego podstawa (architektura, wybrana technologia) musi zostać tak przemyślana, aby w przyszłości nie być ograniczeniem. Ograniczając się już u samych podstaw, możemy sobie całkowicie zablokować drogę rozwoju. A jeżeli ciężar kolejnych funkcjonalności przeważy zbudowany fundament, rozwiązanie zacznie rozpadać się na naszych oczach. I być może zabraknie ludzi, którzy będą chcieli je w jakikolwiek sposób łatać — programiści nie chcą pracować na przestarzałych technologiach a inwestorzy dokładać do czegoś, co właśnie przemija.
A co zrobić, jeśli już odczuwasz skutki długu technicznego? Musisz nauczyć się nim zarządzać (o tym już w następnym artykule!)[/su_service]
https://www.altkomsoftware.com/pl/blog/biznes-na-kredyt-czyli-jak-zarzadzac-dlugiem-technicznym-kiedy-twoim-priorytetem-jest-szybki-wzrost/
4. PROBLEMY LUDZKIE
Do czwartej kategorii zaliczymy wszelkie problemy z rekrutacją, utratą pasji, wypaleniem zawodowym, brakiem wytrwałości, niewłaściwym marketingiem, pozyskiwaniem finansowania czy trudnościami w komunikacji i wizji rozwoju startupu w przyszłości. Jest o ona niemniej ważna od pozostałych i – w naszej ocenie – najtrudniej się przed nią zabezpieczyć. Nie mamy gotowego rozwiązania na trudności, jakie mogą zachodzić akurat w tych najbardziej ludzkich aspektach, ale za to jak widać powyżej, przygotowaliśmy receptę na pozostałe trzy kategorie.
Chociaż sformułowanie „proces wytwórczy oprogramowania” nie brzmi zbyt kusząco, to jest rozwiązaniem na zdecydowaną większość problemów, które prędzej czy później napotka na swojej drodze niemal każda rozwijająca się firma. Mimo presji czasu oraz różnych ograniczeń, jakie wiążą się z tworzeniem produktów cyfrowych w nieznanym środowisku i w ryzykownym modelu biznesowym, istnieją procesy i narzędzia, które pomogą zyskać pewność, a następnie stworzyć rozwiązanie, które odniesie sukces.
W tym celu warto sięgnąć po pomoc doświadczonego partnera, który zabierze Cię w podróż po procesie budowy dedykowanego oprogramowania. Krok po kroku pokaże, jak skutecznie poprowadzić projekt IT, uniknąć błędów, opóźnień i technicznych długów, a przy okazji działać na bieżąco i szybko dostrzegać pożądane efekty.
Software as a Journey
Poznajmy razem ścieżkę, która uchroni Twój biznes przed bolesnym upadkiem