Ukryte koszty rozwoju oprogramowania, które należy przewidzieć po uruchomieniu aplikacji

Ukryte koszty rozwoju oprogramowania, które należy przewidzieć po uruchomieniu aplikacji

Tworzenie aplikacji

Po miesiącach ciężkiej pracy aplikacja dedykowana w końcu działa. Ale kiedy przeglądasz swoje finanse, zauważasz, że miesięczne wydatki nie spadły - jeśli w ogóle, to wzrosły. Co się dzieje? Istnieją ukryte koszty rozwoju oprogramowania, które należy przewidzieć po wdrożeniu aplikacji i uruchomieniu projektu.

Szczerze mówiąc, jest to coś, o czym zawsze muszę przypominać moim klientom, gdy opracowują nowe oprogramowanie. Zakładają oni, że po opracowaniu projektu wydatki spadają do zera i nie muszą już płacić.

Wcale tak nie jest i nie może to być dalsze od prawdy.

Za każdym razem, gdy skalujesz się od małego projektu do większego projektu, istnieją pewne wydatki, które będziesz ponosić na bieżąco. Wszyscy są tak zajęci ustalaniem stawek rozwoju, że zapominają o ukrytych kosztach rozwoju po uruchomieniu. Opisujemy pięć najważniejszych ukrytych kosztów oprogramowania, które należy przewidzieć po uruchomieniu.

Ukryte koszty rozwoju oprogramowania: Utrzymanie zespołu

Kto stworzył twoje oprogramowanie dedykowane? Zespół ds. rozwoju aplikacji będzie nadal utrzymywał oprogramowanie nawet po jego uruchomieniu. Oprogramowanie będzie ewoluować wraz z rynkiem w miarę pojawiania się nowych możliwości. Wizja będzie również ewoluować w oparciu o zapotrzebowanie klientów.

Zawsze pamiętaj o jednej rzeczy - stagnacja technologii to martwa technologia.

Spójrzmy na firmy takie jak Facebook, Google, Twitter i wszystkich innych globalnych gigantów. Zgodzisz się, że wykonały one kawał dobrej roboty w zakresie rozwoju oprogramowania? Wszystko, co można sobie wyobrazić, zostało już opracowane. Dlaczego więc mają za sobą armię inżynierów? Rozwój oprogramowania nigdy się nie kończy.

Pomiędzy konserwacją, nowymi funkcjami, zapotrzebowaniem klientów i po prostu skalowaniem oprogramowania, zawsze będziesz potrzebować pracowników, aby to utrzymać. Wystarczy spojrzeć na to, jak często aplikacje są aktualizowane i ulepszane. Nie można więc planować zwolnienia personelu programistycznego po dacie premiery. Członkowie zespołu, którzy opracowali aplikację, pozostaną na pokładzie.

Prawda jest taka: jeśli pozbędziesz się ludzi, twoje oprogramowanie powoli umrze. Pamiętaj, że aby utrzymać przewagę konkurencyjną na zatłoczonym rynku, musisz stale ewoluować. Oprogramowanie, od którego zacząłeś, musi się zmieniać i dostosowywać w czasie.

Możesz mieć pewien margines swobody, jeśli chodzi o liczbę pracowników, których musisz zatrzymać. Na przykład, być może zatrudniłeś firmę informatyczną tworzącą oprogramowanie podczas rozwoju w większym wymiarze. Ale teraz potrzebujesz usług rozwoju oprogramowania tylko w ograniczonym zakresie. Twój zespół nadal będzie składał się z inżynierów, specjalisty QA, DevOps, projektanta, kierownika projektu itp.

Te koszty rozwoju po uruchomieniu muszą być wzięte pod uwagę i zaplanowane z wyprzedzeniem.

Ukryte koszty rozwoju oprogramowania: Koszty hostingu

W początkowym budżecie należy przewidzieć koszty hostingu. Koszty te są ponoszone w związku z hostingiem serwerów dla utrzymania oprogramowania. Będziesz mieć serwery e-mail, serwery powiadomień push, serwery analityczne, serwery integracyjne i inne serwery w zależności od rodzaju tworzonej aplikacji.

Najprawdopodobniej masz do czynienia z firmą, która dostarcza Ci produkt lub SaaS, za który płacisz miesięczną opłatę lub hostujesz oprogramowanie gdzieś w chmurze. Za ten rodzaj hostingu również będzie pobierana miesięczna opłata. Nie tylko poniesiesz te wydatki po uruchomieniu, ale koszty będą rosły wraz ze skalowaniem aplikacji dedykowanej.

Bardzo ważne jest, aby przygotować się na to z punktu widzenia budżetu. Utrzymanie tych hostów będzie wiązało się z bieżącymi kosztami hostingu. Jeśli serwery są hostowane w chmurze, nadal będziesz potrzebować pracownika, administratora serwera w swoim zespole, aby zajmować się tymi serwerami. To prowadzi z powrotem do pierwszego punktu dotyczącego konieczności dalszego opłacania personelu.

Ukryte koszty rozwoju oprogramowania: Konserwacja

Jestem pewien, że przed uruchomieniem firmy sprawdziłeś technologię, aby upewnić się, że wszystko działa poprawnie. Wszystkie błędy zostały znalezione, naprawione i gotowe - prawda? Niekoniecznie jest to prawdą, zwłaszcza w przypadku aplikacji. Chociaż mogłeś naprawić błędy dla niektórych urządzeń lub określonych systemów operacyjnych, urządzenia ewoluują z czasem. W takim przypadku technologia lub aplikacja może ulec regresji.

Spójrzmy na średni koszt utrzymania aplikacji w pierwszym roku po jej uruchomieniu. Niektórzy z was zapewne wiedzą, dlaczego tworzenie oprogramowania jest drogie. Ale dlaczego jego utrzymanie jest tak kosztowne? Na co firmy wydają ponad 10-25 tys. złotych rocznie?

Wchodzą w życie nowe przepisy dotyczące jakości aplikacji, bezpieczeństwa aplikacji lub prywatności aplikacji. Wszystkie te rzeczy mogą ulec zmianie.

Mam na myśli takie rzeczy jak:

  • Zgodność z RODO w Europie.
  • Zgodność z CCPA w Kalifornii.
  • Zgodność z ADA w całych Stanach Zjednoczonych.
  • Zgodność międzynarodowa.
  • Zgodność z PCI.
  • Zgodność z HIPAA.

Lista jest długa. Twoja technologia musi ewoluować wraz z tymi wszystkimi zmianami.

Refaktoryzacja

Refaktoryzacja to kolejna strona konserwacji, którą warto podkreślić. Idea refaktoryzacji polega na tym, że piszesz kod, który jest wystarczająco dobry, aby przejść podstawowe testy, zgodność, ograniczenia lub coś innego. Następnie wracasz i czyścisz go w późniejszym czasie.

Jak działa refaktoryzacja? Część kodu, który został wprowadzony podczas rozwoju, mogła być wówczas "wystarczająco dobra". Ale w miarę skalowania aplikacji musi zostać przepisany, aby zarządzać nowym obciążeniem ruchem w miarę rozwoju firmy.

Szczerze mówiąc, są to dobre problemy. Oznacza to, że aplikacja się rozwija. Ale nadal musisz przewidzieć koszty z wyprzedzeniem, aby być w pełni przygotowanym.

To świetny problem. Gdy osiągniesz tę liczbę, twoja codzienna działalność właśnie się podwoiła. Wiąże się to jednak z dodatkowymi kosztami utrzymania, które trzeba zaplanować.

Ukryte koszty rozwoju oprogramowania: Szkolenia

Szkolenie jest najbardziej niedocenianym wydatkiem w zakresie ukrytych kosztów rozwoju oprogramowania. Największym błędem popełnianym przez ludzi jest założenie, że ich pracownicy, którzy utrzymują aplikację, pozostaną z nimi na zawsze. Tak się jednak nie stanie.

W rzeczywistości niektórzy pracownicy podejmą decyzje dotyczące kariery i odejdą. Będziesz niezadowolony z innych członków zespołu i będziesz ich zwalniać. To po prostu standardowa procedura, jeśli chodzi o prowadzenie firmy.

Zawsze będzie występować rotacja personelu w zespole.

Co się stanie, gdy stracisz kogoś z kluczową wiedzą domenową? Nie zakładaj, że ktokolwiek, kogo zatrudnisz, będzie w stanie natychmiast zastąpić tę osobę.

Tylko dlatego, że ktoś jest dobrym programistą lub dobrym inżynierem, nie oznacza to, że rozumie twoje oprogramowanie. Są dobrymi inżynierami rozwoju oprogramowania, które opracowali - niekoniecznie dla tego, co ty opracowałeś. Zrozumienie modelu biznesowego, głębi technicznej, infrastruktury i innych elementów oprogramowania wymaga czasu.

