tag:blogger.com,1999:blog-52707153798407179052023-06-15T16:08:28.671+01:00Klick um KlickBlog von Bernd SchifferBernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.comBlogger138125tag:blogger.com,1999:blog-5270715379840717905.post-56704213254911472652011-08-22T08:35:00.000+01:002011-08-22T08:35:08.848+01:00Mein Blog ist tot. Lang lebe mein Blog.<a href="http://agiletrail.com/2011/08/22/my-blog-is-dead-long-live-my-blog"><span class="Apple-style-span" style="font-family: inherit;">Englisch Versi</span>on</a><br />
<br />
<span class="Apple-style-span" style="font-size: large;">Hi,</span><br />
<br />
mein neuer Blog <a href="http://agiletrail.com/">Agile Trail</a> ist online. Er wird zukünftig alles enthalten, was ich über Agile, Lean, Veränderung und Verbesserung zu schreiben habe. Mein alter Blog "Klick um Klick" ist ab sofort tot.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-pn1CIfVq-Ng/TlFi1ULSRnI/AAAAAAAADuc/sHEtI8R_fsA/s1600/4762773414_2174466942_o_cropped.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="133" src="http://1.bp.blogspot.com/-pn1CIfVq-Ng/TlFi1ULSRnI/AAAAAAAADuc/sHEtI8R_fsA/s200/4762773414_2174466942_o_cropped.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The king is dead. Long live the king.<br />
<a href="http://www.flickr.com/photos/karpidis/4762773414/" style="-webkit-transition-delay: initial; -webkit-transition-duration: 0.2s; -webkit-transition-property: all; -webkit-transition-timing-function: ease-in-out;">Chess Kings and knight</a> by <a href="http://www.flickr.com/people/karpidis" style="-webkit-transition-delay: initial; -webkit-transition-duration: 0.2s; -webkit-transition-property: all; -webkit-transition-timing-function: ease-in-out;">Andreas Kontokanis</a></td></tr>
</tbody></table>
Seit 1422 haben die Franzosen als Erstes den Ausspruch <a href="http://de.wikipedia.org/w/index.php?title=Der_K%C3%B6nig_ist_tot,_es_lebe_der_K%C3%B6nig"><i>Le Roi est mort, vive le Roi!</i></a>, was bedeudet <i>Der König ist tot. Lang lebe der König</i>. Damit wollten die Franzosen klar machen, dass im Moment des Todes des alten Königs der neue König ohne jede Unterbrechung die Amtsgeschäfte übernimmt. Meinen alten Blog schaffe ich ab und schreibe unterbrechungslos weiter im neuen Blog.<br />
<br />
Diesen Blog "Klick um Klick" startete ich vor fast fünf Jahren, und ich habe eine Menge gelernt über Werkzeuge (Blogging, Schreiben, Veröffentlichen) und über Inhalte (Agile, Lean, Veränderungen, Verbesserungen). Der Blog hat seinen Zweck erfüllt; der Name hatte eine Bedeutung.<br />
<br />
Ein Klicker ist ein Gerät, dass beim Drücken ein klickendes Geräusch erzeugt. Es wird in <a href="http://de.wikipedia.org/wiki/Obedience">Obedience</a>, Hunde-Training, benutzt, um eine Belohnung mit einem Geräusch zu verknüpfen. Das ist das <a href="http://de.wikipedia.org/wiki/Klickertraining">Klicker-Training</a>: Wenn diese Association hergestellt ist zwischen Belohnung und Klick, dann braucht der Trainer keine Belohnungen mehr, nur noch Klicks. Wird <a href="http://de.wikipedia.org/wiki/Verst%C3%A4rkung_(Psychologie)#Positive_Verst.C3.A4rkung">Positive Verstärkung</a> genannt, <a href="http://de.wikipedia.org/wiki/Burrhus_Frederic_Skinner">B. F. Skinner</a> lässt grüßen.<br />
<br />
Meinen Blog Klick um Klick benutzte ich, um Feedback über mein Verhalten zu bekommen. Und das habe ich bekommen, Klick um Klick, in Form von Kommentaren, Diskussionen, neuen Bekanntschaften und einer Menge Spaß. Vielen Dank dafür, lieber Leser. Das hat mir sehr geholfen, mich auf meinen Agilen Pfad zu bringen.<br />
<br />
Na, Lust bekommen, mir auf meinem <a href="http://agiletrail.com/">Agile Trail</a> zu folgen? Ich würde mich sehr darüber freuen!<br />
<br />
Liebe Grüße,<br />
<span class="Apple-style-span" style="font-size: large;">Bernd</span>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-74680005954420930042011-08-01T12:28:00.003+01:002011-08-14T21:26:35.326+01:00My Swiss Alpine K78 Ultra Marathon 2011<br />
I did the <a href="http://www.swissalpine.ch/">Swiss Alpine</a> K78 Ultra Marathon 2011. That was a tough one.<br />
<br />
<br />
That was my first Swiss Alpine K78: 79.1 km distance and +/- 2370 m altitude. It's the highest ultra marathon you can run in Europe. Top point was Sertigpass at 2739 meter above sea level. See <a href="http://www.swissalpine.ch/cms/informationen-k78.phtml">more facts here</a>.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-fBOFXCMGgqA/TjaC8fHI8cI/AAAAAAAADqc/PNVykj3PvaA/s1600/IMG_1780.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="239" src="http://1.bp.blogspot.com/-fBOFXCMGgqA/TjaC8fHI8cI/AAAAAAAADqc/PNVykj3PvaA/s320/IMG_1780.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">K78 start at Davos Platz at 7 a.m.</td></tr>
</tbody></table>
Start was at 7 a.m. on Saturday. Great weather, sunshine and warmth. The first 32 km until Frevgias were a nice warm up for what would follow. I enjoyed the fantastic Swiss countryside. We ran through tunnels, along mountains and next to wild creeks. Relaxing.<br />
<br />
In this run I learned to read the altimeter. In all other runs I did so far, the question was: How long until…? Here the question was: How high until…? We started in Davos Platz at 1538 m ASL (above sea level). Until Frevgias (km 32) we lost 519 meter; Frevgias is the lowest point in the race with 1019 m ASL. That was the easy part of the race.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-V8Zwrsziv7Y/TjaDf9wf7_I/AAAAAAAADqg/ph8YIjg2s_k/s1600/K78_Sertig_deutsch.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="226" src="http://4.bp.blogspot.com/-V8Zwrsziv7Y/TjaDf9wf7_I/AAAAAAAADqg/ph8YIjg2s_k/s320/K78_Sertig_deutsch.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">K78 altitude profile (<a href="http://www.swissalpine.ch/cms/download.php?f=4428cb8428e36346ab050d09293921c9">original</a>)</td></tr>
</tbody></table>
Have a <a href="http://www.swissalpine.ch/cms/download.php?f=4428cb8428e36346ab050d09293921c9">look at the altitude profile</a>: There you can see what seems to be a little bump in the graph after Frevgias, from Frevgias (km 31.1) to Funtanislas (km 39.0). The peek of that bump is Crestas da Buel with 1476 m ASL, and Funtanislas is at 1282 m ASL, so I climbed 457 m in 5.8 km.<br />
<br />
I was irritated because every runner around me was hiking instead of running on the way to Crestas da Buel. Didn't expect that so early in the race. It was my first K78, so I adapted quickly and hiked up to the top instead of running. The others would certainly know why.<br />
<br />
Bergün (km 40.3, shortly after Funtanislas), is considered to be the beginning of the hardest part of the race. It's the start of a climb to the Kesch-Hütte, from 1282 m ASL (Funtanislas) up to 2632 m ASL (Kesch-Hütte). That's 1350 m straight up! And it was unbelievable. I never experienced something like this. I counted every 100 m on my altimeter, expected my legs to quit any second because the path was so steep. Nobody runs here, not even the winners of this race.<br />
<br />
I hiked without a break. 2 km before the top you can see the Kesch-Hütte. The 1350 m height are spread on a distance of 13.9 km, and it took me 2:25 hours for that part alone.<br />
<br />
The weather was fine - until the Kesch-Hütte. I passed the doctor ("Heya, how are you feeling?" - "*gasp* *gasp* Guess! *gasp* *gasp*" - "Okay, he's responsive. Have a good run then!"), and right after that the weather changed. It was about 4° C, and it started to rain. The hard part was over, right? Wrong…<br />
<br />
The descent was horrifying. I'm a noob when it comes to high alpine mountain running, so I struggeled with everything: the stones, the mud, the rain, the height, the cold, the depth. Runners were overtaking in a crazy speed; I saw a lot of them at the sanitarian after the race, with wounds from sharp rocks. I was really frightened about the terrain, and I decided to play it safe, and run slowly.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Cxu1ih0DQjg/TjaEJXfsRiI/AAAAAAAADqk/QUXb9vWhb8w/s1600/IMG_1782.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="239" src="http://2.bp.blogspot.com/-Cxu1ih0DQjg/TjaEJXfsRiI/AAAAAAAADqk/QUXb9vWhb8w/s320/IMG_1782.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">View from Platta Naira backwards (about km 54.8)</td></tr>
</tbody></table>
After the Kesch-Hütte, the way leads to Platta Naira (2397 m ASL), so that was another 235 m straight down. The scenery was kinda ugly, I usually see this in movies like Cliffhanger: Rocks all over, creeks and the path sharing the same way, fog, clouds, rain, cold. And the height.<br />
<br />
I thought the hight would have an effect like difficulties to breath, a higher heart beat, head aches or similar. But instead the only effect it had on me was that I really had to focus on what I was doing. I had to concentrate all the time, had to watch every step. But that was all. Lucky me :)<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-9nUeJEsQ178/TjaG2kqaQbI/AAAAAAAADqo/J_ObqizxDW8/s1600/IMG_1787_2.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-9nUeJEsQ178/TjaG2kqaQbI/AAAAAAAADqo/J_ObqizxDW8/s320/IMG_1787_2.jpg" width="214" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">above: Sertigpass and runners, not marked<br />
below: Sertigpass and runners, marked</td></tr>
</tbody></table>
Hardest part over? Not yet. Next hurdle was the Sertigpass. From the Platta Naira (2397 m ASL) to the Sertigpass (2739 m ASL) I had to climb another 342 m in less than 4 km - and what a steep climbing that was! And it was really frustrating to see what was coming: 800 m before the Sertigpass there is a lake called the Ravaischsee. When you arrive at that lake, you see the path over the top. That pass leads around the lake right to the Sertigpass - almost 200 m height in less than 800 m distance - and we're talking about a point in time when all the runners had already pulled of 58 km!<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-_9nXbK_4I-o/TjaHJihyY_I/AAAAAAAADqs/PZIxoK-hs3k/s1600/2019848_orig.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-_9nXbK_4I-o/TjaHJihyY_I/AAAAAAAADqs/PZIxoK-hs3k/s320/2019848_orig.jpg" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">On top of Sertigpass</td></tr>
</tbody></table>
Hard? Nope, get's harder. On top of the Sertigpass we had a visibility of 5 to 10 m. Fog or cloud, I didn't know, I didn't care, cause it was about 2° C and I really was looking forward to get to some lower ground. What I didn't know was that we climbed over the Sertigpass from the south, so the way down was on the north side. Yep, that's the ugly side. It was very windy, very steep, lots of rocks. Without the little flags in the ground the path wasn't always clear to me. If there was a path, it was often so muddy that there was no chance to slow down accordingly. More sliding than running. It was very hard to concentrate on not tumbling and landing on the rocks.<br />
<br />
Just to give an idea of the speed I had on the way down. From Sertigpass (2739 m ASL) to Chleinalp (1871 m ASL) I ran down 868 m on a distance of only 8 km, and that took me only 42 minutes on that mean ground.<br />
<br />
From Chleinalp (km 64.3) it was a normal run again. The scenery was back to green meadows again, the path to normal cart roads and streets, the weather warm (about 15 °C), no fog and almost no rain. I enjoyed the rest of the race, running through very nice forrests until the end in Davos Platz after 79.1 km.<br />
<br />
I expected my muscles to shut down sooner or later during the race due to the climbing and the - more strenuously - downhill running. But they didn't shut down. Must have been the training. I was pleasantly surprised :)<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-c15kryDjtXo/TjaHk0UnzBI/AAAAAAAADqw/mbhnxw4L7jA/s1600/2004852_orig.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://4.bp.blogspot.com/-c15kryDjtXo/TjaHk0UnzBI/AAAAAAAADqw/mbhnxw4L7jA/s320/2004852_orig.jpg" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">My last meters before the finish</td></tr>
</tbody></table>
After all, the run was great. The Swiss countryside are lovely, and even the ugly conditions in the mountains rendered the scenery very impressive. The people in the moutain villages were very supportive, and especially the cow bells swinging locals were absolutely awesome :-)<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-sbWfY5SQu5M/TjaHo3Yh7YI/AAAAAAAADq0/yxyikAr_awQ/s1600/IMG_1788.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-sbWfY5SQu5M/TjaHo3Yh7YI/AAAAAAAADq0/yxyikAr_awQ/s320/IMG_1788.jpg" width="239" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">After the finish - happy and exhausted :)</td></tr>
</tbody></table>
I reached the finish after 9 hours, 35 minutes and 1 second. From 1218 finishers out of 50 countries I achieved a nice 256th position. The winner Jonas Buud (Sweden) finished in 6:11:02 - for the fivth (!) time - and Lizzy Hawker (Great Britain) in 7:16:17. Congrats! Absolutely amazing. Only 6 people ran this race under 7 hours.<br />
<br />
See <a href="https://picasaweb.google.com/bernd.schiffer/SwissAlpineK78UltraMarathon2011?authuser=0&feat=directlink">more photos in the gallery</a>.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com3tag:blogger.com,1999:blog-5270715379840717905.post-57487089136024155742011-07-15T06:37:00.000+01:002011-07-15T06:37:54.985+01:00Explained to Dad: What I Do as an Agile Coach<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-ackMzZm07Dc/Th9NGsUAU0I/AAAAAAAADqE/O8gkkjglr5g/s1600/2933403190_79872d64ce_b.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-ackMzZm07Dc/Th9NGsUAU0I/AAAAAAAADqE/O8gkkjglr5g/s320/2933403190_79872d64ce_b.jpg" width="232" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span class="Apple-style-span" style="font-size: small;">Overweight?</span><br /><a href="http://www.flickr.com/photos/ichibod/2933403190/">Fat funny dog</a> by <a href="http://www.flickr.com/photos/ichibod">ichibod</a></td></tr>
</tbody></table>
<br />
My parents usually ask me about what it is that I do to make a living. Same with friends who are not in IT. I struggle most of the time. For me it's really difficult to explain what I do as an Agile coach - training, consulting, and coaching - to someone outside the Lean and Agile domain. And when I do, it sounds nerdy.<br />
<br />
Not so the other day. Here's how the conversation went:<br />
<br />
Dad: "So you're flying over to that customer of yours next week, right? And what is it actually you're doing there?"<br />
I: "I show them ways to improve themselves by so called Agile and Lean methods. I do that with training, consulting and coaching."<br />
Dad: "Aha."<br />
That's the sound my father makes when he's not sure how to handle what I say.<br />
<br />
Dad: "But what is it you do all day? How can I picture that?"<br />
I: "Well, let's imagine my customer feels overweight."<br />
Dad: "Aha."<br />
My father is a little bit overweight.<br />
<br />
I: "I can help overweight people. In the first meeting, the customer tells me his goals, what he wants to achieve. Sometimes his doctor showed him bad examination results, or he just does not feel good anymore with his body.<br />
<br />
"After the first meeting I can roughly assess the situation, can tell if they are really overweight, or if they just feel overweight and the symptoms might caused by something else. Then I ask them if I should help them with the methods I know, like doing sports and optimize the diet. (By the way, my real methods are called Scrum and Kanban.)<br />
<br />
"That's when I'm the trainer: I present my methods to the customer, so he knows what he's dealing with. Besides that he learns about the methods, we can establish a common language with words like 'resting heart rate' or 'metabolism', so we can talk to each other on a common ground."<br />
<br />
Dad: "Okay, sports and another diet. Does not sound too complicated to me."<br />
I: "No, and that's not why they call me. Everyone can look up those methods on the internet or read a good book about them. But there's more to it than just the training. There's also the consulting part.<br />
<br />
"Take sports: I analyze the sports background of my customer, figure out how long he can run in 12 minutes (called the Cooper test), or what his resting pulse rate is. Based on that I develop a training program for him. Same with the diet: I measure his weight, his body fat, figure out what he eats all day. From that I develop a diet plan which should help him lose weight."<br />
<br />
Dad: "Hm, but I've seen such plans in magazines. There are magazine for the stuff you do, too, are there not? Why do the customers pay you instead of buying a magazine?"<br />
I: "Because I offer made-to-measure plans, only for that particular customer.<br />
<br />
"But let's imagine my customer would find a good plan for his needs in a magazine, then he would still benefit from my work. This is where the coaching part comes into play. As a coach, I help my customer find his way through all that change that's necessary to lose weight."<br />
<br />
Dad: "Aha. And that's what you do all day?"<br />
I: "Jup. Hey! What's the meaning of that look of yours?"<br />
Dad: "I don't mean to offend you, but... Well, it sounds so simple what you do..."<br />
I: "Simple? Losing weight is simple? You know it's not."<br />
We both look at his belly.<br />
<br />
I: "Often customers want to lose weight, but at the same time they don't want to change their diet or start doing sports. If they are willing to change the diet, I have to explain again and again why they should eat less sugar and what's that got to do with their dicky heart.<br />
<br />
"Sometimes the customer 'reframes' my advice. My advice could be drinking water instead of coke. After a while, the customer might not like drinking water anymore. It's just not tasty anymore. He might change to diet coke, which could complicate his health more than staying with the original coke. Then I'm there helping him to understand what he's doing and what consequences that means for him and his goals.<br />
<br />
"Sometimes the customer can't get up and find the energy to go for a run, even he knows exactly that and why he should. Then I motivate him, show him the negative consequences if he does not run and the already visible positive consequences of what he achieved with all his running before.<br />
<br />
"Sometimes the customers is so eager to lose weight, that he runs too much, e.g. every day instead of only thrice a week. Then I'm there for him, appease him and let him know about sustainable pace, that he's not ready yet to run that often.<br />
<br />
"And there are thousands of other challenges I face at the customers every day when I coach."<br />
<br />
Dad: "Wow, that's impressive! Didn't know you're doing all this at your work."<br />
<br />
I think he was really impressed. And for the first time I think I could explain what I do for my living - training, consulting, and coaching - in a non-nerdy way.<br />
<br />
If you are a not a nerd, do you understand, what I tried to explain?<br />
Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-20379253815537981682011-07-05T08:55:00.001+01:002011-07-06T20:12:06.314+01:00Pecha Kucha Guide<div class="separator" style="text-align: center;"><a href="http://4.bp.blogspot.com/-vgMwdJ3C5k0/ThHwXod3JNI/AAAAAAAADpw/48zg9X1iWKk/s1600/japanese_pecha_kucha.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="98" src="http://4.bp.blogspot.com/-vgMwdJ3C5k0/ThHwXod3JNI/AAAAAAAADpw/48zg9X1iWKk/s320/japanese_pecha_kucha.png" width="320" /></a></div><div style="text-align: center;"><span style="font-size: 0.8em;">Pecha Kucha in Japanese</span></div><br />
I happened to organize a few <a href="http://www.berndschiffer.com/2009/11/session-mit-pecha-kucha-auf-der-wjax.html">Pecha Kucha events</a> (German) in the last years. Also I did present a few <a href="http://www.berndschiffer.com/2009/08/pecha-kucha-inkrementelles-design.html">topics in the Pecha Kucha style</a> (German). In a few weeks I will be host of another <a href="http://program2011.agilealliance.org/event/8f8244f7a51c43c0a95acd9512461047">Pecha Kucha session at the Agile 2011 conference</a> in Salt Lake City, together with <a href="http://www.infomar.de/">Martin Heider</a>, which is roughly a replay of last years quite successful <a href="http://xp2010.org/program?sid=26&o=7">Pecha Kucha event at XP 2010</a> conference in Trondheim.<br />
<br />
Whenever we invite participants to share their memes with the audience in a 20-times-20-style, we send them a few words for their preparation. We gathered feedback in the last two years about those words, and it turns out that they were quite helpful to a lot of people. We also improved them over time, and now we want to share them with a broader audience.<br />
<br />
Please download this two page PDF called "<a href="http://cl.ly/89r2">Helpful Things to Know About Pecha Kucha</a>" (151 KB).Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-1402753899761755002010-07-13T10:50:00.000+01:002010-07-13T10:50:29.019+01:00Dieser Blog flattr-tIn eigener Sache: Dieser Blog versucht sich an <a href="https://flattr.com/">Flattr</a>.<br />
<br />
Flattr ist ein <a href="http://de.wikipedia.org/wiki/Micropayment">Micropayment-Dienst</a> auf freiwilliger Basis. Das funktioniert so: Beliebige Inhalte wie Blogposts, Bilder, Videos usw. können mit Buttons von Flattr versehen werden. Das ist so ein Button:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_lpfLjwcW06c/TDwqaIDDJeI/AAAAAAAADhU/o-BSCzmz4rM/s1600/flattrbutton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_lpfLjwcW06c/TDwqaIDDJeI/AAAAAAAADhU/o-BSCzmz4rM/s1600/flattrbutton.png" /></a></div>So einer klebt auch an diesem Blogpost. Klickt der Blog-Besucher auf den unteren Teil des Buttons (da, wo "Flattr" drauf steht), dann bewertet er diesen Blogpost, er <i>flattr-t</i> ihn. Die Zahl im oberen Teil des Buttons erhöht sich dann. Sie zeigt an, wie viele Besucher den Blogpost <i>ge-flattr-t</i> haben. Ein Klick auf die Zahl bringt den Besucher auf eine Flattr-Seite mit Statistiken.<br />
<br />
Was genau heißt es jetzt, etwas zu <i>flattr-n</i>? Hier kommt das Micropayment ins Spiel: Wer <i>flattr-t,</i> verteilt Geld. Vom <i>Flattr-nden</i> zum <i>Ge-flattr-ten</i>. Das funktioniert nach einem ausgeklügelten System: Wer sich bei Flattr anmeldet, muss zunächst sein Konto füllen, mindestens EUR 2 im Monat. Danach darf er auf Flattr-Buttons klicken. Seine Klicks werden von Flattr gezählt. Am Ende des Monats werden alle seine Klicks aufsummiert. Sein Monatsbudget wird durch die Summe all seiner Klicks in diesem Monat geteilt. Dieser Betrag wird dann an jeden von ihm <i>Ge-flattr-ten</i> ausgezahlt bzw. dessen Konto gut geschrieben.<br />
<br />
Was? "<i>Nicht einfach</i>", sagst Du? Okay, hier ein Beispiel: Du hast auf Deinem Flattr-Konto ein Monatsbudget von 2 EUR angegeben. Im Laufe des Monats <i>flattr-st</i> Du 100 Blogpost, Videos usw. Am Ende des Monats ist damit so ein Klick 2 EUR / 100 Klicks = 0,02 EUR pro Klick wert. Wenn Du in diesem Monat auf diesen meinen Blogpost den Flattr-Button geklickt hast, dann bekomme ich auf mein Konto von Dir für diesen Monat genau 0,02 EUR gut geschrieben. Hättest Du nur einen einzigen Beitrag <i>ge-flattr-t</i> - diesen vielleicht? :) - im Monat, dann würde der <i>Ge-flattr-te</i> von Dir die vollen 2 EUR bekommen. Flattr verdient dabei, behält von jeder Konto-Gutschrift 10 % ein.<br />
<br />
Lohnt sich <i>Flattr-n</i>? Wohl eher nur für die großen Blogs. <a href="http://www.netzpolitik.org/2010/flattr-einnahmen-im-juni/">netzpolitik.org hat eine Bilanz für Juni veröffentlicht</a>, und da sah's wohl ganz nett aus. Aber nichts umwerfendes. Auf jeden Fall nicht mein Motiv, Flattr auf diesem Blog einzusetzen. Meine kühnsten Träume werden wahr, wenn ich etwas das raus bekomme, was ich rein gesteckt habe.<br />
<br />
Warum Du <i>flattr-n</i> solltest? Um Danke zu sagen oder um jemanden zu belohnen für Inhalte, die Du gut findest. Das Ding ist freiwillig, keiner zwingt Dich. Alternativ twitter drüber. Oder erzähl's Deinen Freunden. Flattr ist für mich auch nur eine weitere Art, das gute Wort zu verteilen. Mir geht's um Feedback, und Flattr ist ein aktueller Feedback-Mechanismus.<br />
<br />
Noch ein Grund zu <i>Flattr-n</i>: Um zu geben, wenn Du nimmst. Du musst Dich bei Flattr anmelden, um <i>ge-flattr-t</i> zu werden oder selbst zu <i>flattr-n</i>. Wenn Du also empfangen möchtest, dann bist Du automatisch in der Lage, selbst zu geben. Und das freiwillig: Wer's mag, der zahlt, wer's nicht mag, der zahlt nicht. Meine Traum-GEZ. Und wenn das bedeuten würde, das die Online-Werbung zurück geschraubt würde... ja, okay, man wird ja noch mal träumen dürfen.<br />
<br />
Mein Grund zu <i>Flattr-n</i>: Ich wollt's gerne mal ausprobieren. Die Flattr-Buttons tauchen immer öfter vor meiner Surf-Nase auf. Und da wollte ich endlich mal drauf klicken. Und wenn ich mich dafür schon angemeldet habe, dann kann ich auch gleich selbst die Buttons auf meine Posts kleben.<br />
<br />
Die schlechte Nachricht: Wer sich selbst bei Flattr anmelden möchte, kann das momentan nur mit einem Invite-Code. Dafür bin ich <a href="http://twitter.com/flattrme">@flattrme</a> gefolgt. <a href="http://twitter.com/flattrme/status/18420981393">Die wollen dann dort, dass Du "Bitte, bitte" machst</a>, aber wenn man über diesen Schatten springt, bekommt man flugs seinen Invite-Code und kann los legen.<br />
<br />
Das Einbinden der Buttons in den Blog ist dann weniger spaßig. Automatisch geht das nur halb. Ich habe mit Hilfe von <a href="http://nicolas-gramlich.blogspot.com/2010/05/flattr-plugin-for-bloggercom-blogspot.html">Nicolas Gramlichs Flattr Button Plugin für Blogspot</a> (übrigens mein erster <i>ge-flattr-ter</i> Inhalt!) die Buttons auf die Blogpost bekommen. Das geht automatisiert. Trotzdem muss man jeden einzelnen Beitrag auf Flattr posten, sonst ist der Inhalt für Flattr inaktiv und dann sieht der Button so aus:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_lpfLjwcW06c/TDwzv2LJV-I/AAAAAAAADhY/5YuSEfeD1z8/s1600/flattrbutton_inactive.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_lpfLjwcW06c/TDwzv2LJV-I/AAAAAAAADhY/5YuSEfeD1z8/s1600/flattrbutton_inactive.png" /></a></div><br />
Ich habe wenig Lust, jeden einzelnen Post dieses Blogs zu aktivieren, ergo bleiben <a href="http://berndschiffer.blogspot.com/search/label/bchh03">alte Posts wie dieser</a> vorerst inaktiv.<br />
<br />
Fazit: Spannende Sache. Glaube, dass Flattr und ähnliche Konzepte in Zukunft durch starten werden. Schaue mir das mal aktiv von hier aus an.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com3tag:blogger.com,1999:blog-5270715379840717905.post-14243647483036042532010-07-12T15:53:00.001+01:002010-08-12T16:31:00.652+01:00Kanban und Scrum aufm Entwicklertag Karlsruhe 2010<div class="separator" style="flush: right; text-align: right;"><a href="http://3.bp.blogspot.com/_lpfLjwcW06c/TDspHKfjQiI/AAAAAAAADhQ/99Mb5Nh8V9I/s1600/entwicklertag-karlsruhe-2010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_lpfLjwcW06c/TDspHKfjQiI/AAAAAAAADhQ/99Mb5Nh8V9I/s1600/entwicklertag-karlsruhe-2010.png" /></a></div><br />
Vor Kurzem war ich für <a href="http://www.it-agile.de/">it-agile</a> auf dem <a href="http://www.andrena.de/Entwicklertag/2010/">Entwicklertag in Karlsruhe</a> und habe dort zwei Sessions gehalten.<br />
<br />
Die erste Session war auf dem <a href="http://www.andrena.de/Entwicklertag/2010/Programm/Agile-Day.html">Agile Day</a> und es ging um Kanban: "<a href="http://www.andrena.de/Entwicklertag/2010/Vortraege/Agile-Day/Kleine-Kanban-Kunde.html">Kleine Kanban-Kunde</a>" hieß denn auch der Vortrag, in dem ich ein wenig über die Historie von Kanban, wie eine Firma mit Kanban anfangen könnte und wie sich Kanban gegenüber Scrum verhält und sich beide super ergänzen können.<br />
<br />
Die Resonanz war klasse: Feedback konnten die Teilnehmer über rote, gelbe und grüne Karten geben, die sie nach der Session am Ausgang abgeben konnten. Rot war schlechtes Feedback, gelb mittelmäßiges und grün war gutes Feedback.<br />
<br />
Für meine "Kleine Kanban-Kunde" gab's von etwa 60 Teilnehmern 39 grüne, keine gelbe und keine rote Karte. Yeah!<br />
<div id="__ss_4735791" style="width: 425px;"><span style="display: block; margin-bottom: 4px; margin-left: 0px; margin-right: 0px; margin-top: 12px;"><a href="http://www.slideshare.net/BerndSchiffer/kleine-kanbankunde" title="Kleine Kanban-Kunde">Kleine Kanban-Kunde</a></span><object height="355" id="__sse4735791" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=entwicklertagkarlsruhe2010kanbansessionbs-100712090752-phpapp02&stripped_title=kleine-kanbankunde" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4735791" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=entwicklertagkarlsruhe2010kanbansessionbs-100712090752-phpapp02&stripped_title=kleine-kanbankunde" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div><br />
Mehr <a href="http://www.it-agile.de/kanban.html">Infos zu Kanban gibt's bei it-agile</a>.<br />
<br />
Die zweite Session war auf dem <a href="http://www.andrena.de/Entwicklertag/2010/Programm/VKSI-Day.html">VKSI Day</a> und die habe ich zusammen mit meinem aktuellen Kunden Johannes Feulner (<a href="https://www.xing.com/profile/Johannes_Feulner">Xing</a>, <a href="http://twitter.com/jofeu">Twitter</a>) von fun communications GmbH (<a href="http://www.fun.de/">Webseite</a>, <a href="http://twitter.com/fun_de">Twitter</a>) aus Karlsruhe gehalten. Es ging um "<a href="http://www.andrena.de/Entwicklertag/2010/Vortraege/VKSI-Day/Scrum-mit-Fun.html">Scrum mit fun</a>".<br />
<br />
Ich durfte Johannes interviewen und er hat frei von der Leber weg erzählt: wie die Situation von fun vor Scrum war; wie er zu it-agile gefunden hat; was die einzelnen Schritte hin zu Scrum waren; was gut und auch, was schlecht gelaufen ist. Wir beide haben uns nett miteinander vor und später auch mit den Teilnehmern der Session unterhalten.<br />
<br />
Das ist schon immer eine großartige Sache, wenn sich Kunden auf so etwas einlassen. Ein besseres Lob für gute Arbeit kann ich mir gar nicht vorstellen. Der Kunde kann zeigen, dass er mit der Zeit geht und moderne Softwareentwicklungs-Methoden einsetzt. Und so ist's für uns beide gute Öffentlichkeitsarbeit - win-win eben.<br />
<br />
Erfahrungsberichte "ziehen" nicht so gut: etwa 25 Teilnehmer gesellten sich zu uns. Das Feedback war auch hier wieder toll: 18 grüne Karten, eine gelbe, keine rote. Leider stand auf der gelben nicht drauf, warum sie keine grüne war... :)<br />
<div id="__ss_4735779" style="width: 425px;"><span style="display: block; margin-bottom: 4px; margin-left: 0px; margin-right: 0px; margin-top: 12px;"><a href="http://www.slideshare.net/BerndSchiffer/scrum-mit-fun" title="Scrum mit fun">Scrum mit fun</a></span><object height="355" id="__sse4735779" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=entwicklertagkarlsruhe2010scrummitfunsessionbs-100712090608-phpapp02&stripped_title=scrum-mit-fun" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4735779" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=entwicklertagkarlsruhe2010scrummitfunsessionbs-100712090608-phpapp02&stripped_title=scrum-mit-fun" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div><br />
Mehr <a href="http://www.it-agile.de/scrum.html">Infos zu Scrum gibt's auch bei it-agile</a>.<br />
<br />
Dank an dieser Stelle an den Ausrichter des Entwicklertag Karlsruhe, die <a href="http://www.andrena.de/">andrena objects AG</a>!Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-4279854912216779052009-12-24T08:53:00.007+01:002010-08-12T16:35:42.307+01:00Prime Factors Kata - First TryThis is my first try of the <a href="http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata">Prime Factors Kata</a>. It's my first <a href="http://katas.softwarecraftsmanship.org/?page_id=2">Katacast</a> of a <a href="http://codekata.pragprog.com/2007/01/code_kata_backg.html">kata</a> at all. I performed it with <a href="http://groovy.codehaus.org/">Groovy</a>.<br /><br /><a ="http://stefanroock.wordpress.com/2009/11/29/programmierkatas/#comments">Stefan wrote about katas</a> (in German) a while ago, where he described his experience as an attendee of the contest "TDD with the pros" ("TDD mit den Profis", TmdP) at the <a href="http://xpdays.de/2009/">XP Days Germany 2009</a> in Karlsruhe. TmdP is similar to "<a href="http://agile2009.agilealliance.org/programmingwiththestars">Programming with the Stars</a>" at <a href="http://agile2009.agilealliance.org/">Agile 2009</a> in Chicago, where I was an attendee of.<br /><br />Stefan was in the final of TmdP with his pair partner <a href="https://www.xing.com/profile/Franziska_Widmaier">Franziska Widmaier</a>. Their task was to calculate all prime factors of a given number, which is the same task as in the Prime Factors Kata. Stefan and Franziska had to finish this task in less than 7 minutes - and they failed to do it in time.<br /><br />Stefan and I started to work on that kata right after the XP Days ended. Our first shot was in the train from Karlsruhe back to our home town Hamburg. After that we met once via Skype and wrote each step we took during the kata. I practiced a few times per week for the last five weeks or so and showed my performance to Stefan today. He said that it'd might be time to show the result to the world, and here it is:<br /><br /><a href="http://www.youtube.com/watch?v=Y7N-XXJYu1k&hd=1">On Youtube</a>:<br /><div><br /><div style="text-align: center;"><object height="250" width="325"><param name="movie" value="http://www.youtube.com/v/Y7N-XXJYu1k&hl=de&fs=1&hd=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/Y7N-XXJYu1k&hl=de&fs=1&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="325" height="250"></embed></object><br /></div><br />I've also shared the Katacast <a href="http://www.vimeo.com/8362676">on vimeo</a> and <a href="http://www.viddler.com/explore/berndschiffer/videos/1/">on viddler</a>.<br /><br />My to-do list for the next try so far:<br /><ul><li>Use a parameterized JUnit test instead of not isolated parameters in a map</li><li>Use more of TextMate's shortcuts and optimize on a keystroke level</li><li>Find out why 63 is too big... wtf? [Update: <a href="http://twitter.com/datenreisender/status/6996674701">@datenreisender found out</a> that this is related to a bug in Groovy.]</li><li>[Update: @datenreisender suggested in the comments to use <code>primefactors</code> instead of <code>numbers2primeFactors[number]</code> in the assertion.]</li></ul>My heartfelt thanks to Stefan, with whom it was a lot of fun preparing that kata!<br /><br />Happy Christmas!<br /><br />P.S.: If you want to rate my performance, then post a comment with the number 0 (very bad) to 10 (very good). This kind of rating was <a href="http://rubyconf2008.confreaks.com/ruby-kata-and-sparring.html">inspired by Micah Martin</a>. Any additional feedback is very welcome!<br /></div><div><br /></div><div>[Update: Stefan Roock <a href="http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/trackback/">made a Kata Bunkai - a commented kata</a> - for this kata. Check it out!]</div>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com12tag:blogger.com,1999:blog-5270715379840717905.post-45497034264050030382009-12-11T09:00:00.023+01:002010-08-12T16:35:42.308+01:00Running only one of JUnit's Tests<div style="text-align: center;"><a href="http://4.bp.blogspot.com/_lpfLjwcW06c/SyGEZNnztLI/AAAAAAAADcU/sJq2N7ydtSw/s1600-h/only_one_test_run.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="67" src="http://4.bp.blogspot.com/_lpfLjwcW06c/SyGEZNnztLI/AAAAAAAADcU/sJq2N7ydtSw/s320/only_one_test_run.png" width="320" /></a><br />
Green Bar with <i>only one</i> of <a href="http://junit.org/">JUnit</a>'s Tests<br />
</div><br />
I managed to <a href="http://berndschiffer.blogspot.com/2009/12/running-all-of-junits-tests.html">run all of JUnit's tests</a>. And I failed for some time to run <i>only one</i> test. Here's why and how I finally succeeded.<br />
<div><br />
</div><div>One test I kept a close eye on: <code><a href="http://github.com/KentBeck/junit/blob/master/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java">org.junit.tests.running.classes.ParameterizedTestTest</a></code>. I opened it in Eclipse and tried to run it. A window occured and asked me to select a test:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_lpfLjwcW06c/SyF0bek75NI/AAAAAAAADcI/iYXbCfvRgI0/s1600-h/test_selection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://1.bp.blogspot.com/_lpfLjwcW06c/SyF0bek75NI/AAAAAAAADcI/iYXbCfvRgI0/s320/test_selection.png" width="320" /></a><br />
</div><br />
What was that? I never saw such a window before. Was it something new in Eclipse 3.5.1? I looked around and looked also into the outline of that test class:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_lpfLjwcW06c/SyF9I4B_8gI/AAAAAAAADcM/AWiflTmjphY/s1600-h/outline.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/_lpfLjwcW06c/SyF9I4B_8gI/AAAAAAAADcM/AWiflTmjphY/s320/outline.png" width="304" /></a><br />
</div><br />
After a closer look I thought I knew what that test selection window was all about: One was able to pick a <i>specific test method</i> in one test class. All of the test method names in the test selection window were also in the outline view of that class. Yes, that would make sense. And that would be actually a great thing, since it was never possibile to do that in previous Eclipse versions and that would be a very useful feature for many reasons.<br />
<br />
Okay, new feature, cool. But how could I run one test class with all test methods together? Like I was used to do in all the previous Eclipse versions before? I asked other Eclipse users in my current project, but nobody had a clue. I asked on Twitter, and got some doubtful suggestions like "<i>I think there is something seriously broken in your eclipse installation.</i>"<br />
<br />
After the fifth person or so I begged for help I realized what was going on. Do you see it? It's in the pictures I showed you in this post before. What I saw after a while was this line:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_lpfLjwcW06c/SyF9VWXnFsI/AAAAAAAADcQ/n802HfJKcyo/s1600-h/test_selection_highlighted.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://1.bp.blogspot.com/_lpfLjwcW06c/SyF9VWXnFsI/AAAAAAAADcQ/n802HfJKcyo/s320/test_selection_highlighted.png" width="320" /></a><br />
</div><br />
What a bad UI design, I thought. Why on earth would they put an entry for the whole test class in the middle of all the other test methods? Shouldn't it at least be marked in some way? Wrong assumption, again. Those items were <i>all test classes</i>! Oh my, now that I look at the test selection window I see all those green icons with the C in it...<br />
<br />
Anyhow, why are there so many static test classes (yes, that's what they are, static, and the outline view told me with a little red '<span style="color: red;">S</span>') in one single file? Because those are the input parameters for the tests. The test class contains all the tests for <a href="http://www.testearly.com/2007/04/13/take-heed-of-mixing-junit-4s-parameterized-tests/">JUnit's Parameterized Test feature</a>, which is a way to deal with one test method called several times with different parameters. It's more than having a for-loop going through a bunch of parameter sets, because with JUnit's Parameterized Test feature every parameter set is treated like a separate test method. With three parameter sets you'd end up with three tests, and if one test would fail, the others won't stop running like they would do in a for-loop.<br />
<br />
For that feature you have to provide a annotated method which should return the parameters, you have to provide a constructor and instance variables for the parameters, and you have to reference the parameters in the instance variables from within the test method. That's a lot of stuff which could be broken easily. Each static test class supports a test method for the feature. Eclipse cannot distinguish between a test class as a test class and a test class as a test input parameter, and so it showed every test class in a test selection window.<br />
<br />
Well, maybe I shouldn't program late at night, but that was really a hard one to figure out.<br />
</div>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-81197608710814231882009-12-09T00:36:00.000+01:002010-08-12T16:35:42.309+01:00Running all of JUnit's Tests<div style="text-align: center;"><a href="http://2.bp.blogspot.com/_lpfLjwcW06c/Sx7iEEIaAHI/AAAAAAAADTE/pF9qEtvfwVw/s1600-h/green_bar_junit_tests.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="71" src="http://2.bp.blogspot.com/_lpfLjwcW06c/Sx7iEEIaAHI/AAAAAAAADTE/pF9qEtvfwVw/s320/green_bar_junit_tests.png" width="320" /></a><br />
Green Bar with <a href="http://junit.org/">JUnit</a><br />
</div><br />
After <a href="http://berndschiffer.blogspot.com/2009/12/getting-junit-from-git-on-mac.html">Getting JUnit from Git on a Mac</a> I wanted to run all of JUnit's tests. Here's what happened.<br />
<br />
First I opened the whole JUnit project in <a href="http://macromates.com/">TextMate</a>. TextMate is my editor of choice when I work with <a href="http://groovy.codehaus.org/">Groovy</a>/<a href="http://www.grails.org/">Grails</a> and <a href="http://www.ruby-lang.org/">Ruby</a>/<a href="http://rubyonrails.org/">Rails</a>. I do whole projects with it. For those kind of languages and frameworks Textmate is suiteable, but since JUnit is a Java project, TextMate's seems to be not enough.<br />
<br />
I tried to run all the tests within JUnit with TextMate. There are some AllTests classes, but you can't run them from within TextMate easily, because you would have to deal with the classpath on your own. There's an <a href="http://github.com/KentBeck/junit/blob/34a0ecb4ffb3cb8d33b60c222c29145d017f02c9/build.xml">Ant build file</a>, but unfortunately without a <code>test</code> task. Tests seems to be only executed during a build, but I don't want to build JUnit everytime when I actually want to run all the tests.<br />
<br />
In the build file I saw a reference to <a href="http://github.com/KentBeck/junit/blob/34a0ecb4ffb3cb8d33b60c222c29145d017f02c9/src/test/java/org/junit/tests/AllTests.java"><code>org.junit.tests.AllTests</code></a>. Again, it'd be a mess to build the classpath everytime I wanted to execute the AllTests class within TextMate. I switched to <a href="http://www.eclipse.org/">Eclipse</a> after I upgraded to Eclipse 3.5.1.<br />
<br />
There were already project files for Eclipse in the JUnit project, so I was able to be up with JUnit in Eclipse with a simple import. I executed <code>org.junit.tests.AllTests</code> with <code>Alt+CMD+X T</code> and I saw a green bar with 481 tests. Yay!<br />
<br />
Only the execution time wasn't that good. It took me ~23 seconds to execute all the tests, which is quite more than my expected less than 10 seconds.<br />
<br />
At least I could run all of JUnit's tests now.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-28694353291381094992009-12-03T20:00:00.008+01:002010-08-12T16:35:42.310+01:00Getting JUnit from Git on a Mac<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lpfLjwcW06c/SxgZA8oHsWI/AAAAAAAADLA/2kOIfXpomYI/s1600-h/200px-Git-logo.svg.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 73px;" src="http://1.bp.blogspot.com/_lpfLjwcW06c/SxgZA8oHsWI/AAAAAAAADLA/2kOIfXpomYI/s320/200px-Git-logo.svg.png" alt="" id="BLOGGER_PHOTO_ID_5411102456350749026" border="0" /></a><br /><a href="http://en.wikipedia.org/wiki/File:Git-logo.svg">Logo of Git distributed revision control system</a> by <a href="http://en.wikipedia.org/wiki/Git_%28software%29">Wikipedia</a></div><br />I want to dig deeper into <a href="http://junit.org/">JUnit</a> for some reasons. Therefore I want to see the latest version in the repository. JUnit uses <a href="http://git-scm.com/">Git</a>. I use a <a href="http://www.apple.com/mac/">Mac</a> and never used Git before. Here's what I've done to get JUnit from Git on a Mac.<br /><br />I installed <a href="http://code.google.com/p/git-osx-installer/">Git for OS X</a>. It's a dmg file and quite simple to install.<br /><br />After that I had to add Git's bin path to PATH to use Git in the terminal. I added this to <code>~/.bash_profile</code>.<br /><pre>export GIT_HOME=/usr/local/git<br />export PATH=$PATH:$GIT_HOME/bin<br /></pre>Worked now for me: I entered <code>git</code> in the terminal and saw a list of commands.<br /><br />Now what? I read parts of the official Git tutorial <a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">online</a> and in the terminal with <code>git help tutorial</code>. I entered my <code>user.name</code> and my <code>email.adress</code> as a key with <code>git config --global key value</code> where <code>value</code> is my name or email adress, because I should do that "<span style="font-style: italic;">before doing any operation</span>".<br /><br />I continued reading at paragraph "<span style="font-style: italic;">Using git for collaboration</span>". There's what I was looking for:<br /><blockquote><em>Suppose that Alice [aka Kent] has started a new project with a git repository in /home/alice/project [aka </em>git://github.com/KentBeck/junit.git<a href="git://github.com/KentBeck/junit.git" class="git_url_facebox" rel="#git-clone"></a> as listed on <a href="http://github.com/KentBeck/junit">github.com</a><em>], and that Bob [aka me], who has a home directory on the same machine [aka ~/projects/junit], wants to contribute.</em></blockquote>In the terminal I entered<br /><pre>git clone git://github.com/KentBeck/junit.git ~/projects/junit<br /></pre>Now Git downloaded JUnit. Finally JUnit was downloaded on my computer. The tutorial states that if Kent would commit changes I could be again up to date with a simple <code>git pull</code>.<br /><br />So far so good to be able to have a look around in JUnit.<br /><br />[Update: If you want to run Git within <a href="http://macromates.com/">TextMate</a>, than you can. TextMate can deal with Git from the start, but you have to set <code>TM_GIT</code> as a shell variable, e.g. to <code>/usr/local/git/bin/git</code> or wherever you've installed Git.]Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com4tag:blogger.com,1999:blog-5270715379840717905.post-43788351596881365392009-12-01T22:38:00.005+01:002010-08-12T16:35:42.310+01:00Der grüne Pfad<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lpfLjwcW06c/SxWasiuAdII/AAAAAAAADK4/ao6xLqacL4w/s1600/163847669_60dbcf71ce_b.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 347px; height: 232px;" src="http://2.bp.blogspot.com/_lpfLjwcW06c/SxWasiuAdII/AAAAAAAADK4/ao6xLqacL4w/s320/163847669_60dbcf71ce_b.jpg" alt="" id="BLOGGER_PHOTO_ID_5410400617380213890" border="0" /></a><br /><a href="http://www.flickr.com/photos/10508943@N00/163847669">soccer free zone</a> by <a href="http://www.flickr.com/photos/extranoise/">extranoise</a><br /><span style="font-size:smaller;">gefunden über <a href="http://labs.qwan.it/photosuggest/details?id=163847669">Photo Suggest</a></span></div><br />Schön, wenn einem die Arbeit abgenommen wird: Kollege <a href="http://www.stefanroock.de/">Stefan Roock</a> schreibt in seinem <a href="http://stefanroock.wordpress.com/2009/12/01/mikroschritte-in-code-kata/">neuesten Blogeintrag</a> vom grünen Pfad, den ich beim Refactoring gerne gehe. Auf einem grünen Pfad gibt es minimales Risiko, sich im Code zu verlaufen. Aber der grüne Pfad ist nicht ganz einfach zu finden, auch wenn seine Regeln sehr einfach sind:<br /><ol><li>Einen atomares, d.h. nicht weiter unterteilbares, Refactoring durchführen.</li><li>Tests grün laufen lassen.</li><li>Weiter mit 1.</li></ol>Laufen die Tests bei 2. nicht grün, sondern rot, hat man den grünen Pfad verlassen und findet sich unweigerlich in der roten Testhölle wieder, aus der es nur durch Strg-Z oder CMD-Z einen sicheren Ausweg gibt.<br /><br />Was sind atomare Refactorings? Solche, die nicht weiter durch andere Refactorings unterteilbar sind, etwa Umbenennen, Extrahieren, oder Inlinen. Die meisten anderen Refactorings sind aus atomaren Refactorings zusammen gesetzte Refactorings.<br /><br />Stefan beschreibt sehr schön, dass es gar nicht darauf ankommt, immer auf dem grünen Pfad zu weilen. Eigentlich braucht man den grünen Pfad nur dann, wenn es knifflig wird. Aber wer nicht oft auf dem grünen Pfad gelaufen ist, der wird ihn nur sehr schwer finden, und wer nicht oft kleine Schritte beim Refactoring gegangen ist, der wird sich unter Druck oder in sehr krudem Big-Ball-of-Mud-Code nicht mehr daran erinnern können, also genau dann, wenn es einem besonders helfen würde.<br /><br />Stefan hat ein schönes Beispiel aufgeschrieben, bei dem ich ihn quasi auf dem grünen Pfad vor mich hergeschoben habe - und er zu einer, wie ich finde, sehr cleveren Lösung gekommen ist.<br /><br />Gerne gebe ich den Aufruf von Stefan weiter: Habt ihr Code, der nicht auf dem grünen Pfad zu refaktorisieren sei? Immer her damit: <a href="mailto:bernd.schiffer@gmail.com">bernd.schiffer@gmail.com</a> oder hier in die Kommentare. Wir freuen uns über jede Herausforderung :-)Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-34582569755805021742009-11-18T16:48:00.008+01:002010-08-12T16:35:42.311+01:00Barcamp Hamburg 3<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lpfLjwcW06c/SwkwENI0TVI/AAAAAAAADKw/mgHHqLYaBCU/s1600/barcamphamburg3logo.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 119px;" src="http://4.bp.blogspot.com/_lpfLjwcW06c/SwkwENI0TVI/AAAAAAAADKw/mgHHqLYaBCU/s400/barcamphamburg3logo.png" alt="" id="BLOGGER_PHOTO_ID_5406905676439244114" border="0" /></a>Logo vom Barcamp Hamburg 3</div><br />Letzte Woche war ich auf dem <a href="http://www.barcamp-hamburg.de/">Barcamp Hamburg 3</a>. Wird höchste Zeit, darüber mal zu bloggen. Das war mein erstes Barcamp. Das zweitägige Event startete letzten Freitag, ich selbst konnte leider nur den Samstag hin.<br /><br />Der Samstag Morgen begann mit einem Hammer-Frühstück. Der Hauptsponsor <a href="http://twitter.com/otto_de" onclick="pageTracker._trackPageview('/exit/to/otto_de');" target="_blank">@otto_de</a>, in dessen Räumen die Konferenz auch statt fand, hat seine hauseigene Kantine <a href="http://www.kochwerk-hamburg.de/">Kochwerk</a> für die 400 angemeldeten und etwa 330 tatsächlich gekommenen Teilnehmer ein fantastisches Frühstück zubereiten lassen. Von 9 h bis 10 h habe ich dann erstmal ausgiebig gefrühstückt und ge-social-ized. Sehr relaxed.<br /><br />Um 10 startete die Session-Vorstellung: Alle in den größten Raum um jedem zuzuhören, der eine Session vorstellen wollte. Dann melden oder nicht bei der Frage "Wer hat interesse?", damit eine passende Raumgröße gefunden werden kann. Die Sessionnamen wurden danach auf einer Wand im Foyer zu Räumen und Zeiten zugeordnet (<a href="http://spreadsheets.google.com/ccc?key=0Apd9zlEY8ftFcGduRUpDcWpSanBhSktaMm8wNDZEQXc&hl=de">elektronische Version</a>). Jede Session sollte nicht länger als 30 Minuten dauern. Großzügige Pausen ermöglichten gute Kontakte und regen Austausch zwischen den Teilnehmern.<br /><br />Das Highlight der vorgestellten Sessions war eine von <span id="msgtxt5706181814" class="msgtxt de"><a href="http://twitter.com/Bastian_twitter" onclick="pageTracker._trackPageview('/exit/to/Bastian_twitter')" target="_blank">@Bastian_twitter</a> </span>über Prokrastinieren, die natürlich "morgen" stattfinden sollte. Dazu passt auch der geniale T-Shirt-Spruch eines anderen Teilnehmers: "Procrastinators - Leaders of tomorrow!" Geek-Humor vom Feinsten!<br /><br />Anschließend starteten die Sessions. In meiner ersten habe ich von <a href="http://en.wikipedia.org/wiki/Website_wireframe">Wireframes</a> erfahren. Das sind Modelle von Webseiten, um das Layout und die gewünschten Features besser durchsprechen zu können, z.B. zwischen Programmierer und Kunden. Die Session war ein lustiges Durcheinander von Tool-Show wie <span id="msgtxt5706348656" class="msgtxt de"><a href="http://www.balsamiq.com/products/mockups">Balsamiq Mockups</a> oder </span><a href="http://gomockingbird.com/"><span id="msgtxt5706348656" class="msgtxt de">MockingBird</span></a> oder auch einfach Stift und Papier und der Frage nach dem geeigneten Prozess für das Miteinander zwischen Programmierer und Kunden. Lustig: Am Rande gab's ein wenig Streit: "Wenn Du da mit einem Wasserfall-Prozess ran gehst, dann kann das ja auch nix werden..." - "Was? Ich mache keinen Wasserfall, ich mach das Agil!" Nein, ich war da nicht beteiligt. Fazit: <span id="msgtxt5706723114" class="msgtxt de">Alter agiler Wein (aka Papierprototypen und -scribbles) in neuen Webschläuchen (aka Tools).</span><br /><br />Bei der Folgesession ging's um <a href="http://wave.google.com/help/wave/about.html">Google Wave</a>. Bin selbst (bernd.schiffer@googlewave.com) begeisterter Waver. Die Session hat enormen Anklang gefunden und der größte Raum war pickepacke voll. Die zwei Sessionowner haben Google Wave vorgestellt in den Grundfunktionen und haben damit einen soliden Job getan.<br /><br />Am Vortag schien es schon eine Session mit Erfahrungen über <a href="http://www.it-agile.de/scrum.html">Scrum</a> in einem Webprojekt gegeben zu haben, so dass ich nun eine Session zu Scrum-Grundlagen besuchen konnte. Die Session war gut besucht mit 30 Teilnehmern, allerdings kam keine Diskussion zustande und der Vortragende hat auch bei 100 % Zeitüberzug und in insgesamt 60 Minuten Scrum nicht auf den Punkt gebracht. Keine Krise ohne Chance, konnte ich doch im Nachhinein in netten Gesprächen mit vielen Teilnehmern die Missverständnisse aus der Session ausräumen :-)<br /><br />Mein Session-Highlight hat mich selbst überrascht: <a href="https://www.xing.com/profile/Vivian_Pein">Vivian Pein</a>, Community Manager bei Xing, beantwortete die Frage "Wie optimiere ich mein Xing-Profil für Headhunter?" Mich hat da nun gar nicht so sehr interessiert, wie ich mein <a href="https://www.xing.com/profile/Bernd_Schiffer2">eigenes Xing-Profil</a> optmieren könnte. Wobei das ein netter Nebeneffekt war. Was mich eigentlich interessierte war der Umkehrschluss, also wie jemand gefunden werden möchte für Unternehmen, also wie z.B. <a href="http://www.it-agile.de/jobs.html">it-agile mehr gute Mitarbeiter</a> finden kann.<br /><br />Ein paar Gedankenfetzen notiert (in Anführungsstriche Vivians O-Ton):<br /><ul><li><span id="msgtxt5709529340" class="msgtxt de">Referenzen in Xing (neues Feature) "<span style="font-style: italic;">gehen ab wie Schmidts Katze!</span>" und sind jetzt schon sehr beliebte Kriterien bei der Bewerberauswahl. Was in USA und Australien schon üblich ist scheint sich demnach auch bald hier zu etablieren: Unternehmen fragen bei vorherigen Arbeitgebern nach, wie der Bewerber drauf ist.</span></li><li><span id="msgtxt5709529340" class="msgtxt de">Manch lustiger Zeitgenosse möchte geistreich erscheinen und trägt unter Fremdsprache "Klartext" ein. </span> <span id="msgtxt5709618431" class="msgtxt de">"<span style="font-style: italic;">Klartext als Fremdsprache eintragen heißt 'Labertasche' und 'nicht sozialkompatibel' in Rekruter-Übersetzung.</span>" Alles klar?</span></li><li><span id="msgtxt5709618431" class="msgtxt de">Auf der Suche nach einem neuen Job? "<span style="font-style: italic;">'</span></span><span id="msgtxt5709699636" class="msgtxt de"><span style="font-style: italic;">Herausforderungen' eintragen in 'Ich suche' ist No. 1 Keyword für Jobsucher.</span>"</span></li><li><span id="msgtxt5709699636" class="msgtxt de">Stolz drauf, nicht gegooglet werden zu können? "</span><span id="msgtxt5709981077" class="msgtxt de"><span style="font-style: italic;">Headhunter werden misstrauisch, wenn *wenig* über einen im Netz steht.</span>" Zur Angst vor ungünstigen Partybildern auf Facebook gesellt sich bald die Angst vor überhaupt keinen Bildern in Facebook. Sollte diese Info wirklich stimmen, so wäre das die für mich unerwartetste Erkenntnis vom Barcamp.</span></li></ul>Auch gelernt: Xing nutzt <a href="https://uservoice.com/">UserVoice</a> zwecks End-Kunden-Feedback.<br /><br />Der Kaffee war der Hammer - weil ständig da! Das war die bislang erste und einzige Konferenz, in der der Kaffee wirklich jederzeit verfügbar war. Das Kaffee nicht immer verfügbar ist auf Konferenzen galt für mich bislang genauso als ungeschriebenes Gesetz wie ein unstabile Konferenz-WLAN. Die Barcamp-Organisatoren waren aber so clever und haben<span style="text-decoration: underline;"> </span><span id="msgtxt5711529009" class="msgtxt de"><a href="http://twitter.com/kaffee_bazar_de" onclick="pageTracker._trackPageview('/exit/to/kaffee_bazar_de')" target="_blank">@kaffee_bazar_de</a></span> als Sponsor gewonnen. Und dieses ein Jahr junge Start-Up kam mit einem Kaffee-Stand daher mit lecker und immer vorhandenem Kaffee. Tolle Sache das!<br /><br />Der späte Nachmittag klang dann langsam mit tollen Gesprächen aus. Bei der Abschlussrunde haben die Organisatoren sich sehr gutes Feedback abgeholt. Völlig verdient, wie ich finde, weil sehr guten Job gemacht! Bravo und Danke, komme gerne wieder!<br /><br />Vorher habe ich schon einige andere Unkonferenzen im Bereich Agiler Softwareentwicklung mitgemacht, alle mit dem Konferenzkonzept <a href="http://en.wikipedia.org/wiki/Open_Space_Technology">Open Space</a>. Die Sessionauswahl aufm Barcamp war schon sehr ähnlich. Vielleicht hätten die Regeln des Open Space dem Barcamp noch ein wenig mehr Selbstorganisation und kollaborative Sessiongestaltung ermöglicht.<br /><br />Interessant fand ich, dass "Agil" durchaus ein sehr verbreitetes Thema ist. Viele Webworker kommen damit in Berührung nicht etwa deshalb, weil sie selbst in ihrer Agentur dies einsetzen. Aber ihre Kunden setzen es oft schon ein oder nutzen zumindest Teile davon.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-83430326491093894372009-11-13T15:59:00.005+01:002010-08-12T16:35:42.313+01:00Session mit Pecha Kucha auf der WJAX 2009Auf der <a href="http://it-republik.de/jaxenter/wjax09/">WJAX 2009</a> habe ich zusammen mit Martin Heider (<a href="https://www.xing.com/profile/Martin_Heider">Xing</a>, <a href="http://twitter.com/martinheider">Twitter</a>) die <a href="http://it-republik.de/jaxenter/wjax09/sessions/?tid=1289#session-11376">Session "Mein Agiler Koffer"</a> auf dem Agile Day vorbereitet und moderiert. Das Format für die Session war <a href="http://en.wikipedia.org/wiki/Pecha_Kucha">Pecha Kucha</a>: Pro Vortrag 20 Bilder á 20 Sekunden = 6'40 Minuten. Was für ein Spaß :-)<br /><br />Martin und ich haben zuerst in einem halben Pecha Kucha (20 Bilder á 10 Sekunden = 3'20 Minuten) die Session anmoderiert. In diesem Speed-Pecha-Kucha haben wir den Rahmen gesteckt für die darauf folgenden sechs Session-Teilnehmer, allesamt Agile Coaches in Deutschland: "<i>Wenn Ihr für ein neues Projekt angeheuert werdet, und Ihr müsst Euren Agilen Koffer dafür packen, was packt Ihr ein?</i>"<br /><div id="__ss_2476243" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-einleitung-von-martin-heider-und-bernd-schiffer" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 Einleitung von Martin Heider und Bernd Schiffer">Pecha-Kucha-Session WJAX 2009 Einleitung von Martin Heider und Bernd Schiffer</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=00einleitungmartinheiderberndschiffer-091111114338-phpapp01&stripped_title=pechakuchasession-wjax-2009-einleitung-von-martin-heider-und-bernd-schiffer"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=00einleitungmartinheiderberndschiffer-091111114338-phpapp01&stripped_title=pechakuchasession-wjax-2009-einleitung-von-martin-heider-und-bernd-schiffer" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Und was haben die Teilnehmer nicht alles für tolle Sachen eingepackt!<br /><br />Holger Koschek (<a href="http://twitter.com/holgerkoschek" target="_blank">Twitter</a>, <a href="http://www.thinkopen.de/" target="_blank">Blog</a>, <a href="https://www.xing.com/profile/Holger_Koschek" target="_blank">Xing</a>) war als Erster dran und startete mit "Air Holisticon" in Richtung Rückkopplung, Verantwortung und Spaß:<br /><div id="__ss_2483043" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-holger-koschek" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Holger Koschek">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Holger Koschek</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=01wjax09pechakuchameinagilerkofferholgerkoschek-091112064134-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-holger-koschek"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=01wjax09pechakuchameinagilerkofferholgerkoschek-091112064134-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-holger-koschek" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Deborah Preuss (<a href="http://twitter.com/deborahh">Twitter</a>, <a href="https://www.xing.com/profile/Deborah_Preuss">Xing</a>) folgte als Nächste und reiste leicht mit "Powerful Questions":<br /><div id="__ss_2483042" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-deborah-preuss" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Deborah Preuss">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Deborah Preuss</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=02wjax09pechakuchameinagilerkofferdeborahpreuss-091112064137-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-deborah-preuss"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=02wjax09pechakuchameinagilerkofferdeborahpreuss-091112064137-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-deborah-preuss" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Christoph Mathis (<a href="http://twitter.com/krishan_mathis">Twitter</a>, <a href="http://scrumcenter.com/?q=de/blog/4">Blog</a>, <a href="https://www.xing.com/profile/Christoph_Mathis2">Xing</a>), Rufname Krishan, packte vier Sachen in seinen Agilen Koffer, darunter das bekannte <i>Inspect and Adapt</i> und <i>Treat People as Adults</i>:<br /><div id="__ss_2483044" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-christoph-mathis" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Christoph Mathis">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Christoph Mathis</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=03wjax09pechakuchameinagilerkofferchristophmathis-091112064128-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-christoph-mathis"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=03wjax09pechakuchameinagilerkofferchristophmathis-091112064128-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-christoph-mathis" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Henning Wolf (<a href="http://twitter.com/henningwolf">Twitter</a>, <a href="http://www.henningwolf.de/">Blog</a>, <a href="https://www.xing.com/profile/Henning_Wolf">Xing</a>) packte seinen Agilen Koffer pickepacke voll mit sechs sehr interessanten Dingen:<br /><div id="__ss_2483046" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-henning-wolf" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Henning Wolf">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Henning Wolf</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=04wjax09pechakuchameinagilerkofferhenningwolf-091112064131-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-henning-wolf"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=04wjax09pechakuchameinagilerkofferhenningwolf-091112064131-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-henning-wolf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Sabine Canditt (<a href="https://www.xing.com/profile/Sabine_Canditt">Xing</a>) hatte das Thema etwas durcheinander bekommen - was für ein Glück für uns! Seht Euch selbst die Bilder zu "Mein Agiler Kocher äähh Koffer" an:<br /><div id="__ss_2483047" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-sabine-canditt" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Sabine Canditt">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Sabine Canditt</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=05wjax09pechakuchameinagilerkoffersabinecanditt-091112064125-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-sabine-canditt"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=05wjax09pechakuchameinagilerkoffersabinecanditt-091112064125-phpapp02&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-sabine-canditt" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Das strahlende Schlusslicht bildete Jens Coldewey (<a href="http://twitter.com/jens_coldewey">Twitter</a>, <a href="http://blog.coldewey.com/">Blog</a>, <a href="https://www.xing.com/profile/Jens_Coldewey">Xing</a>), der in seinen Koffer unter anderem Pragmatismus und Humor packte:<br /><div id="__ss_2483045" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/pechakuchasession-wjax-2009-mein-agiler-koffer-von-jens-coldewey" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Jens Coldewey">Pecha-Kucha-Session WJAX 2009 "Mein Agiler Koffer" von Jens Coldewey</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=06wjax09pechakuchameinagilerkofferjenscoldewey-091112064127-phpapp01&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-jens-coldewey"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=06wjax09pechakuchameinagilerkofferjenscoldewey-091112064127-phpapp01&stripped_title=pechakuchasession-wjax-2009-mein-agiler-koffer-von-jens-coldewey" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.<br /></div></div><br />Martin und ich haben nach den sechs Vorträgen noch den <i>echten</i> Agilen Koffer verlost, gefüllt mit allerlei Lernbarem in Form von Büchern und Genießbarem in Form von Spielsachen und Kaffeehausgutscheinen.<br /><br />Mein persönliches Fazit lagere ich aus - in die hier eingebettete <a href="https://wave.google.com/wave/">Google Wave</a>. Bitte mitsurfen! Die Wave ist offen und jeder kann mitmachen.<br /><div id="wave" style="height: 420px; width: 350px;"></div><br /><script src="http://wave-api.appspot.com/public/embed.js" type="text/javascript"></script><br /><script type="text/javascript"> var wave = new WavePanel('https://wave.google.com/wave/'); wave.setUIConfig('black', 'white', 'Arial', '13px'); wave.loadWave('googlewave.com!w+UZuB8lvqZ'); wave.init(document.getElementById('wave'));</script><br /><br />Angekommen scheint die Session bei den ca. 130 Zuschauern im großen Ballsaal im Westin Grand Hotel in München: Martin und ich haben viel gutes Feedback bekommen von den Teilnehmern und den Zuschauern. Wir haben schon wieder einen Haufen neuer Ideen für die geplante Wiederauflage auf der JAX 2010. Stay tuned :-)<br /><br />Bedanken möchte ich mich an dieser Stelle bei den Teilnehmern, die mit Ihrem immensen zeitlichen und kreativen Aufwand dieser Session Leben geschenkt haben. Danke und Hut ab, das war allererste Klasse von Euch! Auch bei den Sponsoren <a href="http://www.it-agile.de/">it-agile</a>, <a href="http://www.dpunkt.de/">dpunkt</a> und <a href="http://infomar.de/">infomar</a> möchte ich mich bedanken, ohne die wir den <i>echten</i> Agilen Koffer nicht mit so viel Gutem hätten füllen können. Schließlich geht mein ganz großer Dank an Martin Heider, mit dem es mir sehr viel Spaß gemacht hat, dieses Event vorzubereiten und durchzuführen.<br /><br />Reaktionen auf die Pecha-Kucha-Session (falls ich hier etwas übersehen habe: bitte in den Kommentaren nachtragen, dann update ich's hier):<br /><ul><li>Blogpost <a href="http://www.thinkopen.de/?p=195&cpage=1#comment-37">“Mein agiler Koffer”</a> – Reisetipps mit Pecha Kucha von Holger Koschek</li><li>Newseintrag <a href="http://www.javamagazin.de/itr/news/psecom,cur,,neu,1,id,50503,nodeid,82.html">Konferenz-Gezwitscher auf der W-JAX</a> von entwickler.com</li><li>Blogpost <a href="http://www.eisboden.de/2009/11/10/wjax-2009-montag/">WJAX 2009 Montag</a> von Andre Gahr</li><li>Neweintrag <a href="http://www.it-agile.de/26.html?&tx_ttnews[pS]=1258034827&tx_ttnews[tt_news]=1648&tx_ttnews[backPid]=25&cHash=a313891746">Pecha-Kucha-Session auf der WJAX 2009</a> von it-agile.de</li><li>[Update 15.11.2009] Blogpost <a href="http://scrumcenter.com/?q=de/node/49">Mein erster Pecha Kucha ...</a> von Krishan Mathis</li><li>[Update 16.11.2009] Blogpost <a href="http://martinheider.wordpress.com/2009/11/15/mein-agiler-koffer-pecha-kucha-wjax-2009/">Mein agiler Koffer: Pecha Kucha WJAX 2009</a> von Martin Heider<br /></li><li>[Update 23.02.2010] <a href="http://it-republik.de/jaxenter/news/JAX-TV-Mein-agiler-Koffer---Reisetipps-mit-Pecha-Kucha-054059.html">JAX-TV: "Mein Agiler Koffer" - Reisetipps mit Pecha Kucha</a> (gezeigt wird Holger Koscheks Pecha Kucha)</li></ul>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-24626293436748894722009-09-17T14:55:00.001+01:002010-08-12T16:35:42.314+01:00Grails on Rails<div style="text-align: center;"><a href="http://4.bp.blogspot.com/_lpfLjwcW06c/SrI-V4YYYOI/AAAAAAAADJQ/tXab2jkEMAM/s1600-h/_PAR7008.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_lpfLjwcW06c/SrI-V4YYYOI/AAAAAAAADJQ/tXab2jkEMAM/s320/_PAR7008.jpg" /></a><br />
Gleisanzeiger an der Haltestelle Berliner Tor in Hamburg</div><br />
<br />
Das war mal etwas anderes: Vorgestern habe ich zusammen mit meinem <a href="http://www.it-agile.de/">it-agile</a>-Kollegen Stefan Roock (<a href="http://www.stefanroock.de/">Blog</a>, <a href="http://twitter.com/stefanroock">Twitter</a>, <a href="https://www.xing.com/profile/Stefan_Roock">Xing</a>) beim <a href="http://www.andrena.de/ObjektForum/">ObjectForum Nord</a> in Hamburg einen Vortrag über <a href="http://grails.org/">Grails</a> gehalten - in der <a href="http://www.historische-s-bahn.de/">Historischen S-Bahn Hamburg</a>.<br />
<br />
Grails auf Rails war das, und zwar wortwörtlich. Der Inhalt der Veranstaltung handelte von it-agiles Erfahrungen mit Grails und sollte dem Publikum aufzeigen, für welche Arten von Webanwendungen sich Grails gut eignet und wo es Fallstricke erwarten kann.<br />
<br />
In einer S-Bahn vortragen, das war für uns neu. Während der Fahrt funktioniert kein Vortrag, da es einfach durch die Fahrtgeräusche zu laut ist. Wir haben die Zuhörer an der Haltestelle Berliner Tor in Hamburg abgeholt, nach Blankenese auf ein für uns reserviertes Gleis gebracht, dort in Ruhe den Vortrag gehalten und sie dann wieder zurück zum Berliner Tor gefahren. Die ganze Aktion dauerte etwa zweieinhalb Stunden bei einer Stunde Vortrag.<br />
<br />
(Böse Zungen munkeln, dass das eine Butterfahrt war. Das stimmt aber nicht, denn wir haben nicht eine einzige Heizdecke an die Teilnehmer ausgegeben. Ehrenwort!)<br />
<br />
Der Vortrag selbst war auch nicht so einfach: Durch die Sitzgruppen im durch eine dünne Trennwand zweigeteilten Abteil konnten wir Kraft eigener Stimme nicht jeden Zuhörer erreichen. Die eingebaute Lautsprecheranlage war dagegen ziemlich verrauscht, so wie es das Klischee der unverständlichen Lautsprecherdurchsagen vom Schaffner passend beschreibt. Eine eigene Boxenanlage musste her - akkubetrieben, da es keinen 240-Volt-Stromanschluss in einer historischen S-Bahn gibt.<br />
<br />
Und dann die Sache mit den Folien und dem Beamer. Kein Strom, kein Beamer. Und selbst, wenn wir Strom gehabt hätten, wohin hätten wir die Folien projizieren können? Wir haben uns dann mit Riesen-Post-Its beholfen, die sechs it-agile-Kollegen auf Stefan und mein Zurufen hin umgeblättert haben. Und trotz aller Unkenrufe - Was da nicht alles hätte schief gehen können! - verlief die Aktion reibungslos.<br />
<br />
Die Resonanz: Sowohl Inhalt des Vortrags wie auch die Location kamen gut an. Uns hat es sehr viel Spaß gemacht.<br />
<br />
Ein paar Fotos haben wir auch geschossen:<br />
<br />
<div style="text-align: center;"><embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fakquinetagile%2Falbumid%2F5381991235436154177%3Falt%3Drss%26kind%3Dphoto%26authkey%3DGv1sRgCIGs77Twje6TxgE%26hl%3Den_US" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed><br />
</div><br />
<ul><li><a href="http://www.it-agile.de/fileadmin/docs/Vortragsfolien/GrailsOnRails_OFN_20090915.pdf">Folien zum Download</a> (das, was an den Fenstern hing)<br />
</li>
<li><a href="http://www.it-agile.de/fileadmin/docs/Vortragsfolien/GrailsOnRails_Handout.pdf">Handouts zum Download</a> (die, die wir nach dem Vortrag verteilt haben)</li>
<li><a href="http://www.it-agile.de/grails.html">Infos zu Grails bei it-agile</a> (die, die wir auch teilweise in den Vortrag gestreut haben)<br />
</li>
</ul>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-85642543836616819302009-08-21T12:00:00.000+01:002010-08-12T16:36:45.879+01:00Pecha Kucha "Inkrementelles Design" (Folien und Video)Auf der <a href="http://it-republik.de/jaxenter/jax/">JAX '09</a> im Frühling diesen Jahres habe ich für <a href="http://www.it-agile.de/wiraufkonferenzen.html">it-agile</a> in einer <a href="http://de.wikipedia.org/wiki/Pecha_Kucha">Pecha Kucha</a>-Session auf dem Agile Day einen Vortrag "Inkrementelles Design" gehalten. Host war Stefan Roock (<a href="http://www.stefanroock.de/">Homepage</a>, <a href="http://twitter.com/stefanroock">Twitter</a>, <a href="https://www.xing.com/profile/Stefan_Roock">Xing</a>). Das sind die Folien:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><object height="355" style="margin: 0px;" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=berndschifferpechakuchainkrementellesdesign-090711150857-phpapp01&stripped_title=pecha-kucha-zu-inkrementelles-design" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=berndschifferpechakuchainkrementellesdesign-090711150857-phpapp01&stripped_title=pecha-kucha-zu-inkrementelles-design" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.</div><br />
Das alles ist schon ein wenig länger her, aber jetzt hat die Konferenz-Organisation <a href="http://it-republik.de/jaxenter/news/JAX-TV-Inkrementelles-Design---in-kleinen-Schritten-zum-Erfolg-050711.html">das Video auf JAX TV</a> veröffentlicht. Danke JAX-Team! Hier das Video:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://it-republik.de/jaxenter/news/JAX-TV-Inkrementelles-Design---in-kleinen-Schritten-zum-Erfolg-050711.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_lpfLjwcW06c/So55rd8UynI/AAAAAAAADIE/fR_JWYOtZn0/s400/inkrementellesdesignscreenshot.png" /></a></div><br />
Ich rede zwar viel zu schnell, trotzdem: Viel Spaß damit :-)<br />
<br />
Apropos Pecha Kucha I: Auf den <a href="http://xpdays.de/2009/">XP Days Germany 2009</a> im November diesen Jahres gibt es gleich 9 Pecha Kucha-Vorträge in drei Blöcken (siehe <a href="http://xpdays.de/2009/programm.html">Programm</a>). Das sind für mich die Perlen dieser Konferenz, also nicht verpassen!<br />
<br />
Apropos Pecha Kucha II: Auf der <a href="http://it-republik.de/jaxenter/wjax09/">WJAX '09</a>, auch im November diesen Jahres, gibt es wieder eine Pecha Kucha-Session, die ich zusammen mit Martin Heider (<a href="https://www.xing.com/profile/Martin_Heider">Xing</a>, <a href="http://twitter.com/martinheider">Twitter</a>) auf dem Agile Day halten werde. Thema: "<a href="http://it-republik.de/jaxenter/wjax09/sessions?tid=1289">Mein agiler Koffer - Reisetipps mit Pecha Kucha</a>".<br />
<br />
Links:<br />
<ul><li> <a href="http://it-republik.de/jaxenter/news/JAX-TV-Inkrementelles-Design---in-kleinen-Schritten-zum-Erfolg-050711.html">Video "Pecha Kucha: Inkrementelles Design" auf JAX TV</a></li>
<li><a href="http://www.slideshare.net/BerndSchiffer/pecha-kucha-zu-inkrementelles-design">Folien "Pecha Kucha: Inkrementelles Design" auf Slideshare</a><br />
</li>
</ul>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com1tag:blogger.com,1999:blog-5270715379840717905.post-4085942433703348972009-08-17T08:13:00.002+01:002009-12-11T00:36:11.502+01:00Zu meinem Verständnis von TDD und BDD<div style="text-align: center;"><a href="http://4.bp.blogspot.com/_lpfLjwcW06c/Soj8KhpPSEI/AAAAAAAADH8/p527s-BwPIA/s1600-h/386892932_b1cd7496af_o.jpg" imageanchor="1"><img border="0" src="http://4.bp.blogspot.com/_lpfLjwcW06c/Soj8KhpPSEI/AAAAAAAADH8/p527s-BwPIA/s320/386892932_b1cd7496af_o.jpg" /></a><br />
"<a href="http://www.flickr.com/photos/56012954@N00/386892932">Will you be my Valentine?</a>" by <a href="http://www.flickr.com/people/56012954@N00">Felix Francis</a><br />
<span style="font-size: smaller;">gefunden über <a href="http://labs.qwan.it/photosuggest/details?id=3358916513">Photo Suggest</a></span></div><br />
Mein Kollege Stefan Roock schreibt in seinem Blogpost von einem "<a href="http://stefanroock.wordpress.com/2009/06/17/vergleich-bdd-und-tdd/">Vergleich: BDD und TDD</a>":<br />
<blockquote>"Ich [wurde] bereits früh von TDD (Test Driven Development) infiziert. Irgendwann kam eine neue Bewegung auf: BDD (Behaviour Driven Design). Wie viele andere TDDler habe ich lange nicht verstanden, was der Vorteil von BDD sein soll."</blockquote>Dito. Verstehe den Vorteil von BDD bis heute nicht. Ich präzisiere: Verstehe ich bis heute nicht <i>für mich</i>.<br />
<br />
Stefan scheint seinen Frieden mit BDD nun gemacht zu haben, denn er schreibt:<br />
<blockquote>"[Der Vorteil] ist mir inzwischen klar gewor[d]en."</blockquote>Stefan nimmt in seinem Blogpost eine Portion Ruby-Code eines TDD-Beispiels mit RUNIT her und übersetzt es in ein BDD-Beispiel mit RSpec. Dabei fällt ihm dies auf: <br />
<blockquote>"Strukturell sind Test und BDD-Spezifikation identisch. Die BDD-Spezifikation ist bei den Vergleichen lediglich etwas leichter lesbar.<br />
Der Vergleich <code>termin.bezeichnung.should == "TDD-Dojo"</code> ist der natürlichsprachlichen Formulierung "Die Terminbezeichnung sollte 'TDD-Dojo' sein." ähnlicher als <code>assert_equal("TDD-Dojo", termin.bezeichnung)</code>."</blockquote>Lange habe ich gegrübelt, was mich hier stört. Und das ist mir inzwischen klar geworden. Was heißt denn <i>leichter lesbar</i>? Was ist <i>natürlichsprachlich</i>?<br />
<br />
BDD selbst verweist als eines seiner Vorteile auf die <a href="http://de.wikipedia.org/wiki/Sapir-Whorf-Hypothese">Sapir-Whorf-Hypothese</a>. Diese Hypothese besagt<br />
<blockquote>"... dass die Sprache das Denken formt."</blockquote>Nach dem, wie und was wir (be-)sprechen, nach dem handeln wir auch. Sprechen wir über Tests, so sichern wir primär Eigenschaften zu. Sprechen wir dagegen von Spezifikationen, so beauftragen wir Eigenschaften und geben an, wie sie sein sollen. Demnach weichen <code>test</code> und <code>assert</code> aus xUnit <code>specification</code> und <code>should</code> aus RSpec. Die Idee ist, dass wenn der Programmierer keine Tests mehr schreibt, sondern Spezifikationen, wenn er keine Zusicherungen über, sondern einen Auftrag (should; soll; Auftrag) an den Code schreibt, dass er dann anders denkt.<br />
<br />
Dieses Andersdenken bezieht sich auf das letzte D in TDD: Die einen übersetzen es mit Development, die anderen mit Design. Letzteres ist für viele TDDler die eigentliche Qualität des TDD: Das Design wird getrieben durch die Tests. Es geht nicht um Verifikation, sondern um Spezifikation. Diesen Gedanken greift das BDD nun auf und fragt: Wenn wir spezifizieren statt zu testen, wenn wir schreiben, was der Code tun soll, anstatt etwas zuzusichern, dann sollten wir das auch so aufschreiben, damit wir durch die Worte wohl geleitet handeln.<br />
<br />
Mag sein, dass das für jemanden gilt, der neu ist in TDD. Das kann ich mir gut vorstellen. "TDD? Was soll das sein? Ach, Tests? So so, verstehe, geht ums Testen von Software. Alles klar, man her damit!" Und schon ist der Neue mit falschen Annahmen bei der Sache. Nicht gut. Da hilft BDD, oder?<br />
<br />
Seit über 8 Jahren programmiere ich testgetrieben, was mich als TDD-Neuling disqualifiziert. Meine Vorstellung von Tests sind stark kontextbehaftet. Geht's um TDD? Dann sind meine Tests keine Verifikationen, sondern meine Mittel fürs Design. Geht's um die Endabnahme, Akzeptanztests, QA? Dann sind meine Tests verifizierend. Da hilft kein BDD, um mein Handeln durch eine andere Terminologie zu besseren Ergebnissen zu leiten.<br />
<blockquote>"BDD"</blockquote>, frei <a href="http://video.google.com/videoplay?docid=8135690990081075324">nach Dave Astels</a>,<br />
<blockquote>"macht man, wenn man TDD richtig macht."</blockquote>Und bislang war das der Strohhalm, nach dem ich gegriffen habe, wenn ich nicht verstand, warum BDD nun anders sein soll als TDD. Dieser Strohhalmgriff beruht auf meiner Annahme, dass ich bereits korrektes TDD mache. Subjektiv, vielleicht vermessen, möglicherweise anmaßend, auf jedenfall nicht objektiv bewertbar ist die Aussage, ob ich korrektes TDD mache. Das war mir immer ein sehr kleiner Strohhalm.<br />
<br />
Wittgenstein ist da schon ein größerer Strohhalm. Von ihm las ich neulich wieder in <a href="http://www.amazon.de/Wer-bin-ich-viele-philosophische/dp/3442311438">Prechts "Wer bin ich und wenn ja, wie viele?"</a>, und von seiner Idee der Präzisionssprache. Wittgensteins Theorie besagte, dass die Sprache als Abbild der Realität dienen kann. Und er lag falsch, wurde widerlegt:<br />
<blockquote>"[Der Sprache] wichtigste Funktion besteht darin, zu verstehen und verstanden zu werden. Ob etwas verständlich ist oder nicht bestimmen sowohl die Grammatik wie der Kontext. So kann der Satz 'Ich sehe schwarz' meinen, dass ich vor einem schwarzen Bild stehe und seine Farbe beschreibe. Ebenso gut aber kann er bedeuten, dass ich in einer Sache pessimistisch bin. Dem jungen Wittgenstein waren solche Sätze ein Greuel, aber die Sprache wimmelt nur so von Mehrdeutgkeiten. Die schlichte Wahrheit, die jede Idee einer Präzisionssprache zum Scheitern verurteilt, ist, dass die Bedeutung eines Satzes durch den Gebrauch der Wörter geformt wird."</blockquote>Die Bedeutung wird also durch den Gebrauch der Wörter geformt. Die Wörter selbst formen nicht die Bedeutung. Es ist eine Implikation, keine Äquivalenz. Und ich benutze Worte wie Test und Zusicherung schon seit 8 Jahren. Kein Wunder also, dass die Bedeutung von TDD bei mir entsprechend geformt wurde. Das, was hinter TDD steckt, erschließt sich mir mehr über die Worte Test und Zusicherung, weniger über Spezifikation und Auftrag.<br />
<br />
Wenn ich einem xDD-Neuling im <a href="http://www.it-agile.de/tddcamp.html">TDD-Camp</a> erkläre, dass er die Tests vor dem Code schreiben, dass er Einfachheit anstreben, dass er gnadenlos refaktorisieren, dass er Redundanzen eliminieren und dass er noch ein paar TDD-Gebräuche mehr anwenden soll, und wenn ich dem xDD-Neuling dann sage, dass das Testgetriebene Entwicklung ist, dann habe ich die Bedeutung von Tests im Kontext des TDD durch den Gebrauch der Worte wie Tests und Zusicherungen entsprechend geformt. Aus meiner Sicht heraus sind für einen xDD-Neuling beide Begriffsgruppen, Tests-Zusicherung und Spezifikation-Auftrag, am Anfang seiner Ausbildung gleich bedeutungsleer oder -voll. Das, was diese Wortgruppen mit dem verbindet, was hinter TDD/BDD steckt, dem Treiben des Designs also, wird erst durch den Gebrauch, also durch die Anwendung dieser Wörter geformt. Wenn das stimmt, dann ist es schnurzpiepegal, ob man nun TDD oder BDD macht.<br />
<br />
Mein Fazit: Taten mögen den Worten folgen (Sapir-Whorf-Hypothese; BDD), sicherlich wird Bedeutung durch den Gebrauch von Worten erlangt (Widerlegung Wittgensteins; xDD). Egal, ob ich BDD oder TDD anwende, beide benutzen eine jeweils eigene Terminologie, die Bedeutung durch den Gebrauch derselben erlangt. Ergo hat weder BDD noch TDD einen Vorteil gegenüber der jeweils anderen Technik.<br />
<br />
Versöhnlich möchte ich schließen. Precht schreibt:<br />
<blockquote>"Und die entscheidende Frage beim Verständnis von Sätzen ist nicht, ob etwas wahr ist oder falsch, sondern ob die Verständigung im beabsichtigten Sinne gelingt oder nicht gelingt."</blockquote>Verständigung im beabsichtigten Sinne: Egal ob TDD oder BDD, es geht nicht darum, ob Tests oder Spezifikationen, es geht darum, zu verstehen, dass in beiden Fällen Design getrieben wird.<br />
<br />
Wir verstehen uns?Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com5tag:blogger.com,1999:blog-5270715379840717905.post-85653979671743893062009-08-14T07:00:00.001+01:002009-12-11T00:36:11.503+01:00Wenn's mal passt<div style="text-align: center;"><a href="http://4.bp.blogspot.com/_lpfLjwcW06c/SoSNy_gCJ5I/AAAAAAAADH0/rZ9FPJBjniU/s1600-h/3358916513_0f6601d0de_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_lpfLjwcW06c/SoSNy_gCJ5I/AAAAAAAADH0/rZ9FPJBjniU/s320/3358916513_0f6601d0de_o.jpg" /></a><br />
"<a href="http://www.flickr.com/photos/52798669@N00/3358916513">Sleep Sundays...</a>" von <a href="http://www.flickr.com/people/52798669@N00">Sean McGrath</a> <a href="http://www.flickr.com/photos/krisdecurtis"></a><br />
<span style="font-size: smaller;">gefunden über <a href="http://labs.qwan.it/photosuggest/details?id=3358916513">Photo Suggest</a></span></div><br />
Bin gerade in einer sehr glücklichen Beziehung. Vor Kurzem hat es angefangen. Wir kannten uns schon ein wenig vorher, aber so richtig zusammen sind wir erst seit fünf Wochen. Wir wußten damals nicht mit Sicherheit, ob es mit uns beiden klappen würde. Umso glücklicher sind wir jetzt darüber, dass wir anscheinend richtig gut zusammenpassen.<br />
<br />
Woran ich es erkannt habe, dass es gut passte? Da war dieses Bauchgefühl, dass mir in der ein oder anderen Situation Bestätigung gab. Und natürlich haben wir unsere Differenzen über die ein oder andere Sache. Sogar über gegenteilige Ansichten hinaus kommen wir miteinander gut aus.<br />
<br />
Wir sehen uns fast jeden Tag und verbringen dann viel Zeit miteinander. Ich würde es gar nicht aushalten, wenn wir ständig Probleme miteinander hätten. Darum finde ich es geradezu notwendig, dass wir uns gegenseitig riechen können, dass wir auf einer Wellenlänge funken. Gar nicht auszudenken, dass ich so eng mit jemandem zusammen sein müsste, mit dem ich mich nicht gut verstehe.<br />
<br />
Wir lernen viel voneinander. Wir beide haben schon viele Beziehungen mitgemacht und haben daraus viel geschöpft. Und es sind nicht nur die Techniken (obwohl das schon jede Menge Spass machen kann, sich gegenseitig die abgefahrensten Praktiken vorzustellen und dann miteinander auszuprobieren). Es ist der Respekt, der uns gegenseitig zuhören lässt, wenn der andere spricht; es ist das offene Feedback, dass wir uns geben und vom anderen annehmen; es ist der Spass, den wir miteinander haben, ohne unser gemeinsames Ziel aus den Augen zu verlieren; es ist der Flow, in dem wir zusammen agieren.<br />
<br />
Es ist nur ein kurzes Projekt, etwa sechs Wochen. Es ist nur ein kleines Projekt, wir zwei eben. Das Risiko war also sehr gering, zwei, die sich nicht kennen, zusammen da reinzustecken. Trotzdem hat das Nahezu-blind-miteinander-Arbeiten schon nach drei bis fünf Wochen geklappt. Wenige Zeilen Code sind entstanden, als wir nicht zusammen im Paar programmiert haben. Jedes Mem, das mindestens einer von uns für wichtig hielt, haben wir besprochen, sind dabei richtig in die Tiefe gegangen, und sind jeweils beide gestärkt daraus hervorgegangen. Architektur, Design, Pattern, solche Dinge meine ich. Shortcuts, Programmiersprach-Idiome, Tipps & Tricks, die meine ich auch. Coole Tweets, Youtube-Videos und Blogposts, auch die gehören dazu.<br />
<br />
Ich genieße diese Zeit. Es kommt nicht oft vor, dass man <i>so</i> gut miteinander kann innerhalb eines Projektes. Fast nie kann ich mir aussuchen, mit wem ich programmiere. Und dann ist es eben eine gewisse Chance bishin zu reinem Zufall, wenn's passt. Das kommt vor, aber weitaus weniger oft, als man annehmen könnte.<br />
<br />
Kernaussage dieses Posts soll sein... - nun, keine Liebeserklärung jedenfalls. Dass ich gut mit meinem Kollegen kann, und er mit mir, dass wissen wir beide seit einigen Retrospektiven. Dieser Gewissheit bedürfte es keines Blogposts. Nein, Kernaussage dieses Posts soll sein, Wert auf gute Beziehungen innerhalb eines Projektes zu legen lohnt sich. Nie arbeite ich so produktiv, so effizient, so effektiv, so nachhaltig gut, als wenn ich einen guten Partner habe.<br />
<br />
Schönes Gefühl, wenn alles passt.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-13871793740951674532009-08-07T13:35:00.005+01:002009-12-11T00:36:11.503+01:00Beispiel für Refactoring von Beispiel für Closures<strong>Vor ein paar Wochen hat mein Kollege Stefan Roock (<a href="https://www.xing.com/profile/Stefan_Roock">Xing</a>, <a href="http://twitter.com/stefanroock">Twitter</a>) auf seinem Blog von einem "<a href="http://stefanroock.wordpress.com/2009/07/27/beispiel-fur-closure/">Beispiel für Closure</a>" geschrieben. Wie so oft geht mir beim Lesen (fremden) Codes mein Das-ist-nicht-<a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a>-Alarm an. So auch bei Stefans Post. Es folgt ein Refactoring.</strong><br /><br />Stefan will die Laufzeit je Methode für eine Menge von Methoden messen. Die Menge hat er so bechrieben:<br /><div class="snipplr_embed" id="snipplr_embed_18006"><a href="http://snipplr.com/view/18006/menge-von-methoden/">Code snippet - Menge von Methoden</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18006" type="text/javascript"></script><br />Ich konnte in seinem Post die Implementierung von <code>tueA()</code>, <code>tueB()</code> und <code>tueC()</code> nicht finden. Meine Annahme ist, dass sie ein wenig Laufzeit verbrauchen und etwas ausgeben:<br /><div class="snipplr_embed" id="snipplr_embed_18007"><a href="http://snipplr.com/view/18007/annahme-ber-methodenimplementierung/">Code snippet - Annahme über Methodenimplementierung</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18007" type="text/javascript"></script><br />Führt man nun die Menge an Methoden aus, so ist das die Ausgabe:<br /><div class="snipplr_embed" id="snipplr_embed_18008"><a href="http://snipplr.com/view/18008/ausgabe-der-menge-an-methoden/">Code snippet - Ausgabe der Menge an Methoden</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18008" type="text/javascript"></script><br />Stefan misst nun die Laufzeit der Methoden, und sein Output sieht (mit meiner Implementierung der Methoden) so aus:<br /><div class="snipplr_embed" id="snipplr_embed_18009"><a href="http://snipplr.com/view/18009/ausgabe-der-menge-an-methoden-mit-laufzeitmessung/">Code snippet - Ausgabe der Menge an Methoden mit Laufzeitmessung</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18009" type="text/javascript"></script><br />Da ich ein Refactoring beabsichtige, darf sich das Verhalten des Codes, in diesem Falle der Output, nicht ändern.<br /><br />Aber warum eigentlich Refaktorisieren? Mit Stefans Implementierung als solcher bin ich eigentlich zufrieden. Naja, da kann man noch ein Semikolon weglassen sowie eine Variable <code>duration</code> einführen und im GString hinterm <code>println</code> substituieren. Aber das ist Kleinkram, nebenbei machbar und hier kaum der Rede wert. Stefans Implementierung der Closure:<br /><div class="snipplr_embed" id="snipplr_embed_18018"><a href="http://snipplr.com/view/18018/stefans-implementierung-der-closure/">Code snippet - Stefans Implementierung der Closure</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18018" type="text/javascript"></script><br />Nein, es geht mir um den Aufruf von Stefans Lösung (siehe <a href="http://snipplr.com/view/18016/stefans-lsung/">Stefans komplette Lösung</a>). Was muss ich tun, um die Laufzeit einer Menge von Methoden zu messen? Wo ist der Schalter, den ich einschalten muss? Stefan legt <i>diesen</i> Schalter um:<br /><div class="snipplr_embed" id="snipplr_embed_18010"><a href="http://snipplr.com/view/18010/stefans-schalter-zum-messen-der-laufzeit-einer-menge-von-methoden/">Code snippet - Stefans Schalter zum Messen der Laufzeit einer Menge von Methoden</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18010" type="text/javascript"></script><br />Seht Ihr die Redundanz? Stefan legt nicht einen Schalter um, sondern drei. Drei Mal muss er vor die Methoden <code>timeLogged</code> schreiben, inklusive geschweifte Klammer vor und nach der zu messenden Methode. Das ist nicht DRY.<br /><br />DRY wäre es, eine <i>Menge</i> von Methoden einzeln zu messen. Das hier schwebt mir vor:<br /><div class="snipplr_embed" id="snipplr_embed_18013"><a href="http://snipplr.com/view/18013/bernds-schalter-zum-messen-der-laufzeit-einer-menge-von-methoden/">Code snippet - Bernds Schalter zum Messen der Laufzeit einer Menge von Methoden</a> on Snipplr</div><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/18013" type="text/javascript"></script><br />Und das geht. Die Closure-Magie, mit der das geht, hat Ted Naleid (<a href="http://twitter.com/tednaleid">Twitter</a>, <a href="http://www.linkedin.com/in/tednaleid">LinkedIn</a>) in seinem Blogpost "<a href="http://naleid.com/blog/2009/06/25/groovy-closures-make-unit-testing-with-soft-asserts-simple/">Groovy closures make unit testing with “soft asserts” simple</a>" ausführlich beschrieben. Hier ist meine Lösung:<br /><div id="snipplr_embed_18060" class="snipplr_embed"><a href="http://snipplr.com/view/18060/bernds-lsung/">Code snippet - Bernds Lösung</a> on Snipplr</div><script type="text/javascript" src="http://snipplr.com/js/embed.js"></script><script type="text/javascript" src="http://snipplr.com/json/18060"></script><br />Keep on DRYin', Stefan! "Bleib trocken, Stefan!" lag mir auf der Zunge, ging aber hier nun echt nicht... :-)<br /><br /><span style="font-weight: bold;">Links</span>:<br /><ul><li>Der Stein des Anstoßes, Stefans Post: <a href="http://stefanroock.wordpress.com/2009/07/27/beispiel-fur-closure/">Beispiel für Closure</a></li><li>Gute Beschreibung der Closure-Magie von Ted Naleid: <a href="http://naleid.com/blog/2009/06/25/groovy-closures-make-unit-testing-with-soft-asserts-simple/" rel="bookmark" title="Permanent Link: Groovy closures make unit testing with “soft asserts” simple">Groovy closures make unit testing with “soft asserts” simple</a></li><li>Alle Code-Snippets: <a href="http://snipplr.com/users/berndschiffer/tags/closureexample/">Snippets Tagged 'Closureexample'</a></li></ul>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com5tag:blogger.com,1999:blog-5270715379840717905.post-43480876149669985392009-07-16T19:38:00.001+01:002009-12-11T00:36:11.504+01:00Twittwoch in Hamburg 07/2009 #twhh #twittwochGestern war ich auf dem Twittwoch (<a href="http://www.twittwoch.de/">Blog</a>, <a href="http://twitter.com/twittwoch">Twitter</a>) in Hamburg (<a href="http://search.twitter.com/search?q=%23twhh">#twhh</a>). Ein Twittwoch ist ein Mittwoch, an dem sich trifft, wer beruflich twittert. Im allerweitesten Sinne. Immerhin war sogar <a href="http://twitter.com/blumepeter/statuses/2667830324">einer dabei, der noch keinen Twitteraccount hatte</a>. Sachen gibt's, ts ts...<br /><br />Dieser Twittwoch war der zweite in Hamburg und mein erster. Den ersten hatte ich verpasst, weil er schon Stunden nach Bekanntgabe ausgebucht war. Beim zweiten hatte ich einfach Glück, dabei sein zu können, denn auch der war ein paar Stunden nach Bekanntgabe voll. 95 Twitterificanos kamen gestern im Afrikahaus in Hamburg zusammen. Faszinierend, was Twitter für einen Hype auslöst.<br /><br />Twittwoche wie der Hamburger gibt's auch in Berlin und Köln. Sie finden unregelmäßig statt. Der zweite Hamburger Twittwoch war etwa zwei Monate nach dem ersten. Cem Basman (<a href="http://sprechblase.wordpress.com/">Blog</a>, <a href="http://twitter.com/cemb">Twitter</a>, <a href="https://www.xing.com/profile/cem_basman">Xing</a>) ist der Organisator des Hamburger Twittwochs und stand an der Türe: Wer nicht auf der Liste stand, kam nicht rein. Wer ihm auf twitter folgt, erfährt frühzeitig, wann der nächste Twittwoch in Hamburg ist.<br /><br />Die meisten Teilnehmer kommen aus der Medienbranche, habe ich mir sagen lassen. Ein paar ITler habe ich aber auch gesehen (alten Studienkollegen wiedergetroffen, sehr gut!). Trotzdem kannte ich die meisten dort nicht. Hat so gar nix mit der Agilen Softwareentwicklung zu tun :-)<br /><br />Neben gemütlichem Gequatsche bei Freigetränken (Danke an die Sponsoren <span id="msgtxt2665527407"><a href="http://twitter.com/OTTO_jobs" onclick="pageTracker._trackPageview('/exit/to/OTTO_jobs')" target="_blank">@OTTO_jobs</a>, <a href="http://twitter.com/Dwight_Cribb" onclick="pageTracker._trackPageview('/exit/to/Dwight_Cribb')" target="_blank">@Dwight_Cribb</a>, <a href="http://twitter.com/AKRA_Hamburg" onclick="pageTracker._trackPageview('/exit/to/AKRA_Hamburg')" target="_blank">@AKRA_Hamburg</a> und <a href="http://twitter.com/AKRA_FT" onclick="pageTracker._trackPageview('/exit/to/AKRA_FT')" target="_blank">@AKRA_FT</a>!) gab's einen kleinen Vortragsteil mit 5-minütigen Standups. Da habe ich mitgemacht und über Twitter auf Konferenzen am Beispiel der XP Days Germany 2009 gesprochen. Denn die <a href="http://xpdays.de/2009/twitter.html">XP Days twittern</a>. Folien gibt's hier:</span><br /><br /><div id="__ss_1727133" style="text-align: left; width: 425px;"><a href="http://www.slideshare.net/BerndSchiffer/twitter-auf-konferenzen-am-bspl-von-xdde" style="margin: 12px 0pt 3px; display: block; font-family: Helvetica,Arial,Sans-serif; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; text-decoration: underline;" title="Twitter auf Konferenzen am Bspl. von @xd_de">Twitter auf Konferenzen am Bspl. von @xd_de</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xpdaystwhh-090715161936-phpapp01&stripped_title=twitter-auf-konferenzen-am-bspl-von-xdde"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=xpdaystwhh-090715161936-phpapp01&stripped_title=twitter-auf-konferenzen-am-bspl-von-xdde" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><br /><div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;">View more <a href="http://www.slideshare.net/" style="text-decoration: underline;">documents</a> from <a href="http://www.slideshare.net/BerndSchiffer" style="text-decoration: underline;">Bernd Schiffer</a>.</div></div><br />Ich war aber nur einer von mehreren (sechsen?) Vortragenden. Und wie man es hätte erwarten können: Die Medienleute verstehen was vom Präsentieren!<br /><br />Gut gefallen hat mir Sven Wiesners (<a href="http://www.svenwiesner.de/">Blog</a>, <a href="http://twitter.com/SvenWiesner">Twitter</a>, <a href="https://www.xing.com/profile/Sven_Wiesner3">Xing</a>) Präsentation"Virale Aktionen auf Twitter am Beispiel von <a href="http://www.svenwiesner.de/twittwoch-hamburg-ausgabe-22009/www.dakommtwasgeflogen.de">www.dakommtwasgeflogen.de</a>". Sven hat eine unverblümte direkte Sprache und das macht die Präsentation sehr unterhaltsam und authentisch. Habe die Tortenwürfe auf Twitter seinerzeit am Rande miterlebt und im Stillen gedacht, wer so etwas wohl mitmacht, und überhaupt nicht gedacht, dass sich so etwas lohnen könnte. Tut es aber anscheinend: 1441 geworfene Torten im Aktionszeitraum von 5 Tagen. Beeindruckend, was sich so verkauft. Folien sind <a href="http://www.slideshare.net/svenwiesner/twittwoch-5minutestandup-dakommtwasgeflogen">online bei Slideshare</a>. Sven hat <a href="http://www.svenwiesner.de/twittwoch-hamburg-ausgabe-22009/">über den Twittwoch in Hamburg geblogt mit ganz vielen Fotos</a>.<br /><br />Den Hammer-Vortrag hat aber Dirk Ploss (<a href="http://derploss.posterous.com/">Blog</a>, <a href="http://twitter.com/derPloss">Twitter</a>, <a href="https://www.xing.com/profile/dirk_ploss">Xing</a>) gehalten. Thema: "Innovationen sind böse." Der Vortrag war sehr eloquent vorgetragen, die Folien sind ein Augenschmaus. Lehrstunde für alle Pecha-Kucha- oder Ignite-Speaker. So sollten Vorträge sein. Interessantes Detail: Der Vortrag hat eigentlich gar nix mit Twitter zu tun. Twitter hat Dirk mit keinem Wort weder schriftlich noch mündlich erwähnt. Diesen Missing Link konnte sich aber jeder dazu denken, so dass sich trotzdem alle angesprochen gefühlt haben: "<i>Ich bin auf Twitter, Twitter ist innovativ, also bin ich ein innovativ, und laut Dirk bin ich jetzt böse und kämpfe den lieben Tag gegen neun Vorurteile."</i> Welche das sind? Schaut in die <a href="http://www.slideshare.net/cubic_hh/innovation-is-evil-deutsch">Folien auf Slideshare</a>.<br /><br />Nach den Standups rief Cem noch einen Programmierwettbewerb aus: Wer ihm <a href="http://sprechblase.wordpress.com/2009/06/15/twitter-follower-spam-fake-popularitat/">seinen ungeliebten Twitter-Spam</a> vom Hals schafft und ein Twitter-Spam-Killer-Tool schreibt, der wird auf die <a href="http://www.mbc09.de/">MBC09</a> eingeladen mit Anreise, Übernachtung, eigener Session und allem drum und dran. Genaue Regeln für diesen Wettbewerb gibt er bald <a href="http://sprechblase.wordpress.com/">auf seinem Blog</a> bekannt.<br /><br />Fazit: Gute Atmosphäre, gemütliche Location, nette (und neue!) Leute, interessante Gespräche, hilfreiche Kontakte, andere Welt. Werde versuchen, beim nächsten Twittwoch in Hamburg wieder dabei zu sein.<br /><br />So, ich werde jetzt gleich mal meinen <a href="http://www.doyoupoken.com/">Poken</a> auswerten und schauen, mit wem ich da gestern so alles High-Four gemacht habe. Fröhliches Gezwitscher wünsche ich allen Twittwoch-Gängern!Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-57312176970716477622009-06-18T19:17:00.002+01:002009-12-11T00:36:11.505+01:00Die XP Days twittern<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lpfLjwcW06c/SjqFOrAy8SI/AAAAAAAADCg/2M_FvO6pE4U/s1600-h/xpdays_erster_tweet.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 154px;" src="http://1.bp.blogspot.com/_lpfLjwcW06c/SjqFOrAy8SI/AAAAAAAADCg/2M_FvO6pE4U/s400/xpdays_erster_tweet.png" alt="" id="BLOGGER_PHOTO_ID_5348733994566611234" border="0" /></a><br />Die XP Days Germany twittern dieses Jahr unter <a href="http://twitter.com/xd_de">@xd_de</a>. Bitte <a href="http://twitter.com/home/?status=XP+Days+Germany+2009+twittern+unter+%40xd_de">weitersagen</a>!Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-74593066560255065882009-06-10T11:49:00.000+01:002009-12-11T00:36:11.505+01:00Call for Sessions für XP Days Germany 2009<div class="separator" style="clear: both; text-align: center;"><a href="http://www.xpdays.de/grafiken/XPdays.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="65" src="http://www.xpdays.de/grafiken/XPdays.jpg" width="200" /></a></div><br />
Die XP Days Germany 2009 (<a href="http://xpdays.de/2009/">Webseite</a>) finden vom Donnerstag, 26. November 2009, bis Samstag, 28. November 2009, statt, dieses Jahr wieder in Karlsruhe. Am Donnerstag ist wieder Tutorial-Tag, Freitag die eigentliche Konferenz, und am Samstag treffen sich die Agilen aus dem deutschsprachigen Raum auf dem Community Day.<br />
<br />
Auf den Community Day freue ich mich schon ganz besonders: Erst letztes Jahr eingeführt war er mein persönliches Highlight der XP Days 2008. Vergleichbar mehr wie Unkonferenzen (<a href="http://de.wikipedia.org/wiki/Unkonferenz">Wikipedia</a>). Mal schauen, ob dieses Jahr wieder ein Open Space (<a href="http://de.wikipedia.org/wiki/Open_Space">Wikipedia</a>) auf dem Community Day veranstaltet wird.<br />
<br />
Wer zum Programm der XP Days beitragen möchte, der schaue sich den <a href="http://xpdays.de/2009/callforsessions.html">Call for Sessions</a> an. Neben den üblichen Themen wie XP, TDD, Scrum und Agiles Management ist dieses Jahr auch Kanban und Lean Management gefragt.<br />
<br />
<br />
<br />
Neu in diesem Jahr - und das wird super - werden die Session-Blöcke zu Pecha Kucha (<a href="http://de.wikipedia.org/wiki/Pecha_Kucha">Wikipedia</a>). Diese Vortragsformen sind 6:40 Minuten lang. Es werden 20 Folien präsentiert, jede einzelne genau 20 Sekunden lang. Gute Pecha-Kucha-Voträge zeichnen sich durch eine ungeheure Prägnanz aus und machen Lust auf Mehr zu dem Thema. Für das Publikum sind sie spannend und kurzweilig zugleich. Ich hoffe auf viele Einreichungen in diesem Format.<br />
<br />
Das Review ist auch wie im letzten Jahr offen. Will heißen: Wer mag, der kann die eingereichten Sessions begutachten, bewerten und kommentieren. <i>Jeder</i> kann das, auch dann, wenn man selbst nicht an den XP Days teilnehmen will oder selbst eine Session eingereicht hat. Einzig eine Anmeldung im <a href="http://www.conftool.com/xpdays2009">Conf-Tool der XP Days Germany</a> ist dazu erforderlich.<br />
<br />
Disclaimer: Für die XP Days Germany 2009 bin ich Mitglied des Programm-Komitees.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-10458507269829571542009-03-15T09:53:00.000+01:002009-12-11T00:36:11.506+01:00Scrum Gathering in Orlando, Florida, USABin gerade auf dem Weg zum <a href="http://www.scrumalliance.org/events/19--orlando-scrum-gathering">Scrum Gathering in Orlando, Florida, USA</a>, um für <a href="http://www.it-agile.de/">it-agile</a> am Scrum-Ball zu bleiben. Bis nach Shiphol, Amsterdam, Niederlande, bin ich bis jetzt schon gekommen. <br />
<br />
Das ist mein erstes "offizielles" Scrum-Gathering, an dem ich teinehme: Es gab ja schon einige in Deutschland laut <a href="http://blog.coldewey.com/agile/2008/07/11/scrum-gathering-in-munchen/">einigen</a> <a href="http://scrum4you.wordpress.com/2008/07/14/3-deutschsprachige-scrum-gathering/">Blog-Posts</a>. Naja, nicht wirklich, denn diese <a href="http://berndschiffer.blogspot.com/2008/07/3-deutschsprachiges-scrum-meeting.html">Meetings</a> der <a href="http://tech.groups.yahoo.com/group/deutschescrum/">Deutschsprachigen Scrum-Community</a> dürfen sich nicht "Scrum Gathering" nennen. Die echten Scrum Gatherings sind nur die offiziellen der <a href="http://www.scrumalliance.org/">Scrum Alliance</a>. Bin gespannt, wo wohl der Unterschied liegt zwischen den Scrum Meetings und den Scrum Gatherings.<br />
<br />
Egal wie's nun heißt: Ich freue mich auf drei tolle Konferenztage. Auf dem letzten Treffen der <a href="http://www.scrumalliance.org/user_groups/45">Scrum User Group Karlsruhe</a> habe ich schon von einigen Gutes über die Scrum Gatherings erfahren, die beim letzten <a href="http://jeffsutherland.com/scrum/2008/10/scrum-gathering-stokholm-pretty-good.html">Scrum Gathering in Stockholm</a> mit dabei waren. Die letzten beiden Scrum Gatherings sollen ausverkauft gewesen sein. Hoffentlich ist das jetzt kein böses Omen, dass Orlando nicht ausverkauft zu sein scheint!?<br />
<br />
Ich werde nicht zum Bloggen kommen während der Konferenz. Hab' wahrscheinlich mit dem <a href="http://de.wikipedia.org/wiki/Jetlag">Jetlag</a> genug zu tun (+ 6 h) und mit dem Wetter (+ 20° C) - und überhaupt mit der Konferenz selbst. Aber <a href="http://twitter.com/berndschiffer">twittern werde ich</a>. Und andere auch <a href="http://search.twitter.com/search?q=%23scrumgathering">via Hashtag #scrumgathering</a>.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0tag:blogger.com,1999:blog-5270715379840717905.post-27538579147705939072009-02-14T20:36:00.000+01:002009-12-11T00:36:11.508+01:00Re: Wenn einer eine Reise tut...<b>Man kann bei Reisen mit dem <a href="http://stefanroock.blogspot.com/2009/01/wenn-einer-eine-reise-tut.html">Flieger</a> oder der <a href="http://stefanroock.blogspot.com/2009/01/wenn-einer-eine-reise-tut.html?showComment=1232399760000#c1653590098120471272">Bahn</a> gehörig was erleben - oder man versucht, diese Probleme zu umgehen, indem man das Auto nimmt. Es blieb bei mir bei einem Versuch.</b><br />
<br />
Auftrag: Habe Beratungsauftrag vom Chef angenommen. Scrum-Schulung. Samstags. Ganztägig. 10 bis 17 h. Inhouse. Kunde ist in München. Kann man mal machen. Denke ich.<br />
<br />
Planung Reiseart: Vortags bin ich in Karlsruhe. Anderer Kunde. Option 'Bahn' gefällt mir nicht. Müßte Freitags anfahren und Hotel in München nehmen. Bahnfahrt inkl. ÖPNV dauert > 4 h. Option 'Mietwagen' ist besser. Fahrt < 3 h, Anreise Samstag früh bequem möglich. Denke, Autofahren wird gut.<br />
<br />
Planung Zeit: 2:45 h sagt Google Maps für Autofahrt von Karlsruhe nach München. Rechne halbe Stunde Puffer drauf. Rechne 45 Minuten Vorbereitung beim Kunden drauf. Komme auf 4 h vor Schulungsbeginn losfahren. 6 h. Denke, alles wird gut.<br />
<br />
Freitagabend: Hole Mietwagen ab. Erwarte 3er. Bekomme A6. Denke, dass das gut ist für Freitag den 13.<br />
<br />
Samstagmorgen: 5:30 h aufstehn. Radio an. Soll geschneit haben. Verkehr soll okay sein. Starte pünktlich um 6 h Reise. Fahre nach wenigen Kilometern in den ersten Stau. Hier ist nirgendwo mehr der Verkehr okay. Verkehrsfunk sagt plötzlich, dass nirgendwo mehr der Verkehr okay sei. Denke, ach, auch schon gemerkt.<br />
<br />
Samstagvormittag: Kämpfe mich durch Schnee und Nebel. Stehe mehr im Stau als zu fahren. Navi aktualisiert Ankunftszeit im 2-Minutentakt nach neuesten Verkehrsmeldungen. Ankunftszeit pendelt irgendwann nicht mehr unter 10 h. Rufe Kunde an. Kunde nicht glücklich. Denke, kann Kunden gut verstehen.<br />
<br />
Samstagmittag: Komme um 11:15 h beim Kunden an. Entschuldige mich. > 5 h Fahrtzeit. Fast verdoppelt. Bin ausgelaugt. Habe nicht wirklich Lust mehr. Starte Schulung.<br />
<br />
Samstagnachmittag: Schulung vorbei. Ich fertig. Mit Schulung und Nerven. Kunde glücklicher. Immerhin. Flieger geht um 19:05 h. Muss um 18:35 h eingecheckt haben. Fahre 17:30 h los. Brauche 25 min laut Navi. Navi rechnet nicht mit Schnee und Stau in Innenstadt. Ich auch nicht. Denke, der Tag ist gelaufen.<br />
<br />
Samstagabend: Verpasse Check-In um 4 Minuten. Verfluche lautstark die Welt im Allgemeinen und den blöden Check-in-Computer im Besonderen. Computer-Aufsicht weist mich an, leiser zu fluchen. Fühle mich unverstanden. Check-In-Computer-User neben mir gibt mir Zuspruch. Fühle mich verstanden. Denke, alles ist doof (außer dem Check-In-User neben mir).<br />
<br />
Samstagspätabend: Kann Ticket nicht umbuchen. Kippe hinten über, wieviel der letzte Flug kosten soll. Servicekraft hat Mitleid. Tippt 'Stau' als Grund in Computer. Bekomme Ticket günstiger. Kippe wieder um, was die Servicekraft unter 'günstig' versteht. Servicekraft meint, ich solle froh sein, nicht aus München angereist zu sein. Da gäbe es sonst gar keinen Nachlass aufs Ticket. Schaue mit demütiger Miene nach unten und schweige. Denke, Servicekraft ist bekloppt.<br />
<br />
Samstagnacht: Jetzt. Gegenwart. Habe zumindest Fluggastkontrolle ohne Gepäckdurchsuchungsschickane hinter mich gebracht. Sitze bei Dallmayr und trinke Kaffee. Denke, ich sollte reflektieren.<br />
<br />
Reflektion: Hatte Beratungsauftrag vom Chef angenommen. Scrum-Schulung. Samstags. Ganztägig. 10 bis 17 h. Inhouse. Kunde war in München. Könnte man mal machen. Dachte ich. Denke ich nicht mehr.Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com3tag:blogger.com,1999:blog-5270715379840717905.post-40157128411252600892009-02-03T10:33:00.054+01:002009-12-11T00:36:11.509+01:00[ANN] Scrum User Group KarlsruheBesser spät als nie weise ich auf das erste Treffen der Scrum User Group Karlsruhe hin, dass da morgen Abend ab 20 h stattfinden wird im <a href="http://www.qype.com/place/76405-Gasthof-Grosser-Kurfuerst-Karlsruhe">Großer Kurfürst</a>, <a href="http://maps.google.de/maps?f=q&source=s_q&hl=de&geocode=&q=Sophienstrasse+80,+76135,+Karlsruhe&sll=51.151786,10.415039&sspn=25.294598,50.053711&ie=UTF8&z=17&iwloc=r0">Sophienstrasse 80, 76135, Karlsruhe</a> (<a href="https://www.xing.com/events/286264">Einladung und Anmeldung via Xing</a>).<br /><div><br /></div><div>Im Dezember letzten Jahres beschlossen Jürgen Hoffmann (<a href="http://www.software-risikomanagement.de/">Blog</a>, <a href="https://www.xing.com/profile/Juergen_Hoffmann2">Xing</a>), Heiko Stapf (<a href="http://scrumatwork.cybermanufaktur.de/">Blog</a>, <a href="https://www.xing.com/profile/Heiko_Stapf">Xing</a>), Lars Thomas (<a href="http://lars-thomas.com/">Blog</a>, <a href="https://www.xing.com/profile/Lars_Thomas">Xing</a> ) und meiner einer, eine Scrum User Group in Karlsruhe zu gründen. Nach einem Treffen waren die Einzelheiten schnell geklärt - und nachdem Jürgen, Heiko und Lars viel Werbung gemacht haben, haben sich in Xing bis dato 36 Teilnehmer angemeldet (zzgl. zu vielen Vielleichtkommern). Bin gespannt, wie viele morgen Abend kommen werden. Jürgen, hauptsächlicher Organisator dieses Events, hat jedenfalls schon den kleinen Raum im Großer Kurfürst gecancelt und den großen Raum gemietet :-)</div><div><br /></div><div>Themen und Ziele für den ersten Abend: Kennenlernen, Vortrag "10 Minuten Scrum in Action" von Lars Thomas über sein Leben mit Scrum, Themensammlung für folgende Treffen.</div>Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com2tag:blogger.com,1999:blog-5270715379840717905.post-27208760392163552492008-12-23T09:45:00.001+01:002009-12-11T00:36:11.509+01:00Sackmann und Schneeohr<center><br /><br /><table style="text-align: center;"><tbody><tr><td><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_lpfLjwcW06c/SVCpR-I4c4I/AAAAAAAABI8/DBq-zNRBg-4/s1600-h/321728810_53864a2cd6_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img src="http://2.bp.blogspot.com/_lpfLjwcW06c/SVCpR-I4c4I/AAAAAAAABI8/DBq-zNRBg-4/s320/321728810_53864a2cd6_o.jpg" border="0" /></a></div></td></tr><tr><td>"Red Christmas" von <a href="http://www.flickr.com/photos/krisdecurtis">krisdecurtis</a></td></tr></tbody></table></center><br /><br />Wer gedacht hätte, man könne zumindest an Weihnachten nicht von Agilität profitieren, der fühle sich gleich belehrt: <a href="http://twitter.com/johanneslink/status/1072977648">Johannes zwitscherte</a> mir von <a href="http://it-republik.de/jaxenter/artikel/Sackmann-und-Schneeohr-%96-eine-agile-Weihnachtsgeschichte-2073.html">dieser tollen agilen Weihnachtsgeschichte</a> meiner <a href="http://www.it-agile.de/">it-agile</a>-Kollegen <a href="https://www.xing.com/profile/Arne_Roock">Arne</a>, <a href="http://www.henningwolf.de/">Henning</a> und <a href="http://www.stefanroock.de/">Stefan</a>. Danke Euch, denn jetzt werde ich selbst an Heiligabend unterm Weihnachtsbaum über Root-Cause-Analysis, Backlogs und <strike>Timeboxes</strike> Zeitsäcke sinnieren ;-)<br /><br />P.S.: Frohe Weihnachten und einen guten Rutsch ins neue Jahr wünsche ich all meinen Lieben, Freunden, Kollegen, Bekannten und Lesern dieses Blogs!Bernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.com0