Close

Projektowanie Agile

Proces i wytyczne dotyczące projektowania opartego na współpracy

Przeglądaj tematy

Projektowanie jest ważną częścią każdego projektu związanego z tworzeniem oprogramowania. Jednak wiele zespołów Agile zmaga się z problemem „co zrobić z projektem?” z powodu następujących czterech czynników:

  • Na etapie planowania wiele zespołów koncentruje się na projektach o wysokiej wierności, co wymusza przyjęcie metodyki kaskadowej w trakcie implementacji.
  • Projektanci często współpracują z różnymi zespołami i mogą poświęcić na pracę z konkretnym zespołem tylko ograniczoną ilość czasu.
  • Projektanci nie zawsze dysponują prostym sposobem przekazywania informacji zwrotnych zespołowi inżynierskiemu.
  • W bazie kodu warstwy logiki i prezentacji nie zawsze są wyraźnie rozdzielone, co utrudnia zmiany stylu.

Artykuły dotyczące projektowania

[KONTYNUACJA]

Projektowanie: zwinne, tak jak programowanie

Zanim przejdziemy do szczegółów, chciałbym wprowadzić jeszcze jedno pojęcie: projektowanie oparte na współpracy. Iteracyjne podejście do projektowania produktu nie przyniesie spektakularnych wyników, jeśli będzie zawieszone w próżni. Poznanie punktów widzenia klientów i programistów już na samym początku projektu pozwoli znaleźć się bliżej właściwego celu i ułatwi skoncentrowanie iteracji na jego realizacji w miarę postępu prac. Przyjrzyjmy się teraz temu krótkiemu nagraniu webinarium, aby dowiedzieć się, jak współpracują projektanci w Atlassian.

Jak można było się przekonać, product owner i projektant już na wczesnym etapie poświęcą czas na burzę mózgów i iteracyjne zaplanowanie produktu. Ich celem jest zweryfikowanie uzasadnienia biznesowego i upewnienie się, że zespół inżynierski właściwie wykorzystuje czas na rozwiązywanie rzeczywistych problemów, z jakimi borykają się prawdziwi klienci.

Profesjonalna porada:

Ta faza nie jest „zerowym sprintem”. Ważne jest, aby poprawnie przygotować te fundamenty, a nie tylko ustalić ich ramy czasowe. Osadzenie projektu od początku na solidnych podstawach będzie przynosić korzyści w trakcie całego okresu jego trwania. Warto zatem poświęcić na to tyle czasu, ile jest wymagane.

Po etapie wstępnego planowania i opracowywania koncepcji ideowej menedżer produktu i projektant zaczynają współpracować z zespołem programistycznym. W całym programie projekt wizualny i mechanizmów interakcji ma charakter iteracyjny — tak jak w przypadku architektury oprogramowania: należy rozpoznać najważniejszy problem do rozwiązania i dodać wystarczająco elementów projektu (i kodu), aby uzyskać informacje zwrotne na temat rozwiązania.

Gdy zespół rozpoczyna planowanie sprintu i porządkowanie backlogu, warto zwrócić się do projektantów. Uzyskanie ich opinii na etapie podejmowania decyzji dotyczących dalszego kierunku rozwoju produktu ułatwi finalizację tego procesu.

Programiści i product ownerzy też mogą być projektantami!

W wielu organizacjach projektanci współpracują z wieloma zespołami (a nawet nad wieloma produktami!). W Atlassian również tak jest. Dlatego dążyliśmy do tego, aby lepiej wykorzystać ich cenny czas.

Wytyczne Atlassian dotyczące projektowania są zbiorem zasad, wskazówek i zasobów umożliwiających projektowanie i tworzenie fantastycznych środowisk. Nasze wytyczne dotyczące projektowania obejmują nie tylko elementy projektu wizualnego, ale także ucieleśniają nasze wartości w sferze projektowania środowiska użytkownika. Pozwala to wielu zespołom Agile opracowywać spójne środowiska we wszystkich rodzinach naszych produktów. Jak już wspomniano, w procesie projektowania biorą udział programiści i product ownerzy. W związku z tym, że Wytyczne Atlassian dotyczące projektowania zakładają współpracę całego zespołu, programiści i product ownerzy stają się lepszymi projektantami. Zdobyty zestaw umiejętności jest następnie przekazywany także innym członkom zespołu, co stanowi podstawową wartość w kulturze Agile.

Choć wspólny sposób myślenia jest istotny, my chcieliśmy pójść o krok dalej w naszym podejściu do projektowania Agile. Wytyczne Atlassian dotyczące projektowania są udostępniane za pośrednictwem trzech głównych kanałów:

  • witryny internetowej z wytycznymi Atlassian dotyczącymi projektowania, gdzie można znaleźć filozofię i metodologię leżące u podstaw naszych decyzji projektowych;
  • gotowego pakietu interfejsu użytkownika Atlassian (AUI), czyli zestawu szablonów HTML, JavaScript i CSS, w których wdrożono wszystkie nasze elementy projektowe w postaci kodu;
  • szablonów Keynote i PowerPoint zawierających wizualną prezentację wszystkich naszych komponentów.

Programiści mogą pobrać pakiet AUI i tworzyć makiety. W podobny sposób product ownerzy mogą tworzyć w slajdach z prezentacji środowiska produktów, które wyglądają tak jak rzeczywisty produkt, bez konieczności pisania ani jednego wiersza kodu. Jest to skuteczny sposób na zgromadzenie istotnych i praktycznych informacji zwrotnych na temat projektu. Te zasoby umożliwiają również wzmocnienie współpracy partnerskiej nad projektami w obrębie całego zespołu Agile. Jeden projektant pełni wiodącą rolę w procesie planowania, jednak reszta zespołu ma swój wkład w podejmowanie decyzji w kolejnych iteracjach. Pozwala to wyeliminować wąskie gardło procesu decyzyjnego dotyczącego projektu oraz w większym stopniu wdrożyć zasady Agile w całym zespole.

Projektowanie wspaniałego środowiska

W toku prac rozwojowych każda funkcja przechodzi dwie ścieżki: projektowanie środowiska użytkownika i projektowanie wizualne. Projektowanie środowiska użytkownika wymaga myślenia o projekcie w kategoriach architektury informacji i przepływów pracy w obrębie nowej funkcji. Projekt wizualny obejmuje projektowanie interakcji i stylu prezentacji funkcji. Czasami zespoły skupiają się zbyt mocno na aspekcie wizualnym, ponieważ stanowi on tę emocjonalną część procesu tworzenia produktu. (No i wszystko jest takie ładne, ciekawe i w ogóle). Jednak projekt wizualny, choć jest bardzo ważny, nie może przesłaniać dobrze zaprojektowanego środowiska użytkownika. W rzeczywistości nawet najbardziej zachwycający projekt wizualny nie sprawi, że użytkownicy pokochają produkt, jeśli projekt środowiska nie będzie dobry.

Dzięki wysoce rozwiniętym umiejętnościom wczuwania się w doświadczenia użytkowników i szóstemu zmysłowi pozwalającemu wykrywać błędy typograficzne oraz dziwaczne układy projektanci stanowią niezwykle cenne źródło informacji zwrotnych. Dlatego należy im zapewnić możliwość łatwego wykonywania zrzutów ekranu, dodawania do nich oznaczeń i zgłaszania błędów lub sugerowania ulepszeń.

Elastyczny projekt jest projektem przyszłościowym

Projekt z czasem ulega zmianom, podobnie jak paradygmaty obowiązujące w programowaniu. Nowoczesne technologie, takie jak CSS, ułatwiają oddzielenie wizualnej strony aplikacji od jej logiki. Podobnie trzeba upewnić się, że automatyczne testy są tak skonstruowane, aby były odporne na ewolucję projektu wizualnego. Projekt będzie się zmieniał, dlatego ważna jest możliwość łatwego dostosowywania bazy kodu do nowych trendów.

Sven Peters
Sven Peters

Sven is a software geek working for Atlassian. He loves programming and helping dev teams to kick ass!