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

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.
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.
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.
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ę.
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ć.
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.
Archiwum

30.10.2024
Przyszłość pracy zdalnej: Jakie kompetencje będą kluczowe w 2025 roku?
W ostatnich latach praca zdalna przeszła z nowinki technologicznej do standardowego modelu pracy w wielu firmach IT. Dziś nawet tradycyjne organizacje, które wcześniej unikały pracy zdalnej, dostrzegają jej zalety – zarówno dla pracodawców, jak i pracowników. Jednak dynamicznie zmieniający się rynek pracy wymaga coraz to nowych kompetencji. Jakie umiejętności będą niezbędne, aby odnieść sukces w branży IT w 2025 roku? W artykule przedstawiamy, jakie kompetencje zyskają na znaczeniu i jak kandydaci oraz pracodawcy mogą się na nie przygotować.

21.05.2024
Jak efektywnie zarządzać długim procesem rekrutacyjnym, aby zadowolić obie strony?
Rekrutacja na kluczowe stanowiska może trwać długo i być stresująca zarówno dla kandydatów, jak i dla zespołów HR. Jednak odpowiednio zarządzany długi proces rekrutacyjny nie tylko zwiększa szanse na znalezienie idealnego kandydata, ale również buduje pozytywny wizerunek firmy jako pracodawcy. Oto kilka kluczowych strategii, które pomogą przeprowadzić długie procesy rekrutacyjne, z korzyścią dla wszystkich stron.

03.07.2024
Zalety i wady pracy zdalnej
Praca zdalna zyskała na popularności, stając się standardem w wielu branżach, zwłaszcza w sektorze technologicznym. Chociaż ten model pracy oferuje wiele korzyści, ma także swoje wyzwania. Oto szczegółowa analiza plusów i minusów pracy zdalnej.

01.07.2022
5 ważnych pojęć dla początkującego rekrutera IT – te terminy musisz znać!
5 ważnych pojęć dla początkującego rekrutera IT – te terminy musisz znać! Poniżej zebraliśmy listę kilku najważniejszych naszym zdaniem pojęć z zakresu rekrutacji IT, które z pewnością każdy rekruter IT…

13.10.2023
Jak wygląda proces w agencji rekrutacji IT Talentica?
W niniejszym artykule przedstawiamy jak wygląda u nas proces rekrutacji, jak złożony jest i jakie elementy zawiera. Każdy z etapów jest niezwykle istotny i ma wpływ na pozostałe. Ostatecznym celem jest dowiezienie Klientowi oraz Kandydatowi konkretnej wartości na profesjonalnym poziomie.

12.01.2023
Front-End Developer: kim jest, rola w organizacji, przykładowe pytania rekrutacyjne
Frontend Developer, zwany również programistą front-endowym, jest specjalistą odpowiedzialnym za projektowanie i tworzenie interfejsu użytkownika aplikacji webowych. Jego głównym zadaniem jest...

01.02.2023
Narzędzia wykorzystywane w rekrutacyjnych procesach IT
Rekrutacja jest kluczowym aspektem sukcesu każdej firmy, a sektor technologii informatycznych (IT) nie jest wyjątkiem. Wraz z rosnącym zapotrzebowaniem na wykwalifikowanych specjalistów IT...

19.04.2024
Jak wybrać idealną agencję rekrutacyjną IT dla swojej firmy?
W dzisiejszym dynamicznie zmieniającym się świecie technologii, znalezienie odpowiednich talentów IT może być kluczowe dla sukcesu każdej firmy. Wybór odpowiedniej agencji rekrutacyjnej, która spełni specyficzne potrzeby Twojej organizacji, może znacząco wpłynąć na efektywność i wyniki procesów rekrutacyjnych. Oto kilka kluczowych czynników, które należy wziąć pod uwagę, decydując się na współpracę z agencją rekrutacyjną IT.

15.03.2022
Embedded IT recruiter – kim jest i jaką wartość wnosi do organizacji?
Embedded IT recruiter – kim jest i jaką wartość wnosi do organizacji? Coraz popularniejszym sposobem działania firm wyspecjalizowanych w rekrutacji IT, jest model embedded recruitment – szczególnie widoczne jest to…

14.10.2022
30 grup na Facebooku służących do publikacji ogłoszeń z branży IT
30 grup na Facebooku służących do publikacji ogłoszeń z branży IT Dzisiaj przedstawię Ci kilkanaście grup różniących się od siebie ilością członków, ale i typem ogłoszeń. Pamiętaj, że sukces rekrutacji…

21.07.2023
Rozszyfrowanie kodu rekrutacji IT: Kluczowe strategie i najlepsze praktyki
W dzisiejszych czasach, gdy sektor IT prężnie rozwija się i ewoluuje, proces rekrutacji staje się coraz bardziej skomplikowany. Firmy na całym świecie konkurują o zdobycie najzdolniejszych i najbardziej innowacyjnych umysłów w branży...

18.04.2023
5 najlepszych strategii rekrutacji talentów IT
Rekrutacja najlepszych talentów IT może być wyzwaniem na dzisiejszym konkurencyjnym rynku pracy. Przy tak wielu firmach walczących o tych samych kandydatów ważne jest posiadanie solidnej strategii rekrutacyjnej. Oto pięć strategii rekrutacji najlepszych talentów technicznych do Twojej firmy...