13 lutego 2001 roku w ośrodku wypoczynkowym Snowbird w USA (stan Utah) wydarzyło się coś, co miało w globalnej skali odmienić postrzeganie procesu wytwarzania oprogramowania. Tego dnia siedemnastu wybitnych specjalistów i praktyków podpisało się pod dokumentem znanym jako „Manifest Zwinnego Wytwarzania Oprogramowania”. Zgodnie stwierdzili oni, iż wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywa się lepsze sposoby wykonywania tej pracy, zaś w wyniku tych doświadczeń przedkłada się:

  • ludzi oraz interakcje nad procesy i narzędzia,
  • działające oprogramowanie nad obszerną dokumentację,
  • współpracę z klientem nad formalne ustalenia,
  • reagowanie na zmiany nad podążanie za planem.

Dziś wiemy, że wydarzenie to stało się punktem zwrotnym w historii: w kolejnych latach po jego wystąpieniu w przemyśle związanym z wytwarzaniem oprogramowania nastąpił zdecydowany zwrot w kierunku zwinnych metodyk pracy takich jak Scrum, Kanban czy Programowanie Ekstremalne. Wydawało się, iż wyprawa po złote runo zakończyła się sukcesem, zaś „smoliste grzęzawisko” inżynierii oprogramowania wreszcie udało się okiełznać... Z biegiem lat okazało się jednak, że czegoś nadal tu brakuje. Aplikacje dalej miały błędy i nierzadko zdarzały się projekty informatyczne kończące się niepowodzeniem. Wtedy jasne stało się, że samo stosowanie zwinnego podejścia przy wytwarzaniu oprogramowania nie gwarantuje sukcesu. Odpowiedzią na ten swoisty „kac zwinności” stał się ruch znany jako „Software Craftsmanship”, który w 2009 roku sformułował swój własny manifest, stanowiący rozszerzenie manifestu zwinnego wytwarzania oprogramowania. Manifest ten stwierdza, iż w pracy nad wytwarzaniem programowania należy cenić:

  • nie tylko działające oprogramowanie, lecz również starannie wykonane oprogramowanie,
  • nie tylko reagowanie na zmiany, lecz również ciągłe wytwarzanie wartości dodanej,
  • nie tylko ludzi oraz interakcje, lecz również społeczność profesjonalistów,
  • nie tylko współpracę z klientem, lecz również produktywne partnerstwo.

Dziś na łamach Klubu Dobrej Książki chcę zaprezentować książkę Software Craftsman. Profesjonalizm, czysty kod i techniczna perfekcja, traktującą właśnie o Software Craftsmanship. Jest ona logiczną kontynuacją innych pozycji z tego nurtu. Mam tu przede wszystkim na myśli takie książki jak:      W skrócie: zawartość tej pozycji opisuje wizję tego, jak powinno wyglądać tworzenie oprogramowania w XXI wieku, oczywiście w duchu manifestu Software Craftsmanship. Podobnie jak wymienione wyżej pozycje, książka Software Craftsman zorganizowana jest w postaci stosunkowo krótkich, luźno powiązanych rozdziałów, które można spokojnie czytać w oderwaniu do reszty. Przy pierwszym podejściu warto jednak przestudiować książkę od początku do końca. Tematy poruszane przez autora to:

  • Zwinność: tutaj dowiesz, się na czym polega bycie zwinnym przy pracy nad rozwojem oprogramowania, co z tego będziesz miał i jakie są związane z tym zagrożenia.
  • Software Craftsmanship: po lekturze tego rozdziału zrozumiesz, co jest esencją ruchu Software Craftsmanship.
  • Podejście rzemieślnicze: tutaj znajdziesz szereg praktycznych porad, jak rozwijać się w zawodzie programisty, stosując podejście rzemieślnicze,
  • Rekrutacja,
  • Rozmowa kwalifiacyjna z programistą-rzemieślnikiem,
  • Antywzorce rozmowy kwalifiacyjnej (nazwy podrozdziałów mówią same za siebie),
  • Kult uczenia się: tutaj dowiesz się, jak w swojej organizacji wdrożyć kulturę zdobywania wiedzy,
  • Wprowadzanie zmian technicznych: tutaj znajdziesz szereg praktycznych wskazówek, jak przełamać opór materii przy wprowadzaniu takich zmian,
  • Kariera programisty-rzemieślnika: tutaj znajdziesz porady, jak rozwijać swoją karierę w duchu zasad Software Craftsmanship.
Software Craftsman

to tytuł, który mogę polecić w ciemno każdemu, kto zarabia na życie programowaniem. Jest ona rewelacyjną kontynuacją serii książek legendarnego Wujka Boba (Robert C. Martin Series) – zawartością zbliżona chyba najbardziej do Mistrza Czystego Kodu, jednak w stosunku do swojej poprzedniczki wnosząca szereg całkiem nowych treści. Dla mnie w trakcie lektury najciekawsze były części dotyczące rekrutacji oraz kultu uczenia się, być może w związku z tym, iż opisują one zagadnienia, które mocno leżą mi na sercu w związku z pracą, którą wykonuję. Podsumowując moje wrażenia po lekturze Software Craftsman, napiszę krótko: jeśli nie czytałeś tej książki, to zdobądź ją i przeczytaj NIEZWŁOCZNIE! Gorąco polecam!

Rafał Kocisz, magazyn "Programista"

Tytuł: Softare Craftman. Profesjonalizm, czysty kod i techniczna perfekcjaAutor:

Sandro Mancuso Stron: 584 Wydawnictwo: Helion Data wydania: 2016-04-10            

 Sprawdź kultową serię Wujka Boba, czyli Roberta C. Martina: