Dlaczego stworzenie aplikacji trwa długo i kosztuje dużo?

Dziś chciałbym przybliżyć temat Cyklu Życia Oprogramowania (SDLC). Wielu z was zastanawia się pewnie, czemu tworzenie jakiegoś programu, czy też MVP trwa tyle czasu (średnio jakieś 3 miesiące na MVP, patrząc sam okres implementacji)?

Photo by Christina Morillo: https://www.pexels.com/photo/white-dry-erase-board-with-red-diagram-1181311/

Dlaczego stworzenie jakiegoś programu zajmuje tyle czasu (a przy okazji jest takie drogie?)? Właśnie tego dowiesz się z dzisiejszego materiału!

Dziś chciałbym przybliżyć temat Cyklu Życia Oprogramowania (SDLC). Wielu z was zastanawia się pewnie, czemu tworzenie jakiegoś programu, czy też MVP trwa tyle czasu (średnio jakieś 3 miesiące na MVP, patrząc sam okres implementacji)? Chciałbym jednak zaznaczyć, że nie chcę się dzisiaj skupiać na kwestii stawek specjalistów, bo poruszając ten aspekt, moglibyśmy właściwie temat już zamknąć - specjaliści są drodzy, to oprogramowanie jest drogie.

Jest jednak poza płacami specjalistów jeszcze kilka kwestii, które wpływają na czas realizacji projektów, a co za tym idzie cenę.

a więc dobra, jakie są te elementy?

  1. Planowanie Podczas planowania poświęca się dużo czasu, aby nakreślić ramy przyszłego projektu / produktu. Faza ta wbrew pozorom nie kończy w momencie, gdy wpadniemy na pomysł na appkę. Wręcz przeciwnie, w tym momencie faza ta się rozpoczyna. Tutaj możemy określić wstępnie zakres prac, wizję na produkt i grupy docelowe. Bardzo ważne jest również wstępne oszacowanie kamieni milowych i zwalidować pomysł z interesariuszami
  2. Definiowanie wymagań Podczas definiowania wymagań zespół powinien skupić się na tym, jakie funkcje powinna dostarczać nasza aplikacja. Czyli po krótce, jeśli robimy aplikację dla lekarza, to w tym momencie możemy określić, czy aplikacja ta będzie potrzebowała moduł do wideo-rozmów, czat i inne dodatkowe elementy. Podczas tej fazy często wstępnie definiuje się również konkretne kroki w aplikacji i ogólny zarys przepływu informacji.
  3. Projektowanie i prototypowanie Podczas projektowania i prototypowania zaczynają się już dziać poważne prace nad naszą aplikacją. W tej fazie uczestniczyć powinno już sporo osób technicznych. Wynika to z tego, że na tym etapie poza pracami designerów nad prototypami i pierwszymi hi-fidelity designami, jest czas na ostateczne dopracowanie przepływu informacji w aplikacji. Jest to też dobry czas, aby zastanowić się nad aspetkami typu architektura naszej aplikacji, urządzenia na jakie będziemy tworzyć nasz produkt i technologie, które zostaną użyte. Ważne jest też, aby na tym etapie zastanowić się jak duże zespoły będą potrzebne do realizowania prac i gdzie docelowo będziemy hostować nasze rozwiązania (czy to będzie chmura, czy może jednak zdecydujemy się na własny serwer)
  4. Implementacja Czyli crème de la crème naszej pracy. Jest to często najbardziej czasochłonny etap. Tutaj zespoły developerów przy wsparciu PO i SM, w pocie czoła realizują wcześniej zdefiniowane i ubrane w piękny interfejs zadania. Jes to kluczowy moment powstawania aplikacji, ponieważ to tu, przekuwa się cały pomysł na działające rozwiązania
  5. Testowanie W obecnych czasach często ten etap jest przesuwany do poprzedniego etapu i testowanie odbywa się równolegle z pracami implementacyjnymi - pozwala to zaoszczędzić czas i upewnić się już na wczesnych etapach, czy wszystko działa jak powinno, jednak testowanie jeszcze przed wdrożeniem produktu na rynek jest również ważne w kontekście działania całego systemu
  6. Eksploatacja i konserwacja Gdy już nasz produkt ujrzy światło dzienne nie pozostaje nam nic innego, jak reagować na wszelkie problemy i naprawiać ewentualne błędy. Na tym etapie również często okazuje się, że czas dodać nowe funkcjonalności do naszego oprogramowania :)

Więc jak widzicie stworzenie oprogramowania wcale nie jest krótkim procesem. Jest przynajmniej kilka kroków, które zazwyczaj trwają więcej niż jeden dzień i końcowa praca nad naszym MVP produktu, może trwać znacznie dłużej niż standardowe 3 miesiące prac developerskich (przy odpowiednio dużym zakresie prac). Stąd właśnie poza czystymi kosztami związanymi z pensjami, tworzenie oprogramowania jest drogie, ponieważ jest to złożony proces trwający stosunkowo długo. Jednak dobrze przepracowany czas, pozwoli wdrożyć na rynek produkt, który spełni wymagania użytkowników i pozwoli zarobić na nim sporo 🙂