Zmiany w certyfikacie ECBA IIBA
Zobacz co IIBA zmienia w zakresie egzaminu ECBA. Co to oznacza dla z zdających? Kiedy zmiany wchodzą w życie? Skąd
Wspólną bolączką ludzi z branży IT jest fakt, że klient nie wie, czego chce. Przygotowujemy oprogramowanie zgodnie z jego wytycznymi, a on kręci nosem, zmienia zdanie, czasem tupie nogą i nie chce odebrać tego, co zamówił. Czy czasami nie oczekujemy od niego zbyt wiele?
I nic dziwnego. Przychodzi mi na myśl cała litania trudności:
Czego właściwie oczekujemy od klienta? Że wspinając się na szczyty swoich zdolności zapytamy: „Co mamy dla Ciebie zrobić?” a on powie, co mamy dla niego zrobić?
Pomyśl o sobie jak czegoś szukasz, coś kupujesz, zamawiasz usługę. Zawsze wiesz, czego chcesz, patrząc z perspektywy dziedziny, do której ta rzecz należy, choć się na niej nie znasz? Idziesz do fryzjera i mówisz w jakim miejscu jak powinny być przycięte czy pomalowane włosy. Nie ma prawa nie podobać Ci się efekt?
Wyobraź sobie, że chcesz odnowić pokój. Zamawiasz ekipę do urządzania wnętrz. Co ona może dla Ciebie zrobić? Może na dwa sposoby. Podejście 1:
Ktoś pyta: „To, co Pan chce tutaj?”. Mówisz, że zielone zasłony, szeroką kanapę i mega telewizor. Ekipa dostarcza zielone zasłonki, szeroką (ich zdaniem) kanapę i mega telewizor. Choćby było paskudnie, a kanapa utrudniała wyjście z pokoju – nie masz się co oburzać – wszystkie Twoje wymagania zostały spełnione.
Ja wolałabym podejście 2:
Przychodzi specjalista od projektowania wnętrz. Zna się na rzeczy, ma swoje sprytne sztuczki i techniki projektowania. Wypytuje mnie, jakie przeznaczenie ma mieć ten pokój, co będę robić i kiedy (odpoczywać, bawić dzieci, grać w Kinecta), czy moi współlokatorzy nie cierpią na otyłość, jakie są moje ulubione kolory, co robię zaraz po przyjściu do domu, gdzie kładę klucze, czy lubię podpierać nogi oglądając TV, itp. Jeśli moje zielone zasłony w obliczu tych potrzeb nie mają racji bytu, a wielka kanapa odetnie dostęp światła i przeszkodzi w wykonywaniu moich rutynowych czynności, chcę, żeby mi o tym powiedział i zaproponował coś lepszego. Chcę, żeby miał wizję całości i stworzył dla mnie efekt bliższy moim potrzebom niż wyrażonym życzeniom. Chciałabym, żeby zaskoczył mnie tym, jak dobrze odkrył to, czego sama nie potrafiłam wyartykułować. Nie znam się na projektowaniu wnętrz, skąd mam wiedzieć co jest dobre?
Czego się spodziewamy? Że klient odwali za nas całą robotę i podsunie pod nos gotową specyfikację z algorytmami i bazą danych?
Wystarczy dobra specyfikacja? Skąd klient ma wiedzieć jak przygotować specyfikację?
Wystarczy, żeby wiedział, czego chce i nie zmieniał zdania? Zazwyczaj system to złożona rzecz. Wymagamy od klienta, żeby patrząc na jedną funkcję, w głowie przeprowadził proces syntezy całego rozwiązania i widząc je w wielu wymiarach, dał nam odpowiedź – jakie pola będą potrzebne. W kontekście, o jakim teraz myśli może to być A, B i C, ale potem nagle pojawia się kolejny temat, który okazuje się mieć wpływ na poprzedni (w systemie!) i dodaje się pole D. Czy on to mógł przewidzieć? Czasem tak, czasem nie…
Problem w tym, że system jest abstrakcją rzeczywistości. Upraszczamy skomplikowany świat do prostych modeli, które mają mnóstwo ograniczeń. Budujemy ten model ze struktur oprogramowania. Czy to wina klienta, że pewne zmiany burzą nasze misterne struktury? To my wybraliśmy model, który opisze jego świat. Dlaczego wybraliśmy akurat taki? Moglibyśmy przygotować dla niego wszystko! Gdybyśmy tylko wiedzieli, co jest ważne.
Absurd. Jesteśmy inżynierami, a nie wróżką (czy wróżbitą Maciejem)! Przecież z takim to jak z babą! „A może tak… A może inaczej… A może lepiej tak…”. Wiemy tylko to, co nam powie…
Możemy pomóc jemu (i sobie!) odkryć jego potrzeby. Nie będziemy wiedzieli lepiej od niego jak działa jego biznes, ale wiemy lepiej jak działa oprogramowanie. I co z w związku z tym? Od dekad ludzie wytwarzają oprogramowanie i wszyscy (którzy tworzą na zlecenie zewnętrznego klienta) napotykają te same wyzwania. Powstało już tyle technik przekładania potrzeb na wymagania systemowe, że nic, tylko z nich korzystać (np. http://www.babokonline.org/)! Ale do tego potrzebujemy szacunku do siebie nawzajem (biznes vs IT), uznania potrzeb klienta za ważne (za drogę do naszego wspólnego celu) i właściwego podziału odpowiedzialności.
Czego nie możemy oczekiwać od klienta?
Czego powinniśmy oczekiwać od klienta?
Czego nie możemy oczekiwać od siebie?
Czego powinniśmy oczekiwać od siebie?
Pamiętajmy o jednym:
To my jesteśmy specjalistami od IT. To my powinniśmy wiedzieć jak technologia może pomóc klientowi.
Gdzieś pomiędzy nami znajduje się tajemniczy obszar (jak w grze zaczernione na mapie tereny, których jeszcze nikt nie odkrył). Ten obszar to potrzeby klienta. Nie jego życzenia, ale to, czego naprawdę potrzebuje. Niestety nie widać ich gołym okiem. Przejścia bronią złośliwe trolle, złe czary i brakujące zasoby.
Mamy misję. Musimy odkryć niewidoczne. Tylko kto się tego podejmie?
Jako strategiczny analityk biznesowy na pograniczu zarządzania i IT zapewniam, że projekty i działania w organizacji przynoszą wartość biznesową. Dostarczam kompetencji analitycznych managerom i zarządom z Polski, Niemiec i Szwajcarii przy tworzeniu strategii oraz wdrażaniu jej w kilkuset osobowej międzynarodowej organizacji.
Tomasz
Super wpis, sam chciałem coś na ten temat naskrobać 🙂 Ale do rzeczy.
Trudno się dziwić firmom INFORMATYCZNYM, że chciałby gotowy zestaw wymagań od klienta. Problem oczywiście jest taki, że klient nie jest w stanie tego sam dostarczyć, a firmy informatyczne “wydobyć” od klienta. Bo brak kompetencji, bo szkoda czasu i pieniędzy na analizę, bo trzeba dostosować projekt do naszych możliwości technicznych, bo jakoś to będzie.
I potem słyszymy: klient nie wie czego chce! Klient (sponsor projektu) doskonale wie czego chce. W końcu wydaje na to kupę kasy! Ma cel – chce przyspieszyć produkcję, obniżyć koszty, zdobyć nowych użytkowników. Tylko skąd on ma wiedzieć jakie dokładnie oprogramowanie pozwoli mu ten cel osiągnąć?
A może by tak spróbować inaczej? Po stronie klienta? Analiza przed startem projektu, przed wyceną i wybraniem wykonawcy, wsparcie analityczne po stronie klienta w czasie projektu?