A oto ostatni już w tym cyklu artykuł opisujący, od czego zależy sukces analizy biznesowej w SCRUM. W tym wpisie skupimy się na dobieraniu odpowiednich narzędzi pod kątem realizowanych zadań. Dowiesz się jak można wykorzystać znajomość istniejących systemów oraz jakie narzędzia pomogą Ci sprawnie udokumentować wymagania.
Znajomość rozwijanego systemu
W przypadku, gdy wykonujesz analizę rozbudowy istniejącego systemu, powinieneś go znać co najmniej lepiej, niż jego przeciętny użytkownik. Jeżeli opisujesz nowo powstający system, dobrze by było, gdybyś z podobnym systemem pracował w przyszłości. Znajomość systemu przynosi wartość w następujących sytuacjach:
- Gdy opisujemy proces podobny do istniejącego – możemy posłużyć się istniejącymi formularzami, powiadomieniami mailowymi, ścieżkami przebiegu aby omówić proces z którymś z użytkowników. Dzięki temu łatwiej będzie mu wyobrazić sobie kształt tego o czym rozmawiacie.
- Jeżeli modyfikujemy wygląd formularzy – w przypadku aplikacji Webowych wystarczy kilka minut z Firebugiem, aby przygotować szkic zmodyfikowanego formularza. Jeżeli nie wiedziałbyś, że taki formularz istnieje – straciłbyś sporo czasu na zamodelowanie go od zera.
- Jeżeli modyfikujemy uprawnienia w istniejącej aplikacji – możemy poszukać podobnego istniejącego elementu w systemie. Przykładowo, jeżeli dodajemy nowy typ dokumentu oraz ustalamy kto powinien mieć do niego uprawnienia i w którym momencie. Możemy się wtedy posłużyć istniejącym typem dokumentu – najbliższym temu, który chcemy dodać i na tym przykładzie omówić, jak ma wyglądać system uprawnień.
- Gdy wprowadzamy całkowicie nową funkcjonalność – warto sprawdzić czy system „z pudełka” nie oferuje takiej lub zbliżonej funkcjonalności, zanim zaczniemy proponować rozwiązanie wymagające dewelopmentu „od zera”.
Dobór odpowiedniej techniki
Dobór odpowiedniej techniki notowania i prezentowania analizy przynosi wiele korzyści. Pozwala zaoszczędzić czas, zwiększyć przejrzystość analizy oraz zapewnić reużywalność dokumentacji dla kolejnych projektów. Dobór techniki zależy od tego na jakim etapie analizy jesteśmy oraz jaki element systemu specyfikujemy. Warto też dostosować narzędzia do skali projektu, do zamodelowania procesów nie zawsze potrzebny będzie Enterprise Architect – czasem wystarczy bezpłatne Bizagi.
- Specyfikacja interfejsu użytkownika (kiedy nie dysponujemy grafikiem lub specjalistą UX)
W zależności od etapu analizy, czasem na początku wystarczy zwykły szkic na papierze. W ten sposób możemy od ręki zaproponować układ formularza lub ogólne wytyczne dla aplikacji. Dopiero potem przechodzimy do modelowania w narzędziach takich jak Pencil (bezpłatne) czy Axure. Przy aplikacjach webowych pomocny jest Firebug (wymaga podstawowej znajomości HTML).
- Definiowanie uprawnień
Macierze uprawnień najlepiej opisywać w Excelu w postaci płaskiej listy a zestawienia prezentować w postaci tabel przestawnych. Dzięki temu mamy możliwość spojrzenia na uprawnienia praktycznie z każdej perspektywy. Na przykładzie dokumentów, moglibyśmy sprawdzić: kto ma dostęp do określonego typu dokumentów, do jakich typów dokumentów ma dostęp określona rola systemowa, jakie występują typy dokumentów, jakie występują role systemowe, jaki poziom uprawnień ma dana rola w kontekście typu dokumentu i wiele innych. Tabele przestawne mogą być potem wykorzystywane do audytu uprawnień w aplikacji.
W pewnych sytuacjach użycie tabel przestawnych jest niemożliwe, wtedy możemy się posiłkować zwykłymi tabelami. W każdym z tych przypadków warto pamiętać o macierzy CRUD.
- Dokumentowanie procesów
W przypadku małych projektów, warto uwzględnić aplikację Bizagi, która jest bezpłatna i umożliwia modelowanie procesów zgodnie z notacją BPMN 2.0. Przy projektach korporacyjnych dobrym narzędziem będzie Enterprise Architect, który posiada wsparcie dla większej ilości standardów, zautomatyzowany generator dokumentacji oraz możliwość prezentowania diagramów w HTML dla osób nie posiadających licencji na to narzędzie.
- Śledzenie postępu prac
Gdy wszystkie wymagania są już zebrane, przychodzi pora na zaplanowanie prac i śledzenie ich postępu w ramach sprintów. Najlepszym rozwiązaniem pod kątem SCRUM jest aplikacja JIRA z dodatkiem Agile, która pozwala na planowanie sprintów, estymację zadań, śledzenie postępu prac oraz weryfikację zmiany wymagań na przestrzeni czasu. Poza JIRĄ, aplikacje takie jak Redmine i Mantis również posiadają dodatki „Agile”, ale nie są one tak rozbudowane jak w JIRA.
Mam nadzieję, że uwzględnienie wszystkich opisanych przeze mnie w tej serii kwestii, wpłynie na sukces również Waszej analizy w projektach zwinnych.
Zostaw komentarz