Wpisy otagowane ‘tdd’

CodeRetreat Berlin & ALE2011

niedziela, 29 Maj 2011

Kilka dat to zapemiętania ;)

9.07.2011 – CodeRetreat Berlin, które organizuję razem z grupą znajomych w Berlinie. Więcej info na stronie. Ważna data: 6.06.2011 – 18:00 – otwarcie rejestracji. Kto miał okazję uczestniczyć w CodeRetreat ten wie, że warto :) Kto nie był w Berlinie, ten koniecznie musi wykorzystać tą szansę by odwiedzić te miasto :)

7-9 wrzesień 2011 - Konferencja ALE2011 w Berlinie. Wkrótce zostanie otwarta koordynowana między innymi prze zemnie rejestracja wolontariuszy. Zapraszam do rejestracji, naprawdę warto :)

Udział w konferencji jako wolontariusz to okazja do poznania wielu interesujących ludzi ze świata Agile i Lean. Okazja do nawiązania przyjaźni z innymi wolontariuszami z wielu różnych europejskich krajów. No i ciekawa pozycja w CV..

Berlin, to również piękne i różnorodne miasto, które koniecznie trzeba odwiedzić. Jednym słowem, powyższą datę trzeba koniecznie zapisać w kalendarzu jeśli jesteś studentem. O otwarciu rejestracji powiadomię na Twitterze (@dziemid), otwarcie nastąpi prawdopodobnie wkrótce. Zamknięcie rejestracji prawdopodobnie pod koniec czerwca.

Automatyczne testowanie kodu – jak to robić?

poniedziałek, 28 Marzec 2011

W tym wpisie zbiorę moją aktualną wiedzę na temat automatycznego testowania kodu.

Po pierwsze, aplikację możemy automatycznie testować na różnych poziomach i każdy z tych poziomów ma swoje „wady” i „zalety”. Dobrym wprowadzeniem to tematu jest prezentacja Neala Forda – „Testing the entire stack” .

Na warsztatach prowadzonych przez autorów książki Growing Object-Oriented Software Guided by Tests spotkałem się po raz pierwszy z koncepcją architektury „The Ports & Adapters” . Na podstawie tej architektury dobrze można pokazać, na którym poziomie co testujemy.

I tak na przykład testy jednostkowe służą do testowania pojedynczych klas, z których składa się nasz model biznesowy (Aplikacja, w tym artykule), testy akceptacyjne testują model biznesowy, testy systemowe testują cały system za pomocą zewnętrznych interfejsów (GUI, Web service), a testy integracyjne testują integrację naszego kodu, z kodem, którego nie możemy zmienić (np. testowanie adapteru używającego biblioteki służącej do pracowania na bazie danych).

(więcej…)

Nadchodzi czas anarchii!

piątek, 18 Marzec 2011

Zastrzeżenie: Dalej uważam, że np. TDD, refactoring, pair-programming to bardzo pomocne i ważne techniki.

Zwykle mam doczynienia z projektami gdzie czas od pomysłu do wdrożenia liczy się w miesiącach – nie powiem, żebym był z tego powodu jakoś szczególnie zachwycony..

Być może dlatego tak bardzo spodobała mi się prezentacja Leaner Programmer Anarchy w wykonaniu Freda George’a (Można już ją zobaczyć!) . Był to wykład na temat tego, jak pracują w firmie Forward. Forward zajmuje się tworzeniem aplikacji internetowych i zarabiają na tym masę szmalu ;) .

(więcej…)

Dlaczego warto przyjść na CodeRetreat?

wtorek, 31 Sierpień 2010

Już jutro w pracy organizuję 2 warsztaty oparte na formule CodeRetreat.

Razem z ludźmi z Wrocławskiego JUGa i Wrocławskiej grupy kunszt organizujemy też otwarte CodeRetreat dla Wrocławia! Wydarzenie prawdopodobnie odbędzie się 23 października, a o szczegółach poinformuje między innymi na tym blogu.

Ale dlaczego warto poświęcić sobotę i przyjść? Będziesz miał okazję ćwiczyć! :)

Dlaczego jest to ważne? Zapraszam do obejrzenia wideo z prezentacji Corey’a (jeden z pomysłodawców CodeRetreat).

Practise

Warsztaty inspirowane „CodeRetreat”

piątek, 6 Sierpień 2010

We wtorek miałem przyjemność organizować w firmie wydarzenie inspirowane warsztatami „CodeRetreat”.

W skrócie: Jest to cały dzień programowania w parach ćwicząc Test-Driven Development. Nacisk kładziony jest na to jak pracujemy (w przeciwieństwie do tego nad czym pracujemy). Słowo klucz: kata

Czym moje warsztaty różniły się od prawdziwych „CodeRetreat”?

  • Były to warsztaty zamknięte (tylko dla pracowników)
  • Były zorganizowane w dzień roboczy (a nie w sobotę)
  • Odbyło się tylko 5 sesji (a nie 6-7)
  • Nie poszliśmy na koniec do pubu

Z informacji zwrotnej uzyskanej od uczestników wynika, że warsztaty się podobały :)

Zresztą proszę poczytać co mieli do powiedzenia uczestnicy:

