Czym jest Coding Dojo, Prepared Kata i Randori Kata

126 views
Skip to first unread message

Marcin Zajączkowski

unread,
Sep 15, 2010, 3:55:25 PM9/15/10
to warsz...@googlegroups.com
Witam


Wracaj�c z Krzy�kiem z wczorajszej Randori pojawi� si� pomys�, i� warto
by by�o spisa� gdzie� za�o�enia wed�ug kt�rych odbywaj� si� spotkania
grupy, aby dla os�b nowych by�o jasne, czego (nie) mog� si� spodziewa�,
gdy na li�cie mailingowej pada has�o Randori oraz aby skr�ci� cz��
formaln� na ka�dym spotkaniu s�u��c� przedstawieniu zasad. Skleci�em
kilka zda� w oparciu o jedn� ze stron dotycz�cych tematu i prosi�bym Was
o przejrzenie ich i skomentowanie. Na pewno miejscami mog�em �le
zrozumie� pewne rzeczy, co� jest ma�o jasnego albo warto opisa� jak��
wariacjďż˝.

Wersj� finaln� chcia�bym umie�ci� na stronach grupy, aby nowe osoby
mia�y gdzie zapozna� si� z tematyk�.

Czekam na odzew!


Pozdrawiam
Marcin


<O_CODING_DOJO>
Uwaga. Wymienione czynno�ci mog� mie� wiele okre�le�. Trzeba bra�
poprawk�, i� podane s�ownictwo nie jest jedynym s�usznym.


Coding Dojo jest spotkaniem, na kt�rym grupa ludzi rozwi�zuje zadania
programistyczne. Jego celem - opr�cz dobrej zabawy - jest wymienianie
si� praktykami i szlifowanie przydatnych na co dzie� umiej�tno�ci. Do
przeprowadzenia spotkania potrzebne sďż˝:
- sala z miejscami siedz�cymi
- komputer do rozwi�zywania zadania (laptop)
- rzutnik/projektor

Popularnymi rodzajami spotkaďż˝ sďż˝ Prepared Kata i Randori Kata (nazwa
wywodzi si� techniki [1] stosowanej przy �wiczeniach sztuk walk). Obydwa
polegaj� na implementacji rozwi�zania dla postawionego (zazwyczaj
prostego) zadania z wykorzystaniem TDD i jednorazowym robieniem ma�ych
krok�w. Istotne jest, aby ka�dy na sali orientowa� si�, co w danej
chwili jest robione i z czego to wynika. W przypadk�w pogubienia
wskazane jest zadawanie pytaďż˝. Wtedy prace implementacyjne powinny byďż˝
wstrzymane, a� do wyja�nienia wszelkich w�tpliwo�ci.

W przypadku Prepared Kata prowadz�cy siedzi przed komputerem i wykonuje
kolejne kroki: pisze test, implementuje go, dokonuje refaktoringu (w
my�l mantry TDD: red, green, refactor). Osoby na sali bior� udzia� w
proponowaniu nast�pnych posuni��. Spotkanie takie jest bardzo przydatne
przy wprowadzaniu zasad w�r�d ludzi, kt�rzy nie mieli wcze�niej do
czynienia z TDD.

Randori Kata jest bardziej zaawansowanďż˝ wersjďż˝ Prepared Kata. Przy
komputerze siedz� jednocze�nie dwie osoby, kt�re wymieniaj� si�
zadaniami (test - implementacja - refaktoring). Co okre�lony czas (na
przyk�ad 5-7 minut) osoba d�u�ej przebywaj�ca przy komputerze wraca na
sal�, a w zamian przychodzi kto� nowy. Jako wariant mo�e istnie�
bardziej sztywny podziaďż˝ na role w danej parze (pilot i nawigator). Na
zako�czenie iteracji pilot wraca na sal�, a nawigator przejmuje jego
rol�. Osoby nie bior�ce w danej chwili bezpo�redniego udzia�u w
implementacji mog� sugerowa� rozwi�zania i zg�asza� uwagi. Ten typ
spotkaďż˝ jest przeznaczone dla bardziej zaawansowanych grup, aby zapewniďż˝
akceptowalny dla wszystkich na sali post�p prac.


Opracowanie zosta�o przygotowane na podstawie opisu ze strony Coding
Dojo [2], gdzie mo�na znale�� r�wnie� szereg zagadnie� [3] nadaj�cych
si� do rozwi�zania na spotkaniach Coding Dojo.


