Produkcja oprogramowania od roku 2001 wyewoluowała z realiów modelu kaskadowego – Waterfall – do standardów metodyk zwinnych – Agile. Zespoły projektowe doceniają w nowym podejściu między innymi motywujące zasady i stały rytm działania, elastyczność stawianych wymagań i wpływ na nie, promowanie konsekwentnej produktywności oraz żywą współpracę z klientem.
Jednak podstawową zaletą metodyk Agile, która wpływa na wszystkie powyższe, jest zamiana obietnic związanych z finalnym produktem na nieustanne udowadnianie jakości postępów, poprzez regularne dostarczanie coraz doskonalszych wersji.
Charakterystyka inżynierii programowania w metodyce zwinnej ma wiele punktów wspólnych z UX Designem.
Tu proces projektowania także przebiega ścieżką kolejnych, coraz doskonalszych wersji. Można zauważyć, że integracja metodyki Agile z UX Designem to potencjał połączenia szybkiego dostarczania wysokiej jakości produktów z sukcesywnym dopasowywaniem ich do potrzeb docelowych użytkowników.
Aby odkryć ten potencjał, posłużmy się jako przykładem najbardziej popularną metodyką zwinną – Scrum.
Choć jako metodyka z obszaru inżynierii oprogramowania został rozpowszechniony na początku wieku, to sama nazwa jest znana od roku 1989. Wtedy Hirotaka Takeuchi oraz Ikujiro Nonaka – specjaliści od strategii korporacyjnej – użyli tego terminu porównując zespoły specjalistów o wszechstronnych kwalifikacjach do drużyny Rugby czekającej na okazję do przejęcia piłki po wznowieniu gry właśnie w formacji „scrum” (młyna).
Główną cechą tej metodyki są sprinty – cykle budowy i udoskonalania produktu lub usługi, z których każdy stanowi kolejny krok przybliżający do ostatecznego celu. Czyli wartości, którą należy dostarczyć klientowi.
Dzięki sprintom zespół jest bardzo zmotywowany, ponieważ zamiast monotonnie wizualizować ten sam odległy cel, skupia się na różnicy do wypracowania w pojedynczym, żywym i dynamicznym cyklu. Ten cykl jest skoncentrowany wokół indywidualnie zdefiniowanych wymagań, po których spełnieniu można rozpoznać osiągnięcie specyficznego celu. Podnosi to poziom dyscypliny i nacisk na jakość, a przez to sprzyja redukcji błędów.
Scrum to metodyka, w której pracują zespoły interdyscyplinarne, więc kompetencje każdego specjalisty powinny wykraczać poza jego docelową niszę. Tylko wtedy można działać elastycznie, przydzielając szerokie zakresy zadań w zależności od charakterystyki każdego sprintu, bez dodatkowych rekrutacji. Dzięki elastyczności oraz stałemu składowi zespołu, każdy członek nie tylko rozumie co i jak należy wykonać, ale także z jakiego powodu i w jakim celu – zna wpływ swoich efektów na całokształt produktu, ale i sprintu, który skończy się niebawem.
Także dla Scrum Mastera praca w tym modelu jest łatwiejsza do utrzymania w ryzach. Sprinty można planować dynamicznie i adaptować się do sytuacji. Przekierowywać wysiłek zespołu tam, gdzie w danym momencie są do osiągnięcia najważniejsze kamienie milowe, a zarazem:
W połączeniu z wysoką świadomością i motywacją zespołu, elastyczność planowania pozwala optymalizować prace tak, żeby cały proces, niezależnie od fazy i okoliczności, przebiegał w maksymalnie wydajny sposób. Pod warunkiem, że lider zadba o równowagę pomiędzy skupieniem na celu najbliższego sprintu oraz na wartości zamówionej w ramach finalnego produktu.
Sprinty w metodyce zwinnej pozwalają prowadzić prace nad produktem aż do osiągnięcia celów założonych na początku, z uwzględnieniem zmian dokonanych w trakcie. Natomiast żaden produkt nie opiera się na samym oprogramowaniu. Każdy zespół potrzebuje dla niego funkcjonalnego i użytecznego interfejsu, czyli także kompetencji z obszaru User Experience.
UX Design reprezentowany przez grupę lub jednego specjalistę, oferuje zespołowi scrum kompleksowe podejście do tworzenia i dopracowywania przestrzeni użytkownika:
Włączenie do zespołu scrum designera UX to szansa na zadbanie, żeby produkt z doskonałym silnikiem został równie doskonale dopasowany do potrzeb użytkownika w zakresie standardów obsługi i jakości doświadczenia w interakcji. Kiedy front-end łączy się z UX designem, interfejs spełnia swoje zadanie, a produkt jest wykorzystywany w 100%, przynosząc klientowi oczekiwane zyski.
Na początku należy poważnie rozważyć wykluczenie naturalnej chęci zintegrowania tej roli wewnątrz sprintów scrum. Proces UX designu nie przebiega na tych samych zasadach, co sam development oprogramowania, ponieważ praca designera wymaga bardziej kompleksowego, holistycznego podejścia do produktu w szerokim horyzoncie czasowym.
Nie można wyekstraktować poszczególnych części interfejsu i zlecić pracy nad nimi po kolei, ponieważ zależności w przestrzeni UX są zbyt silne, żeby dopracowywać fragment z pominięciem analiz wpływu na całość.
Jak w takim razie pracują UX Designerzy w kontekście sprintów scrum?
Badacze Design Managementu używają modelu 4-stopniowych schodów DME do zobrazowania sytuacji UX designera w realiach metodyk takich, jak scrum:
Według badaczy, w 2009r. najwięcej przypadków reprezentowało 3 stopień podejścia do Design Managementu. Te zespoły scrum, które angażują specjalistę od UX/UI na poziomie drugim, kończą projekt przed fazą developmentu. Tym samym designer nie współpracuje w ramach sprintów. Dzieje się tak wówczas, jeśli klient sam sprecyzował UX design w każdym aspekcie i zespół scrum wynajęto wyłącznie do fazy produkcyjnej. Przykładem takiego produktu może być oprogramowanie bankowe lub do rachunkowości, gdzie kładzie się nacisk prawie wyłącznie na architekturę informacji, upraszczając wymagania w zakresie UX i spychając go na dalszy plan.
Zauważono ponadto, że częstą praktyką jest zatrudnianie tylko jednego UX designera, który musi odnaleźć się wśród kilku developerów i specjalistów ds. kontroli jakości.
Nie zmienia to faktu, że aby stanąć w czołówce developerów oprogramowania, organizacja pracująca w metodyce scrum potrzebuje dla osoby lub zespołu odpowiedzialnego za UX/UI podejścia zorientowanego na design, gdzie iteracje wprawdzie korzystają z frameworka scrum i nazywają się sprintami, jednak zorientowane są na Design Thinking i trwają – w przeciwieństwie do wielotygodniowych sprintów zespołu scrum – po kilka dni. Zwykle 5, z których każdy przeznacza się na inny etap:
Czasem występuje także etap „0”, czyli badania prowadzące do zebrania brakujących danych o użytkownikach, które mają zredukować ryzyko opierania sprintu projektowego na przeczuciach i przypuszczeniach.
Dzięki design sprintom jakość prototypów poprawia się w ciągu kilku dni, a zmiany prowadzą dokładnie w kierunku realnych potrzeb użytkowników. UX designer (lub designerzy), dostarcza twardych informacji, o których można merytorycznie dyskutować, co poprawia zrozumienie produktu oraz celów także wewnątrz zespołu scrum.
Żeby dodać do sprintu developerskiego scrum wyniki wypracowane w ramach design sprintu, trzeba na podstawie tych drugich stworzyć PBI (Product Backlog Item). Aby zintegrować oba obszary w czasie sprintów, należy im zapewnić płynną komunikację, a designerzy UX powinni brać udział w ceremoniach backlog groomingu. Jednocześnie trzeba dbać o rozwiązywanie konfliktów wynikających z zależności pomiędzy wynikami i priorytetami obydwu stron.
W celu zapewnienia płynności rozwoju produktu i maksymalnego wykorzystania wyników wypracowanych w obszarze User Experience, specjaliści z Nielsen Norman Group sugerują utrzymywanie UX designerów 1 sprint przed sprintami zespołu scrum. Istnieją także głosy za tym, aby to były 2 sprinty przewagi lub więcej.
Warto mieć szerszy wgląd w scenariusze pozytywne i negatywne, jakie mogą wyniknąć z integracji Design Sprintów i Sprintów Scrum. Wiele z nich zostało opisanych powyżej.
Większość zalet wynika z wartości dodanej wypracowywanej w zespole UX albo przez specjalistę:
Natomiast wady oznaczają tak naprawdę wyzwania na drodze synchronizacji pracy zespołu scrum z obszarem UX designu:
Nie ulega wątpliwości, że stawianie UX designu wśród priorytetów na drodze do stworzenia doskonałego produktu cyfrowego lub usługi, jest przyszłością. Oznacza to, że niezależnie od obecnych wyzwań, UX Designer lub zespół UX wnosi znacznie więcej dobrego dla zespołu scrum, niż powoduje problemów. Wystarczy wrócić do wagi, jaką odgrywa proces prototypowania – dzięki któremu redukuje się ryzyko inwestycji czasu i środków w niepotrzebne funkcje. Jednocześnie testy z użytkownikami powodują utrzymywanie kontaktu z rynkiem i pilnowanie, żeby produkt powstał w możliwie krótkim czasie, a przede wszystkim, zaspokajał potrzeby użytkowników.