Jak prowadzić projekt w metodykach zwinnych? Wszystko o Agile

05.05.2020 Angelika Siczek
kobieta trzymająca tablet pracując z innymi ludźmi nad projektem

Agile to zbiór zasad wspólnych dla zwinnego tworzenia aplikacji. Opiera się on na założeniach, które należy wdrożyć, aby poprawić procesy deweloperskie i przyspieszyć powstanie aplikacji. Założenia polegają przede wszystkim na skupieniu się na praktycznej części tworzenia aplikacji oraz pragmatyzmie i dobrej komunikacji – zarówno w zespole, jak i z klientem.

Współcześnie stosuje się te techniki dla szybkiego rozwoju, ale również dla poprawy jakości produkcji, lepszego pilnowania budżetu i jednocześnie stworzenia produktu, który usatysfakcjonuje klienta. Metodyki zwinne przygotują zaangażowanych w projekt do produktywnej pracy i stworzenia wysokiej jakości aplikacji.

Metodyki zwinne - Agile

Podzielone opinie na temat metodyk zwinnych

Analizując wytyczne projektów, stworzonych w duchu praktyk zwinnych, zauważyć można pewne ambiwalencje. Deweloperzy dość pewnie zachwalają produkty stworzone metodą Agile. Transformacje organizacji pracy na Agile używane są jako czynnik przekonujący klienta do wybrania usług danego software house’u. Jednak klienci wciąż nie są przekonani do metodyk zwinnych. Wątpliwości pochodzą z braku wiedzy na ten temat oraz z charakteru Agile. Zakłada on brak szczegółowości projektu, co może odstraszać niedoświadczonych. Powoduje to niezdrowe napięcie w relacji z klientem, a to z kolei nie służy podążaniu prawdziwej filozofii Agile.

Mniej pracy – więcej efektów

W Agile bardziej ceni się mniejszy nakład pracy w stosunku do normalnego procesu produkcyjnego, który jednak przynosi zdecydowanie lepszy rezultat. Brzmi to może niedorzecznie, ale jeśli zastosować odpowiednie techniki, to efekt będzie doskonały. Wyzbycie się niepotrzebnych etapów pracy podczas planowania, budowania strategii, ale przede wszystkim – pracy koncepcyjnej, może być kluczem do stworzenia lepszego produktu w krótszym czasie.

Metoda krok po kroku

Zamiast rozmyślać nad ostatnim punktem projektu, odległym tak bardzo, że wciąż wydaje się nieosiągalny, lepiej skupić się na najbliższym etapie realizacji i upewnić się, że produkt w danym etapie pracy będzie dopracowany. Jego funkcjonalność powinna być najważniejsza dla zleceniodawcy, ponieważ determinuje odbiór produktu przez klienta.

Przedstawiając to podejście na konkretnym przykładzie, pod lupę weźmy działalność e-commerce. Zamiast uzbrajać produkt dla sklepu online we wszystkie możliwe metody płatności i trwonić przy tym czas i pieniądze, być może lepiej będzie skupić na rozwiązaniu prostszym lub na gotowym produkcie? Następnie po analizie  jego wyników można wtedy podjąć decyzję o rozbudowie lub implementacji innego, bardziej wysublimowanego rozwiązania. Nie chodzi tu bynajmniej o półśrodki, ale raczej o skupienie się na najbliższych problemach i ich rozwiązywanie ich w najprostszy możliwy sposób.

Praca ponad analizę

Według filozofii Agile należy skupić się na funkcjonalność produktu w danym momencie, a nie analizować i prognozować jego funkcje i narzędzia na przyszłość. Perspektywa braku planów może napawać obawami. Jednak w praktyce jak często dalekosiężne plany odnośnie produktu IT faktycznie się realizują? W trakcie tworzenia produktu i tak zmieni on swój wygląd i funkcjonalność, a poprzednie plany nie będą już miały miejsca w nowej planowanej realizacji. Stanie się tak dlatego, że decyzje podjęte do tej pory uniemożliwią wykonanie zakładanego rozwiązania i w efekcie tak czy inaczej potrzebna będzie alternatywa. Ta z kolei będzie musiała być stworzona najpierw w koncepcji. Praca przy analizie wykonana będzie zatem dwukrotnie, zupełnie bez potrzeby — najpierw na etapie planowania, później, w obliczu zmiany architektury.

