Z okazji rozpoczęcia współpracy, firmy Sages oraz Pragmatists zorganizowały darmowe warsztaty Agile Development Day. Odbyły się one 10 grudnia w Warszawie. Byłem jedną z dwudziestu osób, którym udało się na nie dostać.
Pracowaliśmy w Millenium Plaza. Należało przybyć wcześniej, aby udało się zacząć punktualnie o 8:00. Koniec warsztatów planowany był na godzinę 18.
Każdy miał wziąć ze sobą laptopa z zainstalowanym IDE i skonfigurowanym gitem.
Na początek szkoleniowcy z Sages poprowadzili krótkie wprowadzenie do Cassandry i Spring MVC, następnie zaplanowanych było pięć iteracji.
Każda iteracja zaczynała się od wybrania historyjki do developmentu. Do zaprogramowania była aplikacja webowa do motywacji uczenia się, której główną funkcjonalnością było dodawanie wpisów w stylu:
Yesterday I learned Scala. It took me ten hours and it was hard.
(wytłuszczone pola wpisywało się lub wybierało z formularza)
Kodowaliśmy w parach; dodatkowo każda z dziesięciu par miała swojego opiekuna – doświadczonego developera z Sages lub Pragmatists (gościnnie w rolę developera wcielił się też Jakub Nabrdalik z Touk). Cała praca polegała na TDD, Continous Delivery, Continous Integration, Pair Programming (TDD Ping Pong). Wszystko co wrzucaliśmy do głównej gałęzi gita i przeszło testy na Jenkinsie, trafiało na produkcję; na dwóch rzutnikach mieliśmy fajny podgląd działającej aplikacji oraz buildów na Jenkinsie.
Co było fajne
- możliwość pracy z doświadczonymi developerami; wspólne kodowanie i omawianie rozwiązań (szybki feed back),
- zintegrowane środowisko: każdy commit (a właściwie push) trafiał do Jenkinsa; od razu było widać, czy testy przechodzą i czy aplikacja nadal działa; fajnie to wyglądało przy 10 zespołach rozwijających tę samą aplikację,
- atmosfera; samoorganizujący się ludzie, którzy przyszli/przyjechali w sobotę aby programować ze sobą,
- podczas retrospekcji wyłonił się pomysł, aby co 15 minut robić stand-upy, by każdy team ogarniał, co się dzieje,
- po drugiej iteracji ludzie stali się zespołem; każdy bez problemu pytał innych o różne kwestie – wszyscy się zintegrowali,
- mimo iż przypominało to openspace, pracowało tam ponad 30 osób, to było sporo ciszej niż w mojej firmie…
Co było słabe
- git: tylko kilka osób dobrze go znała; co chwile powodował problemy z commitami i pushami,
- cassandra: organizatorzy wybrali ją aby było „egzotycznie”, ale nikt dobrze nie wiedział, jak ona działa,
- różne IDE: podczas programowania w parze, trzeba było używać IDE innego programisty, co często uniemożliwiało używania skrótów klawiszowych (np. przy refactoringu),
- za mało TDD (przez powyższe problemy)
Liczę na kolejne eventy tego typu.