Dlaczego polecam tę książkę?
Wprowadzenie metodologii Agile w moim przypadkus związane było z przejściem całego zespołu z firmy micros do Oracle.
Do tej pory moja praca wyglądała w sposób standardowy - przypisanie taska w systemie obsługi zgłoszeń, przejście przez cały proces zgodnie z przepływem pracy. Po przydzieleniu kolejnego zadania cały cykl się powtarzał.
Potem pojawił się Agile a wraz z nim szereg pojęć do których można zaliczyć m.in: Product Owner, Scrum Master, Sprint, Spring Planning, Daily Standup, Sprint Review, Sprint Retrospective czy Sprint Backlog.
W pewnym momencie czułem się zagubiony, liczba i czas trwania spotkań była nie do zniesienia. Brakowało mi skupienia i możliwości pisaniu kodu.
Zdecydowałem się sięgnąć po powyższy tytuł, żeby zrozumieć na czym dokładnie polega powyższa metodologia i zaproponować zmiany (każdy z nas dopiero się uczył) tak, żeby nasz zespół pracował efektywnie i był produktywny - ciągłe spotkania nie wpływają dobrze na skupienie programisty.
Agile nastawiony jest na elastyczność i szybkość reagowania na zmiany. Może sie zdarzyć, że wymagania klienta ulegną zmianie a my musimy dopasować system do jego potrzeb.
Niezwykle istotne staje sie odpowiednie zastosowanie wzorców projektowych. Książka, na bazie czytelnych przykładów, przedstawia możliwości i zasady używania poszczególnych wzorców projektowych.
"Moduły wysokopoziomowe nie powinny zależeć od modułów niskopoziomowych. Obie grupy modułów powinny zależeć od abstrakcji." - wyobraźcie sobie sytuację w której wymagania klienta ulegają nieznacznej zmiane ale niepoprawna implementacja (bez uwzględnienia tego lub innego wzroca projektowego wpływa na znaczne wydłużenie wprowadzania zmian). Dzięki dużej liczbie przykładów można spojrzeć z szerszej perspektywy (wymagań klienta) na różne wzroce projektowe.
Spotkania z zespołem UI/UX wraz z prezentacją diagramów UML były dla mnie strasznie męczące. Po przeczytaniu książki zdałem sobie jednak sprawę jak bardzo są istotne.
"Modele są budowane w celu sprawdzenia, czy przyszłe, prawdziwe konstrukcje będa zgodne z zamierzeniami swoich twórców." Nagle nasze spotkania nabrały sensu, zacząłem rozumieć czego chcą klienci, jaką wizję na prezentację ma zespół UI/UX a programiści mogli przedyskutować ze sobą założenia projektu i zasugerować zmiany na wczesnym etapie tworzenia systemu.
Całkowicie zmieniło się również moje podejście do diagramów zmiany stanów, kiedy zespół UI/UX zaprezentował, w przypadku jednego modułu, system powiadomień niezgodny z obecna architekturą przygotowywanego systemu.
Po przeczytaniu tej książki zdałem sobię sprawę czym tak naprawdę jest metodologia Agile a same spotkania stały się dla mnie dużo bardziej istotne i w znaczący sposób wpłynęły na podejmowane decyzje przed przejściem do kolejnej iteracji projektu.