Tak jak zapowiadałam, dziś rozpoczynamy na blogu nową serię - “Rozwojowe poniedziałki”. Pierwsza recenzja z tego cyklu dotyczyć będzie książki Jonathana Rasmussona “Zwinny samuraj. Jak programują mistrzowie zwinności”. Absolutny must-have dla każdego nowoczesnego programisty czy kierownika zwinnego projektu IT :)

Agile - nie taki straszny

“Zwinny samuraj” to doskonałe wprowadzenie w metodologię agile :) Książka jest znakomita dla początkujących, którzy nie mieli do tej pory styczności z tym sposobem prowadzenia projektów. Jednak nawet Ci, którzy już “liznęli temat” też odnajdą w niej coś dla siebie.

Czym są zwinne metodologie?

Agile to coraz bardziej popularny sposób prowadzenia projektów, który opiera się na zasadzie, że wymagania klienta będą się cały czas zmieniać. Gdy oprogramowanie tworzone jest w tradycyjny sposób, w długich, np. rocznych przedsięwzięciach; warunki i wymagania, które zostały zaobserwowane na początku projektu, na końcu mogą już być dawno nieaktualne. Tu z pomocą przychodzi agile, dzięki któremu software tworzony jest w krótkich np. dwutygodniowych cyklach, podczas których ma miejsce analiza, projektowanie, programowanie i testowanie małych, kompletnych części większej aplikacji.

Książka skupia się przede wszystkim na zasadach, jakimi rządzi się świat agile. Nie tylko je przedstawia, lecz także wyjaśnia skąd pochodzą, aby łatwiej można je było zaakceptować i wdrożyć. Swoje miejsce ma tutaj także opis podstawowych narzędzi, jakimi powinien posługiwać się zwinny programista. Opisane zostały m.in. continuous integration (CI), test-driven development (TDD), testy jednostkowe (unit testing).

Agile - z czym to się je?

Czytając tę książkę jesteśmy prowadzeni przez meandry zwinnego projektu. Rozpoczynamy podróż od trzech prostych prawd - wymagania się zmieniają, nie jest możliwe zebranie ich wszystkich na początku oraz zawsze będzie więcej do zrobienia, niż pozwala na to czas i budżet. Następnie poznajemy zwinny zespół, role jakie przyjmują jego członkowie oraz jak rozkłada się odpowiedzialność.

Uczymy się narzędzi, które są bardzo istotne w planowaniu projektu - tablicy koncepcyjnej, listy “NIE”, konieczności zadawania trudnych pytań. Jeśli chodzi o realizację dokładnie opisane zostało tworzenie i zarządzanie historiami użytkownika. Dowiadujemy się również o sposobach ich oceniania i wyznaczaniu prędkości zespołu.

Bardzo dużo uwagi autor poświęcił “wielkiej czwórce” - budżetowi, czasowi, jakości i zakresowi. Rasmusson podkreśla, że nie da się ich wszystkich ustawić na sztywno. Uważa, że najlepszym wyjściem jest by zakres mógł się stale dostosowywać do warunków.

Autor bardzo ciekawie przedstawia konieczność refaktoryzacji kodu - nazywa to spłacaniem długu technicznego. Jeśli chcecie dowiedzieć się na ten temat więcej - musicie przeczytać!

Dla mnie dużym plusem jest ogromna ilość odnośników do innych książek, nie tylko z dziedziny agile, lecz także np. z socjologii. Wszystkie interesujące skrupulatnie notowałam. Spodziewajcie się recenzji niektórych już niedługo!

Polecam wszystkim programistom. Nawet tym doświadczonym w dziedzinie zwinnego kodzenia. Ta książka z pewnością potrafi pomóc zrozumieć o co, tak naprawdę, w agile’u chodzi :)
Ten smakowity kąsek można nabyć TUTAJ.