Jako klient nie musisz się jednak obawiać. Zespoły deweloperskie mają doświadczenie, na którym można polegać. Doświadczenie to wypływa z wielu udanych projektów, ale równie dużo wiedzy pochodzi z porażek. Pomogą Ci oni wybrać odpowiednią ścieżkę i konkretne rozwiązanie na danych etapach drogi do stworzenia produktu. Z komunikacji pomiędzy klientem a deweloperami zawsze wyniknie odpowiednie rozwiązanie. Przekazanie pomysłów do wykonawców skutkować będzie ich opinią i być może alternatywnymi propozycjami. W Agile stawia się na rozwiązanie najprostsze i najbardziej użyteczne. Nie można zapomnieć, że rolę w rozwoju produktu gra również budżet. Doświadczenie może uchronić od niepotrzebnego trwonienia środków na analizę i próżną pracę już w najwcześniejszym etapie planowania.

Asertywność to klucz do sukcesu

Kolejną ważną cechą metodyk zwinnych jest umiejętność sprzeciwienia się niepotrzebnym zmianom w projekcie. Jeśli konkretne rozwiązanie powstało i spełnia swoją funkcję, warto jest skupić się na reszcie projektu, w celu jego szybszego zamknięcia. Aby osiągnąć swój najważniejszy cel, czyli doprowadzić projekt do realizacji, nie można wprowadzać ciągłych nieistotnych zmian i analizować każdego najmniejszego szczegółu. Ustalenia pewnych granic z interesariuszami może wyjść wszystkim na dobre, a zmiany, które wymagali, zawsze można wprowadzić później.

Najgorsze, co może przydarzyć się projektowi, to chwilowe wstrzymanie postępów lub poprawki funkcjonujących elementów jeszcze przed oddaniem gotowego produktu. Źle wpływa to na płynność pracy deweloperów i ogólny rozwój projektu. Ewentualne zmiany powinny być komunikowane przed wdrożeniem. Należy jednak pamiętać, że produkt nigdy nie będzie idealny za pierwszym razem. Nic nie stoi na przeszkodzie, aby dopracować go później, tak aby spełniał wszystkie wymagania zleceniodawcy, ale przede wszystkim – użytkownika.

Komunikacja

W płynności tworzenia produktu ważna jest nieprzerwana i szybka praca. Nie będzie ona możliwa, jeśli zespół deweloperów będzie musiał stale cofać się i wprowadzać zmiany w gotowej już funkcji. Nawet jeśli zmiany wydają się niewielkie, to w praktyce mogą oznaczać dużo pracy w reorganizacji architektury aplikacji, ze względu na naturę korekty oraz idące za tym konsekwencje. W efekcie takie małe zmiany mogą znacznie przedłużyć pracę nad produktem, co nie będzie współmierne do efektów osiągniętych samą zmianą. Komunikacja okaże się tutaj zbawienna. Zespół developerski uszanuje opinie i wymogi interesariuszy, ale musi również brać pod uwagę swoje cele, czyli jak najszybsze ukończenie aplikacji.

Częścią filozofii Agile będzie mniej planowania, a więcej efektów i pragmatycznego podejścia. Czasem warto zastanowić się nad szybszym ukończeniem testów, które weryfikują bezbłędne wykonanie planu i przejściem do kolejnego etapu. Eksperymentowanie na różne sposoby może naturalnie przynieść pozytywne efekty, ale czasem warto odwołać się do doświadczenia developerów i przystać na najprostsze rozwiązanie, ponieważ może okazać się ono najlepsze nawet na dłuższą metę.

Aby z powodzeniem ukończyć projekt w metodykach zwinnych potrzebna będzie przede wszystkim dobra współpraca z doświadczonym zespołem. Wydaje się to oczywiste, ale należy podkreślić, że poleganie na zespole, któremu powierzyło się realizację, zawsze da lepszy efekt, niż nieskończony wyścig do perfekcji. Koniec końców klient bardziej doceni produkt, w którym przeważa jego funkcjonalność niż nadmierna innowacyjność.

Masz pytanie?

Napisz do nas

    PDF, DOC, DOCX, JPG lub PNG (max 5MB)

    *Wymagane







    Andrzej-kurs-programowania

    Andrzej Szylar

    Chief Executive Officer

    E-mail:

    andrzej.szylar@univio.com
    Aleksandra

    Aleksandra Bielawska-Clegg

    HR Business Partner

    E-mail:

    Michal

    Michał Duława

    New Business Developer

    E-mail:

    Katarzyna

    Katarzyna Zajchowska

    Marketing Partner

    E-mail: