W poprzednim poście pisałem o technikach akwizycji wymagań. Dziś cześć druga – kontynuacja poprzedniego wpisu.
Techniki zmiany perspektywy polegają na sprowokowaniu uczestników warsztatów do spojrzenia na problem z innej perspektywy. Najpopularniejszą techniką wykorzystującą zmianę perspektywy jest technika zwana Sześć Myślowych Kapeluszy.
Technika Sześć Myślowych Kapeluszy polega na przyjmowaniu przez uczestników kolejnych punktów widzenia problemu reprezentowanych przez poszczególne kapelusze. Zaletą stosowania tej techniki jest możliwość przekonania do jakiegoś rozwiązania osób, które były uparcie przekonane do proponowanej przez siebie idei. Jednak technika ta będzie bardzo pracochłonna w przypadku akwizycji wymagań na wysokim poziomie szczegółowości.
Techniki analogii wykorzystują porównanie problemów do innych analogicznych sytuacji, a następnie wykorzystują znane rozwiązanie problemu z analogicznej sytuacji do rozwiązania właściwego problemu.
Stosowane analogie mogę (ale nie muszą) dotyczyć podobnych problemów występujących w naturze oraz rozwiązań w jaki sposób natura sobie z nimi radzi. Skorzystanie z techniki analogii wymaga zapewnienia potrzebnego czasu na realizację warsztatów, a także aby wszyscy jej uczestnicy byli zdolni do analogicznego myślenia oraz mieli głęboką wiedzę z dziedziny problemu i dziedziny analogii dla problemu.
Techniki skoncentrowane na dokumentacji wykorzystują rozwiązania i doświadczenia zdobyte z funkcjonowania istniejących aplikacji. W przypadku wymiany istniejącej aplikacji zastosowanie tych technik pozwala na identyfikację wszystkich funkcjonalności wymienianego systemu.
Do technik skoncentrowanych na dokumentacji należą:
- Archeologia systemu
- Czytanie oparte na perspektywach
- Ponowne użycie
Technika archeologii systemów polega na wydobywaniu informacji potrzebnych do budowania nowych systemów z dokumentacji oraz kodu implementacyjnego już wykorzystywanych systemów lub systemów konkurencyjnych. Archeologia systemów umożliwia pozyskanie wymagań na dużym poziomie szczegółowości, a sumienna analiza kodu działającej aplikacji zapewnia, że żadna funkcjonalności występująca w istniejących systemach nie zostanie pominięta. Zastosowanie techniki archeologii systemów, szczególnie w przypadku analizy kodu aplikacji, jest bardzo pracochłonna i głównie stosowana w przypadku całkowitego lub częściowego utracenia wiedzy dotyczącej logiki istniejącego systemu.
Czytanie oparte o perspektywy jest stosowane gdy dokumentacja musi być przeanalizowana mając na uwadze różne punkty widzenia, np. punkt widzenia związany z implementacją lub testowaniem. Podczas czytania dokumentacji, czytający skupia się tylko na tych fragmentach dokumentacji, które są ważne z jego punktu widzenia, natomiast pozostałe fragmenty są pomijane.
Technika ponownego użycia polega na ponownym wykorzystaniu wymagań, które zostały zebrane podczas procesu inżynierii wymagań związanego z innym projektem. Inny projekt może dotyczyć właśnie tworzonego/modyfikowanego systemu lub całkiem innego rozwiązania. Technika ponownego użycia wymaga przechowywania i udostępniania wcześniej pozyskanych wymagań na określonym poziomie szczegółowości. Zastosowanie tej techniki powoduje znaczne obniżenie kosztów procesu akwizycji wymagań. Podczas stosowania tej techniki inżynierowie wymagań obserwują interesariuszy podczas ich codziennej pracy.
Podczas obserwacji inżynierowie wymagań dokumentują swoje obserwacje i na bieżąco zadają pytania, które pozwalają im lepiej poznać dziedzinę problemu oraz zidentyfikować pożądane i niepożądane zachowania systemu. Zastosowanie techniki obserwacji może w znacznym stopniu pomóc zrozumieć inżynierom wymagań dziedzinę problemu oraz wspomóc pozyskiwanie wymagań od interesariuszy, którzy nie potrafią w sposób zrozumiały przekazać ich wiedzy. Dodatkową korzyścią z zastosowania techniki obserwacji jest możliwość spojrzenia na problemy interesariuszy ze „świeżej” perspektywy i zaproponowanie udogodnień, które mogą być nie dostrzegane przez interesariuszy wykonujących te same zadania instynktownie, bez zagłębiania się w poszukiwanie lepszych rozwiązań.
Podczas techniki obserwacji pola inżynier wymagań obserwuje pracę specjalistów lub użytkowników systemów w ich lokalizacji oraz dokumentuje procesy i procedury operacyjne, które są przez nich wykonywane. Na podstawie udokumentowanych obserwacji inżynier wymagań formułuje wymagania. Technika ta może być bardzo pomocna w procesie akwizycji wymagań dotyczących procedur operacyjnych, które są trudne do opisania ale mogą być łatwo zidentyfikowane podczas realizacji danej procedury.
Podczas tej techniki inżynierowie wymagań uczą się i realizują procedury wykonywane przez interesariuszy. Praktyczny udział w tych procedurach skłania inżynierów wymagań do zadawania pytań dotyczących niejasnych i skomplikowanych rozwiązań, pogłębiając ich wiedzę dotyczącą dziedziny problemu. Technika ta pozwala na pozyskanie wymagań, które interesariusze uznają za oczywiste i dlatego mogą mieć problemy z ich sformułowaniem lub je pomijają. Dodatkową zaletą zastosowania tej techniki jest zmniejszenie różnic pomiędzy inżynierami wymagań i interesariuszami. Inżynierowie występują w roli uczniów interesariuszy, którym oni przykazują swoją wiedzę, co pozwala zmniejszyć interesariuszom dystans do inżynierów wymagań.
A jaką technikę Ty stosujesz w akwizycji wymagań?
Tekst zainspirowany książką: Klaus Pohl, Chris Rupp „Requirements engineering fundamentals : a study guide for the Certified Professional for Requirements Engineering exam : foundation level”, IREB compliant Wydawnictwo: Rocky Nook Inc, 2011