Dlaczego stworzenie aplikacji trwa długo i kosztuje dużo?
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?
- 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
- 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.
- 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)
- 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
- 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
- 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 🙂