Na pewno ten czas spędziłem ciekawie. Programowanie w parach pokazało, że każdy może wnieść od siebie coś nowego, rzucić światło na pewne aspekty, których się nie dostrzegało. W każdej sesji rodziły się nowe pomysły i podejścia do rozwiązania wciąż tego samego problemu. Była to dobra okazja do wymiany doświadczeń a także do praktycznego wykorzystania TDD. Polecam każdemu wzięcie udziału w takich warsztatach. Uważam, że jest to czas dobrze wykorzystany. - Michał

Ciekawe i dobrze przygotowane szkolenie. Dużym plusem jest to, że szkolenie to jest w formie warsztatów. Forma ta pomaga wymieniać doświadczenie i uczyć się od siebie nawzajem, co uważam, za największą wartość, jaką wyniosłem. Poza tym, była to dobra zabawa.Janek

Pierwszy raz uczestniczyłem w tego typu warsztatach i muszę przyznać, że jestem miło zaskoczony.
Kilkukrotne rozwiązywanie jednego problemu  (prostego swoją drogą), ale z różnymi osobami prowadziło do różnych ciekawych wyników.
Programowanie w parach ma w sobie moc, bez względu na to, czy programuje się z kimś słabszym czy lepszym – oto jeden z moich wniosków po tych warsztatach.
Warsztaty przygotowane dosyć rzetelnie, zarówno od strony technicznej ( sala, komputery ), jak i merytorycznej – całkiem sporo wiedzy zostało przekazane – wiedzy, która według mnie powinien posiadać każdy programista.
Jednym słowem – brawo Grzegorz! Wyszło świetnie, pomimo że pierwszy raz organizowałeś tego typu zajęcia.
Mirek

Dziękuję za możliwość wzięcia udziału w warsztatach. Bardzo podobała mi się ich forma i zróżnicowanie doświadczenia uczestników. Choć byłem w mojej ocenie najmniej zaawansowanym uczestnikiem warsztatów poradziłem sobie z pomocą kolegów i koleżanek z zadaniem jakie mieliśmy do wykonania. Samo zadanie również było bardzo interesujące i wciągające. Czas podczas warsztatów upływał niemiłosiernie szybko lecz mimo to w kolejnych krokach udawało się dochodzić co raz to dalej. Warsztaty uświadomiły uczestnikom, a na pewno mi, że jeżeli chcę tworzyć poprawny kod to bez wątpienia powinienem wychodzić o tworzenia testów, a kończyć na implementacji (przekonałem się do tego już podczas drugiej sesji). Uważam, że osoba przygotowująca warsztaty zachowała się profesjonalnie i swoją postawą zachęcała do działania. Chciałbym, aby takie warsztaty były organizowane cyklicznie i uważam, że warto zainteresować nimi większy odsetek pracowników mających możliwość wykorzystania tej wiedzy w codziennej pracy.
Jeszcze raz dziękuję za ciekawy dzień pracy.
Grzesiek


Wydarzenie było dość kameralne – uczestniczyło w nim 6 osób + ja.  Programowaliśmy w Javie.

Przez pierwsze 3 sesje byłem obserwatorem. Było to o tyle fajne, że mogłem podglądać co robią ludzie i na retrospekcjach po sesjach poruszać tematy dotyczącego tego, co widziałem że działo się u innych.

Ostatnie 2 sesje sam aktywnie kodowałem w parze i o ile pozwoliło mi to poczuć na własnej skórze to co robili uczestnicy, to bardzo utrudniło dawanie wskazówek odnoszących się do tego co działo się w innych parach.

Na retrospekcjach poruszaliśmy temat związane z:

  • Różnymi pomysłami na zakodowanie rozwiązania
  • Jak pisać czysty kod
  • Jak efektywnie programować w parach (np. ping-pong programming)
  • Test-driven development, TDD as you meant it

Warsztaty zaczęliśmy, krótkim wstępem, gdzie

  • Każdy miał szansę się przedstawić
  • Przedstawiłem plan dnia
  • Opowiedziałem trochę skąd pomysł (QCon i wykład Corey’a Haines)
  • Powiedziałem klika słów o Software Craftsmanship (care, practice, learn, share), manifest
  • Przytoczyłem klika wskazówek na temat tego, jak programować w parach.
  • Przypomniałem zasady TDD
  • Omówiłem zasady „Gry w życie”

W czasie przerwy obiadowej przejrzeliśmy slajdy Sharpening the Tools

Code Retreat we Wrocławiu

Ponieważ warsztaty uważam za udane, myślę że warto zorganizować prawdzie „CodeRetreat” dla Wrocławia. Jeśli ktoś jest zainteresowany to proszę o kontakt.

Co jest niezbędne by to urzeczywistnić?

  • Duża sala, gdzie wygodnie można siedzieć i kodować w parach przy laptopach.  (sponsor)
  • Uczestnicy z laptopami
  • Termin

Więc nie potrzeba chyba aż tak dużo?:)

A co mogłoby wydarzenie uczynić jeszcze fajniejszym

  • Dodatkowe monitory, by wygodnie pracowało się na laptopach
  • Obiad ufundowany przez sponsora
  • Dostęp do neta
  • Na zakończenie wyjście integracyjne, ufundowane przez sponsora

Jeśli ktoś ma pomysł jak powyższe rzeczy zdobyć a tym samym urzeczywistnić Wrocławskie CodeRetreat proszę o info w komentarzach :)

Linki: