Oprogramowanie szyte na miarę.

Jakiś czas temu wpadła mi w oko książka Michała Bartyzela “Oprogramowanie szyte na miarę. Jak rozmawiać z klientem, który nie wie, czego chce”.  Zdarza mi się przeglądać blog Michała i uważam, że jest to osoba znająca się na tematach o których mówi i z tego właśnie powodu zdecydowałem się sięgnąć po tą pozycję. Wiarygodność autora była dla mnie o tyle ważna, że książka o której mowa dotyka zagadnień związanych z pracą analityka o której nie mam zbyt dużego pojęcia. 

O czym jest ta książka?

“Oprogramowanie szyte na miarę”, jest książką, która mówi o tym jak komunikować się z ludźmi w celu zbierania wymagań dotyczących tworzonego oprogramowania. Jest ona raczej krótka (184 “ekrany” epuba), ale dzięki temu, że skupia się głównie na praktycznych aspektach komunikacji, udało się zawrzeć w niej całkiem spory kawałek wiedzy.

Książka opisuje szeroki wachlarz sytuacji z którymi można się spotka podczas rozmowy z drugim człowiekiem. Stara się podpowiadać w jaki sposób prowadzić rozmowę: kiedy zagłębiać się w szczegóły, kiedy próbować uogólniać a kiedy zmieniać perspektywę patrzenia na problem. Podczas czytania poznamy również szereg technik pomagających prowadzić rozmowę w sposób jak najbardziej efektywny.

Wszystko to jest przedstawione na tle różnych etapów procesu analizy – od ustalenia wizji, przez odkrywanie procesów biznesowych po ustalanie priorytetów.

“Oprogramowanie szyte na miarę” to również sporo porad na temat “higieny” pracy analityka. Dowiemy się na przykład jak planować spotkania w taki sposób aby z jednej strony jak najefektywniej wykorzystać czas (nasz i klienta) a z drugiej znaleźć też chwile na uporządkowanie myśli.

Michał podkreśla, że pomimo tego, że istnieje całkiem pokaźny zestaw technik pozwalający nam na osiągnięcie celu, jakim jest zebranie wymagań, to jednak bardzo ważny jest również “ludzki” aspekt komunikacji. Dobrze jest pamiętać, że rozmawiamy z żywym człowiekiem i nawet najlepsze techniki prowadzenia rozmów na niewiele się zdadzą jeżeli nie będziemy starać się zbudować pozytywnej relacji drugą osobą.

Kilka uwag odnośnie formy

Gdzieś na początku, autor wspomina książkę “Software Requirements” Karla Weigersa. Wydaje mi się, że Michałowi dość bliska jest “estetyka” tej pozycji, gdyż podobnie jak u Weigersa, mamy tutaj ogromną liczbę przykładów zestawionych w formie tabelek. Każdy z przykładów jest rozłożony, zdanie po zdaniu, na czynniki pierwsze. Taka formuła książki (przykłady + komentarze) jest jej silną stroną. To właśnie dzięki niej, na stosunkowo małej liczbie stron, zmieściło się sporo wiedzy. Co prawda chętnie poczytałbym również, np. o bardziej technicznych zagadnieniach związanych z analizą, ale nie jest to coś, co pogarsza moją ogólną opinię na temat  tej pozycji.

Wyróżniającą się cechą książki jest duża liczba odręcznych rysunków, co jest charakterystyczne także dla wpisów na bloga Michała. Mnie osobiście podoba się taki zabieg – informacje w formie obrazkowej, trafiają do prawej półkuli mózgu i w połączeniu tekstem pozwalają na pełniejsze spojrzenie na dane zagadnienie. Nie do końca podobają mi się rysunki przedstawiające algorytmy, gdyż trzeba przy nich na chwilę się zatrzymać i je przeanalizować. Jest to przeciwieństwo wszystkich innych ilustracji na które wystarczy rzucić okiem i już wiadomo o co chodzi.

Ciekawym pomysłem było poświęcenie jednego rozdziału na podsumowanie wszystkich zagadnień z książki. Rozdział ten z jednej strony spełnia rolę “powtórzeniową”. Z drugiej strony  pokazuje nam tzw. “bigger picture” zestawiając wszystkie informacje obok siebie w bez zagłębiania się w szczegóły.

Podsumowanie

Piszę tą recenzję z punktu widzenia osoby, która nie posiada doświadczenia w procesie zbierania wymagań. Uczciwie trzeba przyznać, że przeczytanie tej książki nie zmieniło mnie w analityka, bo pracy z drugim człowiekiem  nie da się nauczyć z książki. Natomiast na pewno książka dała mi świadomość istnienia dużej ilości technik, które można stosować w celu lepszej komunikacji  i wydaje mi się, że stanowi bardzo dobry punkt wyjścia – zarówno do dalszego zdobywania wiedzy jak i do wypróbowania tego czego się dowiedziałem w praktyce.