[1] - http://en.wikipedia.org/wiki/Kata
[2] - http://codingdojo.org/
[3] - http://codingdojo.org/cgi-bin/wiki.pl?KataCatalogue

</O_CODING_DOJE>

Marcin Zajączkowski

unread,
Sep 15, 2010, 3:59:52 PM9/15/10
to warsz...@googlegroups.com
> Witam
>
>
> Wracając z Krzyśkiem z wczorajszej Randori pojawił się pomysł, iż warto by było spisać gdzieś założenia według których odbywają się spotkania grupy, aby dla osób nowych było jasne, czego (nie) mogą się spodziewać, gdy na liście mailingowej pada hasło Randori oraz aby skrócić część formalną na każdym spotkaniu służącą przedstawieniu zasad. Skleciłem kilka zdań w oparciu o jedną ze stron dotyczących tematu i prosiłbym Was o przejrzenie ich i skomentowanie. Na pewno miejscami mogłem źle zrozumieć pewne rzeczy, coś jest mało jasnego albo warto opisać jakąś wariację.
>
> Wersję finalną chciałbym umieścić na stronach grupy, aby nowe osoby miały gdzie zapoznać się z tematyką.

>
> Czekam na odzew!
>
>
> Pozdrawiam
> Marcin

Moje posty notorycznie nie mają polskich znaków przy czytaniu przez
interfejs webowy (mimo, że kodowanie jest ok). Wysyłam jeszcze raz tym
razem w UTF-8 (zamiast ISO-8859-2).


<O_CODING_DOJO>
Uwaga. Wymienione czynności mogą mieć wiele określeń. Trzeba brać
poprawkę, iż podane słownictwo nie jest jedynym słusznym.


Coding Dojo jest spotkaniem, na którym grupa ludzi rozwiązuje zadania
programistyczne. Jego celem - oprócz dobrej zabawy - jest wymienianie
się praktykami i szlifowanie przydatnych na co dzień umiejętności. Do
przeprowadzenia spotkania potrzebne są:
- sala z miejscami siedzącymi
- komputer do rozwiązywania zadania (laptop)
- rzutnik/projektor

Popularnymi rodzajami spotkań są Prepared Kata i Randori Kata (nazwa
wywodzi się techniki [1] stosowanej przy ćwiczeniach sztuk walk). Obydwa
polegają na implementacji rozwiązania dla postawionego (zazwyczaj
prostego) zadania z wykorzystaniem TDD i jednorazowym robieniem małych
kroków. Istotne jest, aby każdy na sali orientował się, co w danej
chwili jest robione i z czego to wynika. W przypadków pogubienia
wskazane jest zadawanie pytań. Wtedy prace implementacyjne powinny być
wstrzymane, aż do wyjaśnienia wszelkich wątpliwości.

W przypadku Prepared Kata prowadzący siedzi przed komputerem i wykonuje


kolejne kroki: pisze test, implementuje go, dokonuje refaktoringu (w

myśl mantry TDD: red, green, refactor). Osoby na sali biorą udział w
proponowaniu następnych posunięć. Spotkanie takie jest bardzo przydatne
przy wprowadzaniu zasad wśród ludzi, którzy nie mieli wcześniej do
czynienia z TDD.

Randori Kata jest bardziej zaawansowaną wersją Prepared Kata. Przy
komputerze siedzą jednocześnie dwie osoby, które wymieniają się
zadaniami (test - implementacja - refaktoring). Co określony czas (na
przykład 5-7 minut) osoba dłużej przebywająca przy komputerze wraca na
salę, a w zamian przychodzi ktoś nowy. Jako wariant może istnieć
bardziej sztywny podział na role w danej parze (pilot i nawigator). Na
zakończenie iteracji pilot wraca na salę, a nawigator przejmuje jego
rolę. Osoby nie biorące w danej chwili bezpośredniego udziału w
implementacji mogą sugerować rozwiązania i zgłaszać uwagi. Ten typ
spotkań jest przeznaczone dla bardziej zaawansowanych grup, aby zapewnić
akceptowalny dla wszystkich na sali postęp prac.


Opracowanie zostało przygotowane na podstawie opisu ze strony Coding
Dojo [2], gdzie można znaleźć również szereg zagadnień [3] nadających
się do rozwiązania na spotkaniach Coding Dojo.

Marcin Szymaniuk

unread,
Sep 15, 2010, 5:17:25 PM9/15/10
to warsz...@googlegroups.com
Ja znalazłem tylko tag zamykający </O_CODING_DOJE>, ale to chyba mało znaczące:)

2010/9/15 Marcin Zajączkowski <msz...@wp.pl>
Witam


Wracając z Krzyśkiem z wczorajszej Randori pojawił się pomysł, iż warto
by było spisać gdzieś założenia według których odbywają się spotkania
grupy, aby dla osób nowych było jasne, czego (nie) mogą się spodziewać,
gdy na liście mailingowej pada hasło Randori oraz aby skrócić część
formalną na każdym spotkaniu służącą przedstawieniu zasad. Skleciłem
kilka zdań w oparciu o jedną ze stron dotyczących tematu i prosiłbym Was

o przejrzenie ich i skomentowanie. Na pewno miejscami mogłem źle
zrozumieć pewne rzeczy, coś jest mało jasnego albo warto opisać jakąś
wariację.

Wersję finalną chciałbym umieścić na stronach grupy, aby nowe osoby

miały gdzie zapoznać się z tematyką.

Czekam na odzew!


Pozdrawiam
Marcin


<O_CODING_DOJO>
Uwaga. Wymienione czynności mogą mieć wiele określeń. Trzeba brać
poprawkę, iż podane słownictwo nie jest jedynym słusznym.


Coding Dojo jest spotkaniem, na którym grupa ludzi rozwiązuje zadania
programistyczne. Jego celem - oprócz dobrej zabawy - jest wymienianie
się praktykami i szlifowanie przydatnych na co dzień umiejętności. Do
przeprowadzenia spotkania potrzebne są:
 - sala z miejscami siedzącymi
 - komputer do rozwiązywania zadania (laptop)
 - rzutnik/projektor

Popularnymi rodzajami spotkań są Prepared Kata i Randori Kata (nazwa
wywodzi się techniki [1] stosowanej przy ćwiczeniach sztuk walk). Obydwa
polegają na implementacji rozwiązania dla postawionego (zazwyczaj
prostego) zadania z wykorzystaniem TDD i jednorazowym robieniem małych
kroków. Istotne jest, aby każdy na sali orientował się, co w danej
chwili jest robione i z czego to wynika. W przypadków pogubienia
wskazane jest zadawanie pytań. Wtedy prace implementacyjne powinny być
wstrzymane, aż do wyjaśnienia wszelkich wątpliwości.

W przypadku Prepared Kata prowadzący siedzi przed komputerem i wykonuje

kolejne kroki: pisze test, implementuje go, dokonuje refaktoringu (w
myśl mantry TDD: red, green, refactor). Osoby na sali biorą udział w
proponowaniu następnych posunięć. Spotkanie takie jest bardzo przydatne
przy wprowadzaniu zasad wśród ludzi, którzy nie mieli wcześniej do
czynienia z TDD.

Randori Kata jest bardziej zaawansowaną wersją Prepared Kata. Przy
komputerze siedzą jednocześnie dwie osoby, które wymieniają się
zadaniami (test - implementacja - refaktoring). Co określony czas (na
przykład 5-7 minut) osoba dłużej przebywająca przy komputerze wraca na
salę, a w zamian przychodzi ktoś nowy. Jako wariant może istnieć
bardziej sztywny podział na role w danej parze (pilot i nawigator). Na
zakończenie iteracji pilot wraca na salę, a nawigator przejmuje jego
rolę. Osoby nie biorące w danej chwili bezpośredniego udziału w
implementacji mogą sugerować rozwiązania i zgłaszać uwagi. Ten typ
spotkań jest przeznaczone dla bardziej zaawansowanych grup, aby zapewnić
akceptowalny dla wszystkich na sali postęp prac.


Opracowanie zostało przygotowane na podstawie opisu ze strony Coding
Dojo [2], gdzie można znaleźć również szereg zagadnień [3] nadających
się do rozwiązania na spotkaniach Coding Dojo.

Lukasz Lenart

unread,
Sep 16, 2010, 3:37:47 AM9/16/10
to warsz...@googlegroups.com
Nice ;-)

Nie zauważyłem błędów, więc pasuje gdzies ładnie opublikować i
następnie wypytywać na wyrywki nowo przybyłych :D


Pozdrawiam
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
Kapituła Javarsovia 2010 http://javarsovia.pl

Bartek Zdanowski

unread,
Sep 16, 2010, 11:31:30 AM9/16/10
to warsz...@googlegroups.com
U mnie pierwszy post czytelny. Brawo Marcinie za przygotowanie! Super.


--
Pozdrawiam,
Bartek Zdanowski

Kapituła Javarsovia 2010 - http://javarsovia.pl

Marcin Zajączkowski

unread,
Sep 17, 2010, 3:03:35 PM9/17/10
to Warszawa Design Patterns Study Group
Jeszcze z uwag od siebie to dodałbym jeszcze określenie "Code Kata",
które dopiero dzieliłoby się na "Prepared Kata" i "Randori Kata".
Po za tym zastanawiam się, czy bardzie poprawną formą jest "Code
Dojo", czy "Coding Dojo" (według trafień w google to pierwsze)? Pewnie
bezpiecznie będzie podać obydwa w tekście.

Btw, O_CODING_DOJE było dodawane "na żywo" przy wklejaniu tekstu do
klienta pocztowego. Dzięki za wychwycenie Marcinie.


Marcin

Marcin Zajączkowski

unread,
Sep 19, 2010, 5:09:40 PM9/19/10
to Warszawa Design Patterns Study Group
On Sep 17, 9:03 pm, Marcin Zajączkowski <msz...@wp.pl> wrote:
> Jeszcze z uwag od siebie to dodałbym jeszcze określenie "Code Kata",
> które dopiero dzieliłoby się na "Prepared Kata" i "Randori Kata".
> Po za tym zastanawiam się, czy bardzie poprawną formą jest "Code
> Dojo", czy "Coding Dojo" (według trafień w google to pierwsze)? Pewnie
> bezpiecznie będzie podać obydwa w tekście.

Dodałem stronę z wersją uwzględniającą uwagi:
http://groups.google.com/group/warszawa-dp/web/czym-jest-coding-dojo-i-code-kata

Nie mam uprawnień do edytowania strony głównej, więc prośba Łukaszu o
dodanie tekstu w stylu:
<TEKST_NA_GLOWNA>
Spotkania grupy często odbywają się w klimatach Coding Dojo, podczas
których rozwiązywane są zadania w formie Code Kata. Warto, aby nowe
osoby odwiedziły stronę <link>Czym jest Coding Dojo i Code Kata?</
link> przed pojawieniem się pierwszy raz na MIMUW. Powinna ona
rozjaśnić, czego można, a czego nie spodziewać się na takim spotkaniu
grupy.
</TEKST_NA_GLOWNA>

Przy okazji może by było rozszerzyć tematykę grupy opisywaną na
stronie głównej (na razie tylko wzorce projektowe są tam wymienione).


Pozdrawiam
Marcin

Lukasz Lenart

unread,
Sep 20, 2010, 7:23:37 AM9/20/10
to warsz...@googlegroups.com
Już masz ;-)

W dniu 19 września 2010 23:09 użytkownik Marcin Zajączkowski
<msz...@wp.pl> napisał:

Marcin Zajączkowski

unread,
Sep 21, 2010, 3:40:18 PM9/21/10
to Warszawa Design Patterns Study Group
On Sep 20, 1:23 pm, Lukasz Lenart <lukasz.len...@googlemail.com>
wrote:
> Już masz ;-)

Dzięki!


Marcin


>
> W dniu 19 września 2010 23:09 użytkownik Marcin Zajączkowski
> <msz...@wp.pl> napisał:
>
> > On Sep 17, 9:03 pm, Marcin Zajączkowski <msz...@wp.pl> wrote:
> >> Jeszcze z uwag od siebie to dodałbym jeszcze określenie "Code Kata",
> >> które dopiero dzieliłoby się na "Prepared Kata" i "Randori Kata".
> >> Po za tym zastanawiam się, czy bardzie poprawną formą jest "Code
> >> Dojo", czy "Coding Dojo" (według trafień w google to pierwsze)? Pewnie
> >> bezpiecznie będzie podać obydwa w tekście.
>
> > Dodałem stronę z wersją uwzględniającą uwagi:
> >http://groups.google.com/group/warszawa-dp/web/czym-jest-coding-dojo-...
Reply all
Reply to author
Forward
0 new messages