<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Agile Surfing</title>
	<atom:link href="http://agilesurfing.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://agilesurfing.pl</link>
	<description>Grzegorz Dziemidowicz o Agile, Software Craftsmanship i programowaniu</description>
	<lastBuildDate>Thu, 19 Jan 2012 07:22:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Artykuł o programowaniu w parach</title>
		<link>http://agilesurfing.pl/2012/agile/artykul-o-programowaniu-w-parach/</link>
		<comments>http://agilesurfing.pl/2012/agile/artykul-o-programowaniu-w-parach/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 21:12:57 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[programowanie w parach]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=568</guid>
		<description><![CDATA[W piątek miałem okazję przeczytać bardzo ciekawy artykuł o programowaniu w parach. W skrócie: Opisany zespół, miał największą wydajność i najmniej bugów gdy: Historyjki były dewelopowane przez programistów o najmniejszej wiedzy domenowej (w obszarze danej historyjki) Historyjki były dewelopowane przez pary, które same wybierały nad czym chcą pracować Historyjki nie były przypisane konkretnym osobą, cały [...]]]></description>
			<content:encoded><![CDATA[<p>W piątek miałem okazję przeczytać bardzo ciekawy artykuł o <a href="http://csis.pace.edu/~grossman/dcs/XR4-PromiscuousPairing.pdf" target="_blank">programowaniu w parach</a>.</p>
<p><strong>W skrócie</strong>: Opisany zespół, miał największą wydajność i najmniej bugów gdy:</p>
<ul>
<li>Historyjki były dewelopowane przez programistów o <strong>najmniejszej</strong> wiedzy domenowej (w obszarze danej historyjki)</li>
<li>Historyjki były dewelopowane przez pary, które same wybierały nad czym chcą pracować</li>
<li>Historyjki nie były przypisane konkretnym osobą, cały zespół był odpowiedzialny za historyjkę</li>
<li>Pary rotowały co ~2 godziny. (Osoba która była dłużej w parze opuszcza parę).</li>
</ul>
<div>W  podobny sposób pracowałem w czasie swojej praktyki w Pinesoft. Po 2 pełnych <a href="http://agilesurfing.pl/2010/agile/pomodoro-skup-sie/" target="_blank">cyklach Pomodoro</a> rotowaliśmy pary. Praca była bardzo intensywna, ale mega satysfakcjonująca.</div>
<div>Gdy uda mi się przekonać mój obecny zespół, wypróbujemy powyższy system z rotowaniem par po pełnym cyklu pomodoro (około 2h).</div>
<div>A Ty jakie masz doświadczenia z pair programmingiem?</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5690"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;linkname=Artyku%C5%82%20o%20programowaniu%20w%20parach" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;linkname=Artyku%C5%82%20o%20programowaniu%20w%20parach" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;linkname=Artyku%C5%82%20o%20programowaniu%20w%20parach" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;linkname=Artyku%C5%82%20o%20programowaniu%20w%20parach" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;linkname=Artyku%C5%82%20o%20programowaniu%20w%20parach" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fartykul-o-programowaniu-w-parach%2F&amp;title=Artyku%C5%82%20o%20programowaniu%20w%20parach" id="wpa2a_2">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2012/agile/artykul-o-programowaniu-w-parach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Praktyki stosowane w moim zespole</title>
		<link>http://agilesurfing.pl/2012/agile/praktyki-stosowane-w-moim-zespole/</link>
		<comments>http://agilesurfing.pl/2012/agile/praktyki-stosowane-w-moim-zespole/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 20:56:31 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[praktyki]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[wrocław]]></category>
		<category><![CDATA[wykład]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=561</guid>
		<description><![CDATA[W ramach &#8222;Poranku z Nokią i z SEnSem&#8221; poprowadziłem na PWr skierowany do studentów  wykład o praktykach stosowanych w moim zespole. Ponieważ to jakie praktyki najlepiej się sprawdzą zależy od naszego kontekstu, zacząłem od opisania sytuacji mojego zespołu. Zespół w którym jestem jest mały (~7 osób) wszyscy siedzimy w jednym pokoju mamy wewnętrznego klienta / [...]]]></description>
			<content:encoded><![CDATA[<p>W ramach &#8222;<a href="http://www.e-informatyka.pl/wiki/News_040112_2" target="_blank">Poranku z Nokią i z SEnSem</a>&#8221; poprowadziłem na PWr skierowany do studentów  wykład o praktykach stosowanych w moim zespole.</p>
<p>Ponieważ to jakie praktyki najlepiej się sprawdzą zależy od naszego kontekstu, zacząłem od opisania sytuacji mojego zespołu.</p>
<p>Zespół w którym jestem jest</p>
<ul>
<li>mały (~7 osób)</li>
<li>wszyscy siedzimy w jednym pokoju</li>
<li>mamy wewnętrznego klienta / product ownera. Siedzi z nami na tym samym piętrze i ma dla nas czas</li>
<li>tworzymy ważny, ale wewnętrzny system</li>
</ul>
<p>Dla każdej praktyki powiedziałem:</p>
<ul>
<li>na czym polega</li>
<li>dlaczego/po co ją stosujemy</li>
<li>&#8222;dobre rady&#8221;</li>
</ul>
<p>Oto lista praktyk, które aktualnie stosujemy w moim zespole:</p>
<p><span id="more-561"></span></p>
<p><strong>Codziennie</strong></p>
<ul>
<li>Stand-up</li>
<li><a title="Programowanie w parach" href="http://agilesurfing.pl/2010/agile/programowanie-w-parach/">Pair programming</a></li>
<li><a title="Automatyczne testowanie kodu – jak to robić?" href="http://agilesurfing.pl/2011/programowanie/automatyczne-testowanie-kodu-jak-to-robic/">TDD</a></li>
<li>Continuous Integration</li>
<li>Continuous Delivery</li>
<li><a title="Pokój mojego zespołu" href="http://agilesurfing.pl/2011/agile/pokoj-mojego-zespolu/">Story wall / Story lifecycle</a></li>
<li>Work in progress limits</li>
<li>Information radiators</li>
<li>Learning huddle</li>
</ul>
<p><strong>Raz na tydzień</strong></p>
<ul>
<li><a title="Coding Dojo (cz. 2)" href="http://agilesurfing.pl/2011/programowanie/coding-dojo-cz-2/">Coding dojo</a></li>
<li>Team lunch</li>
<li>Dev-ops stand-up</li>
</ul>
<p><strong>Raz na dwa tygodnie</strong></p>
<ul>
<li><a title="Efektywny feedback" href="http://agilesurfing.pl/2011/agile/efektywny-feedback/">1-1 feedback</a></li>
</ul>
<p><strong>Raz na miesiąc</strong></p>
<ul>
<li><a title="Retrospekcje – najważniejsze narzędzie w Agile?" href="http://agilesurfing.pl/2011/agile/retrospekcje-najwazniejsze-narzedzie-w-agile/">Retrospekcja</a></li>
</ul>
<p><strong>Około raz na 3 miesiące</strong></p>
<ul>
<li>Incepcja</li>
<li>Estymacja</li>
<li>Story mapping</li>
<li>Persony</li>
</ul>
<p><strong>Na żądanie / Wg potrzeby</strong></p>
<ul>
<li>Technical spike</li>
<li>Demo / Show case</li>
<li>Public code review</li>
<li>Team charter</li>
</ul>
<p>A jakie praktyki stosuje Twój zespół?</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5620"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;linkname=Praktyki%20stosowane%20w%20moim%20zespole" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;linkname=Praktyki%20stosowane%20w%20moim%20zespole" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;linkname=Praktyki%20stosowane%20w%20moim%20zespole" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;linkname=Praktyki%20stosowane%20w%20moim%20zespole" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;linkname=Praktyki%20stosowane%20w%20moim%20zespole" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2012%2Fagile%2Fpraktyki-stosowane-w-moim-zespole%2F&amp;title=Praktyki%20stosowane%20w%20moim%20zespole" id="wpa2a_4">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2012/agile/praktyki-stosowane-w-moim-zespole/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Refaktoryzując test do String Kalkulatora</title>
		<link>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 14:23:41 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=554</guid>
		<description><![CDATA[W ramach eksperymentu nagrałem wideo, w który refactoruje test do String Kalkulatora. Wideo można zobaczyć tutaj: Refactoring of test Filmik trwa 5 minut podczas których: Rozbijam jeden duży test na kilka mniejszych (by testy były łatwiejsze do zrozumienia, a gdy nie przechodzą by dokładnie było wiadomo co nie działa) Zamieniam assertEquals na assertThat (naturalniej się czyta) Zastępuje komentarze [...]]]></description>
			<content:encoded><![CDATA[<p>W ramach eksperymentu nagrałem wideo, w który refactoruje test do String Kalkulatora.</p>
<p>Wideo można zobaczyć tutaj: <a href="http://www.youtube.com/watch?v=koMg8TlYbvs&amp;feature=youtu.be">Refactoring of test</a></p>
<p>Filmik trwa 5 minut podczas których:</p>
<ol>
<li>Rozbijam jeden duży test na kilka mniejszych (by testy były łatwiejsze do zrozumienia, a gdy nie przechodzą by dokładnie było wiadomo co nie działa)</li>
<li>Zamieniam assertEquals na assertThat (naturalniej się czyta)</li>
<li>Zastępuje komentarze opisowymi nazwami testów (by samo zerknięcie do raportu w ciągłej integracji wystarczyło do zorientowania się, co się dzieje)</li>
</ol>
<div>Klika używanych skrótów:</div>
<div>
<ul>
<li><strong>ctrl+y</strong> &#8211; usuwa aktualną linie</li>
<li><strong>ctrl+c</strong> &#8211; gdy nic nie jest zaznaczone, kopiuje aktualną linię</li>
<li><strong>alt+ctrl+v</strong> &#8211; wyciąga zaznaczone wyrażenie do zmiennej</li>
<li><strong>ctrl+shift+f10</strong> &#8211; odpala testy</li>
<li><strong>ctrl+w &#8211; </strong>rozszerzające się zaznaczenie (naciśnij kilka razy, a zaznaczony obszar będzie rósł)</li>
</ul>
<div>Kod który refaktoryzuję, pochodzi z mojego innego wpisu (<a title="Refactor my code step by step!" href="http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/">Refactor my code step by step</a>).</div>
</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5550"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;linkname=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefaktoryzujac-test-do-string-kalkulatora%2F&amp;title=Refaktoryzuj%C4%85c%20test%20do%20String%20Kalkulatora" id="wpa2a_6">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/refaktoryzujac-test-do-string-kalkulatora/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Nowy Rok 2012! :)</title>
		<link>http://agilesurfing.pl/2011/ciekawostki/nowy-rok-2012/</link>
		<comments>http://agilesurfing.pl/2011/ciekawostki/nowy-rok-2012/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 11:48:42 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[praca]]></category>
		<category><![CDATA[rok 2012]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=535</guid>
		<description><![CDATA[Nawiązując do tradycji z poprzedniego roku czas na małe &#8222;zawodowe&#8221; podsumowanie i plany na następny rok W roku 2011 Udało mi się: W lutym zostać magistrem &#8211; uff! Pracować w świetnym zespole! Nauczyć się nowych rzeczy o testowaniu. Pojechać jako wolontariusz na QCon w Londynie, XP w Mardycie i GOTO w AArhus Być koordynatorem wolontariuszy w czasie [...]]]></description>
			<content:encoded><![CDATA[<p>Nawiązując <a href="http://agilesurfing.pl/2010/bez-kategorii/nowy-rok-2011/">do tradycji z poprzedniego roku</a> czas na małe &#8222;zawodowe&#8221; podsumowanie i plany na następny rok <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>W roku 2011</strong></p>
<p>Udało mi się:</p>
<ul>
<li>W lutym zostać magistrem &#8211; uff! <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://agilesurfing.pl/2011/agile/agile-as-you-meant-it/">Pracować</a> w świetnym <a href="http://agilesurfing.pl/2011/agile/pokoj-mojego-zespolu/">zespole</a>!</li>
<li>Nauczyć się nowych rzeczy o <a href="http://agilesurfing.pl/2011/programowanie/automatyczne-testowanie-kodu-jak-to-robic/">testowaniu</a>.</li>
<li>Pojechać jako wolontariusz na <a href="http://agilesurfing.pl/2011/agile/swietna-konferencja-w-londynie-qcon-2011/">QCon</a> w Londynie, <a href="http://agilesurfing.pl/2011/agile/xp2011-kto-nie-byl-niech-zaluje/">XP</a> w Mardycie i <a href="http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/">GOTO</a> w AArhus</li>
<li>Być <a href="http://agilesurfing.pl/2011/agile/ale2011-koordynacja-wolontariuszy/">koordynatorem wolontariuszy</a> w czasie konferencji <a href="http://agilesurfing.pl/2011/agile/ale2011-w-berlinie/">ALE</a> w Berline</li>
<li>Zorganizować razem z Markusem <a href="http://agilesurfing.pl/2011/agile/coderetreat-berlin/">lipcowe CodeRetreat</a> w Berlinie</li>
<li>Zorganizować i poprowadzić razem z Markusem <a href="http://coderetreat.org/video/global-day-of-coderetreat-2011" target="_blank">CodeRetreat w Berlinie</a> w ramach światowego dnia CodeRetreat w grudniu</li>
<li>Prowadzić w Nokii cotygodniowe <a href="http://agilesurfing.pl/2011/programowanie/coding-dojo/">Coding Dojo</a></li>
<li>Poprowadzić mały warsztat na temat <a href="http://agilesurfing.pl/2011/agile/efektywny-feedback/">&#8222;1-1 feedback&#8221;</a> dla innego zespołu w Nokii. Poprowadzić <a href="http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/">Extreme Startup</a> w ramach dojo.</li>
<li>Zapisać się i wygłosić 3 mowy w <a href="http://www.fbtm.org/" target="_blank">berlińskim klubie</a> Toastmasters</li>
<li>Uczestniczyć w kilku spotkaniach #xtcb (<a href="http://danieltemme.blogspot.com/2011/09/xtc-berlin.html" target="_blank">Extreme Tuesday Berlin</a>)</li>
<li>Rozpocząć naukę Scali i Rubiego</li>
<li>Zostać certyfikatowanym programistą Springa</li>
<li>Przeczytać: Release It, Presentation Zen, The Clean Coder, Managment 3.0, Kanban, Specification By Example, Lean Startup i rozpocząć kilka innych książek.</li>
<li>Poeksperymentować z <a href="http://agilesurfing.pl/2011/agile/wip-limits/">Kanbanem</a>.</li>
<li>Założyć konto na <a href="http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/">githubie</a></li>
</ul>
<div>Nie udało mi się:</div>
<div>
<ul>
<li>Czytać 1 książki na miesiąc</li>
<li>Pojechać na Agile2011 do stanów ani wziąć udział w Agile Testing Days w Berlinie</li>
<li>Zostać prelegentem na konferencji</li>
<li>Nauczyć się niemieckiego na tyle, by móc biernie uczestniczyć w spotkaniach prowadzonych po niemiecku.</li>
</ul>
<div><strong>W roku 2012 chciałbym:</strong></div>
<div>
<ul>
<li>Pracować z ludźmi, od których mogę się bardzo dużo i szybko uczyć (tak jak to było w roku 2011)</li>
<li>Pojechać jako wolontariusz na QCon i wziąć udział w 2 innych dużych konferencjach (XP? GOTO? ALE?)</li>
<li>Zorganizować coś otwartego w Nokii, np. co 2 tydzień robić otwarte Coding Dojo dla ludzi z poza firmy</li>
<li>Co najmniej raz w miesiącu brać udział w spotkaniu społeczności w Berlinie</li>
<li>Wziąć udział w CodeRetreat jako uczestnik</li>
<li>Wygłosić 6 mów w Toastmasters. Wziąć udział w konkursie na najlepszą mowę w klubie.</li>
<li>Czytać jedną książkę na miesiąc</li>
<li>Spopularyzować <a href="http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/" target="_blank">refactor-my-code step by step</a></li>
<li>Poprowadzić wykład dla studentów</li>
<li>Założyć anglojęzycznego bloga</li>
<li>Nauczyć się biegle innego języka niż Java (Ruby?).</li>
<li>Oglądać co najmniej jedną prezentację na tydzień (np. z infoq, ted)</li>
<li>Spróbować wcielić w życie koncepcję lunch with a stranger w pracy.</li>
<li>Zorganizować mini konferencję w pracy.</li>
<li>Stworzyć &#8222;continuous delivery pipeline&#8221; dla projektu, w którym teraz pracuję</li>
<li>Certyfikować się w jakieś kolejnej technologii</li>
</ul>
<div>Jakie są Twoje plany na rok 2012? <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
</div>
</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5360"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;linkname=Nowy%20Rok%202012%21%20%3A%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;linkname=Nowy%20Rok%202012%21%20%3A%29" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;linkname=Nowy%20Rok%202012%21%20%3A%29" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;linkname=Nowy%20Rok%202012%21%20%3A%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;linkname=Nowy%20Rok%202012%21%20%3A%29" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fciekawostki%2Fnowy-rok-2012%2F&amp;title=Nowy%20Rok%202012%21%20%3A%29" id="wpa2a_8">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/ciekawostki/nowy-rok-2012/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Refactor my code step by step!</title>
		<link>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 18:06:29 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=525</guid>
		<description><![CDATA[Niedawno rozmyślałem nad skryptem w Ruby, który napisałem. Nie byłem z niego zadowolony. Co prawda działał, ale był dość &#8222;brzydki&#8221;. Pomyślałem, super by było, gdyby ktoś mi pokazał jak napisać to lepiej.. &#8222;Refactor my code&#8221;.. Po krótkim googlowaniu okazało się, że jest już taki serwis: http://refactormycode.com/ O ile nazwa jest już zajęta .. to mój pomysł [...]]]></description>
			<content:encoded><![CDATA[<p>Niedawno rozmyślałem nad skryptem w Ruby, który napisałem. Nie byłem z niego zadowolony. Co prawda działał, ale był dość &#8222;brzydki&#8221;.</p>
<p>Pomyślałem, super by było, gdyby ktoś mi pokazał jak napisać to lepiej.. &#8222;Refactor my code&#8221;.. Po krótkim googlowaniu okazało się, że jest już taki serwis: <a href="http://refactormycode.com/">http://refactormycode.com/</a></p>
<p>O ile nazwa jest już zajęta <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .. to mój pomysł miał jeszcze jeden istotny składnik. Założyłem, że ważne jest by &#8222;mój&#8221; kod nie tylko został poprawiony, ale żeby został poprawiony w małych kroczkach z wytłumaczeniem &#8222;dlaczego&#8221;, tak bym mógł się nauczyć i następnym razem sam napisać coś porządnie..</p>
<p>W gruncie rzeczy, to marzy mi się &#8222;coding dojo&#8221; rozproszone w czasie i przestrzeni. Piszę kod, który zapewne może zostać napisany lepiej. Chciałbym abyś wziął ten kod i w małych kroczak go ulepszył. Po każdym kroczku zrób commit i wyjaśnij co i dlaczego zrobiłeś.</p>
<p>Prototyp tego co mam na myśli dość szybko udało mi się stworzyć przy pomocy githuba.</p>
<p><a href="https://github.com/dziemid/refactormycode">https://github.com/dziemid/refactormycode</a></p>
<p>Napisałem  <a href="https://github.com/dziemid/refactormycode/blob/master/java/string_calculator/src/main/java/StringCalculator.java">dość brzydką wersję String Calculatora</a> , którą następnie trochę  <a href="https://github.com/dziemid/refactormycode/blob/java_string_calculator_refactoring/java/string_calculator/src/main/java/StringCalculator.java">poprawiłem</a> .. Nie mniej wersja końcowa nie jest aż tak ciekawa jak sam proces jej tworzenia, gdzie <a href="https://github.com/dziemid/refactormycode/commit/355aad817cee712f5773c1df740e97dd39bbc4cf">każdy mały kroczek został udokumentowany</a>.</p>
<p>Pomysł został podchwycony przez Martina, która zrefaktoryzował mój kod krok po kroku (<a href="https://github.com/mklose/refactormycode/commit/61f05039f345e6482ebe07c669ab91d240dff6ec">tutaj</a> jeden z jego kroków w raz z moim komentarzem).</p>
<p><strong>Dziś wrzuciłem kolejny kod do poprawienia: <a href="https://github.com/dziemid/refactormycode/tree/master/java/game_of_life">Grę w życie</a> w Javie.</strong> Kod jest napisany średnio. Miejscami jest brzydki, niektóre klasy są w ogóle niepotrzebne, inne klasy robią rzeczy, które być może powinny być gdzie indziej.</p>
<p><strong>Zachęcam Cię do zrobienia &#8222;Fork&#8221;a i zrefaktoryzowania tego kodu krok po kroku.</strong> W każdym commicie napisz co i dlaczego robisz. W ten sposób razem stworzymy coding dojo rozproszone w czasie i przestrzeni <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5260"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;linkname=Refactor%20my%20code%20step%20by%20step%21" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Frefactor-my-code-step-by-step%2F&amp;title=Refactor%20my%20code%20step%20by%20step%21" id="wpa2a_10">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/refactor-my-code-step-by-step/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Powiew świeżości</title>
		<link>http://agilesurfing.pl/2011/agile/powiew-swiezosci/</link>
		<comments>http://agilesurfing.pl/2011/agile/powiew-swiezosci/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 20:38:19 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=519</guid>
		<description><![CDATA[Jak uniknąć stagnacji, rutyny, braku nowości itp. w pracy? Wczoraj rozmawiając z kolegą zaproponowałem zrobienie prostej aplikacji. Odpowiedział: &#8222;O ciekawe! Myśleliśmy już o tym &#8211; super pomysł&#8230;. Kiedyś mieliśmy &#8222;dni innowacji&#8221;, ale potem z czasem jakoś przestaliśmy je robić. Gdzie podziały się te pomysły?&#8221; Zapewne jest wiele sposobów na podtrzymanie ekscytującej atmosfery w pracy. Oczywiście [...]]]></description>
			<content:encoded><![CDATA[<p>Jak uniknąć stagnacji, rutyny, braku nowości itp. w pracy?</p>
<p>Wczoraj rozmawiając z kolegą zaproponowałem zrobienie prostej aplikacji.</p>
<p>Odpowiedział: &#8222;<em>O ciekawe! Myśleliśmy już o tym &#8211; super pomysł&#8230;. Kiedyś mieliśmy &#8222;dni innowacji&#8221;, ale potem z czasem jakoś przestaliśmy je robić. Gdzie podziały się te pomysły?</em>&#8221;</p>
<p>Zapewne jest wiele sposobów na podtrzymanie ekscytującej atmosfery w pracy.</p>
<p>Oczywiście potrzeba ludzi wkręconych i kochających to co robią. Ale Ci ludzie pozostawieni sami sobie z czasem popadną w rutynę, będą znali się na wylot, będą mieli swoje ulubione techniki i style pracy.</p>
<p>Naszemu zespołowi może pomóc: czytanie książek, blogów, Twittera i wyjazdy na konferencje. To zapewni przypływ świeżych pomysłów.</p>
<p>Ale skąd brać siły na ich wdrażanie w terenie, który jest dobrze zbadany i unormowany? Czasem, zwłaszcza z małymi rzeczami nie jest to problem: &#8222;Spróbujmy przez tydzień programować w parach.. <em>Hmm, czemu nie?</em>&#8222;.</p>
<p>Czasem nie jest to takie proste: &#8222;Spróbujmy wrzucać nasz soft na produkcje jednym kliknięciem myszki.. <em>No co ty, to się nie uda, za dużo biurokracji, próbowaliśmy</em>&#8222;. <strong><em>Każdy wie, że jest coś czego nie da się zrobić, ale przychodzi ktoś kto nie wie, że się nie da i robi to ! &#8221; Albert Einstein. </em></strong>Jednym słowem potrzebujemy studenta <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .. Lub, kogoś z autorytetem i wiedzą że się da, bo zrobił to gdzie indziej: konsultanta.</p>
<p>Na chwilę obecną uważam, że by zapewnić przepływ świeżej krwi w zespole potrzeba: konsultantów, którzy są z zespołem od 3 do 6 miesięcy i studentów. Konsultanci wzbogacą zespół ideami z innych miejsc, w których byli. Studenci będą zadawać pytania. Wszystko to zachwieje ustalonym statusem quo i zapewni jakże potrzebny powiew świeżości.</p>
<p>Masz jakieś doświadczenia lub przemyślenia w tym temacie?</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5200"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;linkname=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;linkname=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;linkname=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;linkname=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;linkname=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fagile%2Fpowiew-swiezosci%2F&amp;title=Powiew%20%C5%9Bwie%C5%BCo%C5%9Bci" id="wpa2a_12">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/agile/powiew-swiezosci/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Język opcjonalnie typowany &#8211; Dart</title>
		<link>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 19:58:15 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[ciekawostki]]></category>
		<category><![CDATA[dart]]></category>
		<category><![CDATA[goto]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=513</guid>
		<description><![CDATA[Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. Więcej o tej konferencji.  Na otwarcie konferencji Google przygotowało niespodziankę &#8211; nowy język programowania Dart. Dokładnie, została zaprezentowana wczesna wersja języka, nad którym ciągle trwają prace. Jest to język opcjonalnie typowany. Możesz używać typów, ale nie musisz. Jeśli będziesz używał typów, kompilator pomoże Ci podpowiadając [...]]]></description>
			<content:encoded><![CDATA[<p><em>Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. <a href="http://agilesurfing.pl/?p=479">Więcej o tej konferencji.</a> </em></p>
<p>Na otwarcie konferencji Google przygotowało niespodziankę &#8211; nowy język programowania Dart. Dokładnie, została zaprezentowana wczesna wersja języka, nad którym ciągle trwają prace.</p>
<p>Jest to język opcjonalnie typowany. Możesz używać typów, ale nie musisz. Jeśli będziesz używał typów, kompilator pomoże Ci podpowiadając co dany typ potrafi lub sugerując, że chyba używasz nie poprawnego typu. Nie mniej kompilator nie będzie Cię do niczego zmuszał &#8211; to czy Twój program będzie działał czy nie, okaże się po uruchomieniu (podobnie jak w przypadku JavaScript).</p>
<p>Po co nowy język?</p>
<ul>
<li>Dart ma być językiem, w którym &#8222;trudno&#8221; jest pisać nie wydajne programy. Google chce ułatwić swoim programistom pisanie aplikacji, które działają szybko.</li>
<li>Dart kompilowany jest do JavaScriptu, więc może działać na większości &#8222;nowoczesnych&#8221; przeglądarek. Trwają również prace nad maszyną wirtualną Darta, która będzie częścią przeglądarki Chrome. Jedna z ciekawszych opcji: &#8222;snapshot&#8221; kodu (kod może zostać prekompilowany i dostarczony do przeglądarki w postaci gotowej do wczytania do pamięci), ułatwiający bardzo szybki i wydajny start aplikacji.</li>
<li>Model konkurencji zaczerpnięty z języka Erlang. Izolaty na wzór aktorów.</li>
<li>Przemawia do ludzi z dwóch obozów (języki dynamiczne (JavaScript), języki silnie typowane(Java)</li>
<li>Być może zastąpi Javę na platformie Android?</li>
</ul>
<div>Materiały</div>
<div>
<ul>
<li><a href="http://try.dartlang.org/">http://try.dartlang.org/</a></li>
<li><a href="http://www.dartlang.org/">http://www.dartlang.org/</a></li>
<li><a href="http://dartinside.com/">http://dartinside.com/</a></li>
</ul>
<div>Język wydaje się fajny. Na następnym <a href="http://agilesurfing.pl/2011/programowanie/coding-dojo/" target="_blank">dojo</a> zaproponuje, by rozwiązać w nim jakiś problem. Ciebie również zachęcam do poeksperymentowania <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-5140"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;linkname=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fjezyk-opcjonalnie-typowany-dart%2F&amp;title=J%C4%99zyk%20opcjonalnie%20typowany%20%26%238211%3B%20Dart" id="wpa2a_14">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warsztaty: A user user manual z Chrisem Nodderem</title>
		<link>http://agilesurfing.pl/2011/konferencje/warsztaty-a-user-user-manual-z-chrisem-nodderem/</link>
		<comments>http://agilesurfing.pl/2011/konferencje/warsztaty-a-user-user-manual-z-chrisem-nodderem/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 19:23:21 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[konferencje]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=486</guid>
		<description><![CDATA[Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. Więcej o tej konferencji. Warsztaty: A user user manual (how to build software that works the way your users think) z Chrisem Nodderem W czasie warsztatów kilka razy przewinęło się: &#8222;Obserwuj normalnych użytkowników używających twoje oprogramowanie. Będziesz zaskoczony co z nim robią&#8221; (Tip: [...]]]></description>
			<content:encoded><![CDATA[<p><em>Poniższy wpis jest częścią serii opisującej moje wrażenia z konferencji GOTO Aarhus 2012. <a href="http://agilesurfing.pl/?p=479">Więcej o tej konferencji.</a></em></p>
<p>Warsztaty: <a href="http://gotocon.com/aarhus-2011/presentations/show_presentation.jsp?oid=3575" target="_blank">A user user manual (how to build software that works the way your users think) z Chrisem Nodderem</a></p>
<p>W czasie warsztatów kilka razy przewinęło się: &#8222;<em>Obserwuj normalnych użytkowników używających twoje oprogramowanie. Będziesz zaskoczony co z nim robią</em>&#8221; (Tip: Ludzie z branży IT nie są normalni <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Są z reguły ekspertami w korzystaniu z komputerów).</p>
<p>Materiał przedstawiony w warsztatach został podzielony na zasady dotyczące:</p>
<ul>
<li><strong>aspektów poznawczych</strong></li>
<ul>
<li>komputery dobrze radzą sobie z &#8222;liczeniem&#8221; i &#8222;pamiętaniem&#8221; &#8211; w przeciwieństwie do ludzi. Tworząc nasze interfejsy powinniśmy o tym pamiętać, i nie zmuszać ludzi do wykonywania tych czynności.</li>
</ul>
<li><strong>aspektów dotyczących postrzegania</strong></li>
<ul>
<li><a href="http://uxbite.com/2011/01/zasady-grupowania-percepcyjnego-i-psychologia-postaci/" target="_blank">Zasada grupowania</a> - jako grupy postrzegamy obiekty które: są blisko siebie, są podobne do siebie, tworzą rozpoznawalny kształt</li>
<li><em>superstitious behavior</em> - zabobonne zachowanie. Użytkownicy czasem doszukują się prawidłowości tam gdzie ich nie ma. <em>Zawsze włączam najpierw Worda, a dopiero potem Internet Explorera, bo w tej kolejności działa (</em>zadziałało kiedyś<em>).</em></li>
<li><em>Użytkownicy nie czytają tego, co do nich piszesz!</em> Nie czytamy tekstu &#8211; skanujemy. Z badań z wykorzystaniem śledzenia ruchu gałek ocznych wynika, że ludzkie oczy skanując tekst bardzo często podążają za wzorem litery F. Czytamy pierwsze kilka zdań tekstu, następnie pierwsze słowa w lewej części ekranu, aż &#8222;wyczujemy&#8221; zapach interesującej nas informacji. Wtedy zaczynamy znów czytać dokładniej. Skąd charakterystyczny kształt litery F.</li>
</ul>
<li><strong>aspektów fizycznych</strong></li>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Fitts's_law" target="_blank">Prawo Fitt&#8217;a</a>. Łatwiej jest kliknąć w coś dużego, niż w coś małego <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Nazwy przycisków, linki, powinny opisywać co robią. Zamiast &#8222;OK&#8221; -&gt; &#8222;Zapisz&#8221;. Zamiast &#8222;Kliknij tu&#8221; -&gt; &#8222;Przejdź do koszyka z zakupami&#8221;.</li>
<li>Jak bardzo cierpliwi jesteśmy?</li>
<ul>
<li>mniej niż 0.1 sekundy, gdy przeciągamy coś po ekranie</li>
<li>mniej niż 1 sekunda, po kliknięciu w przycisk</li>
<li>mniej niż 10 sekund, by utrzymać koncentrację na aktualnym zadaniu, np. startowanie aplikacji (by rozpocząć z nią pracę).</li>
</ul>
<li>Historia dotycząca &#8222;cierpliwości&#8221; i instalacji Windows Service Pack 2 dla systemu XP. <em>Proces instalacji tego serwis packa wymagał restartu systemu, po którym system &#8222;wstawał&#8221; na wielu komputerach przez parę minut. W tym czasie ekran był &#8222;czarny&#8221;. W czasie testów z użytkownikami, okazało się że wielu z nich widząc czarny ekran &#8222;tak długo&#8221; decydowało się zrestartować komputer jeszcze raz. Powodowało to trwałe uszkodzenie systemu. Problem został rozwiązany przez zastosowanie stałego wizualnego indykatora postępu: kropek wypisywanych na ekran w odstępie około jednej sekundy.</em></li>
</ul>
<li><strong>aspektów dotyczących &#8222;workflow&#8221;ów</strong></li>
<ul>
<li>&#8222;Sprytne&#8221; wartości domyślne. Pokazując, która opcja jest preferowana/domyślna, ułatwiamy życie użytkownikom. Większość użytkowników nie zmienia wartości domyślnych. &#8222;Sprytne&#8221; &#8211; by je zdefiniować, czasem potrzebne jest badanie na użytkownikach by &#8222;odkryć&#8221; co jest preferowanym wyborem.</li>
<li>Użytkownik może mieć więcej lub mniej kontroli nad wykonywanym zadaniem. Może być prowadzony (przy pomocy &#8222;wizarda&#8221;) lub sam może decydować o wykonywanych akcjach i ich kolejności. &#8222;Wizardy&#8221; są preferowane dla zadań, które użytkownicy wykonują rzadko i nie są w nich biegli.</li>
<li>Ujawniaj informacje stopniowo. Np. w czasie instalacji można wybrać instalację &#8222;standardową&#8221;. Dla ciekawskich, dostępna jest opcja by kliknąć i dokładnie dowiedzieć się, co składa się na tę instalację.</li>
</ul>
<li><strong>aspektów dotyczących komunikacji</strong></li>
<ul>
<li>Wydrukuj wszystkie &#8222;ekrany&#8221; w aplikacji i powieś obok siebie na ścianie. Czy są spójne?</li>
<li>&#8222;Pomoc nie pomaga&#8221;. Bardzo często pomoc pisana jest z perspektywy funkcji, jakie aplikacja dostarcza. Użytkownicy z reguły szukają pomocy na temat tego, jak wykonać jakieś zadanie. Dlatego np. FAQ są bardzo skuteczne.</li>
</ul>
<li><strong>jak zachwycać użytkowników</strong></li>
<ul>
<li>Czy użytkownicy używając danej funkcjonalności będą zachwyceni?</li>
</ul>
</ul>
<div>Oprócz teorii dlaczego, było dużo konkretnych przykładów jak to wykorzystać w praktyce. Podobało mi się to jak Chris prowadził zajęcia. Jest wyluzowany i potrafi ciekawie opowiadać. Polecam.</div>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4870"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;linkname=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;linkname=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;linkname=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;linkname=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;linkname=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fkonferencje%2Fwarsztaty-a-user-user-manual-z-chrisem-nodderem%2F&amp;title=Warsztaty%3A%20A%20user%20user%20manual%20z%20Chrisem%20Nodderem" id="wpa2a_16">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/konferencje/warsztaty-a-user-user-manual-z-chrisem-nodderem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GOTO Aarhus 2011</title>
		<link>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 19:23:18 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[konferencje]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[goto]]></category>
		<category><![CDATA[konferencja]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=479</guid>
		<description><![CDATA[Drugi tydzień października spędziłem na konferencji GOTO w Aarhus. Jak zwykle było to bardzo intensywne doświadczenie W telegraficznym skrócie: Niedziela Warsztaty A user user manual z Chrisem Nodderem. Porady na temat tego jak tworzyć przyjazne i łatwe w użytkowaniu oprogramowanie + teoria na temat tego, jak zachowują się użytkownicy i dlaczego. Poniedziałek Google prezentuje nowy język [...]]]></description>
			<content:encoded><![CDATA[<p>Drugi tydzień października spędziłem na konferencji <a href="http://gotocon.com/aarhus-2011/" target="_blank">GOTO</a> w Aarhus. Jak zwykle było to bardzo intensywne doświadczenie <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>W telegraficznym skrócie:</p>
<p><strong>Niedziela</strong></p>
<ul>
<li>Warsztaty<a href="http://agilesurfing.pl/?p=486"> A user user manual z Chrisem Nodderem</a>. Porady na temat tego jak tworzyć przyjazne i łatwe w użytkowaniu oprogramowanie + teoria na temat tego, jak zachowują się użytkownicy i dlaczego.</li>
</ul>
<p><strong>Poniedziałek</strong></p>
<ul>
<li><a href="http://agilesurfing.pl/2011/programowanie/jezyk-opcjonalnie-typowany-dart/">Google prezentuje nowy język programowania &#8211; Dart</a></li>
</ul>
<p><strong>Wtorek</strong></p>
<ul>
<li>TODO</li>
</ul>
<p><strong> Środa</strong></p>
<ul>
<li>TODO</li>
</ul>
<p><strong>Czwartek</strong></p>
<ul>
<li>Warsztaty &#8222;Evolutionary Architecture &#8211; How to Make it Work&#8221; z Martinem Fowlerem i Rebeccom Parsons</li>
<li>Warsztaty &#8221;Influence Strategies for Practitioners&#8221; z Linda Rising</li>
</ul>
<p><strong>Piątek</strong></p>
<ul>
<li>Warsztaty &#8221;Maintaining and Evolving Legacy Systems&#8221; z Frankiem Buschmann</li>
</ul>
<p><strong>Ogólne komentarze i podsumowanie:</strong></p>
<p>W tym roku do materiałów konferencyjnych dołączone zostały dwie małe książeczki: &#8222;The 3 pillars of personal effectiveness&#8221; oraz &#8222;Priming Kanban&#8221; - oryginalne i fajne posunięcie.</p>
<p>I tak na przykład w &#8222;Priming Kanban&#8221; wyczytałem, co robić gdy osiągamy limit &#8222;<a href="http://agilesurfing.pl/2011/agile/wip-limits/" target="_blank">work in progress</a>&#8222;. Jest to moment na dyskusję. Do wyboru mamy albo powiększyć limit (co będzie skutkować zwiększeniem czasu, jaki jest potrzeby by historyjka przewędrowała od &#8222;koncepcji&#8221; do &#8222;wdrożenia&#8221;) albo usprawnić/wspomóc &#8222;wąskie gardło&#8221;. Np. gdy &#8222;testowanie&#8221; jest wąskim gardłem, może jako programiści możemy zautomatyzować wrzucanie nowej wersji na środowisko testowe? Tak czy inaczej, osiągnięcie limitu &#8222;work in progress&#8221; jest pretekstem do dyskusji.</p>
<p>Konferencja to również męczące wydarzenie (pełno wrażeń, codziennie integracja), nie mniej z niecierpliwością czekam na kolejną konferencję organizowaną przez Trifork, QCon 2012 w Londynie <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4800"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;linkname=GOTO%20Aarhus%202011" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fgoto-aarhus-2011%2F&amp;title=GOTO%20Aarhus%202011" id="wpa2a_18">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/goto-aarhus-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extreme Startup zamiast wtorkowego dojo</title>
		<link>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/</link>
		<comments>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 19:23:14 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[Extreme Startup]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[testy jednostkowe]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=465</guid>
		<description><![CDATA[Wczoraj zamiast &#8222;normalnego&#8221; dojo poprowadziłem mini warsztat Extreme Startup. Podczas tego warsztatu zadaniem uczestników jest napisanie aplikacji webowej, która odpowiadać będzie na zapytania &#8222;wirtualnych&#8221; klientów. Uczestnicy warsztatu nie wiedzą, co ich czeka i z logów serwera muszą wywnioskować, czego chcą klienci. Klienci będą między innymi pytać: Ile jest 2 + 5? Która z tych liczb [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj zamiast &#8222;normalnego&#8221; dojo poprowadziłem mini warsztat <a href="http://chatley.com/posts/05-27-2011/extreme-startup/" target="_blank">Extreme Startup.</a></p>
<p>Podczas tego warsztatu zadaniem uczestników jest napisanie aplikacji webowej, która odpowiadać będzie na zapytania &#8222;wirtualnych&#8221; klientów. Uczestnicy warsztatu nie wiedzą, co ich czeka i z logów serwera muszą wywnioskować, czego chcą klienci.</p>
<p>Klienci będą między innymi pytać:</p>
<ul>
<li>Ile jest 2 + 5?</li>
<li>Która z tych liczb się największa: 4, 234, 2, 4?</li>
<li>Jaki kolor ma banan?</li>
</ul>
<div>Warsztat jest dość intensywny, jako że uczestnicy konkurują między sobą o to, kto zdobędzie najwięcej punktów. Na bieżąco na rzutniku wyświetlany jest aktualny ranking, co oczywiście wyzwala w uczestnikach chęć rywalizacji.</div>
<div>W zależności od pytania uczestnicy otrzymują różną ilość punktów. Gdy ich serwer odpowie źle, tracą punkty, a gdy ich serwer jest nie dostępny, tracą jeszcze więcej punktów.</div>
<p>W warsztacie wzięło 8 osób, zostały uformowane 4 pary. Zaczęliśmy o 1700 i około 50 minut zajęła nam sesja próbna, gdzie uczestnicy konfigurowali sieć tak, by<a href="https://github.com/rchatley/extreme_startup" target="_blank"> móc połączyć się z serwerem</a> i odpowiedzieć na proste zapytanie &#8222;Jak masz na imię&#8221;.</p>
<p>Około 18 zaczęliśmy &#8221;prawdziwą&#8221; rundę z normalnymi pytaniami. Niestety z braku czasu, runda trwała tylko około 45 minut. Na przyszłość, &#8222;normalna&#8221; runda powinna trwać co najmniej 90 minut. Na potrzeby warsztatu przygotowane jest 6 zestawów pytań i wczoraj dobrnęliśmy tylko do trzeciego, a tak naprawdę mało który zespół miał poprawnie zaimplementowane wszystkie pytania z 2 pierwszych zestawów.</p>
<p>Z 4 zespołów tylko jeden pisał testy. Wszystkim zespołom poszło &#8222;podobnie źle&#8221; &#8211; zdobyły po około -2000 punktów. Prawdopodobnie gdyby warsztat trwał dłużej, to w miarę implementowanie poprawnych odpowiedzi dla kolejnych pytań, pary wyszłyby na prostą.</p>
<p>Pary, które używały &#8222;cięższych&#8221; serwerów aplikacji (jak Jetty <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) traciły sporo punktów podczas redeployu aplikacji. Niestety nikt nie pokusił się o rozwiązanie z load balancerem <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Technologie jakich używali uczestnicy</p>
<ul>
<li>Scala</li>
<li>Node.js</li>
<li>Groovy</li>
<li>Smalltalk, a potem z powodu problemów Java</li>
</ul>
<div>We wszystkich zespołach/parach uczestnicy grali rolę programistów. Żaden zespół nie &#8222;wprowadził&#8221; roli Product Ownera, który analizowałby logi i priorytezował pracę programisty (np. niektóre pytania były dużo prostsze niż inne, podobnie pytania miały różną ilość punktów, czasem wystarczyło zwrócić pusty string.).</div>
<div>Ogólnie chyba się podobało <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .. Może powtórzymy ten warsztat za jakiś czas&#8230;</div>
<div>Ps. Wczoraj wyszła książka <a href="http://theleanstartup.com/book" target="_blank">Lean Startup.</a> <strong>Polecam</strong>.</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="rw-left"><div class="rw-ui-container rw-class-blog-post rw-urid-4660"></div></div><p><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_linkedin" href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a><a class="a2a_button_digg" href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_google_reader" href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;linkname=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fagilesurfing.pl%2F2011%2Fprogramowanie%2Fextreme-startup-zamiast-wtorkowego-dojo%2F&amp;title=Extreme%20Startup%20zamiast%20wtorkowego%20dojo" id="wpa2a_20">Daj znać innym</a></p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2011/programowanie/extreme-startup-zamiast-wtorkowego-dojo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