Koszt rekrutacji, zatrudnienia i przeszkolenia nowego pracownika wynosi kilka tysięcy złotych. W branży technologicznej można oczekiwać, że koszty te będą jeszcze wyższe. Wiem, że niektórzy z was mogą myśleć, że inżynierów jest wielu i można ich znaleźć wszędzie. Ale nawet jeśli ktoś jest ekspertem, nie będzie efektywną częścią twojego zespołu od razu po przyjściu. To wymaga czasu.  Jak więc uniknąć tych drogich kosztów szkolenia? Chodzi o to, aby unikać pojedynczych punktów problemów z ludźmi.

Nie chciałbyś, aby pojedynczy serwer uruchamiał całą twoją aplikację mobilną, prawda? Jeśli serwer padnie, aplikacja padnie razem z nim. To samo można zastosować do ludzi. Jeśli masz jedną osobę z tak dużą wiedzą na temat domeny - co jeśli ta osoba zostanie potrącona przez autobus? Czy ty i twoja firma możecie kontynuować działalność bez niej?

Musisz przekwalifikować ludzi. Upewnij się, że Twoje możliwości nie są na minimalnym poziomie. Zawsze miej co najmniej jedną wolną osobę. Jeśli potrzebujesz co najmniej dwóch osób, prawdopodobnie powinieneś zatrudnić trzecią. W ten sposób, jeśli jedna osoba odejdzie, nadal będziesz mieć wystarczająco dużo do działania. Gdy tak się stanie, zawsze możesz zatrudnić kogoś innego jako "wentyl bezpieczeństwa ".

W świecie tworzenia oprogramowania, jeśli osoba, która odchodzi, zabiera ze sobą całą wiedzę. Przeszkolenie nowej osoby może być prawie niemożliwe, jeśli nikt nie ma informacji do przekazania.

Ukryte koszty rozwoju oprogramowania: Koszty strategiczne

Koszty strategiczne są ponoszone za każdym razem, gdy firma dostrzega nowe możliwości rynkowe. Musisz szybko zmienić bieg, aby upewnić się, że faktycznie możesz zaspokoić potrzeby rynku.

W wielu przypadkach potrzeby rynku są wrażliwe na czas. Jeśli więc będziesz czekać sześć miesięcy na podjęcie działań, może być już za późno. Jeśli chodzi o technologię, tylko część firm stara się uzyskać przewagę konkurencyjną jako pierwszy gracz.

Jeśli należysz do tej kategorii, może to dać Twojemu oprogramowaniu znaczną przewagę nad konkurencją. Koszty strategiczne będą rosły wraz z rozwojem technologii i zmuszą cię do zmiany priorytetów.

Być może będziesz nawet musiał zatrudnić kilka dodatkowych osób, aby upewnić się, że osiągniesz swój cel na czas. Dlatego tak ważne jest przewidywanie tych ukrytych kosztów. Czasami trzeba na sztywno zakodować pewne elementy, aby dotrzymać harmonogramu. Zasadniczo "hakujesz swoją drogę" do rozwiązania, które musi zostać wprowadzone na rynek tak szybko, jak to możliwe.

Jednak po wprowadzeniu oprogramowania na rynek powstaje coś, co lubimy nazywać "długiem technicznym". Musisz wrócić i ponownie ocenić platformę, aby upewnić się, że skaluje się ona wraz z rosnącymi potrzebami firmy. Wszystko to należy do kategorii kosztów strategicznych.

Przystępując do tego przedsięwzięcia wiedziałeś, że zasadniczo rozwijasz technologiczny domek z kart, aby wejść na rynek. Ale ten domek z kart nie będzie bezpieczny na zawsze. Może się łatwo zawalić. Teraz musisz zrobić krok wstecz i faktycznie przebudować lub refaktoryzować, jak wspomnieliśmy wcześniej, omawiając koszty utrzymania oprogramowania.

Powodem, dla którego koszty strategiczne są tak ważne do przewidzenia, jest to, że daje to przewagę. Jeśli planujesz z wyprzedzeniem, możesz wykorzystać okazję, gdy tylko się pojawi. Nie chcesz, aby pieniądze były tutaj problemem.

Jak przygotować się na ukryte koszty oprogramowania

Teraz, gdy zapoznałeś się z pięcioma najważniejszymi ukrytymi kosztami oprogramowania po uruchomieniu, nadszedł czas, aby podzielić się kilkoma wskazówkami, które pomogą ci odpowiednio zaplanować i przewidzieć koszty.

Wydawanie pieniędzy po premierze jest nieuniknione, ale nie musisz rozbijać banku. Poniższe wskazówki pomogą ci zaoszczędzić trochę pieniędzy, jeśli odpowiednio je zaplanujesz.

Rozwijaj swój personel

