Wednesday, July 28, 2010

Conversation Patterns: Kilka spraw, o których powinien wiedzieć analityk

This article is part of my work on Conversation Patterns for Software Professionals


Gdy wchodzisz do firmy jako zewnętrzny analityk, czasem dzieją się dziwne rzeczy...Zebrałem parę punktów, o których warto wiedzieć przed przystąpieniem do pracy. (to luźne, nieposegregowane notatki, więc bez pedantyzmu, pliz ;))

  1. Rozpoznaj strukturę organizacyjną - przed spotkaniem warto wiedzieć kto jest kim i za co odpowiada; pozwoli to lepiej ułożyć grafik rozmów
  2. Ustal wcześniej grafik spotkań - w większości firm nie można wyciągnać ludzi na rozmowę ot tak sobie, trzeba się najpierw umówić
  3. Zawsze ustalaj, czego chcesz się dowiedzieć - bo może się zdarzyć, że po całym dniu spotkań, będziesz przeglądać notatki i zastanawiać się, czego się właściwie dowiedziałeś
  4. Trudno wyciągnąć wymagania od osoby nastawionej na różnice - czasem zdarzy się klient, który wymagania formułuje poprzez wyjątki od reguł; baaaardzo trudno ustalić jak właściwie ma działać wspomagający go system, bo w sposobie myślenia klienta większość rzeczy, którymi zajmuje się w pracy nie ma ze sobą nic wspólnego (np.: nastawiony na różnice doradca bankowy "potrzebuje" oddzielnego systemu dla każdego klienta
  5. System wciąga - gdy przebywasz więcej niż 1 dzień w firmie klienta, zaczynasz wciągać się w ich problemy; ludzie z którymi się spotykasz bezwiednie próbują umieścić w środowisku, w którym się znajdują, próbują cię zaklasyfikować, nadać jakąś etykietkę, jakąś rolę; np. zaczynają cię traktować jako podwładnego Dyrektora IT; jeśli dasz się wciągnąć w tę grę to po tobie, bo stracisz perspektywę "kogoś z boku"
  6. Prowadź spotkanie - bo jeśli ty nie będziesz kierował jego przebiegiem, to na pewno zrobi to ktoś inny; nie osiągniesz wtedy swoich celów
  7. Odróżniaj fakty od emocji - Niektórzy ludzie mówią o swoich odczuciach związanych z oprogramowaniem; pamiętaj, że opiniom nie przysługuje atrybut prawdy; jeśli będziesz wystarczająco długo zadawał pytanie po czy konkretnie poznasz, że...? (np.: po czym konkretnie poznasz, że GUI jest ładne), to dojdziesz do użytecznych faktów
  8. Bądź wyczulony na relacje międzyludzkie - w każdej grupie ludzi, ktoś kogoś lubi albo nie, ktoś z kimś trzyma albo wojuje, ktoś rządzi, a ktoś słucha; rozpoznając relacje w firmie skuteczniej zidentyfikujesz interesariuszy (osoby, które mają odnieść korzyść z powstania systemu), mocnych interesariuszy (osoby, które mają rzeczywistą moc powiedzieć, że system ma wyglądać i działać tak, a nie inaczej) oraz oponentów (tych, którzy będą negować idę powstania systemu); czasem trafnie rozpoznając relacje międzyludzkie możesz odgadnąć, że właściwie nie masz nic do roboty w tej firmie zanim zapadnie taka decyzja
  9. W miarę możliwości porozmawiaj z każdym - jeśli kogoś pominiesz, to mogą przychodzić mu do głowy różne myśli, np.: a może chcą mnie zwolnić?
  10. Ludzie mają przyzwyczajenia - i prędzej wyjmą twoje serce łyżką niż z nich zrezygnują; jeśli nowy soft nie będzie podobny do czegoś, co już znają albo widzieli, to nie będą go używać
  11. Podczas zbierania wymagań koncentruj się na...zbieraniu wymagań - choć chęć zastanawiania się nad tym jak to zrobić jest bardzo silna; to nie jest jeszcze ten moment
  12. Wysyłaj podsumowania po spotkaniu - po pierwsze uporządkujesz wiedzę, po drugie sprawdzisz, czy dobrze zrozumiałeś, po trzecie dostaniesz dodatkowe informacje (a może ktoś coś sobie przypomni?), po czwarte podkreślisz wagę spotkania, po wtóre to jest odbierane jako oznaka profesjonalizmu
  13. Rób notatki podsumowujące spotkanie - i to jak najszybciej po jego zakończeniu! wtedy masz spostrzeżenia na gorąco; rewelacyjnie sprawdza się w tym zakresie mind mapping
  14. Nie daj się uwieść narzędziom - narzędzia w stylu EA i podobne są pożyteczne jak już dokładnie wiesz czego potrzebuje klient i chcesz to zgrabnie zebrać do kupy; korzystanie z nich na wczesnym etapie (choć twórcy wbudowują zachęcające funkcjonalności) ogranicza i usztywnia kreatywność; zamiast zastanawiać się nad potrzebami klienta, zaczniesz rozgryzać narzędzie (a każde z narzędzi ma inaczej zaprojektowany proces pracy, a tenże proces pracy zupełnie nie pasuje to tego w jaki sposób działają nasz mózgi)
  15. Poznaj procesy biznesowe - przed spotkaniami bardzo korzystnie jest poznać specyfikę pracy i procesy biznesowe, które ma wspierać nowe oprogramowanie