Niniejsza strona używa plików cookies w celu optymalizacji korzystania ze strony internetowej, w celach statystycznych oraz popularyzacji strony za pomocą serwisów społecznościowych. Warunki przechowywania plików cookies możesz określić w przeglądarce internetowej.

talentica
talentica
talentica talentica talentica talentica

Proces produkcji oprogramowania – przykładowy schemat procesu. Jak wygląda budowanie aplikacji krok po kroku?

19.04.2021

talentica
Proces produkcji oprogramowania – przykładowy schemat procesu. Jak wygląda budowanie aplikacji krok po kroku?

Proces budowania aplikacji jest procesem składającym się z kilku, następujących po sobie etapów. Zazwyczaj etapy te są ze sobą ściśle powiązane i kolejny etap nie może rozpocząć się bez ukończenia poprzedniego. W niniejszym wpisie postaram się przybliżyć Ci jakie kroki musi wykonać typowy software house by stworzyć aplikację spełniającą wymogi Klienta.

1. Kick-off z Klientem

Kick-off to spotkanie z Klientem docelowym, mające na celu ustalenie zakresu prac. To spotkanie o luźnej formie, w której zazwyczaj udział biorą:

– Product Owner (po stronie Klienta)
– Project Manager i Lead Developer (po stronie Software House’u)

Kick-off jest niezbędną częścią całości procesu. Na tym spotkaniu obie strony mają szansę poznać się nawzajem, dostrzec swoje mocne i słabe strony, sprawdzić potencjał współpracy i przede wszystkim porozmawiać o projekcie, budżecie i deadlinach.


2. Analiza przedwdrożeniowa

Kolejnym krokiem, po spotkaniu z Klientem, jest stworzenie swojego rodzaju podsumowania technicznego czyli dokumentu analizy przedwdrożeniowej (Pre-implementation analysys) opisującego dokładne założenia projektowe czyli dokładny opis aplikacji (czasami ze wstępnymi szkicami wyglądu aplikacji) wraz z opisem technologii, czasem trwania projektu, modelem współpracy i końcową wyceną. Dokument analizy przedwdrożeniowej jest zazwyczaj etapem rozliczanym z Klientem osobno ponieważ stanowi pewnego rodzaju techniczną strukturę zrozumiałą (w sytuacji braku chęci dalszej kontynuacji współpracy) dla każdego innego software house’u potencjalnie mogącego rozpocząć pracę nad projektem.

3. Rozpoczęcie projektu, setup

Następnie, po stworzeniu analizy przedwdrożeniowej i naniesieniu na nią odpowiednich poprawek musimy uzyskać finalny akcept Klienta. Często dokument analizy załącza się do umowy ramowej o współpracy w formie załącznika. Po uzyskaniu więc finalnej akceptacji, software house przystępuje do rozpoczęcia projektu. W przypadku wykorzystania Agile Scrum, projekt dzielony jest na poszczególne sprinty czyli kamienie milowe (zazwyczaj dwutygodniowe). Każdy ze sprintów kończy się podsumowaniem, a wszystkie poszczególne tygodnie konkretnego sprintu charakteryzuje weekly demo call przed Klientem docelowym (zazwyczaj w piątek). Agile Scrum wyróżnia również poranny standup (każdego dnia) – moment, w którym każdy z programistów podsumowuje co udało się zrobić dnia poprzedniego lub przed weekendem oraz co planuje zrobić dzisiaj.

4. UX, mockups and UI

W tym samym czasie gdy programiści ustalają konkretne etapy projektowe, dział kreatywny ma czas na przygotowanie pierwszych ekranów aplikacji tzw. mockupów. Zazwyczaj programiści nie są w stanie przejść do realizacji zadań technicznych bez stworzonych przez dział UX konkretnych „ekranów” aplikacji. Wynika to z faktu, iż potrzebują mieć wstępny wygląd, najlepiej klikalny prototyp aplikacji by rozplanować swoją pracę i móc z góry spojrzeć na projekt. Proces projektowania wyglądu użyteczności aplikacji (UX – User Experience) jest momentem kiedy dział kreatywny zna zachowania użytkowników konkretnej platformy np. iOS i tak projektuje rozmieszczenie konkretnych przycisków, aby korzystanie z aplikacji było jak najbardziej proste, intuicyjne i wygodne. Po stworzeniu mockupów przez dział UX, kolejnym procesem jest „kolorowanie” aplikacji czyli stworzenie grafik docelowych do całej aplikacji. Tym zajmuje się UI Designer (User Interface Designer). Tworzy on docelowe, pocięte w formacie .psd grafiki dla programistów mogących nanieść je na aplikację.

5. Testowanie aplikacji

Z każdym kolejno oddanym sprintem Klientowi końcowemu, aplikacja musi przejść testy manualne na wszystkich urządzeniach, na których będzie działała. Zazwyczaj firmy korzystają z tzw. banków urządzeń testowych lub odpowiedniego oprogramowania dostępnego w chmurze – np. https://www.browserstack.com/app-live. Testowanie musi odbywać się na uprzednio przygotowanych scenariuszach testowych. Wszystkie „bugi” muszą być odpowiednio opisane (z naciskiem na wersję systemu, urządzenie, rozdzielczości itd.) i wrzucone do systemu zarządzania projektami by developerzy mogli je poprawić.

6. Launch produktu

Na koniec, po akceptacji wszystkich sprintów, stworzeniu kompletnego produktu, wytestowaniu, następuje jego uruchomienie w środowisku produkcyjnym (docelowym). W przypadku aplikacji webowych jest to uruchomienie aplikacji na „produkcji” przerzucając kod ze środowiska testowego. W przypadku aplikacji mobilnych, jest to umieszczenie aplikacji w sklepach np. AppStore iOS i Google Play w Android.

Podsumowanie: proces produkcji oprogramowania jest procesem dość złożonym, zależnym często od wielkości samej aplikacji. W skład zespołu projektowego wchodzi wiele osób, różniących się od siebie kompetencjami. Cały zespół musi współpracować ze sobą bardzo sprawnie, a kluczem (szczególnie w dobie pracy zdalnej) jest komunikacja. Każdy team powinien być odpowiedzialny za swój obszar i powinien dowozić na czas ponieważ przestój np. w dostarczeniu konkretnych ekranów aplikacji, spowalnia dział developmentu, a to z kolei wydłuża czas oddania projektu i może wpływać na niezadowolenie klienta, a nawet wyciągnięcie odpowiednich konsekwencji prawnych jak naliczenie kary umownej za przedłużenie oddania konkretnego etapu.