Ustaliliśmy już, że musisz utrzymać swój personel. Ale aby pomóc utrzymać koszty na niskim poziomie, musisz ich rozwijać, stosując złotą proporcję.

Pomysł jest następujący. Korzystaj z zasobów lokalnych i zdalnych w wystarczającym stopniu, aby ich kombinacja była w odpowiedniej równowadze dla Twojej firmy. Ten rodzaj rozwoju personelu pozwoli ci na efektywne skalowanie aplikacji bez rozbijania banku.

Serwery, a utrzymanie

Pisaliśmy o kosztach hostingu i kosztach utrzymania. Jednak te dwa ukryte wydatki są ze sobą powiązane. Czasami bardziej opłaca się zapłacić więcej za hosting, aby nie musieć utrzymywać tak dużo na własną rękę.

Załóżmy na przykład, że w pełni zarządzany hosting kosztuje 1000 zł. To nic w porównaniu z kosztem samodzielnego utrzymania rozwiązania hostingowego w chmurze przez pracownika.

Więc śmiało zapłać za to bez zastanowienia. Jest to tańsze i staje się bólem głowy dla kogoś innego - nie dla ciebie. Nie będziesz potrzebować pracownika, który stale musi zajmować się konserwacją serwera. Spróbuj więc znaleźć dostawcę usług hostingowych, który pokryje te koszty.

Chociaż początkowa cena za tę usługę może wydawać się wysoka, należy zawsze porównać ją z kosztem zatrudnienia osoby z personelu. Koszt hostingu zawsze będzie tańszy w dłuższej perspektywie niż samodzielne utrzymanie go.

Partnerstwo strategiczne

Ważne jest, aby mieć partnera, który rozumie twoją technologię. Może to być host, firma outsourcingowa, z którą współpracujesz, lub platforma, z którą się integrujesz. Niezależnie od tego, kto to jest, upewnij się, że rozumie Twoją wizję. Ważne jest, aby mieli możliwość pomocy w szerszej perspektywie w zmieniających się czasach.

Koszty alternatywne i koszty popełnienia błędów są niezwykle kosztowne.

Partner strategiczny może zaoszczędzić czas, jeśli jest ekspertem w danej dziedzinie. A może już wcześniej przez to przechodził i popełnił błędy, na których można się uczyć. Partner strategiczny jest bardzo cenny i może z czasem zaoszczędzić mnóstwo pieniędzy.

Przewiduj dziś, rozwiązuj jutro

To oczywiste, że należy przewidywać przyszłe problemy i możliwości. Przewiduj te problemy dzisiaj, ale rozwiąż je jutro. Nie wszystkie dzisiejsze problemy muszą zostać rozwiązane już dziś. Być może już teraz rozwijasz coś, co jest wystarczająco dobre, aby wejść na rynek bez zatrudniania dwóch lub trzech nowych programistów. To dobrze. Musisz jednak przewidzieć opóźnione koszty, za które zapłacisz później.

Jest to szczególnie ważne w przypadku nowych firm. Należy strategicznie podchodzić do zaciąganego długu, aby mieć możliwość rozwiązania problemów, gdy w końcu się pojawią. Na przykład, powiedzmy, że wiesz, że twój serwer ulegnie awarii po przekroczeniu 100 tys. użytkowników. Nie oznacza to, że powinieneś płacić za tę pojemność pierwszego dnia, gdy masz zero użytkowników. Pieniądze można lepiej wykorzystać gdzie indziej.

Ale kiedy w końcu osiągniesz 100 tys. użytkowników, jest to problem. Prawdopodobnie masz już dobrze prosperujący biznes, który pozwoli ci pokryć dodatkowe koszty. Jeśli jednak płacisz za tę infrastrukturę już dziś, przepalasz cenne złotówki na hipotetyczny problem, który może nie wystąpić przez kolejny rok lub dwa.

Ukryte koszty rozwoju oprogramowania

Koszty związane z rozwojem oprogramowania nie kończą się po jego uruchomieniu. Jeśli tworzysz aplikację, musisz przewidzieć pięć ukrytych kosztów:

  • Utrzymanie personelu.
  • Koszty hostingu. 
  • Utrzymanie.
  • Szkolenie.
  • Koszty strategiczne.

Przewidywanie tych kosztów z wyprzedzeniem zapewni, że w budżecie będzie wystarczająco dużo pieniędzy, aby odnieść sukces. W przeciwnym razie ucierpi na tym jakość oprogramowania. Pamiętaj również o wskazówkach i najlepszych praktykach, aby pomóc zaoszczędzić pieniądze na tworzeniu i rozwijaniu oprogramowania.

 

Powiązane artykuły