<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Stefan Roock</title>
	<atom:link href="http://stefanroock.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stefanroock.wordpress.com</link>
	<description>All About Agile</description>
	<lastBuildDate>Wed, 25 Jan 2012 21:08:38 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='stefanroock.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/8522e20a26e8788391e245ff97fb9b5c?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Stefan Roock</title>
		<link>http://stefanroock.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stefanroock.wordpress.com/osd.xml" title="Stefan Roock" />
	<atom:link rel='hub' href='http://stefanroock.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Vorträge &#8222;Innovation &#8211; das wahre Bottleneck?!&#8220; auf der OOP 2012</title>
		<link>http://stefanroock.wordpress.com/2012/01/25/vortrage-innovation-das-wahre-bottleneck-auf-der-oop-2012/</link>
		<comments>http://stefanroock.wordpress.com/2012/01/25/vortrage-innovation-das-wahre-bottleneck-auf-der-oop-2012/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 21:08:34 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1102</guid>
		<description><![CDATA[Auf der OOP 2012 habe ich einen regulären Vortrag sowie ein Pecha-Kucha zum Thema &#8222;Innovation &#8211; das wahre Bottleneck?!&#8220; gehalten. Die Folien für beide Vorträge finden sich inkl. Foliennotizen auf Slideshare: Folien zum regulären Vortrag Folien zum Pecha Kucha Inhaltlich geht es darum, dass meiner Meinung nach viele Produkte / Systeme zu wenig Nutzen erbringen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1102&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auf der OOP 2012 habe ich einen regulären Vortrag sowie ein Pecha-Kucha zum Thema &#8222;Innovation &#8211; das wahre Bottleneck?!&#8220; gehalten.</p>
<p>Die Folien für beide Vorträge finden sich inkl. Foliennotizen auf Slideshare:</p>
<ul>
<li><a href="http://www.slideshare.net/roock/innovation-das-wahre-bottleneck-11253853">Folien zum regulären Vortrag</a></li>
<li><a href="http://www.slideshare.net/roock/pecha-kucha-innovation-das-wahre-bottleneck">Folien zum Pecha Kucha</a></li>
</ul>
<p>Inhaltlich geht es darum, dass meiner Meinung nach viele Produkte / Systeme zu wenig Nutzen erbringen und wir dieses Problem nicht dadurch lösen, dass wir Anforderungen schneller umsetzen. Wir müssen es dadurch lösen, dass wir wertvolle Features entwickeln, auch wenn wir dadurch etwas langsamer werden.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/lean/'>Lean</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1102&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2012/01/25/vortrage-innovation-das-wahre-bottleneck-auf-der-oop-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>The Shu, Ha, Ri of Scrum</title>
		<link>http://stefanroock.wordpress.com/2011/11/02/the-shu-ha-ri-of-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2011/11/02/the-shu-ha-ri-of-scrum/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 09:31:13 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1076</guid>
		<description><![CDATA[Shu Ha Ri &#8222;is a Japanese martial art concept, and describes the stages of learning to mastery.&#8220; (see [1]) Aikido master Endō Seishirō shihan stated: &#8222;It is known that, when we learn or train in something, we pass through the stages of shu, ha, and ri. These stages are explained as follows. In shu, we repeat the forms and discipline ourselves so that our bodies absorb [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1076&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Shu Ha Ri &#8222;is a Japanese martial art concept, and describes the stages of learning to mastery.&#8220; (see [1])</p>
<blockquote><p>Aikido master Endō Seishirō <em>shihan</em> stated: &#8222;It is known that, when we learn or train in something, we pass through the stages of <em>shu</em>, <em>ha</em>, and <em>ri</em>. These stages are explained as follows. In <em>shu</em>, we repeat the forms and discipline ourselves so that our bodies absorb the forms that our forebearers created. We remain faithful to the forms with no deviation. Next, in the stage of <em>ha</em>, once we have disciplined ourselves to acquire the forms and movements, we make innovations. In this process the forms may be broken and discarded. Finally, in <em>ri</em>, we completely depart from the forms, open the door to creative technique, and arrive in a place where we act in accordance with what our heart/mind desires, unhindered while not overstepping laws.&#8220; (from [1])</p></blockquote>
<h1>Shu-Ha-Ri in Scrum</h1>
<p>These learning stages can be applied to Scrum, too. A team starts with<em> Shu</em>. It practices Scrum by the book: the flow with the roles, the meetings/ceremonies and the artifacts. Premature adaptations to Scrum in the Shu stage often lead to the famous ScrumBut situations (see [2], [3]). A team enters the Ha stage only after it has shown its ability to use Scrum as it was intended and has achieved a deep understanding of the spririt of Scrum. Then it may (and I think it should) adapt Scrum on their understanding of the spirit of Scrum. After a team has been in Ha state for a probably long period of time it may enter Ri and dismiss all rules.</p>
<h1>From Shu to Ha</h1>
<p>Two interesting (and interrelated) questions arise here:</p>
<ol>
<li>How do you know that you have practiced enough in Shu state and you may enter Ha state?</li>
<li>What are typical adaptations for Scrum in Ha state?</li>
</ol>
<div>For question 1 you could use the <a href="http://antoine.vernois.net/scrumbut/?page=test&amp;lang=en">ScrumBut test</a> defined by Jeff Sutherland on the base of work from Bas Vodde. Another option would be the <a href="http://www.crisp.se/scrum/checklist">Scrum checklist</a> from Henrik Kniberg. Both focus in the practices and my miss checking the understanding of the spirit for Scrum but as a starting point both seem reasonable. At least if you score badly you can be pretty sure that you should practice more. If you adapt Scrum without having it mastered you normally end up with the so called ScrumBut (see [3]) &#8211; something that is similar to Scrum but only reveals a fraction of the possible improvement. Typical ScrumBut adaptations move in the opposite direction of the Agile Manifesto (see [4]) and the principles of Scrum. These are examples I have seen:</div>
<div>
<ul>
<li>We don&#8217;t have that much time for talking face-2-face. Therefore the Product Owner creates a detailed specification of what has to be implemented.</li>
<li>We had problems that the Product Owner won&#8217;t accept the product increment during the Sprint Review. Therefore he has to comply to detailed checklist for new requirements.</li>
<li>We do the testing after the last Sprint of a release with a seperate QA team. Just to be sure.</li>
<li>We don&#8217;t have real users/customers in the Sprint Review because we want our product to work for thousands of users and not only the few that would be there.</li>
<li>The Product Owner does not participate in the Sprint Retrospective since that would discourage the team from speaking openly. During the retrospective the team creates a list of things the Product Owner has to change and the ScrumMaster has the job to force the Product Owner to comply to the list.</li>
<li>The team isn&#8217;t committed to the Sprint Goal and gets distracted from the project by doing other tasks (like preparing a presentation for the boss).</li>
<li>The Sprint Planning lasts far more then the recommended max. of 5% of the Sprint duration since the team tries to estimate the Sprint Backlog very accurately to <em>guarantee</em> that they would deliver the whole Sprint Backlog.</li>
<li>The team members don&#8217;t participate in the Sprint Reviews to save costs.</li>
</ul>
</div>
<div>Don&#8217;t get me wrong. I totally understand the problems that occur when a team/company starts using Scrum. And during the transition it is often neccessary to do ScrumBut adaptations &#8211; and that is OK if you work on removing the Buts.</div>
<div>For question 2 I have seen very different things but I think there is a pattern. Teams in Ha state tend to work more closely together and do things more often, even in a continuous flow style. Some examples I have seen:</div>
<div>
<ul>
<li>Do the Daily Scrum every 2 hours (and change pair partners in the same rythm).</li>
<li>Do the Daily Scrum continuously during the day (an observer may not even notice that you are doingDaily Scrums).</li>
<li>Do the Sprint Planning in only 15-30 minutes and only talk about the Sprint Goal (create user stories and tasks just-in-time during the Sprint).</li>
<li>Shorten Sprint cycles from weeks to days, to one day or to two hours. Notice that this is not only a question of releasing something. You also need to collect feedback and adapt to it in this short time frame.</li>
<li>Release within the Sprint and  do the Sprint Review on feedback of real users using the live system. (The definition of done would then include &#8222;released&#8220;, &#8222;feedback from live users collected&#8220;)</li>
<li>Working with Single Piece Flow (the whole team works on the same single story until it is done).</li>
<li>Stop using timeboxed Sprints. This is a tricky one since there is the danger of just stopping the Sprints because it feels more comfortable that way. Often the Sprint constraint is replaced with another constrain, like in Naked Planning (no Sprints but Single Piece Flow and release after every story/MMF).</li>
<li>Product Owner und Development Team write all user stories together.</li>
</ul>
<p><strong>But: If you just copy things from the above list you are definitely not in Ha state, you are still Shu!</strong> The point with Ha is that you create an innovation from practicing. But it can and should be part of advanced practicing to experiment for a defined period of time (e.g. one Sprint) with unusual things.</p>
</div>
<h1>From Ha to Ri</h1>
<div>There are very few &#8211; if any &#8211; people in martial arts that reached Ri level. I wouldn&#8217;t expect to reach Ri level in agile software development before doing it a really long time. I don&#8217;t think I have seen a Ri level team in the 11 years I am in the agile community. Therefore I can&#8217;t say much about it. I would expect absence of any regular meetings, roles and artifacts (except the product) <strong>and</strong> creating a very successful product in a sustainable way.</div>
<h1>References</h1>
<ol>
<li>Wikipedia article about Shu Ha Ri: <a href="http://en.wikipedia.org/wiki/Shuhari">http://en.wikipedia.org/wiki/Shuhari</a></li>
<li>My presentation about ScrumBut and Shu-Ha-Ri (in german): <a href="http://www.slideshare.net/roock/scrum-but-agil-aber-xpdays-germany-2010">http://www.slideshare.net/roock/scrum-but-agil-aber-xpdays-germany-2010</a></li>
<li>ScrumBut from Ken Schwaber: <a href="http://www.scrum.org/scrumbut">http://www.scrum.org/scrumbut</a></li>
<li>Agile Manifesto: <a href="http://agilemanifesto.org">http://agilemanifesto.org</a></li>
</ol>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1076/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1076/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1076/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1076&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/11/02/the-shu-ha-ri-of-scrum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: The Lean Startup</title>
		<link>http://stefanroock.wordpress.com/2011/10/25/buchtipp-the-lean-startup/</link>
		<comments>http://stefanroock.wordpress.com/2011/10/25/buchtipp-the-lean-startup/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 20:42:35 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1086</guid>
		<description><![CDATA[Wie können wir schneller lernen, ob Produktideen erfolgreich sein können oder nicht? Dieser Frage geht Eric Ries in seinem Buch &#8222;The Lean Startup&#8220; nach. Er fordert sogenanntes &#8222;Validated Learning&#8220;: Man formuliert seine Annahmen in der sogenannten Customer-Problem-Solution-Hypothese (welche Anwendergruppe hat welches Problem und wie gedenken wir es zu lösen) und definiert ein &#8222;Minimal Viable Product&#8220; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1086&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="The Lean Startup" src="http://www.inc.com/uploaded_files/image/feature-57-the-lean-startup-book-pop_10909.jpg" alt="" width="600" height="600" />Wie können wir schneller lernen, ob Produktideen erfolgreich sein können oder nicht? Dieser Frage geht Eric Ries in seinem Buch &#8222;The Lean Startup&#8220; nach. Er fordert sogenanntes &#8222;Validated Learning&#8220;: Man formuliert seine Annahmen in der sogenannten Customer-Problem-Solution-Hypothese (welche Anwendergruppe hat welches Problem und wie gedenken wir es zu lösen) und definiert ein &#8222;Minimal Viable Product&#8220; (MVP, Minimal Brauchbares Produkt), mit dem man seine Hypothese überprüft. Das Ziel des MVP besteht darin, Annahmen zu überprüfen und lernen und das möglichst schnell. Man erstellt also ein MVP, dass so rudimentär ist, dass es fast nicht funktionieren kann &#8211; fast. Wenn wir (nach vielen Fehlschlägen) dann Hypothesen gefunden haben, die sich bestätigen, baut man das MVP schrittweise in Richtung eines richtigen Produktes aus.</p>
<p>Eine Besonderheit sind dabei die extrem kurzen Zyklen, die man anstrebt. Wir haben erst vor wenigen Tagen an einem halben Tag eine Customer-Problem-Solution-Hypothese definiert und ein MVP entwickelt.</p>
<p>Offensichtlich ist dieser Ansatz nicht nur dann sinnvoll, wenn man ein Startup gründet. Passend dazu definiert Eric Ries Startup als Produktentwicklung unter großer Unsicherheit. Das Buch adressiert als das Startup in der Garage genauso wie eine Produktneuentwicklung in einem Konzern.</p>
<p>Ich finde, das Buch ist sehr gut geschrieben und es stellt einen wichtigen Meilenstein in der Entwicklung unserer Branche dar. Allerdings fokussiert das Buch darauf, den Leser vom grundsätzlichen Ansatz zu überzeugen. Es bleibt manchmal etwas schwammig, was man konkret machen soll/kann. Außerdem handeln die meisten Beispiele von Internet-Anwendungen. Für andere Produkttypen ist etwas mehr Transferleistung notwendig. Bestimmt kommt demnächst ein Nachfolgebuch &#8222;Implementing the Lean Startup&#8220; heraus, in dem konkret beschrieben wird, wie man es denn nun macht. Trotzdem ist auch dieses Buch absolut empfehlenswert.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1086/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1086/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1086&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/10/25/buchtipp-the-lean-startup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://www.inc.com/uploaded_files/image/feature-57-the-lean-startup-book-pop_10909.jpg" medium="image">
			<media:title type="html">The Lean Startup</media:title>
		</media:content>
	</item>
		<item>
		<title>G Forces, Release Cadence and Feedback Cycles</title>
		<link>http://stefanroock.wordpress.com/2011/10/19/g-forces-release-cadence-and-feedback-cycles/</link>
		<comments>http://stefanroock.wordpress.com/2011/10/19/g-forces-release-cadence-and-feedback-cycles/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 21:13:35 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1082</guid>
		<description><![CDATA[When I saw the G Forces presentation by Kent Beck at the Lean Kanban Central Europe conference  had an insights that wasn&#8217;t that clear to me before. For those who don&#8217;t know the G Forces presentation: it is all about shortening release cycles from months to weeks to days to hours to minutes. What became [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1082&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I saw the <a href="http://youtu.be/KIkUWG5ACFY">G Forces</a> presentation by Kent Beck at the <a href="http://www.lean-kanban-conference.de/">Lean Kanban Central Europe</a> conference  had an insights that wasn&#8217;t that clear to me before.</p>
<p>For those who don&#8217;t know the G Forces presentation: it is all about shortening release cycles from months to weeks to days to hours to minutes.</p>
<p>What became clear to me: The release cadence is not the real point. It is all about feedback. You have to be able to incorporate feedback according to your release cadence. Releasing every day doesn&#8217;t help too much if you need a month to collect feedback and react on it.</p>
<p>Perhaps we should reflect that with our metrics. What about <em>Feedback Cycle Time</em> and <em>Feedback Coefficient</em> as new metrics for teams?</p>
<p><em>Feedback Cycle Time</em> would be the time you need from the release of feature A until you are able to release feature B that incorporates the learnings from feature A? For example: You release feature A to production on 1st of february 2012. Then you collect data from the production usage of B for 1 week. You discuss the findings for one week and take another week to redefine some of the features in the backlog. And then you need 3 weeks for implementation, test and release of feature B that incorporates the learning. In this scenario your Feedback Cycle Time would be 6 weeks.</p>
<p>The <em>Feedback Coefficient</em> would be <em><em>Number of Features for which feedback was collected / </em>Number of Released Features</em>. For the Feedback Coefficient it doesn&#8217;t matter if the feedback was positive or not. The only important thing is the learning. When we are honest most teams today achieve a Feedback Coefficient of zero or very near to zero. The optimum would be 1.</p>
<p>I think both metrics would focus on a weak spot in many teams: The teams try to maximize throughput and minimize lead time but don&#8217;t really care about feedback from the market.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1082/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1082/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1082/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1082&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/10/19/g-forces-release-cadence-and-feedback-cycles/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Open Letter to some of our Thought Leaders (regarding bashing)</title>
		<link>http://stefanroock.wordpress.com/2011/10/04/open-letter-to-some-of-our-thought-leaders-regarding-bashing/</link>
		<comments>http://stefanroock.wordpress.com/2011/10/04/open-letter-to-some-of-our-thought-leaders-regarding-bashing/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 08:48:38 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
		
		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1071</guid>
		<description><![CDATA[Open Letter to some of our Thought Leaders Dear Thought Leader, I really appreciate what you did for our community and the progress of our industry in general. But sometimes I am puzzled. That happens when you bash an idea or even worse a person. The ideas you had and the concepts you developed are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1071&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;">Open Letter to <em>some</em> of our Thought Leaders</p>
<p>Dear Thought Leader,</p>
<p>I really appreciate what you did for our community and the progress of our industry in general.</p>
<p>But sometimes I am puzzled. That happens when you bash an idea or even worse a person. The ideas you had and the concepts you developed are great enough to stand for themselves. You don’t have to bash other ideas/persons to make your concepts look brighter.</p>
<p>Here are some examples that might highlight what I am talking about:</p>
<p>“X clearly didn’t understand what Y means.” How do you know? Did you do an in-person test with X to check his understanding of Y? How does it feel for X when you say that? What will be his reaction? Will he check his understanding or is it more likely that X just defends himself?</p>
<p>“In his blog entry X addresses Y but sadly stops at Z and didn’t thought of A.” How do you know that X didn’t thought of A? Perhaps he did and decided to leave it out to keep the article short?</p>
<p>&#8222;Y is a stupid idea. It would lead to (unwanted) Z.&#8220; At least when people are involved how do you know that Y would lead to Z every time in every situation, especially when you tried Y never or only a few times? Do you think the advocate of Y is lying when he says that Y worked at his place?</p>
<p>I don’t suggest stopping arguing! Arguing is possible without devaluing other ideas/persons.</p>
<p>One could say “X wrote a nice blog post about Y. I’d like to add some thoughts on Z.” or “X presented Y in a way that puzzled me. I would rather think that …” or “Y didn’t work when I tried it. Therefore I tried something different that I’d like to present.” or even &#8222;Y simply does not resonate with me. Therefore I used Z.&#8220;</p>
<p>If you defined something very clear and X presented it just plain wrong you could just call or email X and make the correction. Don’t spend your previous keynote time correcting <em>one</em> person. There are <em>hundreds</em> in the audience who want to learn something from you.</p>
<p>My wish for the future is that we all learn to become better at arguing without bashing and devaluing.</p>
<p>Yours respectfully,</p>
<p>Stefan Roock</p>
<p>P.S.: I am am sure that I bashed other peoples/ideas as well but that doesn’t make it any better.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1071/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1071/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1071/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1071&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/10/04/open-letter-to-some-of-our-thought-leaders-regarding-bashing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum, Kanban and Naked Planning</title>
		<link>http://stefanroock.wordpress.com/2011/10/01/scrum-kanban-and-naked-planning/</link>
		<comments>http://stefanroock.wordpress.com/2011/10/01/scrum-kanban-and-naked-planning/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 14:10:00 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1068</guid>
		<description><![CDATA[Some teams start with Scrum, excel with it and then adapt Scrum to go even further. Some of these teams dismiss interations and claim to do Kanban. Other teams start with Kanban, eliminate columns of their Kanban board, reduce WiP and increase teamwork. The results are very similar: There is a short backlog of things [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1068&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some teams start with Scrum, excel with it and then adapt Scrum to go even further. Some of these teams dismiss interations and claim to do Kanban.</p>
<p>Other teams start with Kanban, eliminate columns of their Kanban board, reduce WiP and increase teamwork.</p>
<p>The results are very similar: There is a short backlog of things that create customer value (sometimes called Minimal Marketable Features, MMFs). The team picks the item with the highest priority and splits it into smaller User Storys or Tasks. When an MMF is completed it will be delivered. That&#8217;s it. The would result in a 3 column board: ToDo, Doing, Done. This board design is similar to a Scrum taskboard but the &#8222;process&#8220; is different. Since there are no iterations there is no distinction between a product focused backlog and an iteration focused backlog.</p>
<p>The interesting thing here is that this is mainly what Arlo Belshee named &#8222;Naked Planning&#8220;. He did that already in 2007 (perhaps even earlier) but only few people recognized it! Nowadays Naked Planning is sometimes reframed to be simplified or small Kanban.</p>
<p>Perhaps both of the above teams should say they are doing Naked Planning (or trying to do) and try to improve even further by having a deeper look at Arlos work (like doing Single Piece Flow for MMFs and limiting the number of MMFs in ToDo zu seven).</p>
<p>As far es I know this video is Arlos first description of Naked Planning (2007): <a href="http://www.youtube.com/watch?v=6t4bZtnnQJA">http://www.youtube.com/watch?v=6t4bZtnnQJA</a></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1068/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1068/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1068/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1068&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/10/01/scrum-kanban-and-naked-planning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Vom Entwickler zum Berater und glücklich dabei</title>
		<link>http://stefanroock.wordpress.com/2011/09/29/vom-entwickler-zum-berater-und-glucklich-dabei/</link>
		<comments>http://stefanroock.wordpress.com/2011/09/29/vom-entwickler-zum-berater-und-glucklich-dabei/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 19:11:31 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
		
		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1066</guid>
		<description><![CDATA[Anfang September auf der SoCraTes-Konferenz stellte sich ein Teilnehmer mit diesem Satz vor: &#8222;I love to code, but I have to coach.&#8220; Viele Anwesende stimmten durch Gemurmel oder eindeutige Gesichtsausdrücke zu. Es findet sich hier ein durchaus gängiges Muster. Ein sehr guter Entwickler wird zum Coach, weil nur so höhere Gehälter zu erzielen sind. Und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1066&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anfang September auf der SoCraTes-Konferenz stellte sich ein Teilnehmer mit diesem Satz vor:</p>
<blockquote><p>&#8222;I love to code, but I have to coach.&#8220;</p></blockquote>
<p>Viele Anwesende stimmten durch Gemurmel oder eindeutige Gesichtsausdrücke zu. Es findet sich hier ein durchaus gängiges Muster. Ein sehr guter Entwickler wird zum Coach, weil nur so höhere Gehälter zu erzielen sind. Und so landen Entwickler in Coaching-Jobs, die sie eigentlich nicht wollen.</p>
<p>Ich selbst habe mich auch immer &#8211; zumindest zum Teil &#8211; dazu gezählt. Ich hatte aber auch immer Spaß beim Coachen und Trainieren. Vor ein paar Jahren habe ich versucht, das für mich klar zu kriegen und dafür eine Vision für mich geschrieben. Hier einige Auszüge daraus:</p>
<blockquote><p>Ich möchte mich in meinem beruflichen Leben kontinuierlich weiterentwickeln und wünsche mir Anerkennung meiner Arbeit und meiner Person. Dazu möchte ich in motivierten agilen Teams anspruchsvolle Software-Produkte entwickeln. Dabei spielt für mich ein großer Gestaltungsspielraum eine ebenso wichtige Rolle wie der enge Kontakt mit den Kunden/Anwendern. Meiner Meinung nach können nur im engen Kontakt zu Kunden/Anwendern Lösungen entstehen, die die Bedürfnisse der Kunden/Anwender befriedigen.</p>
<p>Das in den Projekten Erlernte möchte ich reflektieren und vergegenständlichen, als wichtige Elemente meiner Weiterentwicklung. Für das Vergegenständlichen funktioniert das Schreiben von Artikeln und Büchern sowie das Halten von Vorträge und Schulungen gut für mich.</p></blockquote>
<p>Wie man sieht, stand das Programmieren im Zentrum. Alles, was sich um Coaching und Training drehte, war ein Anhängsel oder gar nicht erkennbar. Als ich die Vision aufgeschrieben habe, ist mir natürlich aufgefallen, dass diese Vision nicht wirklich zu meinem Job als Coach passte. Aber irgendwie fühlte ich mich mit dem Coaching-Job dann auch nicht so unglücklich. Tatsächlich war es sogar so, dass ich für Coachings und Trainings viel mehr Anerkennung erhalten habe als jemals zuvor für Programmierung.</p>
<p>Der oben zitierte Ausspruch auf der SoCraTes-Konferenz hat mich erneut an meine Vision erinnert und mein zwiegespaltenes Verhältnis zum Coaching. Ich habe das zum Anlass genommen, nochmal über meine persönliche Vision zu reflektieren. Dabei ist mir klar geworden, dass die Anerkennung nur eines meiner Bedürfnisse ist. Das andere Bedürfnis schien bereits in der originalen Vision durch: &#8222;Bedürfnisse von Anwendern befriedigen&#8220;. Tatsächlich geht mein Bedürfnis noch weiter: Ich möchte Fußspuren hinterlassen, etwas verändern, einen <em>Impact</em> haben. Das geht über die Entwicklung von Software. Aber wenn ich ehrlich bin, war das meistens nicht der Fall. Die meisten Systeme hatten keine nennenswerte Auswirkung. Das geht viel einfacher, wenn ich als Coach und Trainer arbeite! Tatsächlich glaube ich, dass ich durch meine Arbeit nicht nur Unternehmen wirtschaftliche Vorteile sondern nebenbei auch die Arbeitssituation vieler Entwickler verbessert habe.</p>
<p>Seit mir das klar geworden ist, fühle ich mich viel besser in meiner Rolle als Coach und Trainer. Trotzdem habe ich auch weiterhin Spaß am Programmieren. Nicht umsonst investiere ich viel Zeit in <a href="http://codersdojo.com">CodersDojo</a>. Ich würde aber nicht mehr jedes Programmierprojekt machen wollen. Es sollte schon herausfordernd sein und in Clojure oder mindestens Ruby entwickelt werden. Und wahrscheinlich würde ich mich auf jeden Fall in die Product-Owner einmischen wollen. Wer so ein Projekt zu bieten hat, kann sich gerne bei mir melden. Solange mache ich meine Hobby-Projekte und bin als Coach und Trainer glücklich.</p>
<p>P.S.: Ich weiß von Beraterkollegen, dass sie nicht sehen, dass sie Anerkennung für ihre Coaching-Arbeit bekämen oder wirklich etwas verändern würden. So ging es mir am Anfang meiner Beratertätigkeit auch häufig. Mit der Zeit sind diese Situationen aber immer seltener geworden. Vielleicht muss man nur lange genug durchhalten, bis man die nötige Erfahrung hat <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1066/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1066&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/09/29/vom-entwickler-zum-berater-und-glucklich-dabei/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Single Piece Flow in Scrum Teams</title>
		<link>http://stefanroock.wordpress.com/2011/09/19/single-piece-flow-in-scrum-teams/</link>
		<comments>http://stefanroock.wordpress.com/2011/09/19/single-piece-flow-in-scrum-teams/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 14:06:13 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">https://stefanroock.wordpress.com/2011/09/19/single-piece-flow-in-scrum-teams/</guid>
		<description><![CDATA[Here is an easy to apply tip to improve your velocity: Focus on the User Story with the highest priority using Single Piece Flow (aka One Piece Flow) on a team level. How it works Single piece flow means that the whole team works at one User Story at any given point in time. Only [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1065&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here is an easy to apply tip to improve your velocity: <em>Focus on the User Story with the highest priority using Single Piece Flow (aka One Piece Flow) on a team level.</em></p>
<p><b>How it works</b><br />
Single piece flow means that the whole team works at one User Story at any given point in time. Only when the whole User Story is done the team moves to the next User Story. </p>
<p><b>Why it </b><br />
Single Piece Flow works due to several positive effects:</p>
<ol>
<li>Single Piece Flow forces the whole team to cooperate continuously.</li>
<li>This ensures that every team member is informed about state and progress of each User Story. Furthermore the team members learn from each other through intense cooperation.</li>
<li>On this basis it is easy for team members to help each other.</li>
<li>Point 3 together with the fact that a team generally is faster in implementing a User Story leads to a shorter lead time of the User Story.</li>
<li>Shorter lead time and reduced Work-in-Progress means for the team that it has to remember only few things for a short period of time. And this fact reduces the number of bugs and decreases the time needed for bug fixing.</li>
</ol>
<p><b>Really?</b><br />
You may doubt what I wrote. Perhaps Single Piece Flow reduces the lead time per User Story. But does it enhance overall throughput or does it lead to under utilization of the team members and higher costs?<br />
Maybe&#8230; Luckily it is easy to check. Just try it for one Sprint and then inspect&amp;adapt. You are welcome to share your findings in the comments of this blog article.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1065/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1065/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1065/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1065&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/09/19/single-piece-flow-in-scrum-teams/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>S.O.L.I.D. for dynamic and functional languages at SoCraTes 2011</title>
		<link>http://stefanroock.wordpress.com/2011/09/09/s-o-l-i-d-for-dynamic-and-functional-languages-at-socrates-2011/</link>
		<comments>http://stefanroock.wordpress.com/2011/09/09/s-o-l-i-d-for-dynamic-and-functional-languages-at-socrates-2011/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 15:12:21 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1062</guid>
		<description><![CDATA[At the SoCraTes 2011 conference I facilitated a session about applying the S.O.L.I.D. design principles to dynamic OO languages and to functional languages. I prepared some Flipcharts with the SOLID principles (Slideshare), code examples for Java, Ruby, Scala and Clojure (GitHub) and a paper with a description of the SOLID design principles and some thesis about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1062&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At the <a href="http://socrates2011.pbworks.com/">SoCraTes 2011</a> conference I facilitated a session about applying the S.O.L.I.D. design principles to dynamic OO languages and to functional languages.</p>
<p>I prepared some <a href="http://www.slideshare.net/roock/solid-design-principles-9193702">Flipcharts with the SOLID principles</a> (Slideshare), <a href="https://github.com/stefanroock/SOLID-for-dynamic-and-functional-languages--Sokrates-Germany-2011-">code examples for Java, Ruby, Scala and Clojure</a> (GitHub) and <a href="http://stefanroock.files.wordpress.com/2011/09/solidforyourlanguage.pdf">a paper with a description of the SOLID design principles and some thesis about their application to dynamic OO and functional languages</a> (PDF).</p>
<p>I am not sure if the session can be counted as a success. We had three groups. One was working on the application of SOLID to dynamic OO languages with the Ruby code examples. The second group was working on the application of SOLID to statically typed functional languages with the Scala code examples. The third group worked on the application of the SOLID principles to dynamic functional languages with the Clojure examples.</p>
<p>The results were ambiguous and we didn&#8217;t find final answers. What became clear is that the SOLID design principles can be applied to all these types of languages. What stayed fuzzy was the question if that application would be useful for the everyday work with these languages. While I tend to think that in fact not every principle is useful in every languages there were others having the opposite opinion.</p>
<p>One of the problems within the workshop was that today OO thinking is baked into out heads. And so the Scala and the Clojure group created designs in OO style. And if you do that with a functional language of course SOLID is applicable and at least to a certain degree useful <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>In the end of the session we had a discussion in a smaller group of people if it may be to misleading to apply SOLID to functional programming. Perhaps it drives our thinking in the wrong direction. Perhaps it would be better to go back to the underlying principles of cohesion and coupling and creating new design principles for functional languages on top of these. And perhaps such design principles already exist and I am just to blind to see them.</p>
<p>So: There is still a lot to learn and a lot of experiments to do. If you like to contribute I would really much appreciate it.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/architecture/'>Architecture</a>, <a href='http://stefanroock.wordpress.com/tag/craftsmanship/'>craftsmanship</a>, <a href='http://stefanroock.wordpress.com/tag/lisp/'>Lisp</a>, <a href='http://stefanroock.wordpress.com/tag/ruby/'>Ruby</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1062/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1062&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/09/09/s-o-l-i-d-for-dynamic-and-functional-languages-at-socrates-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Handling Impediments with the Task Board</title>
		<link>http://stefanroock.wordpress.com/2011/09/05/handling-impediments-with-the-task-board/</link>
		<comments>http://stefanroock.wordpress.com/2011/09/05/handling-impediments-with-the-task-board/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 09:07:26 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1058</guid>
		<description><![CDATA[My colleague Bernd Schiffer has published an interesting article about managing impediments with an Action Board (see his blog post). I think it is valid to have such an Action Board and it is definitely superior to what a lot of teams do: The ScrumMaster records impediments in a personal notepad. But I prefer a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1058&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My colleague Bernd Schiffer has published an interesting article about managing impediments with an Action Board (see his <a href="http://agiletrail.com/2011/09/05/7-steps-to-build-a-kanban-board-for-a-scrum-teams-impediments/">blog post</a>). I think it is valid to have such an Action Board and it is definitely superior to what a lot of teams do: The ScrumMaster records impediments in a personal notepad.</p>
<p>But I prefer a simpler mechanism and just adding impediments to the existing Task Board which I have described here in a <a href="http://stefanroock.files.wordpress.com/2011/09/impedimentresolution_roock1.pdf">PDF</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1058/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1058/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1058/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1058&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/09/05/handling-impediments-with-the-task-board/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Teamwork during the Daily Scrum</title>
		<link>http://stefanroock.wordpress.com/2011/08/24/1056/</link>
		<comments>http://stefanroock.wordpress.com/2011/08/24/1056/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 11:20:57 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">https://stefanroock.wordpress.com/2011/08/24/1056/</guid>
		<description><![CDATA[Do you see teamwork in your Daily Scrums? Or do you see individuals reporting their individual status and then proceed with their task or story? Then try this: Every team member answers two questions: What did I achieve since the last Daily Scrum? (and update the taskboard) What are my impediments? (and make impediments visible [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1056&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Do you see teamwork in your Daily Scrums? Or do you see individuals reporting their individual status and then proceed with their task or story? Then try this:</p>
<p><em>Every team member answers two questions:</em></p>
<ol>
<li>What did I achieve since the last Daily Scrum? (and update the taskboard)</li>
<li>What are my impediments? (and make impediments visible at the taskboard)</li>
</ol>
<p>Then the team updates the Sprint Burndown Chart (yes, let the team draw it on a big sheet of paper).<br />
Now the team sees the current state of the Sprint at the taskboard and the prognosis at the Sprint Burndown Chart.<br />
Then ask the third question in a slightly modified form: <em>How can we as a team organize until the next Daily Scrum to create the most progress towards the Sprint Goal?</em></p>
<p>That will avoid stickyness to tasks (“I worked on the database schema and will work on it again”). Instead the team plans together who should work on what. Perhaps Henning should help Stefan with the database schema? Perhaps it would be better to stop working on the database schema for now and focus on another more important task?</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1056/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1056&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/08/24/1056/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Einfaches Scrum</title>
		<link>http://stefanroock.wordpress.com/2011/08/18/einfaches-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2011/08/18/einfaches-scrum/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 15:14:37 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1054</guid>
		<description><![CDATA[Dies ist die Übersetzung des Blog-Artikels „Simple Scrum“ von Tobias Mayer in der Version vom 01.01.2010 (http://agileanarchy.wordpress.com/2009/09/20/simple-scrum/). Die Übersetzung habe ich (Stefan Roock, stefan.roock@it-agile.de) vorgenommen. Ich habe mich entschieden. an einigen Stellen leicht vom Original abzuweichen mit der Absicht, einen Sachverhalt einfacher zu erklären. Ich denke an Scrum als etwas fast unfassbar Einfaches, das häufig [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1054&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dies ist die Übersetzung des Blog-Artikels „Simple Scrum“ von Tobias Mayer in der Version vom 01.01.2010 (<a href="http://agileanarchy.wordpress.com/2009/09/20/simple-scrum/">http://agileanarchy.wordpress.com/2009/09/20/simple-scrum/</a>).</p>
<p>Die Übersetzung habe ich (Stefan Roock, <a href="mailto:stefan.roock@it-agile.de">stefan.roock@it-agile.de</a>) vorgenommen. Ich habe mich entschieden. an einigen Stellen leicht vom Original abzuweichen mit der Absicht, einen Sachverhalt einfacher zu erklären.</p>
<p style="padding-left:30px;"><em>Ich denke an Scrum als etwas fast unfassbar Einfaches, das häufig unnötig verkompliziert wird. Es ist diese Verkomplizierung, die so viele Missverständnisse verursacht und zu schlechten Anwendungen von Scrum führt. Die folgende Beschreibung von Scrum hat das Ziel, Scrums Geist der Einfachheit einzufangen.</em></p>
<p style="padding-left:30px;">Scrum ist ein Framework, um die Art und Weise zu verbessern, in der Menschen arbeiten, oder wie auf der Scrum Alliance-Website definiert „ein team-basiertes Framework zur Entwicklung komplexer Systeme und Produkte“. Scrum benutzt einen iterativen Prozess in dem die Iterationen (aka Sprints) so kurz wie sinnvoll möglich gehalten werden. Die Sprints erzeugen einen gleichmäßigen Rhythmus der durch Planung, Durchführung und Reflektion pulsiert. Diese strikten, rhythmischen Time-Boxen von Scrum fördern auf frappierende Weise organisatorische Dysfunktionen zu Tage.</p>
<p style="padding-left:30px;">Scrum definiert drei Rollen (Scrum Master, Product Owner und Team), erfordert eine priorisierte Menge von Zielen, ein Commitment für jeden Sprint und eine einfache Art, Fortschritt zu messen. Scrum benutzt Zeremonien mit Timeboxen, um zu planen und auf täglicher sowie Sprint-Basis zu inspizieren und zu adaptieren.</p>
<p style="padding-left:30px;">Das „Was“ (das Ziel) und das „Wie“ (der Weg) werden klar unterschieden. Scrum erfordert klaren Fokus, Commitment und vollständige Transparenz auf allen Ebenen; es hebt auf bestimmte menschenzentrierte Werte ab, einschließlich (aber nicht eingeschränkt auf) Vertrauen, Integrität, Mut und Respekt.</p>
<p style="padding-left:30px;"><strong>Rollen</strong><br />
Der ScrumMaster ist eine dienende Führungskraft (Servant Leader) für das Team und ein Change Agent in der Organisation. Der Product Owner ist die Hauptstimme des Kunden, etabliert eine fesselnde Vision und benutzt einen Prozess kontinuierlicher Priorisierung, um die Vision umzusetzen. Das Team ist eine selbstorganisierte, cross-funktionale, bevollmächtigte Gruppe, die die Vision in das Produkt oder den Service umsetzt.</p>
<p style="padding-left:30px;"><strong>Artefakte</strong><br />
Ein Backlog (Auftragsbestand) aus Anforderungen oder Zielen ist immer vorhanden. Es enthält zu jeder Zeit all die Dinge, von denen wir möchten, das das Produkt oder der Service sie enthalten. Es ist eine lebendige Liste, kontinuierlich im Fluss und trotzdem jederzeit nach Priorität geordnet, die sich über die Zeit ändern wird. Die Einträge des Backlogs fokussieren auf das „Was“. Das Sprint-Commitment ist eine Untermenge des Backlogs, manchmal herunter gebrochen auf Arbeitsaufgaben (Tasks), die das „Wie“ beschreiben. Scrum fordert einfache Metriken, z.B. die verbleibende Restarbeit oder gelieferter Geschäftswert. Diese Metriken sollten verwendet werden, um die Wirklichkeit zu erfassen &#8211; nicht, um Erfolg oder Misserfolg zu festzustellen. Nur Metriken der Wirklichkeit können wir vertrauen, dass sie dem Team keinen Anreiz für Quick-Fix-Verhalten geben.</p>
<p style="padding-left:30px;"><strong>Zeremonien</strong><br />
Das Team und der Product Owner treffen sich vor dem Start jeden Sprints, um die Arbeit zu planen. Das Team committet sich auf priorisierte Arbeitspakete, die „wohldefinierte Ergebnisse“ (das Ziel) haben und es wird von ihm erwartet, dass es das fertige Produkt gemäß diesen Kriterien am Sprintende liefert. Wie das Team seine Arbeit erledigt (der Weg) ist allein ihm überlassen. Jeden Arbeitstag treffen sich die Teammitglieder an einem visuellen Board (z.B. Taskboard), um sich abzustimmen und Hilfe einzufordern und anzubieten. Am Ende jedes Sprints begutachten Stakeholder und Konsumenten die abgeschlossene Arbeit und machen Vorschläge für Anpassungen. Nach dem Review reflektieren die Teammitglieder über ihren Prozess, suchen nach Verbesserungsmöglichkeiten und committen sich auf Veränderungen ihrer Arbeitsweise. Jeder Sprint produziert ein verbessertes Produkt oder einen verbesserten Service und &#8211; sogar noch besser &#8211; ein glücklicheres Team.</p>
<p style="padding-left:30px;">Das ist mehr oder weniger die Beschreibung von Scrum, die seit der Veröffentlichung des ersten Scrum-Buchs 2003 existiert. Ich habe sie aus dem Software-Kontext herausgelöst, einige Begriffe fallen gelassen, um auf die grundlegenden Prinzipien zu fokussieren und versucht, sie auf ihre Essenz zu kondensieren. Ich habe nichts hinzugefügt oder weggelassen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1054/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1054/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1054/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1054&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/08/18/einfaches-scrum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Artikel: &#8222;Die Architekturvision in Scrum: Vorausplanung und emergentes Design balancieren&#8220;</title>
		<link>http://stefanroock.wordpress.com/2011/06/27/artikel-die-architekturvision-in-scrum-vorausplanung-und-emergentes-design-balancieren/</link>
		<comments>http://stefanroock.wordpress.com/2011/06/27/artikel-die-architekturvision-in-scrum-vorausplanung-und-emergentes-design-balancieren/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 10:55:05 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1027</guid>
		<description><![CDATA[Zusammen mit Roman Pichler habe ich einen Artikel über die Architekturvision in Scrum in der Objekt-Spektrum veröffentlicht. Der Artikel ist jetzt als PDF verfügbar. Tagged: Scrum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1027&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Zusammen mit <a href="http://www.romanpichler.com/blog/">Roman Pichler</a> habe ich einen Artikel über die Architekturvision in Scrum in der Objekt-Spektrum veröffentlicht. <a href="http://www.sigs-datacom.de/fachzeitschriften/objektspektrum/archiv/artikelansicht.html?tx_mwjournals_pi1[pointer]=0&amp;tx_mwjournals_pi1[mode]=1&amp;tx_mwjournals_pi1[showUid]=6907">Der Artikel ist jetzt als PDF verfügbar</a>.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1027/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1027&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/06/27/artikel-die-architekturvision-in-scrum-vorausplanung-und-emergentes-design-balancieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Envisioning done right</title>
		<link>http://stefanroock.wordpress.com/2011/06/22/envisioning-done-right/</link>
		<comments>http://stefanroock.wordpress.com/2011/06/22/envisioning-done-right/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 14:29:39 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1025</guid>
		<description><![CDATA[When you start a new product development you have to do something before the first Sprint: shaping a product vision, creating an initial product backlog, forming the team etc. There are a lot of names for these activities: envisioning, ideation, customer discovery, pre game etc. Envisioning seems to be the most common name. While I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1025&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When you start a new product development you have to do something before the first Sprint: shaping a product vision, creating an initial product backlog, forming the team etc. There are a lot of names for these activities: envisioning, ideation, customer discovery, pre game etc. Envisioning seems to be the most common name.</p>
<p>While I think that Envisioning is often necessary I am often shocked when I see what companies do during &#8222;Envisioning&#8220;:</p>
<ul>
<li>The Envisioning lasts weeks or months when hours or days would have been sufficient.</li>
<li>Comprehensive fine grained product backlogs are created.</li>
<li>Detailed designs are created.</li>
<li>etc.</li>
</ul>
<p>That is not Envisioning. That are the early phases of a waterfall project. Therefore some people consider the Envisioning an anti pattern in Scrum.</p>
<p>Before I join these people I want to try to explain better what Envisioning should be and what not.</p>
<p>During Envisioning I value</p>
<ul>
<li><em>learning important things</em> <span style="text-decoration:underline;">over</span> <em>designing things</em></li>
<li><em>having business and technical people in the Envisioning team </em>over<em> having <span style="text-decoration:underline;">only</span> the Product Owner doing the Envisioning</em></li>
<li><em>Product Owner and Team listening to and working together with real customers and users </em><span style="text-decoration:underline;">over</span><em> giving research orders to marketing</em></li>
<li><em>checking assumptions about the market, customers, users </em><span style="text-decoration:underline;">over</span><em> dealing with corporate stage gate processes</em></li>
<li><em>checking technical assumptions with prototypes </em><span style="text-decoration:underline;">over</span><em> having long design discussions within the team</em></li>
<li><em><em>sketching things on flip charts</em> </em><span style="text-decoration:underline;">over</span><em> <em>creating power point slides</em><br />
</em></li>
</ul>
<div>While <em>few</em> of the things on the right side have value, I value the things on the left side more during envisioning.</div>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1025/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1025/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1025/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1025&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/06/22/envisioning-done-right/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Commitment and the Comfort Zone</title>
		<link>http://stefanroock.wordpress.com/2011/05/23/commitment-and-the-comfort-zone/</link>
		<comments>http://stefanroock.wordpress.com/2011/05/23/commitment-and-the-comfort-zone/#comments</comments>
		<pubDate>Mon, 23 May 2011 05:09:05 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">https://stefanroock.wordpress.com/2011/05/23/commitment-and-the-comfort-zone/</guid>
		<description><![CDATA[There are issues with the commitment concept in Scrum. Even Ken Schwaber is thinking about replacing &#8222;Commitment&#8220; with &#8222;Forecast&#8220;. While I have seen some of the described problems I think the potential of the commitment concept outweights it&#8217;s flaws. Here is a story that illustrates one powerful aspect of commitments: At it-agile we created a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1023&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are issues with the commitment concept in Scrum. Even Ken Schwaber is thinking about replacing <a href="http://kenschwaber.wordpress.com/#!/entry/209">&#8222;Commitment&#8220; with &#8222;Forecast&#8220;</a>. While I have seen some of the described problems I think the potential of the commitment concept outweights it&#8217;s flaws. Here is a story that illustrates one powerful aspect of commitments:</p>
<p>At it-agile we created a Scrum team to restructure some aspects of our software development unit. For the first Sprint the Sprint Goal made it necessary to interview customers. So far so good. </p>
<p>But when I was at the site of a coaching client with potential interview partners it wasn&#8217;t that easy. I had a full email inbox and it was hard to get in touch with the potential interview partners. It would have been much more comfortable to postpone the interviews. And if I hadn&#8217;t committed to the Sprint Goal I would have postponed the interviews. But the commitment made me focus on what really mattered and it pulled me out of my comfort zone and do the interviews. And in the end it was the right thing to do. Learning something about customers was much more valuable than reading emails. </p>
<p>In this story my commitment to the Sprint Goal made me leave my comfort zone. </p>
<p>This is just one of the possible positive aspects of the commitment concept done right. Others include building trust, having an additional feedback mechanism, create focus etc.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1023/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1023/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1023&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/05/23/commitment-and-the-comfort-zone/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: &#8222;Die Kraft von Scrum&#8220;</title>
		<link>http://stefanroock.wordpress.com/2011/05/09/buchtipp-die-kraft-von-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2011/05/09/buchtipp-die-kraft-von-scrum/#comments</comments>
		<pubDate>Mon, 09 May 2011 07:05:36 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1015</guid>
		<description><![CDATA[Ein Buch, in dem ein windsurfender Scrum-Coach aus Norddeutschland mit Namen Stefan vorkommt, muss einfach ein großartiges Buch sein Die &#8222;Kraft von Scrum&#8220; ist demnach großartig. Das Buch ist eine Scrum-Einführung nicht nur für Manager, verpackt in romanartige Geschichte, in der besagter Scrum-Coach Stefan einem angeschlagenen Software-Unternehmen durch die Einführung von Scrum den Weg aus [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1015&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.files.wordpress.com/2011/05/die_kraft_von_scrum.png"><img class="aligncenter size-full wp-image-1016" title="Die_Kraft_von_Scrum" src="http://stefanroock.files.wordpress.com/2011/05/die_kraft_von_scrum.png?w=455" alt=""   /></a></p>
<p>Ein Buch, in dem ein windsurfender Scrum-Coach aus Norddeutschland mit Namen Stefan vorkommt, muss einfach ein großartiges Buch sein <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Die &#8222;Kraft von Scrum&#8220; ist demnach großartig. Das Buch ist eine Scrum-Einführung nicht nur für Manager, verpackt in romanartige Geschichte, in der besagter Scrum-Coach Stefan einem angeschlagenen Software-Unternehmen durch die Einführung von Scrum den Weg aus der Krise weist.</p>
<p>In der Geschichte werden alle Elemente von Scrum am praktischen Beispiel eingeführt, so dass der Leser einen guten Eindruck davon gewinnt, was Scrum ist. Die Geschichte drumherum hat trotz windsurfendem Scrum-Coach keinen großen Inhalt. Sie ist halt Mittel zu dem Zweck, Scrum zu erklären und dafür ist sie vollkommen in Ordnung.</p>
<p>Das kleinformatige 150-seitige Buch lässt sich schnell durchlesen. An der im Vorwort genannten Lesezeit von 2-3 Stunden bin ich aber kläglich gescheitert. Naja, vielleicht habe ich einfach noch nicht die Qualitäten, um Manager zu werden&#8230;</p>
<p>Obwohl Scrum für mich nichts Neues mehr ist, hatte ich dennoch Spaß an der Lektüre und empfehle das Buch gerne weiter. Vielleicht ist es ja das passende Geschenk für den eigenen Chef? Für meinen Chef allerdings nicht; er hat das Buch schließlich ins Deutsche übersetzt und die Lokalisierung vorgenommen. In diesem Zuge wurde aus dem Scrum-Coach auch der windsurfende Stefan, warum auch immer <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.amazon.de/gp/product/3827330521/ref=as_li_ss_tl?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3827330521">Direkt bei Amazon kaufen: &#8222;Die Kraft von Scrum: Inspiration zur revolutionärsten Projektmanagement-Methode&#8220;</a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.de/e/ir?t=&amp;l=as2&amp;o=3&amp;a=3827330521" alt="" width="1" height="1" border="0" /></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1015/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1015/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1015/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1015&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/05/09/buchtipp-die-kraft-von-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2011/05/die_kraft_von_scrum.png" medium="image">
			<media:title type="html">Die_Kraft_von_Scrum</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.de/e/ir?t=&#38;l=as2&#38;o=3&#38;a=3827330521" medium="image" />
	</item>
		<item>
		<title>To Tool or Not to Tool</title>
		<link>http://stefanroock.wordpress.com/2011/05/07/to-tool-or-not-to-tool/</link>
		<comments>http://stefanroock.wordpress.com/2011/05/07/to-tool-or-not-to-tool/#comments</comments>
		<pubDate>Sat, 07 May 2011 18:32:54 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">https://stefanroock.wordpress.com/2011/05/07/to-tool-or-not-to-tool/</guid>
		<description><![CDATA[A recurring question in my coaching engagements and training classes is about tools for Scrum (Product Backlog, Sprint Backlog, Taskboard, Burndown Charts). My recommendation is always the same: try index cards, pens, post it&#8217;s, card walls etc. My collegues at it-agile do the same. Sometimes have the impression that we are very dogmatic when it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1011&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recurring question in my coaching engagements and training classes is about tools for Scrum (Product Backlog, Sprint Backlog, Taskboard, Burndown Charts). My recommendation is always the same: try index cards, pens, post it&#8217;s, card walls etc. My collegues at it-agile do the same.<br />
Sometimes have the impression that we are very dogmatic when it comes to tools. I don&#8217;t think that I or my collegues are dogmatic. We simply base our recommendations on our experiences. Over the last 10 years we tried a lot of different tools and we have seen even more tools at our clients and the experience so far was always the same: for agile teams physical tools like index cards worked better than software tools. </p>
<p><em>But why work physical tools better than software tools?</em></p>
<p>Software tools are used with another focus than physical tools. Software tools are used for managing (e.g. for managing the Sprint Backlog). Physical tools facilitate communication and cooperation. When somebody moves an index card at a card wall, the other team members can see that directly and step into a discussion. When somebody changes the status of a ticket in an issue tracker nobody notices immediately and starting a discussion is unlikely. </p>
<p><em>And facilitating communication is more important than easy management?</em></p>
<p>This question is easy to answer with a look at the agile manifesto: The first value statement of the agile manifesto reads &#8222;Individuals and interactions over processes and tools&#8220;. And principle number six says: &#8222;The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.&#8220;</p>
<p><em>Yes, communication and cooperation is king.</em></p>
<p>So whatever tool is used communication and cooperation should be the goal, not management. And I think that this goal is easier to achieve with physical tools than with software tools. But in the end the decision is up to the team. </p>
<p><em>Things to try</em></p>
<ul>
<li>The team should at least try physical tools for one Sprint to make an informed decision.</li>
<li>As ScrumMaster shield the team from existing tools and do the mapping from the physical tool to the software tool during the trial period.</li>
</ul>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1011/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1011&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/05/07/to-tool-or-not-to-tool/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buch &#8222;Agile Entwicklungspraktiken mit Scrum&#8220;</title>
		<link>http://stefanroock.wordpress.com/2011/04/26/buch-agile-entwicklungspraktiken-mit-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2011/04/26/buch-agile-entwicklungspraktiken-mit-scrum/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 13:12:07 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1005</guid>
		<description><![CDATA[Im Mai wird das Buch &#8222;Agile Entwicklungspraktiken mit Scrum&#8220; im dpunkt-Verlag erscheinen. Roman Pichler und ich sind die Herausgeber. Wir wollten ein deutschsprachiges Buch herausgeben, in dem die in Scrum gängigen Entwicklungspraktiken nach dem aktuellen Stand der Technik beschrieben sind. Dazu haben wir namhafte Coaches angesprochen und sie gebeten, jeweils ein Kapitel beizusteuern. Wir selbst [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1005&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/3898647196/ref=as_li_ss_tl?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3898647196"><img class="aligncenter size-full wp-image-1006" title="Agile Entwicklungspraktiken mit Scrum" src="http://stefanroock.files.wordpress.com/2011/04/agileentwicklungspraktikenmitscrum.jpg?w=455" alt=""   /></a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.de/e/ir?t=&amp;l=as2&amp;o=3&amp;a=3898647196" alt="" width="1" height="1" border="0" /></p>
<p>Im Mai wird das Buch &#8222;Agile Entwicklungspraktiken mit Scrum&#8220; im dpunkt-Verlag erscheinen. Roman Pichler und ich sind die Herausgeber. Wir wollten ein deutschsprachiges Buch herausgeben, in dem die in Scrum gängigen Entwicklungspraktiken nach dem aktuellen Stand der Technik beschrieben sind. Dazu haben wir namhafte Coaches angesprochen und sie gebeten, jeweils ein Kapitel beizusteuern. Wir selbst haben ebenfalls das eine oder andere Kapitel beigesteuert und versucht, für einen einheitlichen Stil des Buches zu sorgen, so dass sich eine möglichst durchgängige Leseerfahrung ergibt. Ich hoffe, das ist uns gelungen <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Die Autorenliste umfasst Alex Bepple, Jens Coldewey, Jutta Eckstein, Peter Friese, Andreas Havenstein, Johannes Link, Martin Lippert, Bernd Schiffer und Henning Wolf. Die Themen des Buches umfassen die Architekturvision und den inkrementellen Entwurf, Continuous Integration, Testgetriebene Entwicklung, Refactoring mit und ohne Refactoring-Browser, automatisierte Akzeptanztests, Pair Programming, Collective Ownership, Coding-Dojos und Code-Katas, Modellgetriebene Entwicklung und Entwicklungspraktiken bei verteilter Entwicklung.</p>
<p>Es ist seit langem bekannt, dass in größeren Scrum-Projekten kein Weg daran vorbei geht, dass das Team passende Entwicklungspraktiken auswählt. Die Entscheidung, welche Techniken eingesetzt werden, obliegt in Scrum dem Team. Aus unserer Sicht sollte das Team aber die in Frage kommenden Techniken kennen und beherrschen, um eine qualifizierte Entscheidung treffen zu können. Wir hoffen, das unser Buch einen Beitrag dazu leistet.</p>
<p>Wer sich bereits intensiv mit eXtreme Programming auseinandergesetzt hat, dem wird vieles bekannt vorkommen. Wir hoffen, aber auch diesen Lesern einen Mehrwert bieten zu können, indem das Buch den aktuellen Stand der Technik beschreibt.</p>
<p><a href="http://www.amazon.de/gp/product/3898647196/ref=as_li_ss_tl?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3898647196">&#8222;Agile Entwicklungspraktiken mit Scrum&#8220; bei Amazon bestellen!</a><img src="http://www.assoc-amazon.de/e/ir?t=&amp;l=as2&amp;o=3&amp;a=3898647196" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1005/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1005/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1005/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1005&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/04/26/buch-agile-entwicklungspraktiken-mit-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2011/04/agileentwicklungspraktikenmitscrum.jpg" medium="image">
			<media:title type="html">Agile Entwicklungspraktiken mit Scrum</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.de/e/ir?t=&#38;l=as2&#38;o=3&#38;a=3898647196" medium="image" />

		<media:content url="http://www.assoc-amazon.de/e/ir?t=&#38;l=as2&#38;o=3&#38;a=3898647196" medium="image" />
	</item>
		<item>
		<title>Anforderungen sind keine Bedürfnisse</title>
		<link>http://stefanroock.wordpress.com/2011/03/23/anforderungen-sind-keine-bedurfnisse/</link>
		<comments>http://stefanroock.wordpress.com/2011/03/23/anforderungen-sind-keine-bedurfnisse/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 21:35:55 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1003</guid>
		<description><![CDATA[Bei der Arbeit mit Product Ownern finde ich es stets wichtig, dass es eine Produktvision gibt. Diese sollte neben anderem die Kundenbedürfnisse enthalten sowie die Key-Features des Systems. Laut Wikipedia ist ein Bedürfnis &#8222;[...] das Verlangen oder der Wunsch, einem empfundenen oder tatsächlichen Mangel Abhilfe zu schaffen.&#8220; Ein Feature &#8222;[...] ist die Fähigkeit eines Produktes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1003&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bei der Arbeit mit Product Ownern finde ich es stets wichtig, dass es eine Produktvision gibt. Diese sollte neben anderem die Kundenbedürfnisse enthalten sowie die Key-Features des Systems. Laut Wikipedia ist ein Bedürfnis &#8222;[...] das Verlangen oder der Wunsch, einem empfundenen oder tatsächlichen Mangel Abhilfe zu schaffen.&#8220; Ein Feature &#8222;[...] ist die Fähigkeit eines Produktes oder einer Komponente, eine bestimmte Funktion oder Gruppe von Funktionen zu erfüllen.&#8220;</p>
<p>Bedürfnisse und Features auseinander zu halten fällt vielen Product Ownern sehr schwer. Heraus kommen dann Formulierungen, in denen Bedürfnisse und Key-Features identisch sind &#8211; nur leicht anders formuliert. Beispiel: &#8222;Menschen, die andere Menschen anrufen wollen, können mit dem Festnetz-Telefon Call-2000 über das Festnetz telefonieren.&#8220;</p>
<p>Wenn man vor der Frage steht, ob etwas wirklich ein Bedürfnis ist, hilft die <a href="http://de.wikipedia.org/wiki/Maslowsche_Bed%C3%BCrfnispyramide">Maslowsche Bedürfnispyramide</a>. Sie hat diese Stufen (von unten nach oben):</p>
<ol>
<li>Physiologische Bedürfnisse: Atmung, Schlaf, Nahrung, Wärme, Gesundheit, Wohnraum, Kleidung, Sexualität, Bewegung</li>
<li>Sicherheit: Recht und Ordnung, Schutz vor Gefahren, festes Einkommen, Absicherung, Unterkunft</li>
<li>Soziale Bedürfnisse: Familie, Freundeskreis, Partnerschaft, Liebe, Intimität, Kommunikation</li>
<li>Anerkennungsbedürfnisse: Höhere Wertschätzung durch Status, Respekt, Anerkennung (Auszeichnungen, Lob), Wohlstand, Geld, Einfluss, private und berufliche Erfolge, mentale und körperliche Stärke</li>
<li>Selbstverwirklichung: Individualität, Talententfaltung, Perfektion, Erleuchtung, Selbstverbesserung</li>
</ol>
<p>Jetzt müssen wir uns lediglich die Frage stellen, auf welche Stufe unser &#8222;Bedürfnis&#8220; fällt. Wo würde man das vermeintliche Bedürfnis &#8222;telefonieren&#8220; verorten? Genau! Es passt da nicht rein. Man kann telefonieren, um in Kontakt mit seiner Familie oder seinen Freunden zu bleiben. Dann wäre genau das das Bedürfnis und wir könnten z.B. schreiben: &#8222;Menschen, die im sozialen Kontakt mit ihrer Familie bleiben wollen, können mit dem Festnetz-Telefon Call-2000 über das Festnetz telefonieren.&#8220;</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1003/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1003&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/03/23/anforderungen-sind-keine-bedurfnisse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview zur Architektur in Scrum</title>
		<link>http://stefanroock.wordpress.com/2011/03/20/interview-zur-architektur-in-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2011/03/20/interview-zur-architektur-in-scrum/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 09:28:33 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=1000</guid>
		<description><![CDATA[Ich habe Anfang des Jahres an der Scrum-Online-Konferenz teilgenommen. Dazu wurde ich interviewt zur Architektur in Scrum. Die Themen des Interviews umfassten: Upfront Architekturvision vs. inkrementeller Entwurf während der Sprints die Rolle des Architekten in Scrum Einsatz von Tools zur Architekturüberwachung in Scrum Das Interview gibt es in einer Kurzfassung (siehe http://vimeo.com/19394558, 42 Minuten) und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1000&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe Anfang des Jahres an der <a href="http://www.pionierbasis.com/2011/03/die-scrum-konferenz-im-ruckspiegel-betrachtet/">Scrum-Online-Konferen</a>z teilgenommen. Dazu wurde ich interviewt zur Architektur in Scrum. Die Themen des Interviews umfassten:</p>
<ul>
<li>Upfront Architekturvision vs. inkrementeller Entwurf während der Sprints</li>
<li>die Rolle des Architekten in Scrum</li>
<li>Einsatz von Tools zur Architekturüberwachung in Scrum</li>
</ul>
<p>Das Interview gibt es in einer Kurzfassung (siehe <a href="http://vimeo.com/19394558" target="_blank">http://vimeo.com/19394558</a>, 42 Minuten) und vollständig (siehe <a href="http://vimeo.com/19389234" target="_blank">http://vimeo.com/19389234</a>, 53 Minuten).</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/architecture/'>Architecture</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/1000/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/1000/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/1000/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=1000&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/03/20/interview-zur-architektur-in-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Red Pencil Code Kata</title>
		<link>http://stefanroock.wordpress.com/2011/03/04/red-pencil-code-kata/</link>
		<comments>http://stefanroock.wordpress.com/2011/03/04/red-pencil-code-kata/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 15:54:17 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=997</guid>
		<description><![CDATA[At one of my clients I have seen a real feature request being used as a Code Kata. I found the feature description very interesting and created a Code Kata description from it: Red Pencil Code Kata We provide a shopping portal, where dealers can offer their goods (similiar to Amazon market place). We want [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=997&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At one of my clients I have seen a real feature request being used as a Code Kata. I found the feature description very interesting and created a Code Kata description from it:</p>
<h3>Red Pencil Code Kata</h3>
<div>We provide a shopping portal, where dealers can offer their goods (similiar to Amazon market place). We want to support red pencil promotions for reduced prices. During the red pencil promotion the old price is crossed out in red and the new reduced price is written next to it.</div>
<div>To avoid misuse of red pencil promotions the red pencil promotions are activated and deactivated automatically.</div>
<div>The scope of the Code Kata is the implementations of the rules for activation and end of red pencil promotions.</div>
<div>
<ul id="internal-source-marker_0.031761025777086616">
<li>A red pencil promotion starts due to a price reduction. The price has to be reduced by at least 5% but at most bei 30% and the previous price had to be stable for at least 30 days.</li>
<li>A red pencil promotion lasts 30 days as the maximum length.</li>
<li>If the price is further reduced during the red pencil promotion the promotion will not be prolonged by that reduction.</li>
<li>If the price is increased during the red pencil promotion the promotion will be ended immediately.</li>
<li>If the price if reduced during the red pencil promotion so that the overall reduction is more than 30% with regard to the original price, the promotion is ended immediately.</li>
<li>After a red pencil promotion is ended additional red pencil promotions may follow &#8211; as long as the start condition is valid: the price was stable for 30 days and these 30 days don&#8217;t intersect with a previous red pencil promotion.</li>
</ul>
</div>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/testing/'>Testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/997/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=997&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/03/04/red-pencil-code-kata/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Test-Mnenomics und Testing-Dojos</title>
		<link>http://stefanroock.wordpress.com/2011/01/17/test-mnenomics-und-testing-dojos/</link>
		<comments>http://stefanroock.wordpress.com/2011/01/17/test-mnenomics-und-testing-dojos/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 11:35:46 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=995</guid>
		<description><![CDATA[Von meinem Kollegen Markus Gärtner habe ich das Konzept der Testing-Dojos für exploratives Testen kennengelernt. Inzwischen habe ich bei Kunden ein paar Testing-Dojos durchgeführt. Dabei hat sich das Vorgehen anhand von Test-Mnemomics sehr bewährt. Sie geben eine Struktur vor, entlang derer man das explorative Testen durchführen kann. So wird ganz gut verhindert, dass das Dojo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=995&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Von meinem Kollegen <a href="http://www.shino.de/">Markus Gärtner</a> habe ich das Konzept der <a href="http://blog.shino.de/2010/04/16/testing-dojos/">Testing-Dojos</a> für exploratives Testen kennengelernt. Inzwischen habe ich bei Kunden ein paar Testing-Dojos durchgeführt. Dabei hat sich das Vorgehen anhand von Test-Mnemomics sehr bewährt. Sie geben eine Struktur vor, entlang derer man das explorative Testen durchführen kann. So wird ganz gut verhindert, dass das Dojo zu einem beliebigen Rumgeclicke in der Anwendung wird.</p>
<p>Nützliche Test-Mnemomics finden sich hier: <a href="http://www.qualityperspectives.ca/mnemonics.html" target="_blank">http://www.qualityperspectives.ca/mnemonics.html</a></p>
<p>Ich komme eher aus der Programmier- als der Testecke und fand die Testing-Dojos vor diesem Hintergrund sehr spannend. Ich konnte dort sehr effektiv mitkriegen, wie die Tester arbeiten. Ich empfehle damit explizit auch allen Entwicklern, Testing-Dojos zu besuchen. Es kann wirklich sehr wertvoll sein, die Arbeit der Tester besser zu verstehen. Und es ist natürlich sehr wertvoll, selbst besser testen zu lernen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/995/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/995/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=995&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/01/17/test-mnenomics-und-testing-dojos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 in review</title>
		<link>http://stefanroock.wordpress.com/2011/01/02/2010-in-review/</link>
		<comments>http://stefanroock.wordpress.com/2011/01/02/2010-in-review/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 12:49:44 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=992</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Wow. Crunchy numbers A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 13,000 times in 2010. That&#8217;s about 31 full 747s. &#160; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=992&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Wow.</p>
<h2>Crunchy numbers</h2>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png"><img style="max-height:230px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;" src="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png?w=288" alt="Featured image" /></a></p>
<p>A Boeing 747-400 passenger jet can hold 416 passengers.  This blog was viewed about <strong>13,000</strong> times in 2010.  That&#8217;s about 31 full 747s.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>41</strong> new posts, growing the total archive of this blog to 506 posts. There were <strong>37</strong> pictures uploaded, taking up a total of 21mb. That&#8217;s about 3 pictures per month.</p>
<p>The busiest day of the year was January 7th with <strong>150</strong> views. The most popular post that day was <a style="color:#08c;" href="http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/">Festpreise und schneller durch Scrum</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>stefanroock.de</strong>, <strong>blogs.isixsigma.com</strong>, <strong>twitter.com</strong>, <strong>google.de</strong>, and <strong>stefanroock.blogspot.com</strong>.</p>
<p>Some visitors came searching, mostly for <strong>stefan roock</strong>, <strong>prolog cut</strong>, <strong>code kata</strong>, <strong>webcastellum</strong>, and <strong>roock</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/">Festpreise und schneller durch Scrum</a> <span style="color:#999;font-size:8pt;">January 2010</span><br />
4 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://stefanroock.wordpress.com/2010/03/02/kanban-definition-of-lead-time-and-cycle-time/">Kanban: Definition of Lead Time and Cycle Time</a> <span style="color:#999;font-size:8pt;">March 2010</span><br />
7 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/">Code Kata Bunkai: Prime Factors</a> <span style="color:#999;font-size:8pt;">January 2010</span><br />
11 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://stefanroock.wordpress.com/profil/">Profil ansehen</a> <span style="color:#999;font-size:8pt;">February 2009</span></p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://stefanroock.wordpress.com/2010/03/04/scrum-vs-kanban-ziel-und-weg/">Scrum vs. Kanban: Ziel und Weg</a> <span style="color:#999;font-size:8pt;">March 2010</span><br />
4 comments</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/992/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=992&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2011/01/02/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png?w=288" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>Online Scrum-Konferenz</title>
		<link>http://stefanroock.wordpress.com/2010/11/23/online-scrum-konferenz/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/23/online-scrum-konferenz/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 20:17:50 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=983</guid>
		<description><![CDATA[Die FH Vorarlberg arbeitet derzeit an einer Online Scrum-Konferenz, an der namhafte deutsche Vertreter der agilen Szene teilnehmen: Boris Gloger, Roman Pichler, Jutta Eckstein, Krishan Mathis und weitere. Weitere Informationen finden sich hier. Tagged: it-agile-blog-planet, Scrum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=983&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die FH Vorarlberg arbeitet derzeit an einer Online Scrum-Konferenz, an der namhafte deutsche Vertreter der agilen Szene teilnehmen: Boris Gloger, Roman Pichler, Jutta Eckstein, Krishan Mathis und weitere. Weitere Informationen finden sich <a href="http://www.pionierbasis.com/wp/2010/11/scrum-konferenz/">hier</a>.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/983/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/983/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/983/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=983&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/23/online-scrum-konferenz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: Practical Clojure</title>
		<link>http://stefanroock.wordpress.com/2010/11/22/buchtipp-practical-clojure/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/22/buchtipp-practical-clojure/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 19:26:12 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[Lisp]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=980</guid>
		<description><![CDATA[Wenn ich mit meinem vorigen Blogpost den einen oder anderen neugierig auf Clojure gemacht habe, gibt es hier gleich noch das passende Buch. &#8222;Practical Clojure&#8220; von Luke VanderHart und Stuart Sierra führt prägnant und kurz in die Sprache Clojure und die zugehörigen Bibiotheken ein. Das Thema Parallelität mit Clojure wird ausführlich behandelt. Das Buch kommt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=980&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.files.wordpress.com/2010/11/clojurecover1.jpg"><img class="aligncenter size-full wp-image-981" title="ClojureCover" src="http://stefanroock.files.wordpress.com/2010/11/clojurecover1.jpg?w=455" alt=""   /></a>Wenn ich mit meinem <a href="http://stefanroock.wordpress.com/2010/11/22/clojure-lernen/">vorigen Blogpost</a> den einen oder anderen neugierig auf Clojure gemacht habe, gibt es hier gleich noch das passende Buch. &#8222;Practical Clojure&#8220; von Luke VanderHart und Stuart Sierra führt prägnant und kurz in die Sprache Clojure und die zugehörigen Bibiotheken ein. Das Thema Parallelität mit Clojure wird ausführlich behandelt.</p>
<p>Das Buch kommt schnell auf den Punkt. Für jemanden, der Lisp noch nie gesehen hat und für den funktionale Programmierung ganz neu ist, könnte das Buch evtl. etwas schwer verständlich sein.</p>
<p>&nbsp;</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/lisp/'>Lisp</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/980/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/980/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/980/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=980&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/22/buchtipp-practical-clojure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/11/clojurecover1.jpg" medium="image">
			<media:title type="html">ClojureCover</media:title>
		</media:content>
	</item>
		<item>
		<title>Clojure lernen</title>
		<link>http://stefanroock.wordpress.com/2010/11/22/clojure-lernen/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/22/clojure-lernen/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 19:19:27 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Lisp]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=977</guid>
		<description><![CDATA[Um gedanklich nicht einzurosten, sehe ich mir dann und wann eine neue Programmiersprache an. Diesmal war Clojure an der Reihe. Clojure ist eine funktionale Sprache, die auf der Java VM läuft. Und letztlich ist Clojure nicht wirklich eine neue Programmiersprache, sondern ein Lisp-Dialekt. Clojure bietet an der einen oder anderen Stelle syntaktischen Zucker, so dass [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=977&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Um gedanklich nicht einzurosten, sehe ich mir dann und wann eine neue Programmiersprache an. Diesmal war Clojure an der Reihe. Clojure ist eine funktionale Sprache, die auf der Java VM läuft. Und letztlich ist Clojure nicht wirklich eine neue Programmiersprache, sondern ein Lisp-Dialekt. Clojure bietet an der einen oder anderen Stelle syntaktischen Zucker, so dass der Quelltext etwas aufgelockerter aussieht (nicht soviele runde Klammern) und dadurch für Lisp-Neulinge leichter lesbar ist. Ansonsten ist Clojure aber ein vollständiges Lisp, das sich im Gegensatz zu Common Lisp aber zu beschränken weiß: kein Mega-For-Konstruktur, kein CLOS, etc. Und einige Antiquitäten sind moderneren Einrichtungsmöbeln gewichen: <em>car</em> heißt jetzt <em>first</em> und <em>cdr</em> heißt <em>tail</em>.</p>
<p>Ich finde, das Resultat ist eine einfache, fokussierte Sprache, die einfach zu lernen ist und Spaß macht. Dazu trägt auch bei, dass Clojure bewusst funktional ist und kein OO-Hybrid. So wird man als OO-Entwickler gezwungen, sich einer anderen Perspektive beim Programmieren zu öffnen und das ist auf jeden Fall nützlich &#8211; und sei es nur zur Horizonterweiterung.</p>
<p>Neben der eigentlichen Sprache bietet Clojure einige eigene Bibiotheken, insbesondere für die Programmierung paralleler Algorithmen. Durch die funktionale Struktur von Clojure-Systemen gestaltet sich dieses Themengebiet in Clojure viel einfacher als z.B. in Java. Ich bin zwar der Meinung, dass parallele Algorithmen im Moment deutlich überschätzt sind. Aber wenn man meint, dass man es braucht, dann sollte man sich Clojure auf jeden Fall mal ansehen.</p>
<p>Und wenn man keine parallelen Algorithmen braucht, sollte man sich Clojure auch ansehen und z.B. die eine oder andere Code-Kata in Clojure programmieren. Es hat schon seinen eigenen Charme, vollständig funktional zu programmieren.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/lisp/'>Lisp</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/977/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/977/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/977/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=977&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/22/clojure-lernen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prezi &#8222;Inkrementeller Entwurf&#8220; als PDF</title>
		<link>http://stefanroock.wordpress.com/2010/11/22/prezi-inkrementeller-entwurf-als-pdf/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/22/prezi-inkrementeller-entwurf-als-pdf/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 18:59:41 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=974</guid>
		<description><![CDATA[Letztes Jahr habe ich auf dem Scrum-Gathering in München einen Vortrag über inkrementellen Entwurf gehalten. Ich habe damals Prezi benutzt, was einen Nachteil hatte: Man konnte die &#8222;Folien&#8220; nicht als PDF bereitstellen. Das hat sich jetzt geändert. Hier ist die Präsentation als PDF (dann natürlich ohne die animierten Übergänge): InkrementellerEntwurf_Roock_Okt2010 Tagged: eXtremeProgramming, it-agile-blog-planet, Scrum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=974&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Letztes Jahr habe ich auf dem Scrum-Gathering in München einen Vortrag über inkrementellen Entwurf gehalten. Ich habe damals <a href="http://prezi.com">Prezi</a> benutzt, was einen Nachteil hatte: Man konnte die &#8222;Folien&#8220; nicht als PDF bereitstellen. Das hat sich jetzt geändert. Hier ist die Präsentation als PDF (dann natürlich ohne die animierten Übergänge): <a href="http://stefanroock.files.wordpress.com/2010/11/inkrementellerentwurf_roock_okt2010.pdf">InkrementellerEntwurf_Roock_Okt2010</a></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/974/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/974/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/974/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=974&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/22/prezi-inkrementeller-entwurf-als-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Train the Trainers: &#8222;Training from the back of the room&#8220;</title>
		<link>http://stefanroock.wordpress.com/2010/11/21/train-the-trainers-training-from-the-back-of-the-room/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/21/train-the-trainers-training-from-the-back-of-the-room/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 13:35:43 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=972</guid>
		<description><![CDATA[Thursday and Friday of this week I attended the train the trainers event &#8222;Training from the back of the room&#8220; that was appended to the Scrum Gathering in Amsterdam. The training with Sharon Bowman was awesome. I had already read the first half of her book (&#8222;Training from the back of the room&#8220;) but the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=972&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Thursday and Friday of this week I attended the train the trainers event &#8222;Training from the back of the room&#8220; that was appended to the Scrum Gathering in Amsterdam. The training with <a href="http://www.bowperson.com/">Sharon Bowman</a> was awesome.<br />
I had already read the first half of her book (&#8222;Training from the back of the room&#8220;) but the training itself showed me how radical the concept really is meant. I have the subjective impression that Sharon talked less then 60 minutes during the two day training. The rest of the training was done by the 35 participants &#8211; everybody in action all the time. <em>Everybody</em> walked, talked, wrote and discussed all the time. This type of training reflects current brain research insights. Sharon describes the principles with <a href="http://www.bowperson.com/SixTrumpsArticle(2)2010.pdf">6 trumps</a>:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} --></p>
<ol>
<li>Movement trumps sitting. So we moved all the time and sat down very seldom.</li>
<li>Talking trumps listening. We talked in pairs or in small groups during the whole training.</li>
<li>Images trump words. Whenever possible Sharon used drawings, metaphors, stories etc.</li>
<li>Writing trumps reading. We read few things and wrote down insights individually or as a workgroup.</li>
<li>Shorter trumps longer. The content delivery was split up in very small chunks, each shorter than 10 minutes.</li>
<li>Different trumps same. We applied lot&#8217;s of different practices to learn the content.</li>
</ol>
<p>I highly recommend the training and the book to everybody who does training.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/972/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/972/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/972/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=972&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/21/train-the-trainers-training-from-the-back-of-the-room/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>The Liskov Substitution Principle (LSP) in duck typed programming languages</title>
		<link>http://stefanroock.wordpress.com/2010/11/08/the-liskov-substitution-principle-lsp-in-duck-typed-programming-languages/</link>
		<comments>http://stefanroock.wordpress.com/2010/11/08/the-liskov-substitution-principle-lsp-in-duck-typed-programming-languages/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 10:16:48 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=961</guid>
		<description><![CDATA[This article is the follow up to a Twitter conversation in which at least @johanneslink, @jasongorman, @leiderleider and @berndschiffer were involved. The question was if the Liskov Substitution Principle would apply if you don&#8217;t use inheritance. I had to stop participating in the Twitter conversation since 140 character messages are just too short to explain [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=961&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This article is the follow up to a Twitter conversation in which at least @johanneslink, @jasongorman, @leiderleider and @berndschiffer were involved. The question was if the Liskov Substitution Principle would apply if you don&#8217;t use inheritance. I had to stop participating in the Twitter conversation since 140 character messages are just too short to explain my point of view. Here is the longer version:</p>
<p><strong>The Liskov Substitution Principle</strong><br />
The Liskov Substitution Principle (LSP): &#8222;[...] states that, if S is a subtype of T, then objects of type T in a computer program may be replaced with objects of type S (i.e., objects of type S may be substituted for objects of type T), without altering any of the desirable properties of that program (correctness, task performed, etc.).&#8220; (Source: <a href="http://en.wikipedia.org/wiki/Liskov_substitution_principle">Wikipedia</a>).<br />
The more formal definition of the LSP is: &#8222;Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.&#8220; (Source: <a href="http://en.wikipedia.org/wiki/Liskov_substitution_principle">Wikipedia</a>).<br />
And to be complete, here is the definition of <em>subtype</em>: &#8222;In programming language theory, subtyping or subtype polymorphism is a form of type polymorphism in which a subtype is a datatype that is related to another datatype (the supertype) by some notion of substitutability, meaning that program constructs, typically subroutines or functions, written to operate on elements of the supertype can also operate on elements of the subtype.&#8220; (Source: <a href="http://en.wikipedia.org/wiki/Subtype">Wikipedia</a>).</p>
<p>While <em>subtype</em> and <em>LSP</em> sound similar, there is a difference: The subtype relation normally is interpreted as a syntactical property. If the required methods are available on an object, everything is valid. The Liskov Substitution Principle goes beyond that and adds a requirement on the semantics of the methods.</p>
<p><strong>Example (in pseudo code)</strong></p>
<pre>class A {

    public void m() { ... do something ... }

}

class B extends A {

    public void m() {
        throw new Exception();
    }

}
</pre>
<p>In this case B is a subtype of A. B has the same methods as A. But the LSP may be violated. If the clients of A expect m to not throw an exception, B&#8217;s implementation of m breaks the LSP. Regarding the formal definition of the LSP (&#8222;Let q(x) be a property provable about objects x of type T.&#8220;). The property q would be that the execution of m won&#8217;t throw an exception. This property is true for A&#8217;s implementation of m but not for B&#8217;s implementation of m. Therefore you shouldn&#8217;t use objects of class B where a client expects objects of class A. While that would be syntactically correct it isn&#8217;t semantically valid.</p>
<p><strong>The Liskov Substitution Principle in class typed languages</strong><br />
In most statically typed object-oriented languages (like C++, Java, C#) the subtype relation is defined by inheritance between classes. When a class B inherits from a class A the defined type B is a  subtype of A. The example above showed that the LSP may be violated due to specific method implementations provided by B.<br />
Some languages (like Java) provide an interface concept. Interfaces only define the signature of methods but don&#8217;t provide method implementations. Classes implement interfaces and provide the method implementations. With interfaces the LSP is still a useful concept. The clients of an Interface C rely on a certain behaviour of the objects implementing the interface. Again the clients of C may assume that m won&#8217;t throw exceptions.</p>
<pre>interface C {

    public void m();

}

class A implements C {

    public void m() {
        throw new Exception();
    }

}</pre>
<p>In the example code A&#8217;s implementation of m will break the LSP.</p>
<p>These situations are clear and well understood. But what happens in programming languages with <a href="http://en.wikipedia.org/wiki/DuckTyping">duck typing</a> (like Ruby)? </p>
<p><strong>The Liskov Substitution Principle in duck typed languages</strong><br />
In programming languages with duck typing (e.g. Ruby, Python, Smalltalk) classes don&#8217;t really define types. There is no type checking when assigning objects to variables or passing objects as method arguments. There is a kind of type checking when a method is called. It is checked that the method exists with a matching number of parameters.<br />
Since classes don&#8217;t define types, inheritance in duck typed languages has nothing to do with the subtype relation or the LSP.<br />
In a way clients define interfaces in an implicit way. Let&#8217;s look at an example:</p>
<pre>def my_method1(a) do
    a.m1()
    a.m2()
    my_method2(a)
end

def my_method2(a) do
  a.m3()
end</pre>
<p>Calling my_method1 with an object a will succeed if the object a provides the three methods m1, m2 and m3. This is the implicit interface the object a needs to implement. And with this implicit interface comes the clients expectation about the behaviour of m1, m2 and m3. That&#8217;s just the same as with the Java interface. If an object b provides m1, m2 and m3 but doesn&#8217;t fit the expected behaviour, the LSP is violated.</p>
<p><strong>Conclusion</strong><br />
The LSP isn&#8217;t tied to inheritance or class based typing. It applies to duck types languages as well as to systems without inheritance. LSP is a concept that applies to all kinds of polymorphism. Only if you don&#8217;t use polymorphism of all you don&#8217;t need to care about the LSP.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/961/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/961/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/961/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=961&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/11/08/the-liskov-substitution-principle-lsp-in-duck-typed-programming-languages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>ScrumBut auf den XP-Days Germany</title>
		<link>http://stefanroock.wordpress.com/2010/10/25/scrumbut-auf-den-xp-days-germany/</link>
		<comments>http://stefanroock.wordpress.com/2010/10/25/scrumbut-auf-den-xp-days-germany/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 06:54:42 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=955</guid>
		<description><![CDATA[Am 25. bis 27.11.2010 finden in Hamburg die XP-Days Germany statt. Ich werde dort über ScrumBut vortragen und würde mich freuen, Euch zahlreich auf den XP-Days zu treffen. Abstract meines Vortrags Es gibt immer wieder die Frage nach Anpassungen an Scrum. Für Anpassungen, die man nur macht, um Probleme nicht lösen zu müssen, hat Ken [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=955&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Am 25. bis 27.11.2010 finden in Hamburg die <a href="http://xpdays.de">XP-Days Germany</a> statt.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/10/xpdays-speaker.png"><img class="aligncenter size-full wp-image-956" title="XPDays Speaker" src="http://stefanroock.files.wordpress.com/2010/10/xpdays-speaker.png?w=455" alt=""   /></a></p>
<p>Ich werde dort über <a href="http://xpdays.de/twiki/bin/view/XPDays2010/ScrumButOderAgilAber">ScrumBut</a> vortragen und würde mich freuen, Euch zahlreich auf den XP-Days zu treffen.</p>
<p><strong>Abstract meines Vortrags</strong></p>
<p>Es gibt immer wieder die Frage nach Anpassungen an Scrum. Für  Anpassungen, die man nur macht, um Probleme nicht lösen zu müssen, hat  Ken Schwaber den Begriff <span style="color:#000000;">ScrumBut</span> geprägt. Im diesem Vortrag geht es um die Frage, welche Anpassungen an  Scrum gerechtfertigt sind und von welchen man lieber die Finger lassen  sollte.</p></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/955/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/955/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/955/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=955&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/10/25/scrumbut-auf-den-xp-days-germany/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/10/xpdays-speaker.png" medium="image">
			<media:title type="html">XPDays Speaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: &#8222;Inspired &#8211; How to create products customers love&#8220; von Marty Cagan</title>
		<link>http://stefanroock.wordpress.com/2010/10/22/buchtipp-inspired-how-to-create-products-customers-love-von-marty-cagan/</link>
		<comments>http://stefanroock.wordpress.com/2010/10/22/buchtipp-inspired-how-to-create-products-customers-love-von-marty-cagan/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 19:11:15 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=949</guid>
		<description><![CDATA[Das Buch richtet sich an Produktmanager/Product Owner und ist aufgeteilt in drei Teile: People, Process, Product. Das Buch hat seinen Schwerpunkt auf Internet-Anwendungen. Viele der dargestellten Konzepte sind auf andere Anwendungstyper aber problemlos übertragbar. Der People-Teil hat mir nicht so viel gegeben. Was dort steht, ist alles richtig, aber vieles davon schien mir selbstverständlich. Das [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=949&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.files.wordpress.com/2010/10/cagan.jpg"><img class="aligncenter size-full wp-image-950" title="cagan" src="http://stefanroock.files.wordpress.com/2010/10/cagan.jpg?w=455" alt=""   /></a></p>
<p>Das Buch richtet sich an Produktmanager/Product Owner und ist aufgeteilt in drei Teile: People, Process, Product. Das Buch hat seinen Schwerpunkt auf Internet-Anwendungen. Viele der dargestellten Konzepte sind auf andere Anwendungstyper aber problemlos übertragbar.</p>
<p>Der People-Teil hat mir nicht so viel gegeben. Was dort steht, ist alles richtig, aber vieles davon schien mir selbstverständlich. Das ist vielleicht meinem agilen Hintergrund geschuldet. Anderes erschien mir zu unkonkret.</p>
<p>Die Teile über Prozess und Produkt fand ich viel besser. Hier stehen absolut richtige und wichtige Dinge für Produktmanager / Product Owner. Vor einem Scrum-Hintergrund liefert das Buch unter anderem konkrete und nützliche Hinweise dazu, was der Product Owner vor dem ersten Sprint zu tun hat. Besonders gut hat mir gefallen (weil es in der Praxis leider häufig anders gehandhabt wird):</p>
<ul>
<li>Cagan macht deutlich, dass es einen Unterschied zwischen Anwenderanforderungen und Produktfeatures gibt. Nicht alles, was sich Anwender wünschen, muss oder sollte umgesetzt werden.</li>
<li>Das bedeutet aber nicht, dass der Produktmanager keinen Kontakt zu Anwendern haben muss. Das Gegenteil ist der Fall; er muss von Beginn an sehr engen Kontakt mit den Anwendern pflegen und kann diese Aufgabe auch nicht delegieren.</li>
<li>Produktideen müssen validiert werden. Das kann bis zu einem gewissen Maße bereits vor Beginn der eigentlichen Entwicklung (erster Sprint) geschehen. Dazu sind Prototypen notwendig, die man direkt Anwendern zeigt und Feedback einholt. Auch das muss der Produktmanager persönlich tun und kann es nicht delegieren.</li>
</ul>
<p>Es gab nur einen Punkt, wo ich eine andere Meinung vertrete als Cagan: Er erweckte bei mir mehrfach den Eindruck, als schwebe ihm eine sehr strikte Trennung zwischen Produktmanagement und Entwicklung vor. Ich glaube, dass man sich damit viele Chancen vertut und stattdessen eine sehr enge Zusammenarbeit zwischen beiden Parteien anstreben sollte, in der die Entwickler nicht einfach nur das liefern, was der Produktmanager bei ihnen bestellt, sondern zusammen mit dem Produktmanager konzipieren.</p>
<p style="text-align:center;"><strong>Fazit: Ein äußerst wertvolles Buch für jeden Produktmanager/Product Owner (auch wenn nach Wasserfall entwickelt wird).</strong></p>
<p style="text-align:center;">
<p style="text-align:left;"><strong><br />
</strong></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/949/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=949&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/10/22/buchtipp-inspired-how-to-create-products-customers-love-von-marty-cagan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/10/cagan.jpg" medium="image">
			<media:title type="html">cagan</media:title>
		</media:content>
	</item>
		<item>
		<title>Meine Mac-Erfahrungen</title>
		<link>http://stefanroock.wordpress.com/2010/10/08/meine-mac-erfahrungen/</link>
		<comments>http://stefanroock.wordpress.com/2010/10/08/meine-mac-erfahrungen/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 18:35:20 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=947</guid>
		<description><![CDATA[Vor gut einem halben Jahr habe mein IBM/Lenovo Thinkpad-Notebook mit Ubuntu eingetausch gegen ein MacBook Pro. Zeit genug, um ein vorläufiges Resume zu ziehen. In meiner persönlichen total subjektiven Bewertung liegt der Mac eine Nasenlänge vor Thinkpad mit Ubuntu. (Beide liegen um Längen vor Windows, auch vor Windows 7). Im Einzelnen (+ bedeutet, dass es [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=947&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor gut einem halben Jahr habe mein IBM/Lenovo Thinkpad-Notebook mit Ubuntu eingetausch gegen ein MacBook Pro. Zeit genug, um ein vorläufiges Resume zu ziehen. In meiner persönlichen total subjektiven Bewertung liegt der Mac eine Nasenlänge vor Thinkpad mit Ubuntu. (Beide liegen um Längen vor Windows, auch vor Windows 7).</p>
<p>Im Einzelnen (+ bedeutet, dass es besser ist als Thinkpad/Ubuntu, &#8211; bedeutet, dass es schlechter ist, = bedeutet, dass es ungefähr gleich ist):</p>
<p><strong>Gehäuse</strong><br />
+ Aluminium fühlt sich edel an<br />
- sieht aber mit etwas Abstand eigentlich genauso aus wie billiges Plastik<br />
- ist etwas rutschig, wenn man zugeklapptes Gerät aufrecht trägt<br />
- lädt sich bei passendem Wetter elektrostatisch auf, so dass man beim Anfassen manchmal leichte Stromschläge bekommt<br />
- mattes Display kostet Aufpreis<br />
+ Akku kann man nicht einfach so austauschen und es gibt anscheinend keinen Zweitakku<br />
- es gibt keine Docking-Station, aber fast alles ist USB also tut es auch ein USB-Hub</p>
<p><strong>Tastatur</strong><br />
+ beleuchtet<br />
- Return-Taste sehr klein<br />
- Cursor-Tasten sehr klein<br />
- kein POS1/Ende: Im Prinzip durch andere Tastenkombinationen ersetzbar, aber die sind nicht in allen Apps verfügbar oder kollidieren mit Spaces<br />
- keine Page-Up/Page-Down-Tasten<br />
- Anschlag: nicht so gut wie bei Lenovo Thinkpad, aber besser als bei Billig-Dell<br />
= Was auf PC &#8222;Ctrl&#8220; heißt hier &#8222;Cmd&#8220; und &#8222;Ctrl&#8220; auf dem Mac ist was ganz anderes. Daran habe uch mich aber schnell gewöhnt.<br />
- []|{} ist nicht auf die Tasten drauf gedruckt. Ich weiß, wo die Zeichen sind, habe beim Tippen aber doch immer eine leichte Verzögerung.</p>
<p><strong>Trackpad</strong><br />
+ sehr groß und dadurch gewöhnungsbedürftig: am Anfang hatte ich da immer mehrere Finger drauf und habe versehentlich Gesten ausgeführt; daran habe ich mich aber schnell gewöhnt und habe jetzt Probleme mit den kleinen Trackpads der PC-Notebooks<br />
+ durch die Größe arbeitet man eher mit beiden Händen (eine für Bewegung, eine für Klicken, was wiederum ganz angenehm sein kann)<br />
+ Gesten für Scrollen, Zoomen, Drehen etc.</p>
<p><strong>Sleep-Mode</strong><br />
+ Der Rechner erwacht super-schnell aus dem Sleep-Mode.</p>
<p><strong>Betriebssystem/Oberfläche</strong><br />
+ die allermeisten Mac-Programme haben eine sehr gefällige und einheitliche Optik. Das ist deutlich angenehmer als unter Ubuntu.<br />
- Spaces kommen nicht an Linux heran: sind mit der Maus nur umständlich zu benutzen<br />
- Spaces: keine Visualisierung der offenen Fenster in der Menüleiste, dadurch schlechte Übersicht, was man wo auf hat<br />
+ Dock: Nett<br />
= Drucken ging nicht auf Anhieb mit MP620; ich musste Treiber bei Canon runterladen; immerhin gibt es welche für Mac und sie funktionieren auch gleich einwandfrei<br />
= Spot-Light ist nützlich (ähnlich dem Ubuntu-Äquivalent)<br />
- Finder kann kein FTP/SFTP (im Gegensatz zu Ubuntu Nautilus)<br />
- Der Finder hat insgesamt ein paar nette Features und teilweise total verwirrendes Verhalten. Das scheint mir mal ein Komplett-Rewrite angesagt.<br />
- Nach wir vor finde ich merkwürdig und auch eher störend, dass Programme weiterlaufen, auch wenn alle Fenster geschlossen sind.<br />
- Die Anzeige der Akku-Restlaufzeit scheint mir ziemlich erratisch. Nach dem Laden des Akkus zeigt der Mac 5:30 Stunden an. Nach 30 Minuten harmloser Aktivität sind noch 2 übrig.</p>
<p><strong>Applikationen</strong><br />
+ Skype ist einfacher zu installieren als unter Ubuntu; Video funktioniert auf Anhieb; keine Audio-Probleme<br />
+ DVD geht sofort. Allerdings hat der mitgelieferte DVD-Player deutliche Usability-Defizite (z.B. beim Einschalten des Vollbild-Modus)<br />
- MPEG, WMV gehen nicht auf Anhieb und man muss Zusatzkram im Internet finden und runterladen<br />
- Safari öffnet Links immer in neuen Fenstern und man kann das in Safari selbst nicht umstellen. Wenn man &#8222;defaults write com.apple.Safari TargetedClicksCreateTabs -bool true&#8220; in der Console startet und dann Safari neu startet, werden Links in Tabs geöffnet. Das ist mir alles zu nervig und ich benutze dann doch lieber Firefox auf Mac.<br />
- Installation von Komponenten und Software ist in Ubuntu über das Software-Center viel eleganter gelöst als auf Mac. Aber vielleicht macht Apple hier ja mit dem geplanten Mac-App-Store Boden gut.<br />
+ Synchronisation mit dem iPhone geht unter Mac natürlich nahtlos und ist unter Ubuntu leider eine ziemliche Katastrophe. Ubuntu erfordert eigentlich ein Android-Handy.</p>
<p><strong>Programmierung</strong><br />
+ Ruby/Rails gleich drauf<br />
= Installation aber sonst wie Linux: Compilefehler bei gem install webrat, weil man erst 2,5 GB XCode-Kram installieren muss<br />
- Vervollständigung mit Tab in der Shell funktioniert nur Top-Level, aber nicht mehr danach (git pull origin master)<br />
- Für Navigation in einer Zeile in der Shell muss man sich eigene Tastenkürzel merken oder irgendwas konfigurieren, was ich nicht verstanden habe.<br />
+ TextMate ist ganz cool</p>
<p>Wie gesagt, meine persönliche Bewertung für meine speziellen Einsatzkontexte. Ich nutze z.B. durch meine Reiserei viele Multimedia-Funktionalitäten (DVD im Hotel), Skype zum Telefonieren etc. Wenn ich den Rechner nur zum Programmieren verwenden würde, würde ich Ubuntu den Vorzug geben.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/947/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/947/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=947&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/10/08/meine-mac-erfahrungen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Poll about code katas</title>
		<link>http://stefanroock.wordpress.com/2010/10/07/poll-about-code-katas/</link>
		<comments>http://stefanroock.wordpress.com/2010/10/07/poll-about-code-katas/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 14:02:44 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=945</guid>
		<description><![CDATA[We have created a poll about code katas to better understand the current use of code katas and the needs of programmers doing code katas. Please help us to gather the data and participate in the anonymuous poll (only eats 5 minutes of your time): Participate in Poll and please spread the link to the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=945&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We have created a poll about code katas to better understand the current use of code katas and the needs of programmers doing code katas. Please help us to gather the data and participate in the anonymuous poll (only eats 5 minutes of your time): <a href="http://spreadsheets.google.com/a/it-agile.de/viewform?hl=en&amp;formkey=dFk5cl9Dbk00ZnU1T2xaOFkwTVpEUVE6MQ#gid=0">Participate in Poll</a> and please spread the link to the poll.</p>
<p>We will puplish the results after the poll ended.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/craftsmanship/'>craftsmanship</a>, <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/refactoring/'>Refactoring</a>, <a href='http://stefanroock.wordpress.com/tag/testing/'>Testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/945/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/945/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/945/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=945&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/10/07/poll-about-code-katas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Vortrag auf dem Objekt-Forum-Nord: &#8222;Auf der Suche nach dem Qualitäter&#8220;</title>
		<link>http://stefanroock.wordpress.com/2010/09/21/vortrag-auf-dem-objekt-forum-nord-auf-der-suche-nach-dem-qualitater/</link>
		<comments>http://stefanroock.wordpress.com/2010/09/21/vortrag-auf-dem-objekt-forum-nord-auf-der-suche-nach-dem-qualitater/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 11:43:45 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=942</guid>
		<description><![CDATA[Am 14.09.2010 haben Roman Pichler und ich auf dem Objekt-Forum Nord in Hamburg über Qualität vorgetragen. Roman hatte sich die Product-Owner-Sicher vorgenommen und ich die Entwicklersicht unter dem Titel: &#8222;Auf der Suche nach dem Qualitäter&#8220;. Die PDFs der Folien finden sich hier zum Download. Ich hatte meinem Vortrag begonnen mit einem Beispiel für wirklich schlecht [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=942&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Am 14.09.2010 haben Roman Pichler und ich auf dem Objekt-Forum Nord in Hamburg über Qualität vorgetragen. Roman hatte sich die Product-Owner-Sicher vorgenommen und ich die Entwicklersicht unter dem Titel: &#8222;Auf der Suche nach dem Qualitäter&#8220;.</p>
<p><a href="http://www.it-agile.de/26.html?&amp;tx_ttnews[tt_news]=1709&amp;cHash=d0d315aa8f">Die PDFs der Folien finden sich hier zum Download.</a></p>
<p>Ich hatte meinem Vortrag begonnen mit einem Beispiel für wirklich schlecht strukturierten Code (siehe Folien) und habe ein paar Fragen ans Publikum gestellt. Die Antworten finde ich ganz interessant (die Zahlen stimmen im Detail wohl nicht, weil ich sie aus der Erinnerung rekonstruiert habe &#8211; die Größenordung passt aber).</p>
<ul>
<li>Wer ist sich sicher, dass es so schlecht strukturierten Code bei ihm im Projekt/Unternehmen gibt? Meldungen: 40</li>
<li>Wer ist sich sicher, dass es solchen Code bei ihm nicht gibt? Meldungen: 1</li>
<li>Wer ist sich unsicher? Meldungen: 5</li>
<li>Wer kennt TDD? Meldungen: 30</li>
<li>Wer nutzt TDD? Meldungen: 20</li>
<li>Wer kennt SOLID? Meldungen: 20</li>
<li>Wer nutzt SOLID? Meldungen: 10</li>
</ul>
<p>Das Ergebnis passte auf jeden Fall gut zur Argumentationslinie meines Vortrags. Obwohl zumindest ein Teil der Teilnehmer TDD und SOLID kennen und nutzen, scheint es nur geringe Auswirkungen auf die Code-Qualität zu haben. Nach meiner These nützt das beste Handwerkszeug nichts, wenn man es unter Druck nicht anwendet.</p>
<p>Daher mein Argument, wir müssten Berufsehre für unsere Branche etablieren: Wir sind stolz auf unseren Code und schreiben nichts, was unter diesem (subjektiven) Qualitätsstandard liegt. Nichts. Niemals. Und wenn wir dort angekommen sind, werden uns Vorgehensweisen wie TDD und Entwurfsprinzipien wie SOLID wirklich wichtige Dienste leisten.</p>
<p>Warum man das <a href="http://manifesto.softwarecraftsmanship.org/">Manifesto for Software Craftsmanship</a> unterzeichnen und sich ein <a href="http://butunclebob.com/ArticleS.UncleBob.GreenWristBand">Clean-Code-Armband</a> besorgen sollte, steht in den Folien.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/architecture/'>Architecture</a>, <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/942/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=942&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/09/21/vortrag-auf-dem-objekt-forum-nord-auf-der-suche-nach-dem-qualitater/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: Unfolding the Napkin</title>
		<link>http://stefanroock.wordpress.com/2010/08/16/buchtipp-unfolding-the-napkin/</link>
		<comments>http://stefanroock.wordpress.com/2010/08/16/buchtipp-unfolding-the-napkin/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 07:42:50 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=924</guid>
		<description><![CDATA[Wir Menschen können Bilder sehr schnell und effizient verarbeiten. Wenn wir Lesen oder Zuhöhren, sind wir viel langsamer. Dazu passend besteht die Napkin-Idee darin, Probleme, Ideen und Konzepte per handgemalter Skizzen zu visualisieren. Ich arbeite ohnehin gerne an Whiteboards und Flipcharts. Der Napkin-Ansatz fügte sich da nahtlos ein und brachte mir viele neue Konzepte und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=924&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Wir Menschen können Bilder sehr schnell und effizient verarbeiten. Wenn wir Lesen oder Zuhöhren, sind wir viel langsamer. Dazu passend besteht die Napkin-Idee darin, Probleme, Ideen und Konzepte per handgemalter Skizzen zu visualisieren. Ich arbeite ohnehin gerne an Whiteboards und Flipcharts. Der Napkin-Ansatz fügte sich da nahtlos ein und brachte mir viele neue Konzepte und Ideen für die Visualisierung.</p>
<p>Inzwischen habe ich auch viele Beispiele aus meiner beruflichen Praxis, die die Handskizzen-These des Napkin-Ansatzes unterstützen. Ich arbeite z.B. in meinen Schulungen gänzlich ohne Folien, sondern erstelle Visualisierungen während der Schulungen auf Flipcharts. Es gab bisher keinen einzigen Teilnehmer, der das bemängelt hätte. Es gab aber sehr viele, die das Vorgehen explizit gelobt haben. Ein anderes Beispiel ist eine Konzeptarbeit für ein großes deutsches Unternehmen. Ich habe die ganze Konzeption am Flipchart gemacht und auch die Management-Präsentation der Ergebnisse mit Flipcharts gehalten. Die Resonanz war außerordentlich positiv. Auf Wunsch des Kunden hin habe ich danach die Flipcharts 1:1 nach Powerpoint überführt, nur eben professionell mit den Zeichen- und Formentools von Powerpoint. Kommentar des Kunden: &#8222;Danke für die Powerpoint-Präsentation. Hm. Die Flipcharts waren irgendwie doch besser.&#8220;</p>
<p><a href="http://www.amazon.de/gp/product/1591843197?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=1591843197">Unfolding the Napkin</a><img src="http://www.assoc-amazon.de/e/ir?t=stefroochome-21&amp;l=as2&amp;o=3&amp;a=1591843197" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" /> ist das Folgebuch zu <a href="http://www.amazon.de/gp/product/1591843065?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=1591843065">The Back of the Napkin</a><img src="http://www.assoc-amazon.de/e/ir?t=stefroochome-21&amp;l=as2&amp;o=3&amp;a=1591843065" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" />, das ich bereits in einem <a href="http://stefanroock.wordpress.com/2009/05/01/buchempfehlung-the-back-of-the-napkin/">früheren Blogpost</a> empfohlen hatte.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/08/napkin.jpg"><img src="http://stefanroock.files.wordpress.com/2010/08/napkin.jpg?w=455" alt="" title="napkin"   class="aligncenter size-full wp-image-931" /></a></p>
<p>Beide Bücher widmen sich dem Thema der Visualisierung, um Probleme darzustellen und zu lösen. Der passende Untertitel zu &#8222;Unfolding the Napkin&#8220; lautet entsprechend: &#8222;The hands-on method for Solving Complex Problems with Simple Pictures&#8220;. Während das erste Buch die Konzepte eher theoretisch erläutert, ist &#8222;Unfolding the Napkin&#8220; ein Praxisbuch mit vielen Übungen, die man direkt für sich ausprobieren kann. Ich fand &#8222;The Back of the Napkin&#8220; schon sehr schön, finde &#8222;Unfolding the Napkin&#8220; aber noch besser. Ich vermute, dass man &#8222;Unfolding the Napkin&#8220; auch dann sehr gut verstehen kann, wenn man &#8222;The Back of the Napkin&#8220; vorher nicht gelesen hat.</p>
<p>Meiner Meinung nach ist das Buch extrem wertvoll für jeden, der Probleme oder Konzepte erstellen oder präsentieren will oder muss: Trainer, Berater, Entwickler, &#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/924/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/924/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/924/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=924&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/08/16/buchtipp-unfolding-the-napkin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.de/e/ir?t=stefroochome-21&#38;l=as2&#38;o=3&#38;a=1591843197" medium="image" />

		<media:content url="http://www.assoc-amazon.de/e/ir?t=stefroochome-21&#38;l=as2&#38;o=3&#38;a=1591843065" medium="image" />

		<media:content url="http://stefanroock.files.wordpress.com/2010/08/napkin.jpg" medium="image">
			<media:title type="html">napkin</media:title>
		</media:content>
	</item>
		<item>
		<title>Nabnak</title>
		<link>http://stefanroock.wordpress.com/2010/07/14/nabnak/</link>
		<comments>http://stefanroock.wordpress.com/2010/07/14/nabnak/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 14:01:19 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=919</guid>
		<description><![CDATA[Just a thought experiment: What do you get when reversing Kanban? Obviously the name of reversed Kanban would be Nabnak &#8211; at least it has a fancy name. Kanban has two key properties: Limit work in progress to an upper limit with a preference for lower limits. Pull from upstream processes. Therefore in Nabnak you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=919&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a thought experiment: What do you get when reversing Kanban? Obviously the name of reversed <em>Kanban</em> would be <em>Nabnak</em> &#8211; at least it has a fancy name.</p>
<p>Kanban has two key properties:</p>
<ol>
<li>Limit work in progress to an upper limit with a preference for lower limits.</li>
<li>Pull from upstream processes.</li>
</ol>
<p>Therefore in Nabnak you would</p>
<ol>
<li>Ensure that work in progress never falls below a bottom limit with a preference for higher limits.</li>
<li>Push work to downstream processes.</li>
</ol>
<p>OK, that sounds completely ridiculous. But when would you possibly do such a thing. Perhaps when two conditions hold true:</p>
<ol>
<li>Developers are so expensive that a high utilization outperforms all other metrics.</li>
<li>At the same time developers are too dumb to pull work. Somebody has to push the work to them.</li>
</ol>
<p>These two conditions seem mutually exclusive. Therefore Nabnak is in fact complete nonesense. But guess what: I am not the inventor of Nabnak &#8211; I just gave it a fancy new name. Nabnak was formerly known as waterfall.</p>
<p>You may not like Kanban but it is not a new name for waterfall. If there is a new name for waterfall it is reversed Kanban: <em>Nabnak</em>.</p>
<p>P.S.: In fact there may be useful applications of a minimum work in progress limit for certain columns of a Kanban board. I may blog about that in another article.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/919/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/919/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=919&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/07/14/nabnak/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Wasteful Scrum Meetings</title>
		<link>http://stefanroock.wordpress.com/2010/07/12/wasteful-scrum-meetings/</link>
		<comments>http://stefanroock.wordpress.com/2010/07/12/wasteful-scrum-meetings/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 12:28:54 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=894</guid>
		<description><![CDATA[Sometimes the Scrum meetings (planning, review, retrospective, daily scrum) are considered to be wasteful overhead. Sorry, but that is bullshit. If the Scrum meetings feel like wasteful overhead, it is almost always your own failure. Focus is one of the Scrum values. If your Scrum meetings feel wasteful, they need better focus. Stop doing the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=894&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sometimes the Scrum meetings (planning, review, retrospective, daily scrum) are considered to be wasteful overhead.</p>
<p style="text-align:center;"><em>Sorry, but that is bullshit. If the Scrum meetings feel like wasteful overhead, it is almost always your own failure.</em></p>
<p>Focus is one of the Scrum values. If your Scrum meetings feel wasteful, they need better focus. Stop doing the things that don&#8217;t provide value.</p>
<p>Let&#8217;s look at the meetings one by one.</p>
<p><strong>Estimation Meeting</strong></p>
<p>During the estimation meeting two things should happen:</p>
<ol>
<li>The product backlog items are estimated by the team.</li>
<li>More important: Knowledge is shared between Product Owner and Team and the Team participates in definition, splitting and refining product backlog items.</li>
</ol>
<p>If the Product Owner doesn&#8217;t have to forecast a release date or development effort, he could simply skip point 1. An alternative could be to use a very rough estimate and simply use an estimation of 1 story point for every backlog item.</p>
<p>If the product backlog items are simple and clear point 2 may not be neccessary. In that case you could simply skip it.</p>
<p>If both points aren&#8217;t neccessary you can skip the whole meeting. There is a reason that the estimation meeting is not an official part of Scrum.</p>
<p><strong>Sprint Planning</strong></p>
<p>The goal of the sprint planning is of course to plan the Sprint. It is dependent on the team how it is done best and how much effort the team has to invest. I have seen teams doing a Sprint Planning in a few minutes.</p>
<p>Doing a task breakdown is a proven practice during the Sprint Planning but it is not a must. If the team can generate value with only considering the stories, the team doesn&#8217;t need to do a task breakdown during the Sprint Planning. The team could do an ad-hoc task breakdown when it begins working on the story. If the stories are really tiny the team may need no task breakdown at all.</p>
<p><strong>Sprint Review</strong></p>
<p>If the Product Owner is colocated with the development team he should have seen the implemented stories before the Sprint Review. Therefore there may be no need to present the stories again to the Product Owner during the Sprint Review. But there is much more to the Sprint Review. The Product Owner should invite the stakeholders to the Sprint Review meeting so that they can get a first-hand impression about status and progress of the development.</p>
<p><strong>Sprint Retrospective</strong></p>
<p>The Sprint Retrospective is the focus point where the teams tries to improve. If the retrospectives feel like waste, the facilitator is probably not doing his job effectivly.</p>
<p><strong>Daily Scrum</strong></p>
<p>The 15 minutes of the Daily Scrum should help the development team to focus on the next step within the Sprint. The team finds out where it stands and defines the plan for the day. A team may or may not use the full 15 minutes. But if there is a team the members simply have to coordinate. Within very small teams (e.g. 2 persons) there may be no need for a Daily Scrum. But even in these cases I have seen Daily Scrums to be very useful.</p>
<p>Similar to the retrospectives: If the Daily Scrum feels like waste, probably the ScrumMaster isn&#8217;t facilitating effectivly.</p>
<p><strong>Assumptions</strong></p>
<p>There are two assumptions underlying this blog post:</p>
<ul>
<li>You want to work with a team and not just a group of people.</li>
<li>You want to work with timeboxed Sprints.</li>
</ul>
<p>If one of these assumptions doesn&#8217;t hold true, one may come to other conclusions.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/894/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=894&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/07/12/wasteful-scrum-meetings/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchempfehlungen zu lösungsorientiertem Coaching</title>
		<link>http://stefanroock.wordpress.com/2010/07/08/buchempfehlungen-zu-losungsorientiertem-coaching/</link>
		<comments>http://stefanroock.wordpress.com/2010/07/08/buchempfehlungen-zu-losungsorientiertem-coaching/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 08:47:01 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=912</guid>
		<description><![CDATA[In der letzten Zeit sind lösungsorientierte Ansätze (im Gegensatz zu problemorientierten Ansätzen wie Root-Cause-Analysis) etwas bekannter geworden. So haben wir auch beim Retrospektiven-Training am 25.08.2010 in Hamburg die lösungsorientierten Ansätze dabei. Die Grundzüge der Lösungsorientierung hatte ich bereits in einem vorigen Blogpost erklärt. Nützliche Literatur zu dem Thema findet sich z.B. in den beiden Büchern [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=912&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In der letzten Zeit sind lösungsorientierte Ansätze (im Gegensatz zu problemorientierten Ansätzen wie Root-Cause-Analysis) etwas bekannter geworden. So haben wir auch beim <a href="http://www.it-agile.de/retrospektiven-schulung.html">Retrospektiven-Training am 25.08.2010 in Hamburg</a> die lösungsorientierten Ansätze dabei. Die Grundzüge der Lösungsorientierung hatte ich bereits in einem <a href="http://stefanroock.wordpress.com/2010/06/19/losungs-vs-problemorientierung/">vorigen Blogpost erklärt</a>.</p>
<p>Nützliche Literatur zu dem Thema findet sich z.B. in den beiden Büchern &#8222;Coaching &#8211; erfrischend einfach&#8220; von Daniel Meier und Peter Szabo sowie &#8222;Wege zur erfolgreichen Teamentwicklung&#8220; von Daniel Meier.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/07/coaching1.jpg"><img class="aligncenter size-full wp-image-914" title="coaching" src="http://stefanroock.files.wordpress.com/2010/07/coaching1.jpg?w=455" alt=""   /></a>Das erste Buch erklärt die Ideen und Techniken des lösungsorientierten Coachings auf individueller Ebene. Der Hintergrund ist allgemeines Coaching und nicht speziell IT. Die beschriebenen Techniken lassen sich aber leicht auf IT-Kontexte (z.B. für die Arbeit als ScrumMaster) übertragen. Das Buch ist angenehm kurz und leicht verständlich geschrieben.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/07/team.gif"><img class="aligncenter size-full wp-image-915" title="team" src="http://stefanroock.files.wordpress.com/2010/07/team.gif?w=455" alt=""   /></a>Das zweite Buch beschreibt, wie man Lösungsorientierung für Teams einsetzt. Auch dieses Buch ist leicht verständlich geschrieben.</p>
<p>Wer sich näher mit dem Thema Lösungsorientierung beschäftigen möchte, dem lege ich diese beiden Bücher als Einstieg nahe (und natürlich das oben beschriebene Retrospektiven-Training <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/912/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=912&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/07/08/buchempfehlungen-zu-losungsorientiertem-coaching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/07/coaching1.jpg" medium="image">
			<media:title type="html">coaching</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/07/team.gif" medium="image">
			<media:title type="html">team</media:title>
		</media:content>
	</item>
		<item>
		<title>Retrospektiven-Training am 25.08.2010 in Hamburg</title>
		<link>http://stefanroock.wordpress.com/2010/07/05/retrospektiven-training-am-25-08-2010-in-hamburg/</link>
		<comments>http://stefanroock.wordpress.com/2010/07/05/retrospektiven-training-am-25-08-2010-in-hamburg/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 19:48:31 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=910</guid>
		<description><![CDATA[Retrospektiven sind das Mittel in agilen Projekten, um die Entwicklung kontinuierlich zu verbessern. Mit der Qualität der Retrospektiven steigt und fällt das Potenzial zu Verbesserung. Es ist also extrem wichtig, dass Retrospektiven qualifiziert vorbereitet und moderiert werden. it-agile bietet am 25.08.2010 ein eintägiges Training zur Vorbereitung und Durchführung bon Retrospektiven an. Es eignet sich für [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=910&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Retrospektiven sind das Mittel in agilen Projekten, um die Entwicklung kontinuierlich zu verbessern. Mit der Qualität der Retrospektiven steigt und fällt das Potenzial zu Verbesserung. Es ist also extrem wichtig, dass Retrospektiven qualifiziert vorbereitet und moderiert werden.</p>
<p>it-agile bietet am 25.08.2010 ein eintägiges Training zur Vorbereitung und Durchführung bon Retrospektiven an. Es eignet sich für alle, die Retrospektiven durchführen wollen, z.B. für ScrumMaster.</p>
<p>Ich werde das Training mit Josef Scherer durchführen, der wie ich langjährige Erfahrungen in agilen Projekten mitbringt.</p>
<div>Die Anmeldung und mehr Infos zum Retrospektiven Training findet Ihr  hier:<a title="http://www.it-agile.de/retrospektiven-schulung.html" href="http://www.it-agile.de/retrospektiven-schulung.html">http://www.it-agile.de/retrospektiven-schulung.html</a></p>
</div>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/910/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=910&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/07/05/retrospektiven-training-am-25-08-2010-in-hamburg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Katas with CodersDojo.com</title>
		<link>http://stefanroock.wordpress.com/2010/06/23/code-katas-with-codersdojo-com/</link>
		<comments>http://stefanroock.wordpress.com/2010/06/23/code-katas-with-codersdojo-com/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 18:46:03 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=897</guid>
		<description><![CDATA[Code Katas become more and more popular: little programming tasks, that programmers solve several times &#8211; every time a little better. CodersDojo.org supports performing and improving Code Katas. Opening http://codersdojo.org with the internet browser of your choice shows the home page of CodersDojo. By clicking &#8222;Enter the Dojo&#8220; we enter the virtual Dojo, where we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=897&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Code Katas become more and more popular: little programming tasks, that programmers solve several times &#8211; every time a little better.</p>
<p><a href="http://codersdojo.org">CodersDojo.org</a> supports performing and improving Code Katas. Opening http://codersdojo.org with the internet browser of your choice shows the home page of CodersDojo.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo11.png"><img class="aligncenter size-full wp-image-898" title="codersdojo1" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo11.png?w=455&#038;h=356" alt="" width="455" height="356" /></a>By clicking &#8222;Enter the Dojo&#8220; we enter the virtual Dojo, where we perform the Kata (until now only Ruby is supported).</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo21.png"><img class="aligncenter size-full wp-image-899" title="codersdojo2" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo21.png?w=455&#038;h=271" alt="" width="455" height="271" /></a></p>
<p>In the right area a dummy test is displayed. We replace the dummy test with the first (test) step of our Kata (in this case the Fibonacci numbers). To make things simple we put production and test code in the same file.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo31.png"><img class="aligncenter size-full wp-image-900" title="codersdojo3" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo31.png?w=455&#038;h=262" alt="" width="455" height="262" /></a></p>
<p>With clicking &#8222;Run&#8220; we run the test. The result is displayed in the left screen area.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo41.png"><img class="aligncenter size-full wp-image-901" title="codersdojo4" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo41.png?w=455&#038;h=270" alt="" width="455" height="270" /></a></p>
<p>Now we write only so much production code that the test succeeds.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo51.png"><img class="aligncenter size-full wp-image-902" title="codersdojo5" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo51.png?w=455&#038;h=271" alt="" width="455" height="271" /></a></p>
<p>This way we test drive the solution.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo61.png"><img class="aligncenter size-full wp-image-903" title="codersdojo6" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo61.png?w=455&#038;h=271" alt="" width="455" height="271" /></a></p>
<p>By clicking &#8222;Finish&#8220; we get the analysis of the Kata.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo71.png"><img class="aligncenter size-full wp-image-904" title="codersdojo7" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo71.png?w=455&#038;h=386" alt="" width="455" height="386" /></a></p>
<p>There we see the overall duration of the Kata, the number of steps and a visualization of the TDD steps (red, green).</p>
<p>To improve the Kata we can give a collegue access to the Kata so that he can give feedback. We simply send him the link that is displayed at the bottom of the page. When the collegue opens the link he starts with the first step of the Kata. On the left side he can see the Code before and after the first &#8222;Run&#8220;. On the right side a text area waits for comments.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo81.png"><img class="aligncenter size-full wp-image-905" title="codersdojo8" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo81.png?w=455&#038;h=198" alt="" width="455" height="198" /></a></p>
<p>Our collegue can navigate forth and back through the Kata. When something strikes our collegue he adds his comment to the step.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo91.png"><img class="aligncenter size-full wp-image-906" title="codersdojo9" src="http://stefanroock.files.wordpress.com/2010/06/codersdojo91.png?w=455&#038;h=196" alt="" width="455" height="196" /></a>Try it and give us feedback about CodersDojo!</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/refactoring/'>Refactoring</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a>, <a href='http://stefanroock.wordpress.com/tag/testing/'>Testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/897/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=897&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/06/23/code-katas-with-codersdojo-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo11.png" medium="image">
			<media:title type="html">codersdojo1</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo21.png" medium="image">
			<media:title type="html">codersdojo2</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo31.png" medium="image">
			<media:title type="html">codersdojo3</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo41.png" medium="image">
			<media:title type="html">codersdojo4</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo51.png" medium="image">
			<media:title type="html">codersdojo5</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo61.png" medium="image">
			<media:title type="html">codersdojo6</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo71.png" medium="image">
			<media:title type="html">codersdojo7</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo81.png" medium="image">
			<media:title type="html">codersdojo8</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo91.png" medium="image">
			<media:title type="html">codersdojo9</media:title>
		</media:content>
	</item>
		<item>
		<title>Lösungs- vs. Problemorientierung</title>
		<link>http://stefanroock.wordpress.com/2010/06/19/losungs-vs-problemorientierung/</link>
		<comments>http://stefanroock.wordpress.com/2010/06/19/losungs-vs-problemorientierung/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 18:38:44 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=892</guid>
		<description><![CDATA[Klassischerweise geht man Probleme problemorientiert an. Man definiert das Problem und versucht dann, seiner Wurzelursache (Root-Cause) auf den Grund zu gehen. Beseitigt man die Wurzelursache, verschwindet das Problem dauerthaft. Dieser Ansatz findet sich sehr ausgereift bei Toyota, z.B. in Form des 5-Whys-Ansatz (5 mal “Warum?” fragen). Als Alternative gibt es die sogenannte Lösungsorientierung. Diesen Ansatz [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=892&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Klassischerweise geht man Probleme problemorientiert an. Man definiert das Problem und versucht dann, seiner Wurzelursache (Root-Cause) auf den Grund zu gehen. Beseitigt man die Wurzelursache, verschwindet das Problem dauerthaft. Dieser Ansatz findet sich sehr ausgereift bei Toyota, z.B. in Form des 5-Whys-Ansatz (5 mal “Warum?” fragen).</p>
<p>Als Alternative gibt es die sogenannte Lösungsorientierung. Diesen Ansatz gibt es auch schon lange, aber er wird erst jetzt populärer. Beim lösungsorientierten Ansatz versucht man nicht, die Ursachen für Probleme zu analysieren. Stattdessen sucht man direkt nach Lösungsansätzen. Das geschieht z.B. so, dass man fragt, ob es Situationen oder Zeiten gab, in denen das Problem nicht oder weniger stark aufgetreten ist. Die gibt es eigentlich immer. Und dann fragt man, was in diesen Situationen anders war. Und diese andere versucht man dann, wieder herzustellen bzw. zu verstärken.</p>
<p>Problemorientierte Ansätze funktionieren offensichtlich nur dann, wenn es eine stabile und nicht zu komplexe Problem-Ursache-Beziehung gibt. Das ist z.B. in Build-Systemen der Fall oder eben in der Produktion bei Toyota. Wenn am dem Problem Menschen beteiligt sind, ist das häufig nicht der Fall. Dann hat man fluktuierende Ursachen oder die Beziehungen zwischen Problem und Ursachen sind so komplex, dass wir sie nicht analytisch durchdringen können.</p>
<p>Ich habe solche Situationen in Retrospektiven schon mehrfach gesehen. Da war es so, dass bei der Root-Cause-Analysis letztlich nur ein schlappes “OK, wir geben uns mehr Mühe” als Maßnahme herauskam. Oder es kamen konkrete Maßnahmen raus, aber nach deren Umsetzung war das Problem immer noch unverändert da. Und wieder und wieder…</p>
<p>In diesen Fällen kommt man mit problemorientierten Ansätzen also nicht weiter. Wenn man weiterkommen will, sind lösungsorientierte Ansätze Erfolg versprechender. Dabei besteht natürlich das Risiki, dass man die eigentliche Ursache nicht beseitigt und die ganze Zeit nur Work-Arounds baut. Aber das ist immer noch besser, als mit Aufwand Ursachen zu analysieren, die auf jeden Fall sinnlose Maßnahmen hervorbringen.</p>
<p>Ein weiterer Vorteil lösungsorientierter Ansätze ist, dass sie häufig viel schneller sind. Um eine Root-Cause-Analysis vernünftig durchzuführen, brauche ich in einfachen Fällen mind. 30 Minuten. Mit lösungsorientierten Ansätzen ist man häufig schon nach 5 Minuten durch.</p>
<p>Ich gucke da nicht so drauf, dass lösungsorientierte Ansätze generell besser sind als problemorientierte. Es sind einfach zwei Werkzeuge, die ich in unterschiedlichen Situationen anwende.</p>
<p>Ich führe zusammen mit Josef Scherer am 25.08.2010 in Hamburg eine Retrospektiven-Schulung durch, in der sowohl problem- wie auch lösungsorientierte Ansätze durchgenommen werden. <a href="http://www.it-agile.de/retrospektiven-schulung.html">Näheres dazu findet sich bei it-agile.</a></p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/892/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=892&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/06/19/losungs-vs-problemorientierung/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Sprints &#8211; je kürzer, desto besser?</title>
		<link>http://stefanroock.wordpress.com/2010/06/17/sprints-je-kurzer-desto-besser/</link>
		<comments>http://stefanroock.wordpress.com/2010/06/17/sprints-je-kurzer-desto-besser/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 20:15:12 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=888</guid>
		<description><![CDATA[Vor kurzem war ich bei einer interessanten Diskussion um Sprintlängen dabei. Dabei wurde eine generelle Tendenz hin zu kürzeren Sprints festgestellt. Ich kenne neben wöchentlichen Sprints durch Ilja Preuss auch Fälle mit halbwöchigen Sprints und sogar zweitägigen Sprints. In allen diesen Fällen war das Team in der Lage, in der kurzen Sprintdauer ein Done-Done Produktinkrement [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=888&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem war ich bei einer interessanten Diskussion um Sprintlängen dabei. Dabei wurde eine generelle Tendenz hin zu kürzeren Sprints festgestellt. Ich kenne neben wöchentlichen Sprints durch <a href="http://www.iljapreuss.de">Ilja Preuss</a> auch Fälle mit halbwöchigen Sprints und sogar zweitägigen Sprints. In allen diesen Fällen war das Team in der Lage, in der kurzen Sprintdauer ein Done-Done Produktinkrement zu liefern. Außerdem ist es gelungen, die Dauer der Sprintwechsel-Meetings (Planning, Review, Retrospektive) linear mit der Sprintdauer zu reduzieren.</p>
<p>Wir sind in der Diskussion dann darauf gekommen, dass bzgl. der Sprints kürzer nicht unbedingt besser bedeuten muss. Bei sehr kurzen Sprints <em>können</em> folgende Probleme auftreten.</p>
<ol>
<li>Es kann passieren, dass sich kein motivierendes Sprintziel mehr formulieren lässt.</li>
<li>Der Zeitrahmen im Sprint kann so eng werden, dass im Sprint nicht mehr konzeptionell gearbeitet werden kann. Das kann zu einer sehr strikten (tayloristischen) Arbeitsteilung zwischen Product Owner und Team führen.</li>
<li>Diese beiden Punkte zusammen können zu routinisierter langweiliger Arbeit führen. Und wenn das eintritt, wird es für das Team sehr schwer, innovative Verbesserungsvorschläge in Retrospektiven zu generieren.</li>
<li>Bei Fehlern hat das Team keine Zeit mehr, um den Sprint trotzdem noch zu schaffen. Das kann zu Defensivverhalten führen und dazu, dass nicht mehr experimentiert wird.</li>
</ol>
<p>Tatsächlich habe ich solche Fälle auch gesehen, z.B. bei einem Team, das in einem lang laufenden Projekt mit einwöchigen Sprints gearbeitet hat. Das Team hatte eine sehr verlässliche Geschwindigkeit und hat fast alle seine Commitments gehalten. In dem Projekt hätten wir aber einen deutlichen Produktivitätsschub gebraucht. Tatsächlich haben aber die in den Retrospektiven generierten Maßnahmen aber vor allem dazu geführt, dass die Geschwindigkeit noch stabiler wurde. Damals konnte ich mir keinen Reim darauf machen und war sehr verwirrt. Aus heutiger Sicht halte ich es für wahrscheinlich, dass die kurze Sprintlänge mit verantwortlich war. Heute würde ich dem Team empfehlen, mal längere Sprints auszuprobieren.</p>
<p>Wie gesagt: Das muss nicht so passieren. Ich habe auch sehr erfolgreiche und kreative Teams mit einwöchigen Sprints gesehen und Ilja hat mir glaubhaft versichert, dass auch die zweitägigen Sprints sehr erfolgreich waren.</p>
<p>P.S.: Das ändert alles nichts daran, dass die Teams in der Lage sein sollten, bei Bedarf sehr kurze Sprints umsetzen zu können &#8211; also in sehr kurzer Zeit ein Done-Done Produktinkrement zu erstellen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/888/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=888&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/06/17/sprints-je-kurzer-desto-besser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Code-Katas in CodersDojo.com</title>
		<link>http://stefanroock.wordpress.com/2010/06/02/code-katas-in-codersdojo-com/</link>
		<comments>http://stefanroock.wordpress.com/2010/06/02/code-katas-in-codersdojo-com/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 19:29:57 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=877</guid>
		<description><![CDATA[Code-Katas erfreuen sich zunehmender Beliebtheit: kleine Programmieraufgaben, die man mehrfach löst und jede Lösung ein wenig verbessert. CodersDojo.org unterstützt Code-Katas. Nach Aufruf von http://codersdojo.org erscheint die Start-Seite. Mit &#8222;Enter the Dojo&#8220; betreten wir das virtuelle Dojo, in dem wir die Kata durchführen (bisher nur in Ruby). Im rechten Bereich wird ein Dummy-Test vorgeschlagen. Wir ersetzen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=877&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Code-Katas erfreuen sich zunehmender Beliebtheit: kleine Programmieraufgaben, die man mehrfach löst und jede Lösung ein wenig verbessert.</p>
<p><a href="http://codersdojo.org">CodersDojo.org</a> unterstützt Code-Katas. Nach Aufruf von http://codersdojo.org erscheint die Start-Seite.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo1.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo1.png?w=455&#038;h=356" alt="" title="codersdojo1" width="455" height="356" class="aligncenter size-full wp-image-878" /></a></p>
<p>Mit &#8222;Enter the Dojo&#8220; betreten wir das virtuelle Dojo, in dem wir die Kata durchführen (bisher nur in Ruby).</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo2.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo2.png?w=455&#038;h=271" alt="" title="codersdojo2" width="455" height="271" class="aligncenter size-full wp-image-879" /></a></p>
<p>Im rechten Bereich wird ein Dummy-Test vorgeschlagen. Wir ersetzen den Dummy-Test durch den ersten (Test-)Schritt unserer Kata (in diesem Fall die Fibonacci-Reihe). Um die Angelegenheit möglichst einfach zu gestalten, schreiben wir Produktiv- und Testcode in dieselbe Datei.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo3.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo3.png?w=455&#038;h=262" alt="" title="codersdojo3" width="455" height="262" class="aligncenter size-full wp-image-880" /></a></p>
<p>Durch click auf &#8222;Run&#8220; führen wir unseren Test aus. Links wird das Ergebnis der Testausführung angezeigt.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo4.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo4.png?w=455&#038;h=270" alt="" title="codersdojo4" width="455" height="270" class="aligncenter size-full wp-image-881" /></a></p>
<p>Jetzt schreiben wir soviel Produktivcode, dass der Test durchläuft.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo5.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo5.png?w=455&#038;h=271" alt="" title="codersdojo5" width="455" height="271" class="aligncenter size-full wp-image-882" /></a></p>
<p>So entwickeln wir schrittweise testgetrieben unsere Lösung.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo6.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo6.png?w=455&#038;h=271" alt="" title="codersdojo6" width="455" height="271" class="aligncenter size-full wp-image-883" /></a></p>
<p>Durch click auf &#8222;Finish&#8220; gelangen wir zur Auswertung der Kata.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo7.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo7.png?w=455&#038;h=386" alt="" title="codersdojo7" width="455" height="386" class="aligncenter size-full wp-image-884" /></a></p>
<p>Dort sehen wir die Gesamtdauer der Kata, die Anzahl der Schritte und eine Visualisierung der TDD-Schritte (rot, grün).</p>
<p>Zur Verbesserung der eigenen Fähigkeiten können wir die Kata einem Kollegen zur Kommentierung zur Verfügung stellen. Dazu senden wir ihm den Link, der unten auf der Seite angegeben ist. Öffnet der Kollege den Link, sieht er den ersten Schritt der Kata. Links sieht er den Code vor und nach dem ersten &#8222;Run&#8220;. Rechts steht ein Feld für seine Kommentare zur Verfügung.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo8.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo8.png?w=455&#038;h=198" alt="" title="codersdojo8" width="455" height="198" class="aligncenter size-full wp-image-885" /></a></p>
<p>Der Kollege kann durch die Kata navigieren. Wo ihm etwas auffällt, schreibt er seinen Kommentar zu dem Schritt dazu.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/06/codersdojo9.png"><img src="http://stefanroock.files.wordpress.com/2010/06/codersdojo9.png?w=455&#038;h=196" alt="" title="codersdojo9" width="455" height="196" class="aligncenter size-full wp-image-886" /></a></p>
<p>Probiert es einfach mal aus und gebt uns Feedback zu CodersDojo.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/refactoring/'>Refactoring</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a>, <a href='http://stefanroock.wordpress.com/tag/testing/'>Testing</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/877/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/877/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/877/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=877&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/06/02/code-katas-in-codersdojo-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo1.png" medium="image">
			<media:title type="html">codersdojo1</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo2.png" medium="image">
			<media:title type="html">codersdojo2</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo3.png" medium="image">
			<media:title type="html">codersdojo3</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo4.png" medium="image">
			<media:title type="html">codersdojo4</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo5.png" medium="image">
			<media:title type="html">codersdojo5</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo6.png" medium="image">
			<media:title type="html">codersdojo6</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo7.png" medium="image">
			<media:title type="html">codersdojo7</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo8.png" medium="image">
			<media:title type="html">codersdojo8</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/06/codersdojo9.png" medium="image">
			<media:title type="html">codersdojo9</media:title>
		</media:content>
	</item>
		<item>
		<title>XP-Days Germany 2010 in Hamburg</title>
		<link>http://stefanroock.wordpress.com/2010/05/26/xp-days-germany-2010-in-hamburg/</link>
		<comments>http://stefanroock.wordpress.com/2010/05/26/xp-days-germany-2010-in-hamburg/#comments</comments>
		<pubDate>Wed, 26 May 2010 18:59:14 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[FDD]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=874</guid>
		<description><![CDATA[Die XP-Days Germany finden dieses Jahr vom 25.-27.11.2010 in Hamburg statt. Der Call for Sessions ist raus: http://www.xpdays.de/twiki/bin/view/XPDays2010/CallforSession Wie schon in den letzten Jahren gibt es einen offenen Review-Prozess für die Einreichungen. In diesem kann jeder Feedback zu den Einreichungen geben und die Einreicher können auf Basis des Feedbacks ihre Einreichungen verbessern. Es lohnt sich [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=874&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die XP-Days Germany finden dieses Jahr vom 25.-27.11.2010 in Hamburg statt. Der Call for Sessions ist raus: <a href="http://www.xpdays.de/twiki/bin/view/XPDays2010/CallforSession">http://www.xpdays.de/twiki/bin/view/XPDays2010/CallforSession</a></p>
<p>Wie schon in den letzten Jahren gibt es einen offenen Review-Prozess für die Einreichungen. In diesem kann jeder Feedback zu den Einreichungen geben und die Einreicher können auf Basis des Feedbacks ihre Einreichungen verbessern. Es lohnt sich also, seine Vorschläge sehr früh einzureichen. Iterativ können sie dann während des Review-Prozesses verbessert werden.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/extremeprogramming/'>eXtremeProgramming</a>, <a href='http://stefanroock.wordpress.com/tag/fdd/'>FDD</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=874&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/05/26/xp-days-germany-2010-in-hamburg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum, Teamwork und Spezialisten</title>
		<link>http://stefanroock.wordpress.com/2010/05/26/scrum-teamwork-und-spezialisten/</link>
		<comments>http://stefanroock.wordpress.com/2010/05/26/scrum-teamwork-und-spezialisten/#comments</comments>
		<pubDate>Wed, 26 May 2010 08:59:48 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=870</guid>
		<description><![CDATA[Foto von jurvetson auf flickr In letzter Zeit bin ich immer mal wieder auf die Annahme gestoßen, Scrum würde nicht zu Spezialisierungen passen. Das halte ich für Unsinn. Faktisch macht Scrum keine Aussage zu Spezialisierungen. Scrum fordert Teamwork und crossfunktionale Teams. In diesen Teams dürfen natürlich Spezialisten sitzen. Damit diese Spezialisten als Team gut funktionieren, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=870&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.files.wordpress.com/2010/05/team.jpg"><img src="http://stefanroock.files.wordpress.com/2010/05/team.jpg?w=455&#038;h=572" alt="" title="team" width="455" height="572" class="aligncenter size-full wp-image-871" /></a><br />
Foto von jurvetson auf flickr</p>
<p>In letzter Zeit bin ich immer mal wieder auf die Annahme gestoßen, Scrum würde nicht zu Spezialisierungen passen. Das halte ich für Unsinn. Faktisch macht Scrum keine Aussage zu Spezialisierungen. </p>
<p>Scrum fordert Teamwork und crossfunktionale Teams. In diesen Teams dürfen natürlich Spezialisten sitzen. Damit diese Spezialisten als Team gut funktionieren, müssen sie ein Mindestmaß an gegenseitigem Verständnis aufbauen. Sonst können Sie sich untereinander nicht effektiv koordinieren. Die Frage, ob sie ihre Spezialisierungen dann ganz oder teilweise aufgeben, ist keine Scrum-Frage, sondern eine, die die Organisation bzw. das Team für sich beantworten muss.</p>
<p>Nochmal zusammengefasst: Scrum kann mit Spezialisten gut leben. Scrum kann mit nicht-Teamarbeit nicht gut leben.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/870/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=870&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/05/26/scrum-teamwork-und-spezialisten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/05/team.jpg" medium="image">
			<media:title type="html">team</media:title>
		</media:content>
	</item>
		<item>
		<title>Sprints, Missionen und Motivation</title>
		<link>http://stefanroock.wordpress.com/2010/05/22/sprints-missionen-und-motivation/</link>
		<comments>http://stefanroock.wordpress.com/2010/05/22/sprints-missionen-und-motivation/#comments</comments>
		<pubDate>Sat, 22 May 2010 21:08:21 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=866</guid>
		<description><![CDATA[In Scrum wimmelt es nicht nur von Feedbackschleifen (täglich im Daily Scrum, über das Produkt im Sprintreview, über das Vorgehen in der Retrospektive), sondern auch von Möglichkeiten, Missionen zu definieren. Ein Release definiert eine Mission: Wir wollen mit dem System Live sein bis Datum X und wollen damit Ziel Y erreichen. Das ist relativ offensichtlich. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=866&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Scrum wimmelt es nicht nur von Feedbackschleifen (täglich im Daily Scrum, über das Produkt im Sprintreview, über das Vorgehen in der Retrospektive), sondern auch von Möglichkeiten, Missionen zu definieren.</p>
<p>Ein Release definiert eine Mission: Wir wollen mit dem System Live sein bis Datum X und wollen damit Ziel Y erreichen. Das ist relativ offensichtlich.</p>
<p>Eine Ebene darunter können wir die Sprints benutzen, um Missionen zu definieren. Besteht das Sprintziel nicht einfach nur darin, ein Sammelsurium von Anforderungen umzusetzen, sondern darin, ein fokussiertes Ziel zu erreichen, stiftet das Sprintziel die Mission. Ein Beipiel für ein solches Sprintziel könnte sein: &#8222;Wir haben die Review-Funktion von CodersDojo.com soweit fertig gestellt, dass wir selbst damit arbeiten mögen.&#8220;</p>
<p>Und selbst im Daily Scrum kann das Team seine Mission für den Tag definieren, z.B. &#8222;Heute schaffen wir es, dass die Reviews eingegeben und gespeichert werden können.&#8220; </p>
<p>Gut definierte Missionen erhöhen die Motivation der Beteiligten ganz erheblich und führen so zu deutlich höherer Produktivität. Denn man weiß heute, dass Motivation nicht durch Geld hergestellt wird, sondern durch</p>
<ul>
<li>Autonomy: Das Team entscheidet, welche Tasks es in welcher Reihenfolge wie erledigt.</li>
<li>Purpose: Die Aufgabe und das Ziel erscheinen dem Team sinnvoll über das reine Geldverdienen hinaus.</li>
<li>Mastery: Das Team &#8222;brennt&#8220; für das, was es tut.</li>
</ul>
<p>Autonomy wird in Scrum dadurch hergestellt, dass das Team und nur das Team bestimmt, wie es innerhalb des Sprints vorgeht. Gut definierte Missionen können Purpose und Mastery ganz erheblich unterstützen. Zu dieser Sicht auf Motivation siehe den <a href="http://www.youtube.com/watch?v=u6XAPnuFjJc&amp;feature=player_embedded">ainimierten Vortrag &#8222;Drive&#8220; auf YouTube</a>. Nicht nur der Inhalt ist interessant, auch die Form der Visualisierung ist absolut sehenswert.</p>
<p>Der Missionsgedanke hat mich übrigens vor einiger Zeit dazu bewogen, einem Kunden zu empfehlen, seine Sprintzyklen von 2 auf 4 Wochen zu verdoppeln. Dem Kunden war es seinerzeit nicht möglich, 2-wöchige Sprints mit einer motivierenden Mission zu versehen. Die Mitarbeiter waren entsprechend &#8222;gelangweilt&#8220;. Mit 4-wöchigen Sprints war es aber möglich. Mir schien es in dem Kontext sinnvoll, etwas Feedback zu opfern und dafür höhere Motivation zu bekommen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/866/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/866/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=866&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/05/22/sprints-missionen-und-motivation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Zombie Kanban, or: Don&#8217;t forget the soul!</title>
		<link>http://stefanroock.wordpress.com/2010/05/19/zombie-kanban-or-dont-forget-the-soul/</link>
		<comments>http://stefanroock.wordpress.com/2010/05/19/zombie-kanban-or-dont-forget-the-soul/#comments</comments>
		<pubDate>Wed, 19 May 2010 09:28:31 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=858</guid>
		<description><![CDATA[Please get me right. This is not a rage against Kanban. It is for fun and I think there is some truth in it. Kanban installs a continuous improvement process. It does not predefine the direction of the improvement, since it does not define a value system. Therefore Kanban itself is not agile and it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=858&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Please get me right. This is <em>not</em> a rage against Kanban. It is for fun and I think there is some truth in it.</p>
<div id="attachment_859" class="wp-caption aligncenter" style="width: 465px"><a href="http://stefanroock.files.wordpress.com/2010/05/2596483147_8c2004be38.jpg"><img src="http://stefanroock.files.wordpress.com/2010/05/2596483147_8c2004be38.jpg?w=455&#038;h=303" alt="" title="Zombie" width="455" height="303" class="size-full wp-image-859" /></a><p class="wp-caption-text">from danhollisterduck (flickr)</p></div>
<p>Kanban installs a continuous improvement process. It does not predefine the direction of the improvement, since it does not define a value system. Therefore Kanban itself is not agile and it is not anti-agile. It just doesn&#8217;t care.</p>
<p>To define a proper value system is up to the companies using Kanban. Do they value Scrum-like teamwork over silos or vice versa? Do they value face-to-face communication over written documents or vice versa? And so on &#8230;</p>
<p>I suspect the definition of an underlying value system is often not done. And then you get <strong>Zombie Kanban</strong>, something without a soul. Zombies have an impetus to eat others brains but what is their real (long term) goal? Zombie Kanban has the impetus to shorten cycle times but without having a purpose. (Of course it&#8217;s better to shorten cycle times than eating other peoples brains. But that is simply not enough <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>Just installing an improvement process is not sufficient. You have to define a value system or purpose. (See also tip #2 of this <a href="http://lssacademy.com/2010/05/10/3-tips-for-continuous-improvement-success/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+lssacademy%2FnNHZ+%28LSSAcademy.com%29">blog post from LSS Academy</a>).</p>
<p>Otherwise you can order some of these for your company:</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/05/4018793159_8a381822a6.jpg"><img src="http://stefanroock.files.wordpress.com/2010/05/4018793159_8a381822a6.jpg?w=455&#038;h=471" alt="" title="Zombie alarm" width="455" height="471" class="aligncenter size-full wp-image-861" /></a>from Shiny Things (flickr)</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/858/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=858&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/05/19/zombie-kanban-or-dont-forget-the-soul/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/05/2596483147_8c2004be38.jpg" medium="image">
			<media:title type="html">Zombie</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/05/4018793159_8a381822a6.jpg" medium="image">
			<media:title type="html">Zombie alarm</media:title>
		</media:content>
	</item>
		<item>
		<title>JAX-Vortrag über Scrum-But(t) online</title>
		<link>http://stefanroock.wordpress.com/2010/05/18/jax-vortrag-uber-scrum-butt-online/</link>
		<comments>http://stefanroock.wordpress.com/2010/05/18/jax-vortrag-uber-scrum-butt-online/#comments</comments>
		<pubDate>Tue, 18 May 2010 10:02:37 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=853</guid>
		<description><![CDATA[Auf der diesjährigen JAX-Konferenz habe ich einen Vortrag über Scrum-But(t) gehalten: Wie viel &#8222;Scrum by the Book&#8220; muss man in der Praxis wirklich machen? Nicht jede Anpassung führt direkt in die Hölle. Auf der anderen Seite sind viele in der Praxis anzutreffende Anpassungen Quick Fixes für organisatorische Defizite. Der Vortrag stellt dar, wann Anpassungen angebracht [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=853&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auf der diesjährigen JAX-Konferenz habe ich einen Vortrag über Scrum-But(t) gehalten:</p>
<p>Wie viel &#8222;Scrum by the Book&#8220; muss man in der Praxis wirklich machen? Nicht jede Anpassung führt direkt in die Hölle. Auf der anderen Seite sind viele in der Praxis anzutreffende Anpassungen Quick Fixes für organisatorische Defizite. Der Vortrag stellt dar, wann Anpassungen angebracht sind und wann man besser vorsichtig ist.</p>
<ul>
<li><a href="http://www.slideshare.net/roock/scrum-but-stefanroockjax2010" title="Vortrag aus Slideshare">Vortrag auf Slideshare</a></li>
<li><a href='http://stefanroock.files.wordpress.com/2010/05/scrumbut_stefanroock_jax2010.pdf'>Vortrag als PDF</a></li>
</ul>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/853/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=853&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/05/18/jax-vortrag-uber-scrum-butt-online/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Dispersed Retrospectives with CardMeeting and Skype</title>
		<link>http://stefanroock.wordpress.com/2010/04/27/dispersed-retrospectives-with-cardmeeting-and-skype/</link>
		<comments>http://stefanroock.wordpress.com/2010/04/27/dispersed-retrospectives-with-cardmeeting-and-skype/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 08:05:33 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=845</guid>
		<description><![CDATA[A few weeks ago I facilitated a retrospective for a dispersed software development team with the help of CardMeeting and Skype. The result was surprisingly usefull &#8211; at least when the number of 21 participants is taken into account. During the preparation of the retrospective I speculated a while about what steps are neccessary and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=845&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I facilitated a retrospective for a dispersed software development team with the help of <a href="http://cardmeeting.com">CardMeeting</a> and <a href="http://skype.com">Skype</a>. The result was surprisingly usefull &#8211; at least when the number of 21 participants is taken into account.</p>
<p>During the preparation of the retrospective I speculated a while about what steps are neccessary and how long I should plan for these. I reproduce the actual timeline here. Perhaps that is useful for others facilitating a dispersed retrospective.</p>
<p><strong>Perparation</strong><br />
I had created the meeting in CardMeeting.com long before the retrospective took place. I emailed the link and password to all participants and asked them to test if CardMeeting would work on their computers. CardMeeting uses Java Applets and doesn&#8217;t run on every system straightaway. But in the end everybody managed to get cardmeeting running on his PC &#8211; there was no pattern I could understand: some participants had to use IE on Windows while for others only Firefox worked. I for myself had to switch to Chrome on Ubuntu since Firefox didn&#8217;t want to start the applet correctly.</p>
<p>At the PC of one participant CardMeeting broke down ten minutes after the retrospective had started. He then joined a collegue in the next office and they paired on front of one PC during the retrospective.</p>
<p><strong>10 minutes: Introduction</strong><br />
After I welcomed everybody to the retrospective we did the privacy contract: everything discussed during the retrospective would belong to the team privately unless everybody agrees to another handling of the informations at the end of the retrospective.</p>
<p>Then I gave a short introduction to CardMeeting. I showed how to create, edit, move and trash cards. (We didn&#8217;t use the billboards to keep things simple.)</p>
<p>For the rest of the retrospective I took orientation from  <a href="http://retrospectives.com/pages/RetrospectiveKeyQuestions.html">retrospectives.com</a> and used the proposed four key questions.</p>
<p><strong>10 minutes for question 1: What did we do well, that if we don’t discuss we might forget?</strong><br />
I created a white card with the question. The participants added green cards with their thoughts and placed them around my white card.</p>
<p>Then a funny problem occurred. In CardMeeting a newly created card is visible to the other participants immediately even if the creator hasn&#8217;t written something on it. When 20 people create cards in parallel it is hard to tell which card belongs to whom. So we observed some card robberies. But the participants adapted fast: Immediately after one had created a new card he moved the card far away from the center of the action, edited the card and then moved it back to the center of the action. That worked out sufficiently well. I even think of the card robberies as a welcomed little entertainment.</p>
<p><strong>10 minutes for question 2: What did we learn?</strong><br />
I created a white card with the question. The participants added their thoughts on blue cards.</p>
<p><strong>10 minutes: Read and understand the cards</strong><br />
Everybody read all cards and asked questions via Skype audio for understanding.</p>
<p><strong>10 minutes: Cluster the cards</strong><br />
The participants clustered the green and blue cards from the first two questions. They used red cards to give the clusters headlines. The clustering went surprisingly well without any intervention from my side.</p>
<p><strong>15 minutes for question 3: What should we do differently next time?</strong><br />
Again I wrote the question on a white card. The participants added their thoughs on yellow cards.</p>
<p>We needed 15 minutes for this question (in contrast to the 10 minutes for the first two questions) to create focused cards. Some of the originally created cards didn&#8217;t describe what the team should do differently but what outsiders (managers, customers etc.) should do differently. Some other cards were somewhat fuzzy in a &#8222;we must try harder&#8220; manner. I commented on these cards that they didn&#8217;t match the question exactly.</p>
<p><strong>5 minutes: Read and rework cards</strong><br />
All participants read all cards and the authors integrated the comments. In this step identical and similar cards were merged so that we didn&#8217;t need an additional clustering step.</p>
<p><strong>5 minutes: Prioritize the cards</strong><br />
The previous step resultet in 17 yellow cards. For the prioritization every participant was allowed to attach two green cards to his favourite yellow card(s). Everybody had the possibility to attach red veto cards to yellow cards.</p>
<p>After the voting we ordered the green cards by the number of votes.</p>
<p><strong>15 minutes: Select cards and define action</strong><br />
With respect to the votes there was a clear gap between the most voted six cards and the remaining eleven cards. Every of the six cards had a lot of votes. The eleven cards had no votes or just one or two. Therefore the participants decided to discard the eleven cards and work with the high voted six cards.</p>
<p>For the six yellow cards we created action items on blue cards and attached them to the yellow cards. That was pretty easy since the yellow cards were already very close to action items.</p>
<p>BTW: The previous step created one veto. Since the veto card was attached to one of the discarded cards we didn&#8217;t have to discuss the veto.</p>
<p><strong>10 minutes for question 4: What still puzzles us?</strong><br />
I created the question on a white card and the participants added their thoughts on yellow cards.</p>
<p><strong>5 minutes: Cluster the cards</strong><br />
The participants clustered the cards and created a red headline card for every cluster. This step was shorter than the clustering done before since there were very few yellow cards to consider.</p>
<p><strong>5 minutes: Closure</strong><br />
In the end I initiated a discussion about the privacy policy we defined in the beginning. The participants were very open and wanted to put all the cards in their wiki. Unfortunately there is no export function in CardMeeting. One has to transfer the cards one by one with copy&amp;paste. Therefore the participants decided to only transfer the committed action items to the wiki.</p>
<p>All in all the retrospective lastet nearly two hours.</p>
<p><strong>Wrap-Up</strong><br />
After the retrospective I sent a Google-Docs feedback form to all participants and asked for their impressions. The participants gave the retrospectice a positive ROTI (return of time invested) &#8211; the retrospective was worth it. But the energy level and the quality of the results were a bit lower than in a conventional face-to-face retrospective.</p>
<p>I think there is a common pattern of distributed work that applied to the retrospective: it is possible but it is less effective than co-located work.</p>
<p>The partipants found CardMeeting useful and Skype acceptable.</p>
<p>Personally I observed a few differences compared to face-to-face retrospectives:</p>
<ol>
<li>CardMeeting doesn&#8217;t attach the author of a card to the card. Therefore it is impossible to see who wrote which card. That leads to a higher degree of anonymity.</li>
<li>There is less discussion via Skype audio compared to a face-to-face retrospective. And more cards are written. Maybe this allowes the shyer people to participate stronger.</li>
<li>As the moderator I had to adapt some of my moderation techniques (e.g. voting with dots vs. voting with cards).</li>
<li>I felt the need to prepare the retrospective more detailed and plan for shorter steps. In hindsight I think the detailed planning and the shorter steps were useful. Since there were less discussions the energy level decreased fast during the &#8222;write cards&#8220; steps. With the short steps there was an intervention by me every few minutes that raised the energy level again at least to a medium level.</li>
</ol>
<p>What would I do differently next time?</p>
<ol>
<li>I would like to use an alternative tool to CardMeeting &#8211; one reason is that I have the impression that CardMeeting isn&#8217;t developed any further. Unfortunately I don&#8217;t know of other tools that may work as a replacement.</li>
<li>For a single session two hours is too long. It is hard to concentrate and my headset caved an interesting pattern in my head. I will plan for a five minute break for the next time.</li>
</ol>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/845/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/845/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/845/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=845&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/04/27/dispersed-retrospectives-with-cardmeeting-and-skype/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Lernen im 1. Quartal 2010</title>
		<link>http://stefanroock.wordpress.com/2010/04/12/lernen-im-1-quartal-2010/</link>
		<comments>http://stefanroock.wordpress.com/2010/04/12/lernen-im-1-quartal-2010/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 15:21:46 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=842</guid>
		<description><![CDATA[Damit habe ich mich im 1. Quartal 2010 beschäftigt und das habe ich dabei gelernt: Ich habe deutlich mehr Erfahrungen mit Kanban in echten Projekten gesammelt und hatte einige Aha-Erlebnisse. Wenn ich mal dazu komme, werde ich darüber bloggen. Ebenfalls zum Thema Kanban habe ich den Kanban-Coaching-Workshop in Stockholm bei David Anderson besucht. Interessanterweise haben [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=842&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Damit habe ich mich im 1. Quartal 2010 beschäftigt und das habe ich dabei gelernt:</p>
<ul>
<li>Ich habe deutlich mehr Erfahrungen mit Kanban in echten Projekten gesammelt und hatte einige Aha-Erlebnisse. Wenn ich mal dazu komme, werde ich darüber bloggen. </li>
<li>Ebenfalls zum Thema Kanban habe ich den Kanban-Coaching-Workshop in Stockholm bei David Anderson besucht. Interessanterweise haben die Kanban-Projekte und der Workshop auch dazu geführt, dass ich Scrum noch besser verstanden habe.</li>
<li>Ich habe &#8222;Clean Code&#8220; von Robert Martin gelesen. Mein Blogartikel dazu findet sich <a href="http://stefanroock.wordpress.com/2010/01/26/buchtipp-clean-code/">hier</a>.</li>
<li>Ich habe eine ganze Menge Rails programmiert, um mich selbst bei Laune zu halten. Im selben Projekt habe ich als Product-Owner gearbeitet, was auch wieder interessante Erkenntnisse mit sich gebracht hat. Das zugehörige Projekt wird in Kürze veröffentlicht.</li>
<li>Auf den XP-Days habe ich an einer Open-Space-Session zum lösungsorientierten Coaching bei Josef Scherer teilgenommen. Das fand ich sehr interessant und habe mich danach weiter in dem Thema vertieft. Dazu werde ich ebenfalls mal einen Blog-Eintrag schreiben, wenn ich mal wieder Zeit dazu habe.</li>
<li>Und ich habe brav weiter schwimmen geübt. Brustschwimmen ist jetzt OK. Jetzt muss ich mich dem Kraulen stärker widmen.</li>
</ul>
<p>Verglichen mit den vorhergehenden Quartalen ist das eine eher dürftige Ausbeute. Ich glaube, das liegt an dem Winter. Ich mag&#8217; den Winter nicht. Der demotiviert mich. Aber jetzt wird es sicher besser <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/842/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=842&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/04/12/lernen-im-1-quartal-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Festpreise, Ausschreibungen, das V-Modell und Scrum</title>
		<link>http://stefanroock.wordpress.com/2010/03/21/festpreise-ausschreibungen-das-v-modell-und-scrum/</link>
		<comments>http://stefanroock.wordpress.com/2010/03/21/festpreise-ausschreibungen-das-v-modell-und-scrum/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 10:10:04 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[V-Modell]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=837</guid>
		<description><![CDATA[Vor wenigen Tagen war ich auf der ReConf und habe zusammen mit Markus Reinhold einen Vortrag darüber gehalten, wie man mit Scrum das V-Modell leichtgewichtiger gestalten kann. Fazit: Man kann und sollte das V-Modell auf diese Weise agilisieren. Es ist dann aber immer noch nicht richtig agil &#8211; das liegt vor allem an der Ausschreibung [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=837&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor wenigen Tagen war ich auf der ReConf und habe zusammen mit Markus Reinhold einen Vortrag darüber gehalten, wie man mit Scrum das V-Modell leichtgewichtiger gestalten kann. Fazit: Man kann und sollte das V-Modell auf diese Weise agilisieren. Es ist dann aber immer noch nicht richtig agil &#8211; das liegt vor allem an der Ausschreibung und dem Festpreis, die in der Regel mit dem V-Modell einhergehen.<br />
Man müsste von dem Lastenheft und dem darauf basierenden Festpreis wegkommen, wenn man richtig agil werden wollte. Das ist aber mind. im Behördenumfeld nicht so einfach. Dem steht das deutsche Vergaberecht im Weg. Die Behörden müssen eine nachvollziehbare Anbieterbewertung durchführen &#8211; sonst haben sie sofort das Verwaltungsgericht bzw. die Vergabekammer im Haus. Und diese Anbieterbewertung erfolgt heute auf Basis der Festpreisangebote. Und folgerichtig darf man in diesem Kontext nur beschränkt an dem ursprünglichen Funktionsumfang herumdrehen. Sonst läuft man Gefahr, die Basis für den Anbietervergleich zu invalidieren. &#8222;Money for Nothing, Change for Free&#8220; nützt da also auch nur bedingt etwas.</p>
<p>Also blieb da erstmal eine etwas resignierte Stimmung. Aber sollte das wirklich der Fall sein, dass es an dieser Stelle keinen Fortschritt geben kann? Wohl kaum. Nach etwas Nachdenken kam ich auf ein Function-Point-basiertes Modell. Der Auftraggeber würde einfach eine Produktvision mit High-Level-Backlog zur Verfügung stellen, damit der Anbieter weiß, wo es im Prinzip hingeht. Weiterhin würde der Auftraggeber die Anforderungen für den ersten Sprint fein granular beschreiben. Der Auftragnehmer würde die Anforderungen des ersten Sprints in Function-Points schätzen und ein Angebot auf Basis Euro/Function-Point abgeben. Auf diesen Preis würde er sich für einen gegebenen Zeitraum (z.B. 2 Jahre) verpflichten.</p>
<p>Damit hätte der Auftraggeber seine Basis für den Anbietervergleich, ohne dass man ein komplettes fein-granulares Lastenheft vorher braucht. Und zu allem Überfluss würde diese Art der Ausschreibung Ärger vermeiden, der heute durchaus an der Tagesordnung ist: jemand kauft sich das Projekt über einen Dumpingpreis und refinanziert es dann über überteuerte Change-Requests.</p>
<p>Ganz berauscht von meiner Idee habe ich mich etwas umgehört und konnte es kaum glauben: So innovativ ist meine Idee gar nicht. In den Behörden gibt es solche Überlegungen schon länger. Und anscheinend, ist das auch alles kompatibel mit dem deutschen Vergaberecht. Es findet sich nur auf Behördenseite kein Projektleiter, der bereit wäre, seine Ausschreibung so zu gestalten. Das finde ich aus agiler Sicht total schade und es hört sich so an, als würde hier eine Chance verschenkt, effektiver mit unseren Steuergeldern umzugehen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a>, <a href='http://stefanroock.wordpress.com/tag/v-modell/'>V-Modell</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/837/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=837&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/03/21/festpreise-ausschreibungen-das-v-modell-und-scrum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum vs. Kanban: Ziel und Weg</title>
		<link>http://stefanroock.wordpress.com/2010/03/04/scrum-vs-kanban-ziel-und-weg/</link>
		<comments>http://stefanroock.wordpress.com/2010/03/04/scrum-vs-kanban-ziel-und-weg/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 21:08:30 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=833</guid>
		<description><![CDATA[Letztes Wochenende hatte ich eine interessante Diskussion mit Markus Andrezak, Bernd Schiffer und Henning Wolf über Unterschiede und Gemeinsamkeiten von Scrum und Kanban. Tatsächlich finde ich, dass die Unterschiede zwischen Scrum und Kanban verwischen, wenn ein fähiger Coach am Werk ist. Warum sollte man in Scrum nicht auch während eines Sprints releasen? Und warum sollte [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=833&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Letztes Wochenende hatte ich eine interessante Diskussion mit <a href="http://mandrezak.tumblr.com/">Markus Andrezak</a>, <a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> und <a href="http://www.henningwolf.de/">Henning Wolf</a> über Unterschiede und Gemeinsamkeiten von Scrum und Kanban. Tatsächlich finde ich, dass die Unterschiede zwischen Scrum und Kanban verwischen, wenn ein fähiger Coach am Werk ist. Warum sollte man in Scrum nicht auch während eines Sprints releasen? Und warum sollte man in Kanban nicht auch Aufwände schätzen, wenn man so bessere Terminaussagen treffen kann? Und warum sollte man in Scrum kein Kanban-Board haben dürfen? Und häufig legen organisatorische Randbedingungen auch bei Kanban ein Iterationskonzept sehr nah.</p>
<p>Bei der Diskussion haben wir einen Punkt herausgearbeitet, den ich besonders hilfreich für die Differenzierung finde: Scrum hat ein bestimmtes Ideal vor Augen. (Wenn man das erreicht hat, sollte man sich natürlich noch weiterentwickeln.) Aber erstmal hat das Ziel eine klare Form. </p>
<p>Kanban hingegen installiert einen Verbesserungsprozess und lässt offen, wohin genau die Reise geht.</p>
<p>Dadurch ist es sehr einfach, Kanban zu machen. Setzt man auf Scrum, hat man erstmal eine Transitionsphase vor sich &#8211; die kann sehr lange dauern und durchaus schwierig sein. (Und so lange macht man eigentlich noch nicht richtig Scrum.) Natürlich kann man während der Transition auch in sehr kleinen Schritten vorgehen und damit eine behutsame Einführung von Scrum erreichen &#8211; ähnlich wie bei Kanban.</p>
<p>Auf der anderen Seite kann man mit Scrum etwas tun, was man mit Kanban nicht so gut tun kann: Man kann es als Revolution einführen. Und das kann tatsächlich sinnvoll sein. Ich habe immer wieder mit Unternehmen zu tun, die mit dem Rücken zur Wand stehen. Die brauchen einen schnellen und radikalen Wandel, wenn sie überleben wollen. Mit Kanban ist denen nicht geholfen. Die brauchen keinen Prozess, der sie schrittweise und risikoarm <em>etwas besser</em> macht. Die brauchen etwas, dass sie schnell <em>viel besser</em> macht. Und dafür sind sie bereit, auch die entsprechenden Risiken einzugehen.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/833/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=833&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/03/04/scrum-vs-kanban-ziel-und-weg/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Kanban: Definition of Lead Time and Cycle Time</title>
		<link>http://stefanroock.wordpress.com/2010/03/02/kanban-definition-of-lead-time-and-cycle-time/</link>
		<comments>http://stefanroock.wordpress.com/2010/03/02/kanban-definition-of-lead-time-and-cycle-time/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 12:58:49 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=821</guid>
		<description><![CDATA[When doing Kanban for software development measuring cycle and lead times is important but often the terms are confused or defined in a fuzzy way. Here is a useful definition from the &#8222;Lean and Kanban&#8220; blog: Lead time clock starts when the request is made and ends at delivery. Cycle time clock starts when work [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=821&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When doing Kanban for software development measuring cycle and lead times is important but often the terms are confused or defined in a fuzzy way. Here is a useful <a href="http://leanandkanban.wordpress.com/2009/04/18/lead-time-vs-cycle-time/">definition from the &#8222;Lean and Kanban&#8220; blog</a>:</p>
<blockquote><p>Lead time clock starts when the request is made and ends at delivery. Cycle time clock starts when work begins on the request and ends when the item is ready for delivery. Cycle time is a more mechanical measure of process capability. Lead time is what the customer sees.</p></blockquote>
<p>Let&#8217;s have a closer look and let&#8217;s assume we are working with Kanban in a maintenance team. Bugs are reported via tickets in a ticket system like Bugzilla, Jira or Mantis. When the bug is detected a ticket is created and when the bugfix is live, the ticket is closed.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes1.png"><img src="http://stefanroock.files.wordpress.com/2010/03/leadtimes1.png?w=300&#038;h=42" alt="" title="leadtimes1" width="300" height="42" class="aligncenter size-medium wp-image-822" /></a></p>
<p>This whole period of time is the <em>lead time</em>.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes2.png"><img src="http://stefanroock.files.wordpress.com/2010/03/leadtimes2.png?w=300&#038;h=98" alt="" title="leadtimes2" width="300" height="98" class="aligncenter size-medium wp-image-823" /></a></p>
<p>The lead time is the time and not the effort. You may have a lead time of 100 days and only have to work 1 hour to fix the bug.</p>
<p>Sometime you start working on the bug. The <em>cycle time</em> is the time from the start of the work until the bugfix is live.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes3.png"><img src="http://stefanroock.files.wordpress.com/2010/03/leadtimes3.png?w=300&#038;h=142" alt="" title="leadtimes3" width="300" height="142" class="aligncenter size-medium wp-image-824" /></a></p>
<p>Again the cycle time is not the effort. Lead time can&#8217;t be shorter than cycle time. Often lead time is a lot longer.</p>
<p>In the context of maintenance there is often a <em>SLA</em> (<em>Service Level Agreement</em>) in place that defines in which time frame you have to fix a bug. Often the SLA defines a <em>resolution time</em>. That is the same as the lead time:</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes4.png"><img src="http://stefanroock.files.wordpress.com/2010/03/leadtimes4.png?w=300&#038;h=180" alt="" title="leadtimes4" width="300" height="180" class="aligncenter size-medium wp-image-825" /></a></p>
<p>Most SLAs also define a <em>response time</em>. That is the time available until the team has to respond to a new bug ticket: is it really a bug and what is the priority.</p>
<p><a href="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png"><img src="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png?w=300&#038;h=205" alt="" title="leadtimes5" width="300" height="205" class="aligncenter size-medium wp-image-827" /></a></p>
<p>With these definitions in place it is obvious that the lead time is what is relevant from the business perspective. The cycle time is what the team can influence by itself by changing its work process. To reduce lead times one can (and should) reduce cycle time. But often the time before the work starts is really long so this wait time should be reduced also. </p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/it-agile-blog-planet/'>it-agile-blog-planet</a>, <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/821/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/821/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=821&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/03/02/kanban-definition-of-lead-time-and-cycle-time/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes1.png?w=300" medium="image">
			<media:title type="html">leadtimes1</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes2.png?w=300" medium="image">
			<media:title type="html">leadtimes2</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes3.png?w=300" medium="image">
			<media:title type="html">leadtimes3</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes4.png?w=300" medium="image">
			<media:title type="html">leadtimes4</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/03/leadtimes5.png?w=300" medium="image">
			<media:title type="html">leadtimes5</media:title>
		</media:content>
	</item>
		<item>
		<title>Kanban: Wer will schon ein Bottleneck sein?</title>
		<link>http://stefanroock.wordpress.com/2010/03/01/kanban-wer-will-schon-ein-bottleneck-sein/</link>
		<comments>http://stefanroock.wordpress.com/2010/03/01/kanban-wer-will-schon-ein-bottleneck-sein/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 14:51:41 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=817</guid>
		<description><![CDATA[In einem Kanban-Projekt habe ich ein interessantes zwischenmenschliches Problem. In Kanban versuchen wir, sinnvoll mit den Bottlenecks umzugehen, um die Durchlaufzeiten zu reduzieren. Im Rahmen der Theory of Constraints gibt es sogar ein standardisiertes Verfahren zum Umgang mit Bottlenecks: Identify. Identify the bottleneck of the system. Exploit. Exploit this bottleneck, making its throughput efficient by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=817&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In einem Kanban-Projekt habe ich ein interessantes zwischenmenschliches Problem. In Kanban versuchen wir, sinnvoll mit den Bottlenecks umzugehen, um die Durchlaufzeiten zu reduzieren.</p>
<p>Im Rahmen der <a href="http://en.wikipedia.org/wiki/Critical_Chain_(novel)">Theory of Constraints</a> gibt es sogar ein standardisiertes Verfahren zum Umgang mit Bottlenecks:</p>
<ol>
<li>Identify. Identify the bottleneck of the system.</li>
<li>Exploit. Exploit this bottleneck, making its throughput efficient by changing processes, equipment maintenance procedures, training, policies, etc.</li>
<li>Subordinate: Subordinate the throughput of all other work centers to this work center.</li>
<li>Elevate. Invest in this work center to increase its throughput &#8211; add equipment, manpower, etc.</li>
<li>Inertia. Start the process over on the line to determine the new bottleneck.</li>
</ol>
<p>Das ganze kommt aus einer allgemeinen Systemtheorie und ist natürlich in der Produktion sehr wichtig und auch nützlich. Kanban für die Softwareentwicklung möchte die Theory of Constraints für die Softwareentwicklung auch anwenden. Und da lauert eine Fußangel, die ich auch nicht vorhergesehen habe.</p>
<p>Bei Kanban für die Softwareentwicklung bilden meistens Menschen das Bottleneck. Und wenn wir jetzt beginnen, diese als Bottleneck zu bezeichnen, fühlen sie sich häufig angegriffen. &#8222;Ich bin doch kein Bottleneck. Ich tue doch mein Möglichstes.&#8220; etc. Auch wenn niemand diese Menschen angreifen wollte, sind sie nun zunächst in einer Verteidigungshaltung. Und das ist die denkbar schlechteste Voraussetzung dafür, mit diesen Menschen Veränderungen im Prozess und in den Arbeitsweisen herbeizuführen.</p>
<p>Ich habe dafür bisher keine Patentlösung. Der erste wichtige Schritt ist sicherlich, sich dieses Problems bewusst zu sein.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/817/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/817/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/817/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=817&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/03/01/kanban-wer-will-schon-ein-bottleneck-sein/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Innovation, Festpreise und Verantwortung bei Airbus</title>
		<link>http://stefanroock.wordpress.com/2010/02/25/innovation-festpreise-und-verantwortung-bei-airbus/</link>
		<comments>http://stefanroock.wordpress.com/2010/02/25/innovation-festpreise-und-verantwortung-bei-airbus/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:04:56 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=815</guid>
		<description><![CDATA[Vor kurzem habe ich ein interessantes Interview mit Airbus-Chef Thomas Enders über die Probleme mit dem Airbus A400M gelesen. Zwei Stellen in dem Interview finde ich besonders interessant: Frage: &#8222;Plädieren Sie für eine neue Preisformel bei Rüstungsaufträgen?&#8220; Enders: &#8222;Ich plädiere für mehr Ehrlichkeit und Offenheit von Anfang an. Festpreisverträge machen nur dort Sinn, wo die [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=815&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich ein interessantes Interview mit Airbus-Chef Thomas Enders über die Probleme mit dem Airbus A400M gelesen.</p>
<p>Zwei Stellen in dem Interview finde ich besonders interessant: </p>
<p>Frage: &#8222;Plädieren Sie für eine neue Preisformel bei Rüstungsaufträgen?&#8220;<br />
Enders: &#8222;Ich plädiere für mehr Ehrlichkeit und Offenheit von Anfang an. Festpreisverträge machen nur dort Sinn, wo die Entwicklungsrisiken begrenzt sind und die Industrie auf vorhandenen Produkten aufbauen kann. Sie sind nicht vertretbar, wenn es um komplette Neuentwicklungen geht wie bei der A400M. [...]&#8222;<br />
Der Mann plädiert für agile Vorgehensweisen, oder? Schön, dass solche Erkenntnisse auch langsam in die Bereiche der V-Modell-Hardliner vordringen.</p>
<p>An anderer Stelle allerdings:</p>
<p>Frage: &#8222;2003 hat Airbus vertraglich einen Fixpreis von 20 Mrd. Euro vereinbart. Nun soll das A400M-Programm 32 Mrd. Euro kosten. Warum ist ein unterschriebener Vertrag nicht mehr bindend?&#8220;<br />
Enders: &#8222;Es ist richtig, dass die Industrie vor sieben Jahren Dinge versprochen hat, die, wie wir heute wissen, nicht realistisch waren. [...]&#8222;<br />
Das sieht dann wieder nicht so aus, als meinte er es wirklich ernst. Wer ist denn &#8222;die Industrie&#8220;? Airbus, oder? Warum sagt er das nicht und übernimmt damit Verantwortung?</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/815/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=815&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/02/25/innovation-festpreise-und-verantwortung-bei-airbus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Kanban ohne Stress?</title>
		<link>http://stefanroock.wordpress.com/2010/02/23/kanban-ohne-stress/</link>
		<comments>http://stefanroock.wordpress.com/2010/02/23/kanban-ohne-stress/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 15:33:09 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=813</guid>
		<description><![CDATA[Ich begleite jetzt schon eine Weile ein Kanban-Team bei einem Kunden und mache dort ganz interessante Erfahrungen. Eine &#8222;Falle&#8220; bei Scrum ist das Commitment auf das Sprint-Ziel. Es kann so missverstanden werden, als wäre es eine Garantie des Teams. So passiert es leider immer wieder, dass Teams über einen längeren Zeitraum Überstunden ohne Ende schieben [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=813&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich begleite jetzt schon eine Weile ein Kanban-Team bei einem Kunden und mache dort ganz interessante Erfahrungen.<br />
Eine &#8222;Falle&#8220; bei Scrum ist das Commitment auf das Sprint-Ziel. Es kann so missverstanden werden, als wäre es eine Garantie des Teams. So passiert es leider immer wieder, dass Teams über einen längeren Zeitraum Überstunden ohne Ende schieben mit den bekannten Ergebnissen: miese Qualität, schlechte Arbeitsmoral, Burnout, etc.<br />
Wenn das Commitment zu solchen Problemen führt, handelt es sich meiner Meinung nach um einen Fehler bei der Scrum-Implementierung. Aber trotzdem tritt dieser Fehler relativ häufig auf.</p>
<p>Kanban hat dieses Problem nicht. Es gibt keine Sprints/Iterationen und auch kein Commitment auf Sprint-Ziele. </p>
<p>Allerdings: Vor kurzem musste ich ein Teammitglied vertreten. Bei dem Kunden gibt es gleich zu Anfang auf dem Kanban-Board eine Spalte, in der die Tickets landen, wenn es einen technischen Lösungsvorschlag der Entwickler gibt. Wenn dieser akzeptiert wird, wird das Ticket in die nächste Spalte verschoben und die Entwicklung kann beginnen.<br />
Ich war nun für die Freigabe der Tickets vorantwortlich und natürlich brauchte ich dafür viel länger als das Teammitglied, das ich vertreten habe. Ich wurde also zum Bottleneck im System. Und da war ich ganz plötzlich doch im Stress. Ich wusste, dass 10 Leute oder mehr ohne Arbeit dastehen, wenn ich nicht möglichst schnell die Tickets freigebe. Und ich würde auch bis spät in die Nacht arbeiten, um meine Teamkollegen mit ausreichend Arbeit zu versorgen.</p>
<p>Ähnlich wie bei den Scrum-Commitments handelt es sich hier um eine fehlerhafte Implementierung von Kanban. Tatsächlich ist die Existenz des Bottlenecks ein organisatorisches Problem. Dass meine Teamkollegen keine Arbeit mehr haben, ist gewollt. Es soll das eigentliche Problem deutlich zeigen und dann sollen wir als Team eine Lösung dafür finden und das Bottleneck beseitigen.</p>
<p>Hier scheint mir kein relevanter Unterschied zwischen Scrum und Kanban zu existieren: Beides kann missverstanden werden und so ein Missverständnis kann in Überlastung einzelner oder aller Teammitglieder enden.</p>
<br /> Tagged: <a href='http://stefanroock.wordpress.com/tag/kanban/'>Kanban</a>, <a href='http://stefanroock.wordpress.com/tag/scrum/'>Scrum</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/813/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=813&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/02/23/kanban-ohne-stress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Drucken unter Ubuntu mit Turbo-Print</title>
		<link>http://stefanroock.wordpress.com/2010/01/31/drucken-unter-ubuntu-mit-turbo-print/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/31/drucken-unter-ubuntu-mit-turbo-print/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 08:18:38 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=811</guid>
		<description><![CDATA[Mit dem Wechsel auf Ubuntu 9.10 sind einige Standard-Pakete weggefallen oder umbenannt worden, die der Canon-Druckertreiber für den Canon MP-620 benötigt. Zumindest direkt nach der Freigabe von 9.10 war von Canon auch noch kein Update des Druckertreibers verfügbar. Da bin ich auf Turbo-Print gestoßen. Turbo-Print unterstützt alle mögliche Drucker (darunter auch den Canon MP-620) und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=811&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Mit dem Wechsel auf Ubuntu 9.10 sind einige Standard-Pakete weggefallen oder umbenannt worden, die der Canon-Druckertreiber für den Canon MP-620 benötigt. Zumindest direkt nach der Freigabe von 9.10 war von Canon auch noch kein Update des Druckertreibers verfügbar.<br />
Da bin ich auf <a href="http://turboprint.de/">Turbo-Print</a> gestoßen. Turbo-Print unterstützt alle mögliche Drucker (darunter auch den Canon MP-620) und ist im Gegensatz zu den Canon-Ubuntu-Treibern auch ganz einfach zu installieren.<br />
Einziger Wehrmutstropfen ist, dass Turbo-Print kommerziell ist &#8211; knapp 30 EUR ist jetzt aber auch nicht so viel Geld.<br />
Und mit Turbo-Print klappt&#8217;s jetzt auch wieder mit dem Drucken.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/811/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=811&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/31/drucken-unter-ubuntu-mit-turbo-print/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Wieviel Schutz brauchen Entwickler?</title>
		<link>http://stefanroock.wordpress.com/2010/01/26/wieviel-schutz-brauchen-entwickler/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/26/wieviel-schutz-brauchen-entwickler/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 19:33:31 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/2010/01/26/wieviel-schutz-brauchen-entwickler/</guid>
		<description><![CDATA[Vor ein paar Tagen habe ich mit einem Web-Entwickler gesprochen, den ich sehr schätze &#8211; über Java-Script. Wir waren uns schnell einig, dass Java-Script stark unterschätzt wird. Und dann habe ich ihn etwas ausgefragt, um mich selbst weiterzubilden. Mir ist z.B. notorisch unklar, ob es einen einheitlichen Stand der Kunst zur Definition von Klassen in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=810&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen habe ich mit einem Web-Entwickler gesprochen, den ich sehr schätze &#8211; über Java-Script. Wir waren uns schnell einig, dass Java-Script stark unterschätzt wird. </p>
<p>Und dann habe ich ihn etwas ausgefragt, um mich selbst weiterzubilden. Mir ist z.B. notorisch unklar, ob es einen einheitlichen Stand der Kunst zur Definition von Klassen in Java-Script gibt. Und in dieser Diskussion sind wir auch auf private Felder und Methoden in Klassen gekommen. In Java-Script kann man beides machen, es sieht aber nicht so übersichtlich aus. </p>
<p>Daher macht mein Gesprächspartner das gar nicht und markiert Privates einfach mit einem führenden Unterstrich. Und das funktioniert nach seinen Aussagen auch sehr gut. Und zusätzlich muss man sich beim Unittesten nicht damit rumärgern, dass man an irgendwas nicht drankommt.</p>
<p>Und tatsächlich: Wenn ich an 12 Jahre Java-Entwicklung zurückdenke, habe ich kaum von privaten Methoden profitiert. Aber behindert haben sie mich ständig.</p>
<p>Ähnlich verhält es sich mit Konstanten. Klar muss man wissen, was konstant ist. Aber dafür reicht eine Namenskonvention. Hat mich jemals der Compiler darauf hingewiesen, dass ich versuche, eine Konstante zu ändern? Nicht, dass ich mich erinnern könnte. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/810/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=810&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/26/wieviel-schutz-brauchen-entwickler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp &#8222;Clean Code&#8220;</title>
		<link>http://stefanroock.wordpress.com/2010/01/26/buchtipp-clean-code/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/26/buchtipp-clean-code/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 08:43:29 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=806</guid>
		<description><![CDATA[Das Buch &#8222;Clean Code&#8220; von Robert Martin stand schon eine Weile in meinem Bücherregal. Ich habe es solange aufgeschobene, weil ich für mich wenig Neues erwartete. Jetzt bin ich dann endlich dazu gekommen, das Buch zu lesen. Ich hatte vor, es zu überfliegen, weil der Inhalt für mich mit 10 Jahren agiler Programmiererfahrung nicht wirklich [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=806&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.files.wordpress.com/2010/01/clean-code.jpg"><img src="http://stefanroock.files.wordpress.com/2010/01/clean-code.jpg?w=455" alt="" title="clean-code"   class="aligncenter size-full wp-image-807" /></a></p>
<p>Das Buch &#8222;Clean Code&#8220; von Robert Martin stand schon eine Weile in meinem Bücherregal. Ich habe es solange aufgeschobene, weil ich für mich wenig Neues erwartete. Jetzt bin ich dann endlich dazu gekommen, das Buch zu lesen. Ich hatte vor, es zu überfliegen, weil der Inhalt für mich mit 10 Jahren agiler Programmiererfahrung nicht wirklich neu sein kann.</p>
<p>Wirklich neu war der Inhalt auch nicht, aber aus dem Überfliegen ist auch nichts geworden. Zum einen ist das Buch so kurzweilig geschrieben, dass das Lesen Spaß macht. Zum anderen waren doch einige Abschnitte drin, die mich überrascht und zum Nachdenken angeregt haben. </p>
<p>Die grundsätzliche Argumentation des Buches ist, dass man sich auch um die Kleinigkeiten kümmern muss. Das ist erstmal konträr zu dem, was ich im Studium gelernt habe. Dort war eine Hauptmotivation für Module, dass man in denen das Chaos einsperren kann. Demnach müsste man die Makrostruktur sauber halten und muss sich um die Interna der Module nicht so sehr kümmern. Klang logisch. Aber sowas habe ich in 18 jahren kommerzieller Softwareentwicklung nicht erlebt. Entweder war das System auf jeder Ebene gut strukturiert oder auf jeder Ebene vergurkt. Ich denke, das hängt mit der Einstellung der Entwickler zusammen. Entweder sie interessieren sich für Qualität. Dann tun sie das auf jeder Ebene. Oder sie interessieren sich nicht für Qualität. Dann kümmern sie sich auch nicht um eine vernünftige Makro-Struktur. Robert Martin hat also Recht: Wir müssen uns um sauberen Code auch auf Mikro-Ebene kümmern.</p>
<p>Nur ein Beispiel für die Überraschungen, die das Buch für mich bereit hielt Robert Martin vertritt die Ansicht, dass eine Methode mit einem Parameter schon komplex ist und wenn möglich vermieden werden sollte. Mit 2 oder 3 Parametern wird es demnach noch viel schlimmer. Zuerst habe ich gedacht &#8222;naja&#8230;&#8220;. Aber seine Argumente sind gut und er hat Recht. Viele Parameter sind in sich komplex und deuten häufig darauf hin, dass wir zusätzliche Klassen benötigen oder Methoden in andere Klassen verschoben werden sollten.</p>
<p>Fazit: Aus meiner Sicht ist &#8222;Clean Code&#8220; ein Must-Have für jeden professionellen Softwareentwickler &#8211; egal ob agil oder nicht. Auch alte Hasen werden Nutzen daraus ziehen können.</p>
<br /> Tagged: Architecture, eXtremeProgramming, Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/806/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=806&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/26/buchtipp-clean-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2010/01/clean-code.jpg" medium="image">
			<media:title type="html">clean-code</media:title>
		</media:content>
	</item>
		<item>
		<title>Flow, Pair Programming, Teams und das Unerwartete</title>
		<link>http://stefanroock.wordpress.com/2010/01/18/flow-pair-programming-teams-und-das-unerwartete/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/18/flow-pair-programming-teams-und-das-unerwartete/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 21:42:42 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[it-agile-blog-planet]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=804</guid>
		<description><![CDATA[Ich bin jetzt endlich dazu gekommen, einen Artikel zu lesen, der schon eine Weile bei mir rumlag: &#8222;Promiscuous Pairing and Beginner’s Mind: Embrace Inexperience&#8220; (PDF). Auch wenn der Artikel nicht mehr ganz frisch ist, ist er dennoch sehr erfrischend. Er untersucht die Auswirkungen verschiedener Team-Organisationsformen in agilen Projekten. Zuerst belegt er die Annahme, dass Teams, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=804&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich bin jetzt endlich dazu gekommen, einen Artikel zu lesen, der schon eine Weile bei mir rumlag: &#8222;Promiscuous Pairing and Beginner’s Mind: Embrace Inexperience&#8220; (<a href="http://mitchlacey.com/docs/XR4PromiscuousPairingandBeginnersMind.pdf">PDF</a>).</p>
<p>Auch wenn der Artikel nicht mehr ganz frisch ist, ist er dennoch sehr erfrischend. Er untersucht die Auswirkungen verschiedener Team-Organisationsformen in agilen Projekten. Zuerst belegt er die Annahme, dass Teams, die sich selbst Tasks nehmen, die effektivste Form der Arbeitsorganisation ist. Gefolgt von Teams, denen die Aufgaben zugewiesen werden, gefolgt von Individuen, die sich die Arbeit selbst nehmen, gefolgt von Individuen, die Arbeit zugewiesen bekommen. Damit ist die klassische Form der Arbeitszuweisung am wenigsten effektiv. Interessanterweise geht FDD mit seinem Class-Ownership-Konzept aber auch in diese (ineffektive) Richtung.</p>
<p>Richtig interessant wird der Artikel aber bei der Frage des Pair-Programming. Die Autoren haben bei sich festgestellt, dass die Enwicklung dann mit Abstand am Effektivsten war, wenn alle 90 (!) Minuten die Pair-Partner getauscht wurden. Bei wachsender Teamgröße (11 Personen) war 120 Minuten die ideale Zeitspanne, bis die Paare wieder wechseln sollten.<br />
Das ist wirklich erstaunlich. Normalerweise geht man davon aus, dass man für hochproduktives Arbeiten im <a href="http://de.wikipedia.org/wiki/Flow_%28Psychologie%29">Flow</a> arbeiten muss. Der Flow-Zustand hat aber auch Nachteile: Man braucht lange, um in den Flow-Zustand zu gelangen und wenn man drin ist, ist der Zustand fragil. Durch Unterbrechungen kann er schnell zerstört werden. Nun sagen die Ergebnisse des Papers, dass man auch ohne Flow-Zustand extrem produktiv sein kann &#8211; schließlich institutionalisiert das extrem häufige Wechseln des Pair-Partners ja gerade die Unterbrechungen. Dadurch geht man immer wieder mit einer neuen Perspektive an die Aufgabe heran (&#8222;Beginners Mind&#8220;) und kommt so auf die besten Ideen. Und das ist offenbar sehr produktiv.</p>
<p>Und an dieser Stelle finde ich den Artikel auf einer Meta-Ebene sehr interessant: Die Autoren haben ein &#8222;Naturgesetz&#8220; in Frage gestellt &#8211; nämlich dass hochproduktives Arbeiten nur im Flow möglich ist. Und so konnten sie etwas wirklich Neues entdecken. Respekt!</p>
<br /> Tagged: eXtremeProgramming, Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/804/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/804/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/804/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=804&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/18/flow-pair-programming-teams-und-das-unerwartete/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Festpreise, Aufwandsprojekte und dann?</title>
		<link>http://stefanroock.wordpress.com/2010/01/15/festpreise-aufwandsprojekte-und-dann/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/15/festpreise-aufwandsprojekte-und-dann/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:25:51 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=802</guid>
		<description><![CDATA[Vor kurzem habe ich hier zu Festpreisen und Aufwandsprojekten geschrieben. Und ich hatte versprochen noch etwas mehr dazu zu schreiben. Das große Problem an beiden Vertragsformen ist ihre Kostenorientierung. Die Kosten stehen im Vordergrund und damit gehen auch immer alle Diskussionen in Richtung Kostenreduktion. Ich möchte keine Kostenstelle sein! Ich will Geschäftswert schaffen. Wie wäre [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=802&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vor kurzem habe ich hier zu <a href="http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/">Festpreisen und Aufwandsprojekten</a> geschrieben. Und ich hatte versprochen noch etwas mehr dazu zu schreiben.<br />
Das große Problem an beiden Vertragsformen ist ihre Kostenorientierung. Die Kosten stehen im Vordergrund und damit gehen auch immer alle Diskussionen in Richtung Kostenreduktion.<br />
Ich möchte keine Kostenstelle sein! Ich will Geschäftswert schaffen.<br />
Wie wäre es also zur Abwechslung mal mit wertorientierten Vertragsformen? Warum lassen wir uns als Softwareentwickler nicht prozentual an den Werten beteiligen, die unsere Software für den Auftraggeber schafft?<br />
Dann haben Auftragnehmer und Auftraggeber dasselbe Ziel. Und wenn der Auftragnehmer durch Scrum ganz furchtbar produktiv wird, profitiert er auch davon.<br />
Neu ist die Idee übrigens nicht. Kent Beck hat schon in der zweiten Auflage des XP-Buchs &#8222;Pay per Use&#8220; gefordert; ein mögliches Vertragsmodell, aber nicht das einzige.</p>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/802/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/802/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/802/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=802&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/15/festpreise-aufwandsprojekte-und-dann/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Lernen im 4. Quartal 2009</title>
		<link>http://stefanroock.wordpress.com/2010/01/14/lernen-im-4-quartal-2009/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/14/lernen-im-4-quartal-2009/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:02:18 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=800</guid>
		<description><![CDATA[Damit habe ich mich im 4. Quartal 2009 beschäftigt und das habe ich dabei gelernt: Ich habe mir Cruise-Control Ruby angesehen und damit die Testausführung in einem Rails-Projekt automatisiert. Ich bin nicht überzeugt von dem Tool. Zu umständlich für das bisschen, was es leistet. Hudson kann mehr und ist auch nicht komplizierter. Ich habe weiter [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=800&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Damit habe ich mich im 4. Quartal 2009 beschäftigt und das habe ich dabei gelernt:</p>
<ul>
<li>Ich habe mir <a href="http://cruisecontrolrb.thoughtworks.com/">Cruise-Control Ruby</a> angesehen und damit die Testausführung in einem Rails-Projekt automatisiert. Ich bin nicht überzeugt von dem Tool. Zu umständlich für das bisschen, was es leistet.</li>
<li><a href="http://hudson-ci.org/">Hudson</a> kann mehr und ist auch nicht komplizierter.</li>
<li>Ich habe weiter Rails programmiert und insbesondere mein Verständnis der DB-Migration verbessert.</li>
<li>In diesem Zusammenhang habe ich mit auch <a href="http://jquery.com/">jQuery</a> und <a href="http://jqueryui.com/">jQuery-UI</a> angesehen und bin davon ganz angetan.</li>
<li>Ich habe mehrere Präsentationen mit Prezi erstellt und gehalten. Das war lustig. Meiner Erfahrungen dazu hatte ich bereits in <a href="http://stefanroock.wordpress.com/2009/10/22/prasentationen-mit-prezi/">einem anderen Blog-Eintrag beschrieben</a>.</li>
<li>Im Rahmen einer Artikelvorbereitung habe ich mich näher mit BDD beschäftigt und etwas mit <a href="http://www.easyb.org/">easyB</a> programmiert. Ich finde easyB echt nett, um Tests äh Spezifikationen für Groovy-Code zu schreiben.</li>
<li>Für ein Projekt habe ich Python-Skripte programmiert. Das war lustig. Nette Sprache.</li>
<li>Ich habe bei einem Kunden mehr Kanban in der Praxis erlebt und dabei ein paar interessante Einsichten gewonnen. Mehr dazu auf der OOP und in späteren Blog-Einträgen.</li>
<li>Ich habe gelernt, dass man in einer Linux-Shell Strg+R drücken kann, um in der Shell-History zu suchen. Das ist echt nützlich.</li>
<li>Ich habe das Buch &#8222;Sexy Webdesign&#8220; gelesen. Meine Einschätzung dazu hatte ich bereits in einem <a href="http://stefanroock.wordpress.com/2009/11/17/buch-sexy-webdesign/">anderen Blog-Eintrag beschrieben</a>.</li>
<li>Durch das Buch bin ich auf die Layouthilfe <a href="http://960.gs/">960.gs</a> gestoßen. Das sieht auch echt nützlich aus.</li>
<li>Ich habe etwas mit der A3-Analysetechnik aus dem Toyota-Production-System experimentiert und dabei festgestellt, dass das gar nicht so einfach ist. Aber hilfreich war es dann doch.</li>
<li>Ich habe in einem Java-Projekt etwas <a href="https://jersey.dev.java.net/">Jersey</a> programmiert, um ein REST-API zu erstellen. Schön einfach. Ist man von Java ja gar nicht gewohnt <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Für die XP-Days Germany musste ich mehrere Code-Katas vorbereiten. Dabei habe ich gemerkt, wie überraschend viel man lernen kann, wenn man mehrfach hintereinander dasselbe Beispiel programmiert. Diese Erfahrung habe ich in einem <a href="http://stefanroock.wordpress.com/2009/11/29/programmierkatas/">anderen Blog-Eintrag beschrieben</a>.</li>
<li>Ich habe das Buch <a href="http://stefanroock.wordpress.com/2009/12/04/buch-x-teams/">X-Teams</a> gelesen. Meine Einschätzung habe ich hier beschrieben.</li>
<li>Nachdem ich mir von meinem Bruder im 3. Quartal die richtige Brustschwimm-Technik habe zeigen lassen, habe ich das Brustschwimmen geübt und kann das jetzt einigermaßen (letzter Wert: 1.000 Meter am Stück). Das war am Anfang wirklich ein komisches Gefühl: Ich paddel unbeholfen zwischen den ganzen Halbprofi-Schwimmern rum und mache mich dabei mehr oder weniger lächerlich. Das hat mir ein Gefühl dafür vermittelt, wie schwer es mitunter für Schulungsteilnehmer sein muss. Man macht in einem Bereich mehr oder weniger öffentlich, dass man in diesem Bereich von Tuten und Blasen keine Ahnung hat. Das kann schon eine ganz schöbe Überwindung bedeuten.</li>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/800/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=800&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/14/lernen-im-4-quartal-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Kata Bunkai: Prime Factors</title>
		<link>http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 07:46:42 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=794</guid>
		<description><![CDATA[Bernd Schiffer has published a screencast of the Prime Factors Code Kata that we prepared. When a programmer new to TDD watches such a code kata he has the same problem that an unexperiences karate student has when he watches a karate kata. He can see what&#8217;s happening but he has no idea why. In [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=794&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> has published a <a href="http://berndschiffer.blogspot.com/2009/12/prime-factors-kata-first-try.html">screencast</a> of the <a href="http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata">Prime Factors Code Kata</a> that we prepared.<br />
When a programmer new to TDD watches such a code kata he has the same problem that an unexperiences karate student has when he watches a karate kata. He can see what&#8217;s happening but he has no idea why.<br />
In karate there is a second kata flavour: <strong>Bunkai</strong>: </p>
<blockquote><p><em>Bunkai literally meaning &#8222;analysis&#8220; or &#8222;disassembly&#8220;, is a term used in Japanese martial arts referring to the application of fighting techniques extracted from the moves of a &#8222;form&#8220; (kata)</em> (see <a href="http://en.wikipedia.org/wiki/Bunkai">Wikipedia</a>).
</p></blockquote>
<p>When watching a kata bunkai it becomes pretty obvious why the moves of the kata are done.<br />
The same should be possible with code katas. Therefore we tried to transfer the bunkai concept to code katas. For now that simply means that the non obvious parts of the code kata are explained. <a href="http://www.youtube.com/watch?v=RjuDKGxtBHU">I published the result for the prime factors code kata on YouTube</a>.</p>
<span style="text-align:center; display: block;"><a href="http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/"><img src="http://img.youtube.com/vi/RjuDKGxtBHU/2.jpg" alt="" /></a></span>
<p>I have to confess that I simply cut Bernds video. I think the real code kata bunkai should include the explanation in the kata &#8211; like it is in karate. We will work on that.</p>
<br /> Tagged: Groovy, Refactoring, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/794/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/794/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/794/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=794&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Festpreise und schneller durch Scrum</title>
		<link>http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/</link>
		<comments>http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 10:45:48 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=792</guid>
		<description><![CDATA[Boris Gloger hat zwei Blogeinträge zu Festpreisen und Scrum geschrieben (hier und da) und dabei interessante Thesen vertreten. Die Abrechnung nach Time&#38;Material könne problematisch sein, wenn man nach Scrum arbeitet. Sein Argument ist, dass der Anbieter dann einfach Tagessätze abrechnet und keine große Motivation hat, effektiver zu arbeiten. Aber genau dafür sei Scrum da: effektiver [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=792&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Boris Gloger hat zwei Blogeinträge zu Festpreisen und Scrum geschrieben (<a href="http://borisgloger.com/2009/12/17/scrum-und-festpreis/">hier</a> und <a href="http://borisgloger.com/2009/12/31/antwort-auf-theos-kommentar-scrum-und-festpreis/">da</a>) und dabei interessante Thesen vertreten. Die Abrechnung<br />
nach Time&amp;Material könne problematisch sein, wenn man nach Scrum arbeitet. Sein Argument ist, dass der Anbieter dann einfach Tagessätze abrechnet und keine große Motivation hat, effektiver zu arbeiten. Aber genau dafür sei Scrum da: effektiver Arbeiten. Ich finde das Argument soweit nachvollziehbar.</p>
<p>Eine Alternative dazu könne ein Festpreis sein &#8211; das vertritt auch Jeff Sutherland mit seinem <a href="http://jeffsutherland.com/scrum/2008/08/agile-2008-money-for-nothing.html">&#8222;Money for Nothing, Change for Free&#8220;</a>. Wer Scrum richtig macht, sei deutlich effizienter als ein klassischer Anbieter und könne daher mit Festpreisen sehr hohe Margen erreichen. Auch das finde ich erstmal nachvollziehbar.</p>
<p>Aber:</p>
<p>Wir haben uns vor ein paar Jahren um ein Multi-Millionen-Euro-Projekt beworben. Nach einigen Auswahlrunden waren noch wir übrig und ein anderer Anbieter. Der andere Anbieter geht klassisch vor und ist viel größer als wir. Wir haben die Entwicklung zu einem Bruchteil des Preises angeboten, die der andere Anbieter angeboten hat. Ich glaube, unsere Aufwandsschätzung hätte gepasst. Wir wären also tatsächlich deutlich effektiver gewesen als der Anbieter. Scrum sei Dank.</p>
<p>Und jetzt passierte etwas sehr Merkwürdiges. Der Auftraggeber meldete sich bei uns und meinte, unser Angebot sei zu billig und damit<br />
unglaubwürdig. Uns wurde empfohlen, Aufwände für Projektleitung, Testen, Dokumentation etc. extra auszuweisen und damit den Aufwand in &#8222;glaubwürdige&#8220; Regionen zu bringen. Also haben wir das gemacht. Letztlich waren wir damit immer noch erkennbar günstiger als der andere Anbieter, aber nicht mehr so dramatisch. Und wir haben unsere Margen erhöht.</p>
<p>Damit war der Auftraggeber zufrieden und hat sich für den anderen Anbieter entschieden. Die Argumentation des Vorstandes ging dann wahrscheinlich so: &#8222;OK, A ist etwas günstiger, aber B ist größer. Da sind wir auf der sicheren Seite. Also nehmen wir die Mehrkosten in Kauf.&#8220;</p>
<p>Dass wir soviel effektiver waren als die Konkurrenz hat uns also gar nichts genützt. </p>
<p>Ich glaube, es gibt jenseits von Time&amp;Material und Festpreis andere Vertragsmodelle, die besser zu Scrum passen (und natürlich kann man prinzipiell Time&amp;Material und Festpreise mit Scrum machen). Ich werde dazu später noch etwas schreiben.</p>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/792/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/792/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/792/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=792&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2010/01/06/schneller-durch-scrum-und-festpreise/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Katacast: Screencast zu Code-Kata &#8211; Primfaktorzerlegung</title>
		<link>http://stefanroock.wordpress.com/2009/12/26/katacast-screencast-zu-code-kata-primfaktorzerlegung/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/26/katacast-screencast-zu-code-kata-primfaktorzerlegung/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 19:04:37 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=790</guid>
		<description><![CDATA[Ich habe zusammen mit Bernd Schiffer in mehreren Iterationen an der Code-Kata zur Primfaktorzerlegung gearbeitet. Jetzt hat Bernd den dazugehörigen Screencast veröffentlicht. Die Kata selbst führt Bernd vor.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=790&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe zusammen mit <a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> in mehreren Iterationen an der Code-Kata zur Primfaktorzerlegung gearbeitet. Jetzt hat Bernd den dazugehörigen <a href="http://berndschiffer.blogspot.com/2009/12/prime-factors-kata-first-try.html">Screencast veröffentlicht</a>. Die Kata selbst führt Bernd vor. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/790/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/790/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/790/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=790&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/26/katacast-screencast-zu-code-kata-primfaktorzerlegung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum bei Startups</title>
		<link>http://stefanroock.wordpress.com/2009/12/16/scrum-bei-startups/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/16/scrum-bei-startups/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 09:39:03 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=788</guid>
		<description><![CDATA[In meinen Scrum-Kursen begegne ich immer häufiger Leuten, die direkt oder indirekt davon betroffen sind, dass Venture-Capital-Geber (VCs) wünschen, dass IT-Startups Scrum einsetzen. Bei einigen Geldgebern gibt es wohl gar keine Kohle mehr für IT-Startups, wenn sie nicht Scrum machen. Das ist auf jeden Fall ein starkes Signal. Der Job der VCs besteht darin, die [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=788&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In meinen Scrum-Kursen begegne ich immer häufiger Leuten, die direkt oder indirekt davon betroffen sind, dass Venture-Capital-Geber (VCs) wünschen, dass IT-Startups Scrum einsetzen. Bei einigen Geldgebern gibt es wohl gar keine Kohle mehr für IT-Startups, wenn sie nicht Scrum machen.</p>
<p>Das ist auf jeden Fall ein starkes Signal. Der Job der VCs besteht darin, die erfolgversprechenden Startups von denen zu unterscheiden, die keine Chance auf Erfolg haben. Und wenn die VCs jetzt immer stärker in Richtung Scrum drängen, dann bedeutet das wohl, dass sie Scrum als Erfolgsfaktor für Startups ausgemacht haben.</p>
<p>Das bedeutet natürlich noch lange nicht, dass die VCs wirklich verstanden haben, was Scrum ist. Aber das spielt in ihrer Position auch höchstens eine untergeordnete Rolle. Oder doch? Brauchen wir &#8222;Scrum für VCs&#8220;-Kurse?</p>
<p>Ob es viel bringt, die Startups zu Scrum zu zwingen kann man natürlich in Frage stellen. Wenn die Startups das nicht von sich aus wollen, werden sie Scrum wahrscheinlich auch nicht richtig hinkriegen. Sie werden Scrum bei Bedarf mit mehr oder weniger großem schauspielerischem Talent aufführen: Scrum-Schauspieler. Aber dadurch erreichen sie die erhofften Effekte nicht.</p>
<p>Es gibt allerdings auch Startups, die Scrum bisher einfach nicht oder nicht richtig kennen. Und da kann ein Schubs in Richtung Scrum durchaus hilfreich sein. </p>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/788/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/788/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/788/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=788&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/16/scrum-bei-startups/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Artikel zu Low-Tech-Tools in JAXenter</title>
		<link>http://stefanroock.wordpress.com/2009/12/14/artikel-zu-low-tech-tools-in-jaxenter/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/14/artikel-zu-low-tech-tools-in-jaxenter/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 08:24:39 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=785</guid>
		<description><![CDATA[Auf JAXenter ist ein Artikel von mir zu Low-Tech-Tools erschienen: http://it-republik.de/jaxenter/artikel/Low-Tech-Tools-2747.html Tagged: eXtremeProgramming, Scrum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=785&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auf JAXenter ist ein Artikel von mir zu Low-Tech-Tools erschienen: <a href="http://it-republik.de/jaxenter/artikel/Low-Tech-Tools-2747.html">http://it-republik.de/jaxenter/artikel/Low-Tech-Tools-2747.html</a></p>
<br /> Tagged: eXtremeProgramming, Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/785/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/785/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/785/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=785&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/14/artikel-zu-low-tech-tools-in-jaxenter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buch: x-teams</title>
		<link>http://stefanroock.wordpress.com/2009/12/04/buch-x-teams/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/04/buch-x-teams/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 19:01:51 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=781</guid>
		<description><![CDATA[Ich habe gerade das Buch &#8222;x-teams&#8220; von Deborah Ancona und Henrik Bresman gelesen. Es geht im Buch um eine besondere Art von Teams, die sogenannten x-teams, die besonders gut in hochkomplexen Umgebungen funktionieren: x-teams sind innovativ. x-teams haben in ihrem Lebenszyklus unterschiedliche Schwerpunktsetzungen: Explore, Exploit, Export. Zunächst wird das Umfeld exploriert, um die Situation zu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=781&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe gerade das Buch &#8222;x-teams&#8220; von Deborah Ancona und Henrik Bresman gelesen.</p>
<p><a href="http://stefanroock.files.wordpress.com/2009/12/xteams.jpg"><img src="http://stefanroock.files.wordpress.com/2009/12/xteams.jpg?w=455" alt="" title="Xteams"   class="aligncenter size-full wp-image-782" /></a></p>
<p>Es geht im Buch um eine besondere Art von Teams, die sogenannten <em>x-teams</em>, die besonders gut in hochkomplexen Umgebungen funktionieren:</p>
<ol>
<li>x-teams sind innovativ.</li>
<li>x-teams haben in ihrem Lebenszyklus unterschiedliche Schwerpunktsetzungen: <em>Explore, Exploit, Export</em>. Zunächst wird das Umfeld exploriert, um die Situation zu verstehen. Anschließend wird eine Idee oder ein Produkt ausgearbeitet und umgesetzt. Und zuletzt werden die Ergebnisse in den Markt und das eigene Unternehmen exportiert.</li>
<li>x-teams beschäftigen sich nicht primär mit sich selbst, sondern managen stets auch die Beziehungen zu ihrem Umfeld, den Stakeholdern etc.</li>
<li>x-teams haben wechselnde Mitglieder, abhängig von den Lebenszyklus-Phasen.</li>
</ol>
<p>Diese Eigenschaften basieren auf Untersuchungen erfolgreicher Teams bei Microsoft, BP, P&amp;G, etc. Bei diesen Teams handelte es sich nicht nur um IT-Teams.</p>
<p>Es gibt hier offensichtliche Parallelen zu Scrum oder anderen agilen Ansätzen:</p>
<ol>
<li>Scrum dient der Entwicklung innovativer Produkte.</li>
<li>Meistens werden bei agilen Ansätzen zwei &#8222;Phasen&#8220; unterschieden: Envisioning (=Explore) und Entwicklung (=Exploit). Der Export-Teil fehlt hingegen als explizites Element. Ich habe nur sehr fragmentarisches Wissen über die Ursachen, warum eXtreme Programming bei Crysler letztlich beendet wurde. Möglicherweise hat der Export gefehlt?</li>
<li>Scrum sieht den Product Owner als primäre Schnittstelle zur Außenwelt vor, in XP war es der On-Site-Customer. x-teams deuten darauf hin, dass wir diese Schnittstelle nicht zu strikt begreifen sollten. Alle Teammitglieder sollen und dürfen Kontakt zu Anwendern und anderen Stakeholdern haben. Es muss halt nur klar sein, wer letztlich den Geschäftswert einschätzt und die Priorisierung vornimmt.</li>
<li>Wir weisen immer gerne darauf hin, dass Teambildung erhebliche Kosten verursachen kann und man daher nicht jeden Sprint das halbe Team austauschen sollte. Wir sollten es damit aber auch nicht übertreiben und gar keinen personellen Wechsel mehr erlauben.</li>
</ol>
<p>Aus meiner Sicht liefert das Buch ein paar neue Erkenntnisse und Denkmodelle, aber nichts gravierend Neues. Dadurch hat es sich für mich dann auch nicht so interessant gelesen.</p>
<br /> Tagged: eXtremeProgramming, Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/781/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/781/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/781/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=781&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/04/buch-x-teams/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://stefanroock.files.wordpress.com/2009/12/xteams.jpg" medium="image">
			<media:title type="html">Xteams</media:title>
		</media:content>
	</item>
		<item>
		<title>XP-Days-Pecha-Kucha: Stop the Line in der Softwareentwicklung</title>
		<link>http://stefanroock.wordpress.com/2009/12/03/xp-days-pecha-kucha-stop-the-line-in-der-softwareentwicklung/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/03/xp-days-pecha-kucha-stop-the-line-in-der-softwareentwicklung/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 08:07:53 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=779</guid>
		<description><![CDATA[Die Folien zu meinem Pecha-Kucha-Vortrag &#8222;Stop the Line in der Softwareentwicklung&#8220;, den ich auf den XP-Days Germany in Karlsruhe gehalten habe, sind jetzt online auf Slideshare.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=779&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die Folien zu meinem Pecha-Kucha-Vortrag &#8222;Stop the Line in der Softwareentwicklung&#8220;, den ich auf den XP-Days Germany in Karlsruhe gehalten habe, sind jetzt <a href="http://www.slideshare.net/roock/pechakucha-stop-the-line">online auf Slideshare</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/779/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=779&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/03/xp-days-pecha-kucha-stop-the-line-in-der-softwareentwicklung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Vortrag zum inkrementellen Entwurf auf XP-Days und Scrum-Gathering</title>
		<link>http://stefanroock.wordpress.com/2009/12/02/vortrag-zum-inkrementellen-entwurf-auf-xp-days-und-scrum-gathering/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/02/vortrag-zum-inkrementellen-entwurf-auf-xp-days-und-scrum-gathering/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:54:20 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=777</guid>
		<description><![CDATA[Die Präsentation zum inkrementellen Entwurf, die ich auf den XP-Days Germany in Karlsruhe gehalte habe, findet sich hier als Prezi-Flash-Präsentation. Einen fast identischen Vortrag habe ich auch auf dem Scrum-Gathering in München gehalten. Hier ist die Prezi-Präsentation dazu. Die Präsentationen habe ich mit Prezi erstellt. Die Vorteile von Prezi aus meiner Sicht, habe ich bereits [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=777&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die Präsentation zum inkrementellen Entwurf, die ich auf den XP-Days Germany in Karlsruhe gehalte habe, findet sich <a href="http://prezi.com/w5cg__zswrfl/">hier als Prezi-Flash-Präsentation</a>.</p>
<p>Einen fast identischen Vortrag habe ich auch auf dem Scrum-Gathering in München gehalten. <a href="http://prezi.com/ptx3bx9lxh4c/">Hier ist die Prezi-Präsentation dazu</a>.</p>
<p>Die Präsentationen habe ich mit Prezi erstellt. Die Vorteile von Prezi aus meiner Sicht, habe ich bereits in einem anderen <a href="http://stefanroock.wordpress.com/2009/10/22/prasentationen-mit-prezi/">Blogeintrag</a> beschrieben.</p>
<br /> Tagged: Architecture, eXtremeProgramming, Scrum, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/777/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/777/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=777&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/02/vortrag-zum-inkrementellen-entwurf-auf-xp-days-und-scrum-gathering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Mikroschritte in Code-Kata</title>
		<link>http://stefanroock.wordpress.com/2009/12/01/mikroschritte-in-code-kata/</link>
		<comments>http://stefanroock.wordpress.com/2009/12/01/mikroschritte-in-code-kata/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 18:22:35 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=772</guid>
		<description><![CDATA[Bernd Schiffer und ich haben eine Code-Kata mit TDD programmiert. Nach ein paar Refactorings hatten wir Groovy-Code, der ungefähr so aussah (ich habe das konkrete Beispiel gegen ein einfacheres ausgetauscht): def toString(number, range = (1..number).reverse()) { if (range.empty) return "" def item = range.last() "$item" + toString(number, range - item) } assert '1' == toString(1) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=772&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> und ich haben eine Code-Kata mit TDD programmiert. Nach ein paar Refactorings hatten wir Groovy-Code, der ungefähr so aussah (ich habe das konkrete Beispiel gegen ein einfacheres ausgetauscht):<br />
<code>
<pre>def toString(number, range = (1..number).reverse()) {
    if (range.empty) return ""
    def item = range.last()
    "$item" + toString(number, range - item)
}
</pre>
<p></code><code>
<pre>
assert '1' == toString(1)
assert '12' == toString(2)
assert '123' == toString(3)
assert '1234567891011' == toString(11)
</code></pre>
<p>"toString" liefert einen String mit den Zahlen 1 bis "number". In "range" finden sich die jeweils noch zu bearbeitenden Zahlen. Das kann man in Groovy natürlich viel einfacher hinschreiben:<br />
<code>
<pre>def toString(number) {
	(1..number).join()
}</pre>
<p></code><br />
Aber für den Punkt dieses Blog-Beitrags bleiben wir bei der ursprünglichen Implementation. Wir bleiben also bei der "range" und fokussieren auf ein anderes Problem. Wir verdrehen bei der Erzeugung der Range die Reihenfolge mit "reverse" und greifen hinterher mit "last" darauf zu. Es wäre einfacher, wenn wir die Reihenfolge unverändert ließen und mit "first" auf das jeweils erste Element zugreifen würden. Wir brauchen also ein Refactoring, das diese beiden Stellen im Code ändert.</p>
<p>Dummerweise steht der Bernd davor. Er ist dagegen, dass wir einfach diese zwei Stellen im Code ändern. Er meint, das sei nicht der "grüne Weg", weil nach der ersten Änderung (entfernen von "reverse") die Tests (asserts) nicht mehr laufen. "Aber alle zwei Änderungen finden in derselben Methode statt. Das kann man doch problemlos in einem Schritt ändern und dann ist alles grün. So ist es doch viel schneller." Aber Bernd bleibt dabei. Das ist ihm zu großschrittig (ein Schulungsteilnehmer sagte einmal sinngemäß "Ich dachte immer kleiner als Elektron geht nicht, aber jetzt kenne ich den Bernd-Schritt als kleinstes Element."):</p>
<ol>
<li>Wir arbeiten an einer Code-Kata. Dabei geht es darum, dass wir unsere Programmierfähigkeiten verbessern. Es geht nicht darum, die Kata in möglichst kurzer Zeit durchzuführen. Es geht darum, sie möglichst gut durchzuführen - wie bei einer Karate-Kata.</li>
<li>Wir stehen in der Praxis immer wieder vor großen Refactorings, die wir nicht in kleine Schritte zerlegt bekommen und die uns den letzten Nerv kosten. Je kleinschrittiger wir vorgehen können, umso besser können wir große Refactorings zerlegen. Wenn wir es schaffen, dass die Tests nach jeder Änderung eines Ausdrucks grün sind, dann können wir für jedes große Refactoring einen komplett grünen und damit sicheren Weg beschreiten.</li>
<li>Wenn wir mehrere Änderungen auf einmal durchführen, laufen wir immer Gefahr, versehentlich Funktionalität zu erweitern - die dann nicht durch Tests abgedeckt ist. Wenn wir jeweils nur einen Ausdruck ändern, können wir normalerweise sehr sicher abschätzen, ob wir die Funktionalität erweitert haben.</li>
</ol>
<p>"OK, Bernd hat Recht. Versuchen wir es Kleinstschrittig. Äh, geht das denn überhaupt?"</p>
<p>Ja, es geht. Gleicht kommt die Lösung. Wer sich selbst an der Aufgabe versuchen möchte, sollte hier nicht weiterlesen und es erstmal selbst versuchen. Die Regel: Einen Ausdruck ändern, Tests ausführen, es muss alles grün sein. Danach der nächste Ausdruck.</p>
<p><strong>Eine Lösung</strong><br />
Es gibt verschiedene Möglichkeiten, das Problem zu lösen. Hier eine mögliche Lösung:</p>
<p>Zuerst vereinfache ich den "range"-Defaultwert, indem ich das umdrehen der Elemente bereits beim Hinschreiben erledige:<br />
<code>
<pre>def toString(number, range = number..1) {
    if (range.empty) return ""
    def item = range.last()
    "$item" + toString(number, range - item)
}</pre>
<p></code><br />
Jetzt kommt der interessante Teil. Die Reihenfolge der Elemente in "range" hängt direkt mit dem Zugriff über "last" zusammen. Wenn ich "last" durch "first" ersetzen möchte, muss ich dafür sorgen, dass in "range" am Anfang und Ende dasselbe Element steht. Das erreiche ich, indem ich "range" quasi verdoppele:<br />
<code>
<pre>def toString(number, range = (1..number)+(number..1)) {
    if (range.empty) return ""
    def item = range.last()
    "$item" + toString(number, range - item)
}</pre>
<p></code><br />
Dass "range" jetzt jede Zahl doppelt enthält, schadet nicht, weil "range - item" alle "item"s entfernt. Mit diesem verdoppelten Range liefert "last" dasselbe Ergebnis wie "first", so dass ich die Ersetzung problemlos vornehmen kann.<br />
<code>
<pre>def toString(number, range = (1..number)+(number..1)) {
    if (range.empty) return ""
    def item = range.first()
    "$item" + toString(number, range - item)
}</pre>
<p></code><br />
Jetzt kann ich den Default-Wert für "range" wieder vereinfachen:<br />
<code>
<pre>def toString(number, range = 1..number) {
    if (range.empty) return ""
    def item = range.first()
    "$item" + toString(number, range - item)
}</pre>
<p></code><br />
Und fertig bin ich mit meinem Refactoring. Wir haben nach jeder Änderung eines Ausdrucks die Tests durchlaufen lassen und sie waren immer grün. In der Praxis würde man in diesem Beispiel vielleicht nicht so kleinschrittig vorgehen. Aber hier geht es um den Trainingseffekt!</p>
<p>Eine interessante Frage ist sicherlich, ob es immer solche kleinschrittigen Auflösungen gibt oder ob es Fälle gibt, wo das nicht funktioniert. Wenn Ihr Refactoring-Beispiele habt, von denen Ihr glaubt, dass es keine Kleinstschrittige Zerlegung gibt, schickt mir die! Entweder an stefan AT stefanroock DOT de (AT durch @ und DOT durch . ersetzen) oder als Kommentar an diesen Blog-Beitrag.</p>
<br /> Tagged: Refactoring, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/772/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=772&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/12/01/mikroschritte-in-code-kata/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmierkatas</title>
		<link>http://stefanroock.wordpress.com/2009/11/29/programmierkatas/</link>
		<comments>http://stefanroock.wordpress.com/2009/11/29/programmierkatas/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 21:36:06 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=770</guid>
		<description><![CDATA[Auf den XP-Days Germany 2009 fand ein Format namens &#8222;TDD mit den Profis&#8220; statt. Die Idee ist, dass Paare bestehend aus einem TDD-Profi und einem nicht so erfahrenen TDDler gegeneinander antreten. Die Paare führen in kurzer Zeit TDD und Pair-Programming vor. Bei den XP-Days hatten die Paare in der Vorrunde 5 Minuten Zeit und im [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=770&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auf den XP-Days Germany 2009 fand ein Format namens &#8222;TDD mit den Profis&#8220; statt. Die Idee ist, dass Paare bestehend aus einem TDD-Profi und einem nicht so erfahrenen TDDler gegeneinander antreten. Die Paare führen in kurzer Zeit TDD und Pair-Programming vor. Bei den XP-Days hatten die Paare in der Vorrunde 5 Minuten Zeit und im Finale 8 Minuten.<br />
Ich bin mit meiner Pair-Partnerin ins Finale gekommen, musste mich dort aber mit dem zweiten Platz zufrieden geben.</p>
<p>In der Vorrunde konnten sich die Paare sehr frei aussuchen, was sie vorführen. Im Finale gab es vorgegebene Code-Katas (siehe Konzept der Code-Katas siehe <a href="http://en.wikipedia.org/wiki/Kata_%28programming%29">Wikipedia</a>). Für die Vorrunde hatten wir mehrere Tage für die Vorbereitung Zeit, für das Finale 2 Stunden.</p>
<p>Code-Katas hatte ich vorher bereits programmiert. Allerdings nicht so, wie es für die XP-Days-Sessions notwendig war. In der Kürze der Zeit lässt sich nur dann sinnvoll etwas zeigen, wenn man die Übung auswendig und flüssig vorführen kann. Und dafür muss man sie einüben. Und das bedeutet, die Kata in der Vorbereitung mehrfach zu programmieren und immer wieder zu variieren, um den besten Ablauf zu finden.</p>
<p>Und dieses mehrfache Programmieren derselben Aufgabe war entgegen meinen Erwartungen nicht langweilig, sondern sehr interessant und lehrreich. So haben wir auf der Konferenz meine Finalaufgabe (Primfaktorzerlegung) nochmal während des Community-Day programmiert (im Rahmen eines Coding Dojos) und auf der Rückfahrt von Karlsruhe mit der Bahn nach Hamburg haben Bernd Schiffer und ich die Code-Kata nochmal programmiert.</p>
<p>Robert Martin hat die <a href="http://katas.softwarecraftsmanship.org/?p=71">Code-Kata sogar zu Musik vorgeführt</a> und damit Programmierung in die Nähe einer Kunstform gebracht.</p>
<br /> Tagged: eXtremeProgramming, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/770/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=770&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/11/29/programmierkatas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone und Ubuntu</title>
		<link>http://stefanroock.wordpress.com/2009/11/29/iphone-und-ubuntu/</link>
		<comments>http://stefanroock.wordpress.com/2009/11/29/iphone-und-ubuntu/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 20:20:24 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=767</guid>
		<description><![CDATA[Seit kurzem besitze ich ein iPhone und habe damit als Ubuntu-Benutzer gleich das erste Problem: Man braucht iTunes für das Aktivieren des iPhone und zur Synchronisation von Musik etc. Zuerst habe ich versucht, iTunes unter Wine zu installieren. Die aktuelle iTunes-Version bricht aber schon bei der Installation ab. Hier steht, dass iTunes 7.X funktioniert und [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=767&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Seit kurzem besitze ich ein iPhone und habe damit als Ubuntu-Benutzer gleich das erste Problem: Man braucht iTunes für das Aktivieren des iPhone und zur Synchronisation von Musik etc.</p>
<p>Zuerst habe ich versucht, iTunes unter Wine zu installieren. Die aktuelle iTunes-Version bricht aber schon bei der Installation ab. <a href="http://www.aptgetupdate.de/2007/09/23/linux-mini-howto-itunes-unter-ubuntulinux/">Hier</a> steht, dass iTunes 7.X funktioniert und wo man die alte iTunes-Version herkriegt. Tatsächlich lässt sich iTunes 7.X unter Wine installieren und ausführen. Allerdings lief es bei mir so instabil, dass ich nie zum Synchronisieren gekommen bin.</p>
<p>Also habe ich iTunes unter Windows über Virtual-Box verwendet. Das Aktivieren funktionierte problemlos. Die erste Synchronisation schlug allerdings fehl und hinterließ das iPhone im unbenutzbaren Recovery-Zustand. Das Wiederherstellen über iTunes unter Virtual-Box hat nicht funktioniert (Fehler 1601, 1604 und 1611).</p>
<p>Das iPhone ließ sich aber am Mac eines Kollegen wiederherstellen und danach auch über Virtual-Box synchronisieren. </p>
<p>Aus meinen eigenen Beobachtungen und Hinweisen im Internet habe ich mir dazu folgenden Theorie zusammengereimt: Bei der ersten Synchronisation hat iTunes festgestellt, dass das iPhone ein Firmware-Update vertragen kann. iTunes hat das Firmware-Update auf des iPhone übertragen und dann das iPhone neu gestartet. Ich vermute, dass nach dem Neustart die Verbindung iPhone zu iTunes nicht wiederhergestellt werden konnte &#8211; und das hat wahrscheinlich irgendwas mit der Durchleitung des USB-Ports durch Ubuntu zur Virtual-Box zu tun. </p>
<p>Beim Wiederherstellen aus dem Recovery-Mode wird das iPhone auch neu gestartet und dasselbe Problem tritt auf.</p>
<p>Daraus folgt:</p>
<ol>
<li>iTunes unter Virtual-Box nicht automatisch synchronisieren lassen, so dass man jederzeit weiß, was passiert.</li>
<li>Keine Firmware-Updates durch iTunes synchronisieren lassen.</li>
<li>Wenn man feststellt, dass ein Firmware-Update notwendig ist, dies über einen Windows- oder Mac-Rechner erledigen. Dasselbe gilt für den Fall, dass das iPhone aus dem Recovery-Mode wiederhergestellt werden muss.</li>
<li>Feature-Request an Apple schreiben, auch Linux zu unterstützen. Wenn es stimmt, dass Apple im Grunde Unix als Betriebssystem ist, kann das doch kein so großes Drama sein.</li>
</ol>
<p>P.S.: Liebe Leser dieses Blogs: Ihr braucht mir nicht empfehlen einen Mac zu kaufen oder ein Android-Phone zu benutzen. Das haben inzwischen ausreichend viele Leute getan <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/767/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/767/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/767/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=767&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/11/29/iphone-und-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buch: Sexy Webdesign</title>
		<link>http://stefanroock.wordpress.com/2009/11/17/buch-sexy-webdesign/</link>
		<comments>http://stefanroock.wordpress.com/2009/11/17/buch-sexy-webdesign/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 19:26:15 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=763</guid>
		<description><![CDATA[Ich habe das Buch Sexy Webdesign von Elliot Jay Stocks gelesen. Ich bin kein Web-Designer und habe auch keine Ambitionen, einer zu werden. Ich bin aber natürlich interessiert daran, besseres Webdesign zu machen. Damit stehe ich vielleicht nicht direkt im Zentrum der anvisierten Zielgruppe. Persönlich konnte ich nicht viel mit dem Buch anfangen. Ich hatte [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=763&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe das Buch <a href="http://www.amazon.de/gp/product/3898646319?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3898646319">Sexy Webdesign</a> von Elliot Jay Stocks gelesen. </p>
<p><img alt="" src="http://dpunkt.de/img/cover/gross/3232.jpg" class="aligncenter" width="533" height="709" /></p>
<p>Ich bin kein Web-Designer und habe auch keine Ambitionen, einer zu werden. Ich bin aber natürlich interessiert daran, besseres Webdesign zu machen. Damit stehe ich vielleicht nicht direkt im Zentrum der anvisierten Zielgruppe. </p>
<p>Persönlich konnte ich nicht viel mit dem Buch anfangen. Ich hatte das Gefühl, dass auf den ersten 80 Seiten nur Trivialitäten stehen. Immer, wenn es interessant wird, kommt nichts mehr &#8211; allenfalls ein Verweis auf andere Bücher. Dann kommen 20 Seiten, die einige interessante Informationen (vor allem in Form von Internetadressen) bieten. Danach kommen wieder Trivialitäten.</p>
<p>Immerhin ist das Buch optisch ansprechend gestaltet.</p>
<p>Hier meine persönlichen Erkenntnisse aus dem Buch:</p>
<ul>
<li>Der goldene Schnitt liefert eine gute Richtlinie für Seitenaufteilungen, die angenehm aussehen. Es gibt mit <a href="http://goldenratiocalculator.com/">goldenratiocalculator.com</a> einen Internet-Service, der hilft, Abmessungen nach dem goldenen Schnitt zu berechnen.</li>
<li>Ausrichtung an Rastern ist sinnvoll &#8211; das ist trivial. Hilfestellung in Form von Vorlagen für CSS und Photoshop findet man bei <a href="http://960.gs">960.gs</a>. Das sind wirklich interessant und nützlich aus. Das werde ich auf jeden Fall mal ausprobieren.</li>
<li>Farben, die zusammenpassen, findet man mit Hilfe des Farbkreises. Auch hier helfen Internet-Services wie<br />
<a href="http://colorschemedesigner.com/">colorschemedesigner.com</a> oder <a href="http://de-de.colourlovers.com/">colourlovers.com</a>.
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/763/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=763&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/11/17/buch-sexy-webdesign/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://dpunkt.de/img/cover/gross/3232.jpg" medium="image" />
	</item>
		<item>
		<title>Gute und schlechte Vorträge: Alles eine Frage der Geschichten?</title>
		<link>http://stefanroock.wordpress.com/2009/11/15/gute-und-schlechte-vortrage-alles-eine-frage-der-geschichten/</link>
		<comments>http://stefanroock.wordpress.com/2009/11/15/gute-und-schlechte-vortrage-alles-eine-frage-der-geschichten/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 12:55:46 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=760</guid>
		<description><![CDATA[Ich glaube, dass ich inzwischen ein ganz gutes Gefühl dafür habe, wie gut meine Vorträge beim Publikum ankommen. Bei meinen schlechten Vorträgen bekomme ich während des Vortrags aus dem Publikum nichts zurück: kein Lachen, kein Murren, keine ungläubigen Gesichter. Meine Selbsteinschätzung deckt sich meist mit dem Feedback, das die Konferenzorganisatoren einsammeln. Lange Zeit war mir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=760&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich glaube, dass ich inzwischen ein ganz gutes Gefühl dafür habe, wie gut meine Vorträge beim Publikum ankommen. Bei meinen schlechten Vorträgen bekomme ich während des Vortrags aus dem Publikum nichts zurück: kein Lachen, kein Murren, keine ungläubigen Gesichter.</p>
<p>Meine Selbsteinschätzung deckt sich meist mit dem Feedback, das die Konferenzorganisatoren einsammeln.</p>
<p>Lange Zeit war mir unklar, warum einige meiner Vorträge gut beim Publikum ankommen und andere nicht. Ich hatte bereits beoachtet, dass schlecht vorbereitete Vorträge besser ankommen als gut vorbereitete. Das fand ich schon immer sehr merkwürdig. Reicht es tatsächlich aus, schlecht vorbereitet zum Vortrag zu kommen und alles wird gut? Und warum zum Geier ist das so?</p>
<p>Inzwischen habe ich ein Erklärungsmodell gefunden, dass mir plausibel erscheint: Über Twitter hatte jemand seine Beobachtung auf einer Konferenz geschildert, dass die guten Vorträge immer mit einer Geschichte beginnen und daraus eine Einsicht ableiten.</p>
<p>Das passt sehr schön damit zusammen, dass der Fantasy-Autor Terry Pratchett immer wieder betont, wie wichtig Geschichten für uns Menschen sind. Er spricht vom <em>Homo Narrativus</em>. Geschichten transportieren Emotionen und die sind wichtig, damit wir interessiert sind.</p>
<p>Bleibt noch die Frage, wie das mit der schlechten Vortragsvorbereitung zusammenpasst. Ich glaube, das funktioniert so: Es ist ja nicht so, dass ich vollkommen ohne Vorbereitung zum Vortrag gehe. Ich habe nur entweder &#8222;zu spät&#8220; mit der Vortragsvorbereitung begonnen oder kurz vor dem Vortrag nochmal das Gesamtkonzept umgeworfen. Ich habe also die Tage bzw. Nächte vor dem Vortrag an dem Vortrag gearbeitet. Gefühlt war die Zeit aber zu kurz und das zeigt sich an niedrig aufgelösten Bildern, Rechtschreibfehlern auf den Folien und allgemeinen Layout-Unschönheiten. Darüber scheinen die Teilnehmer aber gerne hinwegzusehen. </p>
<p>Dafür erscheine ich zum Vortrag emotional: Ich bin schlecht vorbereitet und habe schlechte Folien dabei und das weiß ich auch. Das sind keine positiven Emotionen, aber immerhin sind es Emotionen. Sie führen dazu, dass ich den Vortrag meistens emotionaler halte und nicht einfach kühl Fakten runterrattere. </p>
<p>Außerdem bin ich mit diesem Verfahren &#8222;voll im Thema&#8220;, wenn ich mit dem Vortrag beginne. Gut vorbereitete Vorträge habe ich schon Wochen vor dem Vortragstermin fertig. Wenn ich den Vortrag dann halte, kann ich mich bei einigen Folien nicht mehr erinnern, was genau ich mir dabei gedacht habe und bin auch zu den Folien distanziert.</p>
<p>Ich nehme also zwei Dinge für mich ganz persönlich mit (keine Ahnung, ob sie auch für andere funktionieren):</p>
<ol>
<li>Beginne mit einer Geschichte und leite daraus Einsichten ab.</li>
<li>Bereite den Vortrag so spät vor, dass er gerade noch fertig wird. Gehe lieber das Risiko ein, mit schlechten Unterlagen zum Vortrag zu erscheinen als mit einem Vortrag, der schon Wochen vor dem Termin fertig war.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/760/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/760/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/760/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=760&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/11/15/gute-und-schlechte-vortrage-alles-eine-frage-der-geschichten/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu 9.10 und Flash mal wieder kaputt</title>
		<link>http://stefanroock.wordpress.com/2009/11/04/ubuntu-9-10-und-flash-mal-wieder-kaputt/</link>
		<comments>http://stefanroock.wordpress.com/2009/11/04/ubuntu-9-10-und-flash-mal-wieder-kaputt/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 08:33:10 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=758</guid>
		<description><![CDATA[Ich habe gerade von Ubuntu 9.04 auf Ubuntu 9.10 aufgedated. Das war soweit problemlos. Einige Dinge sehen etwas schicker aus. Das Starten aus dem Sleepmode ist nochmal schneller geworden. Einziges Problem bisher: Flash läuft (mal wieder) nicht mehr. Aber mit dieser Anleitung konnte ich es dann doch schnell wieder reparieren.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=758&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich habe gerade von Ubuntu 9.04 auf Ubuntu 9.10 aufgedated. Das war soweit problemlos. Einige Dinge sehen etwas schicker aus. Das Starten aus dem Sleepmode ist nochmal schneller geworden. </p>
<p>Einziges Problem bisher: Flash läuft (mal wieder) nicht mehr. Aber mit <a href="http://news.softpedia.com/news/How-to-Install-Adobe-Flash-Player-64-bit-on-Ubuntu-8-10-98076.shtml">dieser Anleitung</a> konnte ich es dann doch schnell wieder reparieren.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/758/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/758/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/758/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=758&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/11/04/ubuntu-9-10-und-flash-mal-wieder-kaputt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Präsentationen mit Prezi</title>
		<link>http://stefanroock.wordpress.com/2009/10/22/prasentationen-mit-prezi/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/22/prasentationen-mit-prezi/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 21:09:57 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=755</guid>
		<description><![CDATA[Auf dem Scrum-Gathering in München habe ich meine erste echte Prezi-Präsentation gehalten. Prezi hat einen neuartigen Ansatz für Präsentationen. Es gibt im Grunde nur eine riesige &#8222;Folie&#8220;, auf der man alle Inhalte platziert. Dann definiert man einen Pfad durch die Inhalte, der angibt, welche Ausschnitte wann angezeigt werden. Die Navigation entlang dieses Pfades visualiert Prezi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=755&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auf dem Scrum-Gathering in München habe ich meine erste echte <a href="http://prezi.com">Prezi</a>-Präsentation gehalten. Prezi hat einen neuartigen Ansatz für Präsentationen. Es gibt im Grunde nur eine riesige &#8222;Folie&#8220;, auf der man alle Inhalte platziert. Dann definiert man einen Pfad durch die Inhalte, der angibt, welche Ausschnitte wann angezeigt werden. Die Navigation entlang dieses Pfades visualiert Prezi dann durch coole Effekte (bewegen, drehen, zommen).<br />
Ich habe mir Prezi ursprünglich angesehen, weil die Übergänge so cool aussahen. Das tun sie heute noch. Aber wahrscheinlich verbraucht sich dieser Effekt mit der Zeit &#8211; genauso wie die coolen Folienübergänge in Keynote.</p>
<p>Aber auf den zweiten Blick bietet Prezi eine ganz neue Art der Organisation der Präsentation. In Powerpoint und Keynote ordne ich die Folien streng linear an. Bei Prezi habe ich die X- und Y-Achse und außerdem das Herein- und Herauszoomen. Daher eignet sich Prezi auch, um eine Präsentation vorzubereiten und zu organisieren &#8211; Powerpoint und Konsorten eignen sich dafür nicht gut, weil sie durch ihre Linearität das Denken zu sehr beschränken.</p>
<p>Und dann spielt Prezi noch einen Vorteil aus, den ich sehr zu schätzen weiß: Prezi basiert auf Flash und läuft auf jedem Browser und offline überall dort, wo Adobe AIR läuft &#8211; also auch unter Ubuntu. Prezi ist also wirklich cross-plattform-fähig.</p>
<p>Wenn man sich das erste Mal mit Prezi beschäftigt, ist die Bedienung gewöhnungsbedürftig. Aber wenn man sich mal dran gewöhnt hat, ist sie sensationell gut. </p>
<p>Für einen ersten Eindruck, was mit Prezi möglich ist, siehe <a href="http://prezi.com/jipjiqvj6dsc/">hier</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/755/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=755&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/22/prasentationen-mit-prezi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Lernen im dritten Quartal 2009</title>
		<link>http://stefanroock.wordpress.com/2009/10/14/lernen-im-dritten-quartal-2009/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/14/lernen-im-dritten-quartal-2009/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 17:45:37 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Prolog]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=751</guid>
		<description><![CDATA[Damit habe ich mich im dritten Quartal 2009 beschäftigt: Ich habe das Buch Subject to Change gelesen. Meine Eindrücke habe ich bereits im Blog beschrieben: Es geht darum, wie heute Produkte und Services entwickelt werden müssen. Das ganze passt wenig überraschend mit agilen Ansätzen wie Scrum ganz wunderbar zusammen. Dann habe ich mich ziemlich intensiv [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=751&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Damit habe ich mich im dritten Quartal 2009 beschäftigt:</p>
<ul>
<li>Ich habe das Buch <a href="http://www.amazon.de/gp/product/0596516835?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0596516835">Subject to Change</a> gelesen. Meine Eindrücke habe ich bereits im <a href="http://stefanroock.wordpress.com/2009/07/08/buchtipp-subject-to-change/">Blog beschrieben</a>: Es geht darum, wie heute Produkte und Services entwickelt werden müssen. Das ganze passt wenig überraschend mit agilen Ansätzen wie Scrum ganz wunderbar zusammen.</li>
<li>Dann habe ich mich ziemlich intensiv mit Prolog beschäftigt und einige Beiträge in diesem Blog darüber veröffentlicht. Das war allemal horizonterweiternd &#8211; Prolog ist eben doch sehr anders als andere Programmiersprachen. Ich finde es nach wie vor Schade, dass Prolog heute ziemlich tot zu sein scheint und die Sprache nicht ernsthaft weiterentwickelt wird. <a href="http://stefanroock.wordpress.com/2009/07/27/reflektionen-uber-prolog/">Relektionen über Prolog</a>.</li>
<li>In Prolog habe ich ann auch gleich ein kleines <a href="http://stefanroock.wordpress.com/2009/07/27/bdd-for-prolog-how-to/">BDD-Framework</a> gebaut und damit mein BDD-Verständnis verbessert.</li>
<li>Joseph Pelrine ist dafür verantwortlich, dass ich noch etwas über Teamdynamik gelernt habe: <a href="http://stefanroock.wordpress.com/2009/07/28/hochproduktive-teams-kochen/">Hochproduktive Teams kochen</a>.</li>
<li>Von einem Kunden habe ich mich belehren lassen, was die <a href="http://stefanroock.wordpress.com/2009/09/18/13-leute-5-firmen-3-standorte-unmoglich-oder/">mögliche Produktivität verteilter Teams</a> anbelangt.</li>
<li>Ein ganz kleines bisschen Perl habe ich gelernt. Und zumindest für kleine Skripte kann ich nicht erkennen, was an Perl schlecht sein soll.</li>
<li>In einem Projekt habe ich Selenium RC eingesetzt und den designierten Nachfolger Google Web-Driver.</li>
<li>Ich habe meine Rails-Kenntnisse deutlich vertieft. Dazu habe ich das Buch <a href="http://www.amazon.de/gp/product/3446414983?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3446414983">Rapid Web Development mit Ruby on Rails</a> gelesen. Das ist nicht mehr ganz aktuell, aber ich hatte es ohnehin noch im Bücherregal stehen und für einen Überblick war es OK. Anschließend habe ich begonnen, eine echte (kleine) Anwendung in Rails zu programmieren und bin davon ganz angetan. Nur mit der Installtion unter Ubuntu hatte ich anfänglich einige Probleme.</li>
<li>Im Rails-Zusammenhang habe ich mich auch mit RSpec, Cucumber und Webrat beschäftigt. Auch das sieht für mich alles sehr schön und elegant aus. Das Oberflächentesten mit Webrat ist z.B. sehr schön einfach und schnell.</li>
<li>Bei einem Kunden habe ich mich etwas mit TestNG beschäftigt. Naja. Für TDD kann ich gegenüber JUnit keine Vorteile erkennen.</li>
<li>Ich habe mit dem Buch <a href="http://www.amazon.de/gp/product/3898644766?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3898644766">SOA in Praxis</a> ein weiteres Buch aus dem Regal geholt, dass dort schon eine Weile stand. Mein <a href="http://stefanroock.wordpress.com/2009/10/14/buchtipp-soa-in-der-praxis-von-nicolai-josuttis/">Review</a> dazu habe ich im Blog beschrieben. Das Buch war durchaus lohnenswert, auch wenn ich kein SOA-Fan bin.</li>
<li>Bei einem Kunden durfte ich erleben, wie Kanban in der Praxis eingesetzt wurde &#8211; zumindest anfänglich auch mit interessanten Schwierigkeiten.</li>
<li>Neben CSM-Kursen biete ich inzwischen auch CSPO-Kurse an. Bei der Vorbereitung des CSPO-Kurses habe ich viele Dinge über Product-Owner-Arbeit reflektiert und neu gelernt.</li>
<li>Und zum Beweis, dass ich noch nicht vollkommen Plem-Plem bin, habe ich auch etwas im Bereich außerhalb der IT gemacht. Ich habe beim Windsurfen Racejibe und Sinkerwende gelernt. OK, Racejibe geht bisher nur rechtsrum, aber das wird noch. Ich hoffe, auf einen milden und windreichen Jahresausklang.</li>
<li>Und dann habe ich mir von meinem kleinen Bruder zeigen lassen, wie Brustschwimmen und Kraulen richtig funktioniert. Und siehe da: Das einzige, was ich bisher richtig gemacht habe, dass ich eine Badehose anhatte. Immerhin erklärt es, warum ich so ein schlechter Schwimmer bin. Jetzt muss ich die richtige Technik &#8222;nur&#8220; noch üben.</li>
</ul>
<p>Damit habe ich von dem, was ich mir für das dritte Quartal vorgenommen habe, fast alles geschafft. Nur Scala habe ich mir nicht angesehen. Ich fand es dann doch spannender einfach Rails zu programmieren und aus demselben Grund werde ich wahrscheinlich auch im vierten Quartal nicht dazu kommen, mir Scala anzusehen.</p>
<br /> Tagged: Prolog, Ruby, Scrum, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/751/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=751&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/14/lernen-im-dritten-quartal-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Buchtipp: &#8222;SOA in der Praxis&#8220; von Nicolai Josuttis</title>
		<link>http://stefanroock.wordpress.com/2009/10/14/buchtipp-soa-in-der-praxis-von-nicolai-josuttis/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/14/buchtipp-soa-in-der-praxis-von-nicolai-josuttis/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 17:10:25 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=745</guid>
		<description><![CDATA[Ich weiß, dass ich etwas spät dran bin, wenn ich jetzt noch SOA-Bücher lese. Das dpunkt-Buch &#8222;SOA in der Praxis&#8220; von Nicolai Josuttis aus dem Jahr 2008 hatte ich bereits kurz nach dem Erscheinen in meinem Bücherregal. Aber ich bin jetzt erst zum Lesen gekommen &#8211; wer bösartig ist, könnte das Buch heute auch als [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=745&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich weiß, dass ich etwas spät dran bin, wenn ich jetzt noch SOA-Bücher lese. Das dpunkt-Buch &#8222;SOA in der Praxis&#8220; von Nicolai Josuttis aus dem Jahr 2008 hatte ich bereits kurz nach dem Erscheinen in meinem Bücherregal. Aber ich bin jetzt erst zum Lesen gekommen &#8211; wer bösartig ist, könnte das Buch heute auch als eine Art Nachruf auf SOA verstehen. Der SOA-Hype ist sicher inzwischen vorbei. Jetzt kann man sich trefflich darüber streiten, ob jetzt einfach der unspektakuläre SOA-Einsatz stattfindet oder ob schon Verwesungsgeruch in der Luft liegt.  </p>
<p><a href="http://www.amazon.de/gp/product/3898644766?ie=UTF8&amp;tag=stefroochome-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3898644766"><img alt="" src="http://dpunkt.de/img/cover/2734.jpg" class="aligncenter" width="200" height="291" /></a></p>
<p>Aber zum Inhalt: Der Autor beschreibt SOA vor dem Hintergrund seiner umfangreichen Praxiserfahrungen. (Für alle, die noch lahmer sind als ich: SOA steht für &#8222;Service Oriented Architecture&#8220;.) Und gerade diese Praxiserfahrungen mach einen erheblichen Unterschied zu vielen anderen SOA-Veröffentlichungen. Bei Josutti werden die ganzen unangenehmen Probleme beschrieben, die beim Einsatz von SOA zwangsläufig auftreten: Transaktionen, Versionierung, Migration, Verfügbarkeit etc. Diese und andere Probleme treten beim SOA-Einsatz auf. Sie können gelöst werden, aber nicht einfach. Josuttis schließt mit:</p>
<p>&#8222;Aus diesem Grund sollte SOA nie ein Selbstzweck sein. Wenn man Verteilung vermeiden kann, sollte man das tun.&#8220;</p>
<p>Ich empfehle das Buch jedem, der SOA einführen muss oder will. Diejenigen, die SOA einführen müssen, finden hier die zu erwartenden Probleme inkl. möglicher Lösungsstrategien. Diejenigen, die SOA einführen wollen, bekommen vor Augen geführt, wie komplex die ganze Angelegenheit ist und können sich dann nochmal ernsthaft überlegen, ob sie SOA wirklich wollen.</p>
<p>Ich bin nach dem Lesen des Buches jedenfalls froh, dass ich bisher nichts mit SOA zu tun hatte und hoffe, dass das auch so bleibt. </p>
<p>Trotzdem war die Lektüre keine Zeitverschwendung. Viele der Konzepte lassen sich in großen Systemen auch dann anwenden, wenn es nicht um SOA im eigentlichen Sinne geht. So ist das Thema Idempotenz beispielsweise relevant, wenn man seine Internetanwendung mit einer REST-Schnittstelle versieht. Die Diskussionen zu Entkopplung sind ebenfalls auch ohne SOA relevant. Etc.</p>
<br /> Tagged: Architecture <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/745/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=745&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/14/buchtipp-soa-in-der-praxis-von-nicolai-josuttis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>

		<media:content url="http://dpunkt.de/img/cover/2734.jpg" medium="image" />
	</item>
		<item>
		<title>Ubuntu, Audiogeräte und Skype</title>
		<link>http://stefanroock.wordpress.com/2009/10/14/ubuntu-audiogerate-und-skype/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/14/ubuntu-audiogerate-und-skype/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:21:45 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=742</guid>
		<description><![CDATA[Die Audioeinstellungen für Skype unter Ubuntu zum Laufen zu kriegen, kann ziemlich umständlich sein. Hier meine bisherigen Erkenntnisse. Zuerst sollte man sicherstellen, dass die Soundwiedergabe unter Ubuntu überhaupt funktioniert. Dazu einfach ein YouTube-Video abspielen oder eine MP3-Datei mit Rythmplayer o.Ä. Meistens funktioniert die Soundwiedergabe aber per Default. Jetzt sollte man prüfen, dass das Mikro prinzipiell [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=742&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die Audioeinstellungen für Skype unter Ubuntu zum Laufen zu kriegen, kann ziemlich umständlich sein. Hier meine bisherigen Erkenntnisse.</p>
<p>Zuerst sollte man sicherstellen, dass die Soundwiedergabe unter Ubuntu überhaupt funktioniert. Dazu einfach ein YouTube-Video abspielen oder eine MP3-Datei mit Rythmplayer o.Ä. Meistens funktioniert die Soundwiedergabe aber per Default.</p>
<p>Jetzt sollte man prüfen, dass das Mikro prinzipiell unter Ubuntu funktioniert. Dazu den Audio-Rekorder (Menü Anwendungen-&gt;Unterhaltungsmedien) verwenden. Hier taucht dann häufig schon das erste Problem auf: Die Aufnahme funktioniert nicht. Jetzt:</p>
<ol>
<li>Prüfen, dass man überhaupt die Rechte für den Zugriff auf das Mikro besitzt (Menü System-&gt;Systemverwaltung-&gt;Benutzer und Gruppen, Kartenreiter Benutzerrechte). Wenn die Rechte fehlen, &#8222;Entsperren&#8220; anklicken und die Rechte ergänzen. Ich bin mir nicht sicher, ob man danach neu Booten muss oder sich zumindest neu anmelden.</li>
<li>Prüfen, ob das Mikro aktiviert ist. Dazu rechts oben auf dem Lautsprechersymbol rechte Maustaste drücken und sicherstellen, dass &#8222;Stummschalten&#8220; nicht angehakt ist. Danach dort wieder rechte Maustaste und Menü &#8222;Lautstärkeregler öffnen&#8220; anwählen. Dann &#8222;Einstellungen&#8220; wählen und alle Aufnahmegeräte anwählen. Anschließend die Regler für die Aufnahmegeräte hochdrehen und ggf. Mikros aktivieren.</li>
<li>Pulse-Audio scheint bei mir immer das Mikro zu blockieren, manchmal auch die Lautsprecher. Wenn ich mit ps aux | grep pulse nach den entsprechenden Prozessen suche und diese kille, funktioniert wieder alles. Bisher ist mir noch unklar, warum diese Pulse-Audio-Prozesse überhaupt gestartet werden.</li>
</ol>
<p>Wenn damit sichergestellt ist, dass Aufnahme und Wiedergabe unter Ubuntu prinzipiell funktionieren, kann man sich Skype zuwenden. in Skype &#8222;Optionen&#8220; öffnen und dort &#8222;Audiogeräte&#8220; auswählen. Standardmäßig stehen die Audiogeräte auf &#8222;Default&#8220;. Das hat bei mir noch nie funktioniert. Gute Erfahrungen habe ich mit &#8222;HDA Intel (hw:Intel,0)&#8220; gemacht. Mit &#8222;Testklang abspielen&#8220; kann man dann prüfen, ob die Lautsprecherwiedergabe funktioniert. Mit &#8222;Testanruf tätigen&#8220; kann man auch die Mikrofunktion testen.</p>
<p>Mind. einmal hatte ich auch den Effekt, dass in Skype &#8222;Automatische Soundeinstellungen aktivieren&#8220; nicht angehakt sein durfte: Wenn der Schalter angehakt war, hat Skype meine Mikro-Regler runtergeschoben.</p>
<p>Ergänzungen nehme ich jederzeit gerne hier auf.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/742/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/742/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/742/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=742&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/14/ubuntu-audiogerate-und-skype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>[OOP 2010] Agil auf der OOP</title>
		<link>http://stefanroock.wordpress.com/2009/10/12/oop-2010-agil-auf-der-oop/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/12/oop-2010-agil-auf-der-oop/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 18:24:50 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=739</guid>
		<description><![CDATA[Die OOP Konferenz im Januar 2010 hat einiges an agilen Themen zu bieten: Am 25.01.2010 gibt es von Jens Coldewey, Henning Wolf, Bernd Schiffer und Johannes Link ein Tutorial Agile Praxis erleben. Am gleichen Tag bietet Jutta Eckstein ein Tutorial Agile Softwareentwicklung mit verteilten Teams an. Eoin Woods lädt zur Nighschool am selben Tag: Agile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=739&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://www.sigs-datacom.de/oop.html">OOP Konferenz</a> im Januar 2010 hat einiges an agilen Themen zu bieten:</p>
<ul>
<li>Am 25.01.2010 gibt es von Jens Coldewey, Henning Wolf, Bernd Schiffer und Johannes Link ein Tutorial <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=2&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Agile Praxis erleben</a>.</li>
<li>Am gleichen Tag bietet Jutta Eckstein ein Tutorial <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=6&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Agile Softwareentwicklung mit verteilten Teams</a> an.</li>
<li>Eoin Woods lädt zur Nighschool am selben Tag: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=12&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Agile Software Architecture – How Much is Enough?</a></li>
<li>Am 26.01.2010 gibt Sue McKinney eine Keynote mit dem Titel <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=25&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Backing into Agile Leadership</a> </li>
<li>Am selben Tag berichtet Markus Andrezak von den Erfahrungen mit Kanban bei mobile.de: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=43&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Kanban for large scale Off-Shored Product Maintenance at mobile.de</a> </li>
<li>Michael Mah hat ebenfalls am 26.01. eine Session mit dem Titel <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=48&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">The Good, Bad, and the Puzzling: The Agile Experience at Five Companies</a> </li>
<li>Bernd Oestereich spricht am 27.01.2010 über <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=67&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Agiles Requirements-Engineering &#8211; Der erfolgreiche Product Owner ohne Überforderung</a> </li>
<li>Michael Schmücker und Markus Wittwer berichten ebenfalls am 27.01. über <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=73&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Scaling.agile@allianz.de: ein Erfahrungsbericht</a> </li>
<li>Bernd Schiffer und Heiko Henßler berichten von agiler Softwareentwicklung bei 1&amp;1: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=75&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Scrum@1&amp;1: ein Erfahrungsbericht</a> </li>
<li>Ursula Meseberg hält einen Vortrag zu <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=78&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">So kommen Farbe und Form ins Spiel: Usability Engineering in Projekten nach Scrum</a> </li>
<li>Am 28.01.2010 haben Ralf Westphal und Stefan Lieser einen Vortrag zu <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=99&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Clean Code Developer &#8211; Eine Initiative für mehr Softwarequalität</a>. Das Thema ist zwar erstmal nicht spezifisch für agile Softwareentwicklung, aber es kommt aus der Ecke und harmoniert gut mit agilen Gedankengut. </li>
<li>Aus dem gleichen Grund verorte ich Robert C. Martins Vortrag über <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=114&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">S.O.L.I.D.</a> auch im agilen Bereich. </li>
<li>Roman Pichler hält am selben Tag einen Vortrag über die Arbeit des Product Owners: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=100&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Product Owner &#8211; Fehler vermeiden</a> </li>
<li>Ebenfalls am 28.01.2010 berichten Henning Wolf und Sven Günther über <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=104&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Einführung agiler Softwareentwicklung in einem Multiprojektumfeld bei Otto</a> </li>
<li>Johannes Mainusch und Susanne Reppin erlauben uns Einblicke auf die Entwicklung mit Scrum bei Xing: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=107&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Wer am Ziel ist, irrt sich! Agil bleiben &#8211; Motorhaube auf bei XING</a> </li>
<li>Marcel Baumann nimmt sich des Themas Scrum in reguliertem Umgebungen an: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=108&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Scrum in FDA regulatory environment: How to use Scrum in MedTech projects</a> </li>
<li>Björn Feustel und Steffen Schluff nehmen sich das Thema Testen vor: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=113&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Testest Du noch oder entwickelst Du schon (wieder)?</a> </li>
<li>Zusammen mit Bernd Schiffer versuche ich etwas Licht in die Kanban-Frage zu bringen: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=116&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Was ist dran an Kanban?</a> </li>
<li>Jens Coldewey und Henning Wolf beschäftigen sich mit Wissensinseln: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=120&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Wissensinseln &#8211; Schadbild, Bekämpfung und Vorbeugung</a> </li>
<li>Kevlin Henney nimmt sich Modellierung vor: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=124&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Modelling in the Age of Agility</a> </li>
<li>Am 29.01.2010 folgt noch ein Tutorial von Roman Pichler: <a href="http://www.sigs-datacom.de/konferenz/sessiondetails.html?tx_mwconferences_pi1[pointer]=0&amp;tx_mwconferences_pi1[mode]=1&amp;tx_mwconferences_pi1[showUid]=132&amp;tx_mwconferences_pi1[tx_mwconferences_pi1][mode]=2">Product Backlog Grooming – Das Product Backlog richtig pflegen</a> </li>
</ul>
<p>Das sind insgesamt 21 Sessions zu agilen Themen &#8211; von unsgesamt knapp 130 Sessions. Das ist schon nicht schlecht, zumal es mir damit das am stärksten vertretene Einzelthema zu sein scheint. SOA hingegen scheint vollkommen tot zu sein.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/739/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=739&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/12/oop-2010-agil-auf-der-oop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Surfen auf Rügen</title>
		<link>http://stefanroock.wordpress.com/2009/10/12/surfen-auf-rugen/</link>
		<comments>http://stefanroock.wordpress.com/2009/10/12/surfen-auf-rugen/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 17:21:26 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Windsurfing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=736</guid>
		<description><![CDATA[Die ersten beiden Oktoberwoche war ich mit der Familie im Urlaub auf Rügen. Mit Pausen haben wir 8 Stunden für die Anreise gebraucht &#8211; wer hätte gedacht, dass man auf Rügen von links unten nach links oben mehr als eine Stunde brauchen kann&#8230; Aber die Insel war für mich dann doch überraschend groß und überall [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=736&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die ersten beiden Oktoberwoche war ich mit der Familie im Urlaub auf Rügen. Mit Pausen haben wir 8 Stunden für die Anreise gebraucht &#8211; wer hätte gedacht, dass man auf Rügen von links unten nach links oben mehr als eine Stunde brauchen kann&#8230; Aber die Insel war für mich dann doch überraschend groß und überall ist der Bodden im Weg, so dass man große Bogen fahren muss.</p>
<p><strong>Windsurf-Reviere</strong><br />
Auf der anderen Seite bietet der Bodden coole Surfreviere. Wir haben in Dranske gewohnt. Dort kam allerdings der westliche Wind schräg ablandig und war durch die Abdeckung erst weit draußen einigermaßen stabil. Daher sind wir jeweils die 10 Minuten nach Wiek gefahren. Dort kann man (gegen Geld) direkt am Wasser parken, hat einen großen Stehbereich und Westwind kommt auflandig. Man hätte in Wiek auch direkt am Wasser wohnen können (z.B. <a href="http://www.villa-maris.com/">Villa Maris</a>, <a href="http://www.strandhaus-wiek.de/">Strandhaus Wiek</a>), aber das wussten wir vorher nicht.</p>
<p>Sowohl in Wiek wie auch in Dranske gibt es Surfstationen &#8211; die in Wiek sah aber etwas schäbig aus.</p>
<p>An einem Flautentag haben wir uns noch Surendorf auf Rügen angesehen. Dort hat man in der Breite 12 km Stehbereich, kommt aber nur über den Campingplatz ans Wasser. Sah aber auch sehr nett aus.</p>
<p><strong>Der Wind</strong><br />
Mit dem Wind hatten wir Glück. Wir waren 14 Tage auf Rügen und hatten an zwei Tagen weniger als 4 Bft. Drei weitere Tage lagen bei 4 Bft., so dass man mit dem Kite oder großem Windsurf-Segel hätte auf&#8217;s Wasser gehen können. Das bedeutet, dass wir 9 Tage zwischen 5 und 9 Bft. hatten &#8211; eine ganz nette Wind-Ausbeute.</p>
<p><strong>Das Wetter</strong><br />
Der erste Tag war sonnig und über 20 Grad warm. Danach kam der Temperatursturz auf 10-14 Grad. Allerdings hatten wir kaum Regen und häufig Sonne. So war es ganz gut auszuhalten.</p>
<p><strong>Die Landschaft</strong><br />
Landschaftlich war Rügen überraschend hügelig und überraschend stark bewaldet. Auf jeden Fall sehr nett. Und obwohl Rügen eher dünn besiedelt ist, haben wir für die Kinder immer ausreichend Abwechslung gefunden. Dabei hat uns der Reiseführer <a href="http://www.amazon.de/Stralsund-R%C3%BCgen-Hiddensee-Erlebnisf%C3%BChrer-Kinder/dp/3356012517/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1255367973&amp;sr=8-2">Was machen wir morgen, Mama?</a> sehr geholfen.</p>
<p><strong>Die Leute</strong><br />
Wir hatten das Gefühl, dass die Leute im Service im Schnitt unfreundlicher und weniger aufmerksam waren, als wir das in anderen deutschen Urlaubsgebieten erlebt haben. Es gab aber auch Ausnahmen, wie z.B. unseren Vermieter der Ferienwohnung <a href="http://www.fewo-dranske.de/grundrisse.html">Alter Schwede</a>.</p>
<p><strong>Mein Fazit</strong><br />
Kann man mal wieder machen. Mehr Infos zu Rügen findet man z.B. unter <a href="http://www.ostsee24.de/ostseekueste/insel-ruegen">http://www.ostsee24.de/ostseekueste/insel-ruegen</a>.</p>
<br /> Tagged: Windsurfing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/736/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/736/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=736&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/10/12/surfen-auf-rugen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Überstunden: Go oder No-Go?</title>
		<link>http://stefanroock.wordpress.com/2009/09/21/uberstunden-go-oder-no-go/</link>
		<comments>http://stefanroock.wordpress.com/2009/09/21/uberstunden-go-oder-no-go/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 18:40:16 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=731</guid>
		<description><![CDATA[Insbesondere mit dem Scrum-Commitment gibt es immer wieder Diskussionen über die ungeliebten Überstunden. Muss das Team Überstunden schieben, um sein Commitment zu halten? Diese Diskussion will ich hier aber gar nicht führen &#8211; vielleicht später. Bei der Diskussion um Überstunden habe ich häufig das Gefühl, dass es sich in der agilen Welt um eine heilige [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=731&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Insbesondere mit dem Scrum-Commitment gibt es immer wieder Diskussionen über die ungeliebten Überstunden. Muss das Team Überstunden schieben, um sein Commitment zu halten? Diese Diskussion will ich hier aber gar nicht führen &#8211; vielleicht später. Bei der Diskussion um Überstunden habe ich häufig das Gefühl, dass es sich in der agilen Welt um eine heilige Kuh handelt. Überstunden sind ein No-Go und fertig. Tatsächlich glaube ich, dass wir uns mit dieser Haltung einer Option berauben, die man in der passenden Situation durchaus in Betracht ziehen sollte.</p>
<p>Und genau zu so einer Situation habe ich ein Praxisbeispiel. Wir haben vor einiger Zeit ein Projekt angenommen, in dem wir eine Webanwendung für eine Versicherung entwickeln sollten. Für das Projekt hatten wir 2,5 Monate Zeit und die Deadline war ebenso hart wie sportlich. Und da der Termin so eng war, haben wir gemeinsam im Team beschlossen, dass jeder von Beginn an soviele Überstunden macht, wie er selbst verantworten kann. Wir haben alle eine ganze Weile Überstunden geschoben. Die Menge hat aber über die Zeit abgenommen, weil wir immer sicherer wurden, dass wir den Termin halten können. Letztlich haben wir den Termin auch gehalten und es wurde eines der produktivsten und befriedigsten Projekte, an dem ich bisher beteiligt war &#8211; und das bei wirklich konsequentem TDD, sehr hoher Testabdeckung und sehr gut strukturiertem Code.<br />
Bei der Retrospektive haben alle Teammitglieder die Überstunden-Maßnahme begrüßt. Sie wurde in einer &#8222;Jo, wir schaffen das&#8220;-Atmosphäre geboren (im Gegensatz zur sonst üblichen &#8222;Wir arbeiten soviel wir können, damit wir hinterher keinen Anschiss kriegen&#8220;-Atmosphäre). Es war also &#8222;Play to win&#8220;.</p>
<p>Zur Klarstellung: Ich rede hier nicht von Überstunden, die irgend jemand anordnet. Ich rede davon, dass das Team Überstunden bewusst und gewollt über einen kurzen und verantwortbaren Zeitraum einsetzt.</p>
<br /> Tagged: eXtremeProgramming, Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/731/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/731/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/731/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=731&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/09/21/uberstunden-go-oder-no-go/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>13 Leute, 5 Firmen, 3 Standorte. Unmöglich! Oder?</title>
		<link>http://stefanroock.wordpress.com/2009/09/18/13-leute-5-firmen-3-standorte-unmoglich-oder/</link>
		<comments>http://stefanroock.wordpress.com/2009/09/18/13-leute-5-firmen-3-standorte-unmoglich-oder/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 14:30:59 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=727</guid>
		<description><![CDATA[&#8222;Unser Team besteht aus 13 Leuten, die aus 5 Unternehmen stammen und an drei Standorten (inkl. Offshore) arbeiten. Die Teammitglieder sind deutlich erkennbar spezialisert: Neben Java-Entwicklern gibt es Web-Entwickler, Leute für den Content und Qualitätssicherer. Wir haben nicht einen PO, sondern zwei. Und ein Teil der Leute ist auch nur Teilzeit verfügbar. Ach ja: Wir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=727&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8222;Unser Team besteht aus 13 Leuten, die aus 5 Unternehmen stammen und an drei Standorten (inkl. Offshore) arbeiten. Die Teammitglieder sind deutlich erkennbar spezialisert: Neben Java-Entwicklern gibt es Web-Entwickler, Leute für den Content und Qualitätssicherer. Wir haben nicht einen PO, sondern zwei. Und ein Teil der Leute ist auch nur Teilzeit verfügbar. Ach ja: Wir haben übrigens das Product Backlog direkt vor dem Sprint nochmal ordentlich umgekrempelt.&#8220;<br />
Wenn man mich vor drei Wochen gefragt hätte, wie groß ich die Erfolgswahrscheinlichkeit für dieses Team einschätzen würde, hätte ich wahrscheinlich &#8222;sehr niedrig&#8220; gesagt. Und das ist wahrscheinlich auch die korrekte Antwort. Aber &#8222;sehr niedrig&#8220; ist eben doch etwas mehr als 0, sprich: Das Team hat wirklich sehr gut als Team gearbeitet und ein sehr schönes Ergebnis produziert.</p>
<p>Sehen wir uns dazu einmal ein paar Eckdaten an:</p>
<ul>
<li>Es wurde nach Scrum gearbeitet.</li>
<li>Es gab zwei Product Owner, aber es war klar, wer von den beiden im Zeifel die Hosen anhat.</li>
<li>Je Standort gab es Colocation inkl. der Product Owner.</li>
<li>Der Sprint hatte ein klares, ziemlich wichtiges Ziel: Das System geht für einen definierten Anwenderkreis live. </li>
<li>In der Sprint-Planung wurde ein Task-Breakdown durchgeführt. Die Tasks wurden nicht in Stunden geschätzt. Stattdessen gab es die Regel, dass ein Task maximal einen Tag dauern darf und dann wurden die Tasks einfach gezählt.
</li>
<li>Der ScrumMaster hat bei der Sprint-Planung und während des Sprints dafür gesorgt, dass in Bezug auf dieses Ziel Minimalismus galt. Es wurden nur die Stories aufgenommen, die unbedingt für das Sprintziel notwendig waren.
</li>
<li>Die Anforderungen wurden als sehr kleine User-Stories formuliert. Noch während der Sprint-Planung wurden die User-Stories weiter in kleinere User-Stories aufgeteilt, so dass die User-Stories danach nur jeweils einen Umfang von wenigen Tagen hatten.
</li>
<li>Es gab jeden Tag zwei Daily Scrums. Zuerst eines über Skype mit den Standorten und danach noch eines am Hauptstandort.
</li>
<li>Der ScrumMaster hat insbesondere beim Daily Skype Scrum dafür gesorgt, dass Probleme auch sichtbar und bearbeitet wurden.
</li>
<li>Am Hauptstandort stand auch das Taskboards und die Sprint-Burndowns (geführt nach Anzahl Tasks und nach Anzahl Story Points).
</li>
<li>Die Burndowns wurden von Hand auf Flipchart-großem Papier erstellt und gepflegt. Die Stories waren natürlich auch elektronisch vorhanden, aber das elektronisch generierte Burndown war nie wirklich korrekt &#8211; die Ursachen dafür zu erklären, führt hier zu weit. Auf jeden Fall waren die händisch erstellten Burndowns die führenden Burndowns.
</li>
<li>Es gab einen ständig aktiven Skype-Chat für alle Team-Mitglieder.</li>
<li>Das Sprint-Review nach dem Sprint war öffentlich im Unternehmen. Die Anzahl der zusätzlichen Teilnehmer war sehr überschaubar. Da aber der zuständige Fachbereichsleiter auch anwesend war, wurde die große Bedeutung des Sprints explizit. Außerdem war damit klar, dass man im Sprint-Review nicht mit einem zufälligen Herumgeclicke durch die Tür kommt.
</li>
<p>Das Team hat es genau geschafft, das Sprintziel zu erreichen und das System termingerecht live zu stellen. Das Team ist sehr stolz auf seine Leistung und die Product Owner sind sehr zufrieden mit dem Erreichten.</p>
<p>Damit hier kein falscher Eindruck entsteht. Das war kein einfacher Sprint, den man mal so runterarbeitet. Es gab einen ganz Zoo von Problemen während des Sprints. Die Qualitätssicherer waren zunächst nicht so verfügbar, wie geplant, so dass dort ein Bottleneck entstand. Die Build-Infrastruktur ist bezogen auf automatisierte UI-Akzeptanztests faktisch zusammengebrochen (und während des Sprints auch nicht wieder auferstanden), etc. Aber das Team hat pragmatische und gangbare Lösungen gefunden. Und die bestanden nicht einfach darin, Qualität zu opfern. In dem Projekt wurden sehr viele automatisierte Akzeptanztests geschrieben und die entstandenen Code- und Teststrukturen können sich sehen lassen.</p>
<p>Meine ganze persönliche Bewertung der Geschichte: Ich glaube, dass Fokussierung ausschlaggebend für den Erfolg des Teams war. Dazu hat es z.B. sehr geholfen, nur die Stories einzuplanen, die unbedingt für das Sprintziel notwendig waren. Das Team hätte sich während des Sprints zusätzliche Stories geben lassen, wenn es schneller gewesen wäre als geplant. Dazu ist es aber nur in ganz kleinem Umfang gekommen. Stattdessen gab es auch keine &#8222;Versuchung&#8220; schnell noch ein paar optionale Stories umzusetzen. Stattdessen wurde mehr Wert auf Qualität und Tests gelegt. </p>
<p>Und einen wesentlichen Anteil an der Fokussierung hatte der ScrumMaster. Das Projekt ist ein schönes Beispiel dafür, wieviel Unterschied ein guter ScrumMaster machen kann.</p>
<p>P.S.: Ich schreibe das hier nicht, um mich selbst zu loben. Ich habe den ScrumMaster nicht ausgebildet und für das Team kein Scrum-Coaching gemacht &#8211; ich war für ein anderes Thema als Coach im Team und bezogen auf Scrum hier nur staunender Beobachter.</p>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/727/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=727&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/09/18/13-leute-5-firmen-3-standorte-unmoglich-oder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>XP-Days Germany am 26-28.11.09 in Karlsruhe</title>
		<link>http://stefanroock.wordpress.com/2009/09/18/xp-days-germany-am-26-28-11-09-in-karlsruhe/</link>
		<comments>http://stefanroock.wordpress.com/2009/09/18/xp-days-germany-am-26-28-11-09-in-karlsruhe/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 08:17:36 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=725</guid>
		<description><![CDATA[XP Days Germany ist die größte deutschsprachige Konferenz zur agilen Softwareentwicklung. Sie findet dieses Jahr vom 26. bis 28. November in Karlsruhe statt. Einige Highlights: Keynote von Alistair Cockburn Zwei Halbtagestutorials mit begrenzter Teilnehmerzahl Vier parallele Tracks am Hauptkonferenztag Mehrere Pecha-Kucha-Blöcke Community Day mit Open Space und World Cafe Das detaillierte Programm,den Link zur Anmeldung [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=725&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>XP Days Germany ist die größte deutschsprachige Konferenz zur agilen Softwareentwicklung. Sie findet dieses Jahr vom 26. bis 28. November in Karlsruhe statt.</p>
<p>Einige Highlights:</p>
<ul>
<li>Keynote von Alistair Cockburn</li>
<li>Zwei Halbtagestutorials mit begrenzter Teilnehmerzahl</li>
<li>Vier parallele Tracks am Hauptkonferenztag</li>
<li>Mehrere Pecha-Kucha-Blöcke</li>
<li>Community Day mit Open Space und World Cafe</li>
</ul>
<p>Das detaillierte Programm,den Link zur Anmeldung und zahlreiche weitere Informationen gibt es auf www.xpdays.de</p>
<p>Laufende Neuigkeiten über Teilnehmerzahlen, freie Plätze, Programmänderungen etc. werden über Twitter verbreitet. Informationen dazu gibt es hier: http://xpdays.de/2009/twitter.html</p>
<p>Ich selbst werde mit einem Vortrag zum inkrementellen Entwurf und einem Pecha-Kucha-Vortrag zu Stop-the-Line vertreten sein.</p>
<p>Ich hoffe, wir sehen uns auf den XP-Days.</p>
<br /> Tagged: Architecture, eXtremeProgramming, Lean, Refactoring, Scrum, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/725/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/725/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/725/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=725&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/09/18/xp-days-germany-am-26-28-11-09-in-karlsruhe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Skriptsprachen: Was ich bisher übersehen hatte&#8230;</title>
		<link>http://stefanroock.wordpress.com/2009/09/17/skriptsprachen/</link>
		<comments>http://stefanroock.wordpress.com/2009/09/17/skriptsprachen/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 06:58:04 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=719</guid>
		<description><![CDATA[Die Verfechter von Ruby, Python etc. sprechen von dynamischen Skriptsprachen. Ich war bisher immer der Meinung, dass der Hauptunterschied zu Sprachen wie C++ und Java im Typsystem besteht. Java und Konsorten sind statisch getypt. Ruby, Python etc. sind je nach Sprechweise dynamisch getypt oder ungetypt. Daher war ich der Meinung, man müsste eher ungetypt/dynamisch getypt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=719&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Die Verfechter von Ruby, Python etc. sprechen von dynamischen Skriptsprachen. Ich war bisher immer der Meinung, dass der Hauptunterschied zu Sprachen wie C++ und Java im <em>Typsystem</em> besteht. Java und Konsorten sind <em>statisch getyp</em>t. Ruby, Python etc. sind je nach Sprechweise <em>dynamisch getypt</em> oder <em>ungetypt</em>.<br />
Daher war ich der Meinung, man müsste eher <em>ungetypt/dynamisch getypt</em> gegen <em>statisch getypt</em> stellen. Und dann wären Sprachen wie Smalltalk oder Lisp eben auch in der Gruppe der ungetypten/dynamisch getypten Sprachen.</p>
<p>Neulich habe ich aber gemerkt, dass der Aspekt der Skriptsprache doch wichtiger ist, als ich angenommen hatte. Ich musste auf meinem Rechner einen Proxy-Server installieren, um bestimmte URLs umzulenken. Und dazu musste man ein Skript (z.B. in Perl) schreiben, das die URLs in die Ziel-URLs umwandelte.</p>
<p>Ich habe mir dazu ein Perl-Skript als Vorlage aus dem Internet besorgt. Mit meinen beschränkten Perl-Kenntnissen habe ich das Skript nicht wirklich verstanden, aber das schien mir auch nicht notwendig.</p>
<p>Das hat natürlich erstmal alles nicht funktioniert. Es wurden keine URLs umgelenkt. Und natürlich war mir auch unklar, wo das Problem liegt. War die Konfiguration des Proxy-Servers falsch oder stimmte etwas mit dem Perl-Skript nicht?</p>
<p>Das ließ sich aber ganz leicht herausfinden. Einfach das Perl-Skript mal so starten.<br />
<code>./redirect.pl</code><br />
An der Fehlermeldung konnte man sofort sehen, dass das Skript Daten über die Pipe erwartet. Das ergibt auch Sinn: Der Proxy-Server gibt die aktuelle URL per Pipe an das Perl-Skript. Auch diese Situation kann ich direkt auf der Linux-Shell nachstellen:<br />
<code>echo http://meineUrl.de | ./redirect.pl</code><br />
Und siehe da, das Skript läuft durch, erzeugt aber nicht die Ausgaben, die ich erwartet habe. Folgerung: Mit dem Skript stimmt etwas nicht. Mit Quellcode-Anstarren und etwas Internet-Recherche habe ich das Problem dann auch schnell identifiziert und das Skript korrigiert.</p>
<p>Stellen wir uns zum Vergleich vor, das Redirect-Skript wäre in Java programmiert gewesen (C++ stellen wir uns hier lieber nicht vor&#8230;). Dann hätte ich das Programm nicht einfach so aufrufen können. Ich hätte erstmal den Classpath zusammenstellen müssen. Oder ich hätte mir einen Unittest geschrieben, um das Skript zu testen. Und für das Austesten direkt zusammen mit dem Proxy-Server hätte ich immer wieder neu compilieren müssen. Auf jeden Fall wäre das ganze ein gutes Stück schwergewichtiger mit deutlich längeren Turn-Around-Zeiten gewesen.</p>
<p>Und dieser Vorteil zeigt sich nicht nur bei so kleinen Hilfsskripten. Auch in echten Anwendungen ist es nützlich, wenn man einen verdächtigen Teil seiner Anwendung einfach so aus der Shell starten kann.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/719/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=719&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/09/17/skriptsprachen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>XP-Days Germany 2009</title>
		<link>http://stefanroock.wordpress.com/2009/08/21/xp-days-germany-2009/</link>
		<comments>http://stefanroock.wordpress.com/2009/08/21/xp-days-germany-2009/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 07:46:04 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[eXtremeProgramming]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=716</guid>
		<description><![CDATA[Das Programm der XP-Days Germany 2009 ist jetzt online: http://xpdays.de/2009/programm.html Ich selbst bin am Freitag mit einem Vortrag über &#8222;Inkrementelles Design&#8220; vertreten. Da ich ein Verfechter kurzer Vorträge bin, habe ich das Thema als 30-Minuten-Vortrag eingereicht. Einige der Reviewer hatten Zweifel, ob das Thema in 30 Minuten untergebracht werden kann. Das ist gut. Ich mag [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=716&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Das Programm der XP-Days Germany 2009 ist jetzt online: <a href="http://xpdays.de/2009/programm.html">http://xpdays.de/2009/programm.html</a></p>
<p>Ich selbst bin am Freitag mit einem Vortrag über &#8222;Inkrementelles Design&#8220; vertreten. Da ich ein Verfechter kurzer Vorträge bin, habe ich das Thema als 30-Minuten-Vortrag eingereicht. Einige der Reviewer hatten Zweifel, ob das Thema in 30 Minuten untergebracht werden kann. Das ist gut. Ich mag Herausforderungen.</p>
<p>Am Donnerstag halte ich eine Pecha-Kucha-Session zum Thema &#8222;Stop the Line in der Softwareentwicklung&#8220;. Pecha-Kucha ist ein modernes Vortragsformat, in dem genau 20 Folien für jeweils genau 20 Sekunden gezeigt werden. Der ganze Vortrag dauert dann exakt 6:40 Minuten. Bei der JAX 2009 haben wir das bereits einmal ausprobiert. Naja, ok: Ich habe ausprobieren lassen und mich auf die Organisation beschränkt. Auf den XP-Days muss ich jetzt selbst zeigen, ob ich das Format gut ausgefüllt bekomme.</p>
<p>Auf der JAX 2009 hatte mein Kollege <a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> einen Pecha-Kucha-Vortrag über &#8222;Inkrementelles Design&#8220; gehalten, der jetzt auch <a href="http://it-republik.de/jaxenter/news/JAX-TV-Inkrementelles-Design---in-kleinen-Schritten-zum-Erfolg-050711.html">als Video verfügbar</a> ist.  Für alle, die bei den XP-Days (oder der W-JAX oder sonstwo) einen Pecha-Kucha-Vortrag halten, ist das Video sicher eine ganz gute Inspiration und es zeigt auch, dass 20 Sekunden je Folie manchmal ziemlich lang sein kann <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /> Tagged: Architecture, eXtremeProgramming, Scrum, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/716/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/716/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/716/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=716&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/08/21/xp-days-germany-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum bei Xing</title>
		<link>http://stefanroock.wordpress.com/2009/07/29/scrum-bei-xing/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/29/scrum-bei-xing/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 15:27:33 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=713</guid>
		<description><![CDATA[Xing setzt für die Softwareentwicklung auf Scrum und hat dazu drei Blog-Artikel verfasst: Einführung von Scrum bei XING – Ein Erfahrungsbericht Einführung von Scrum bei XING – ein Erfahrungbericht #2: Die Schwierigkeiten Einführung von Scrum bei XING – ein Erfahrungbericht #3: Ein Fazit Tagged: Scrum<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=713&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xing.com/">Xing</a> setzt für die Softwareentwicklung auf Scrum und hat dazu drei Blog-Artikel verfasst:</p>
<ol>
<li><a href="http://blog.xing.com/2009/05/einfuhrung-von-scrum-bei-xing-%E2%80%93-ein-erfahrungsbericht/">Einführung von Scrum bei XING – Ein Erfahrungsbericht</a></li>
<li><a href="http://blog.xing.com/2009/05/einfuhrung-von-scrum-bei-xing-ein-erfahrungbericht-2-die-schwierigkeiten/">Einführung von Scrum bei XING – ein Erfahrungbericht #2: Die Schwierigkeiten</a></li>
<li><a href="http://blog.xing.com/2009/05/einfuhrung-von-scrum-bei-xing-ein-erfahrungbericht-2-ein-fazit/">Einführung von Scrum bei XING – ein Erfahrungbericht #3: Ein Fazit</a></li>
</ol>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/713/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/713/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/713/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=713&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/29/scrum-bei-xing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Hochproduktive Teams kochen</title>
		<link>http://stefanroock.wordpress.com/2009/07/28/hochproduktive-teams-kochen/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/28/hochproduktive-teams-kochen/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 08:46:28 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=709</guid>
		<description><![CDATA[Joseph Peline schreibt an einem Buch über hochproduktive, selbstorganisierte Teams. Ein paar Draft-Auszüge hat er in seinem Blog veröffentlicht, die bereits sehr interessant aussehen. Joseph verwendet Kochen als Metapher. Zu wenig Hitze und das Essen wird nicht gar, zuviel Hitze und das Essen verbrennt. Und dieses Modell wendet Jospeph auf Teams an. Sie sollen &#8222;kochen&#8220;. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=709&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.metaprog.com/">Joseph Peline</a> schreibt an einem Buch über hochproduktive, selbstorganisierte Teams. Ein paar Draft-Auszüge hat er in seinem <a href="http://www.metaprog.com/blogs/">Blog</a> veröffentlicht, die bereits sehr interessant aussehen.</p>
<p>Joseph verwendet Kochen als Metapher. Zu wenig Hitze und das Essen wird nicht gar, zuviel Hitze und das Essen verbrennt. Und dieses Modell wendet Jospeph auf Teams an. Sie sollen &#8222;kochen&#8220;. Das ist der Zustand, in dem das Team wirklich hochproduktiv arbeitet, Gerade weil die Teammitglieder ihre Komfortzone verlassen müssen. </p>
<p>die Herausforderung besteht jetzt also darin, die Teams mit dem richtigen Maß an Hitze zu versorgen. Ich hatte zuerst Schwierigkeiten mit dem Modell, weil ich unterbewusst Hitze mit Druck gleichgesetzt habe. Aber so ist es sicher nicht gemeint &#8211; jedenfalls nicht Druck im klassischen Sinne (&#8222;Ihr müsst genau diese Funktionen, zu genau dieser Zeit zu genau diese Deadline schaffen, sonst&#8230;.&#8220;). Mit Hitze ist hier das gemeint, was notwendig ist, um die Teammitglieder zu aktivieren, dafür zu sorgen, dass sie ihre Komfortzone verlassen.</p>
<p>So betrachtet hilft das Modell, Phänomene zu verstehen, die mir immer wieder über den Weg laufen. Da gibt es z.B. Scrum-Teams, die jedes Commitment halten und auch der Product-Owner ist zufrieden. Trotzdem fühlt es sich so an, als wäre irgendetwas nicht richtig. Man spürt keine Energie. Nach Josephs Koch-Metapher sind wir auf Level 3: Cooling (Stagnation). Das Team erledigt seine Arbeit verlässlich und routinisiert, aber es arbeitet letztlich deutlich unter seinen Möglichkeiten und zumindest mir würde die Arbeit in so einem Team auch keinen Spaß machen.</p>
<p>Ich bin wirklich sehr gespannt, wie sich Joseph&#8217;s Buch weiterentwickelt und hoffe, dass es bald komplett veröffentlicht wird.</p>
<p>Hier sind die bisher veröffentlichten Ausschnitte:</p>
<ol>
<li><a href="http://www.metaprog.com/blogs/?p=49">Turning up the heat &#8211; introduction</a></li>
<li><a href="http://www.metaprog.com/blogs/?p=65">Turning up the heat &#8211; the basic model</a></li>
<li><a href="http://www.metaprog.com/blogs/?p=74">Turning up the heat &#8211; the levels</a></li>
</ol>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/709/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/709/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/709/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=709&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/28/hochproduktive-teams-kochen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>BDD for Prolog: How To</title>
		<link>http://stefanroock.wordpress.com/2009/07/27/bdd-for-prolog-how-to/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/27/bdd-for-prolog-how-to/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 17:05:01 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Prolog]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=706</guid>
		<description><![CDATA[ProSpec is a RSpec (http://rspec.info) inspired BDD framework for Prolog. I created it during my experiments with Prolog. I suspect that I did some strange things. I would be pleased by any feedback on how to improve ProSpec or the examples. Send me an E-Mail: stefan AT stefanroock DOT de Every ProSpec specification starts with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=706&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stefanroock.wordpress.com/2009/07/21/bdd-for-prolog/">ProSpec</a> is a RSpec (<a href="http://rspec.info">http://rspec.info</a>) inspired BDD framework for Prolog. I created it during my experiments with Prolog. I suspect that I did some strange things. I would be pleased by any feedback on how to improve ProSpec or the examples. Send me an E-Mail: <em>stefan AT stefanroock DOT de</em></p>
<p>Every ProSpec specification starts with <code>describe(FixtureName)</code> and ends with <code>end_describe</code>. Within these two predicates every specification is declared with <code>it(SpecName/SpecCode)</code>.</p>
<p>We start with a very simple BDD spec for bowling. </p>
<p><strong>bowling_spec.pro:</strong></p>
<pre><code>:- ensure_loaded('ProSpec.pro').
:- ensure_loaded('bowling.pro').

:- describe('Bowling'). 

generate_bowling_hits(_, 0).
generate_bowling_hits(Hit, Count) :- bowling_hit(Hit), Count2 is Count-1, generate_bowling_hits(Hit, Count2).

:- it('should score 0 for gutter game'/(
	generate_bowling_hits(0, 20),
	bowling_score(Score),
	assert_that(Score, equals:0)
)). 

:- end_describe.
</code></pre>
<p><strong>bowling.pro:</strong></p>
<pre><code>bowling_hit(Count).
bowling_score(0).
</code></pre>
<p>With &#8222;run_specs.&#8220; the BDD spec runs:</p>
<pre><code>Bowling...
...should score 0 for gutter game (passed)
Passed:1

1 specs passed
</code></pre>
<p>In the next step with specify the next behaviour increment:</p>
<p><strong>bowling_spec.pro:</strong></p>
<pre><code>:- ensure_loaded('ProSpec.pro').
:- ensure_loaded('bowling.pro').

:- describe('Bowling'). 

generate_bowling_hits(_, 0).
generate_bowling_hits(Hit, Count) :- bowling_hit(Hit), Count2 is Count - 1, generate_bowling_hits(Hit, Count2).

:- it('should score 0 for gutter game'/(
	generate_bowling_hits(0, 20),
	bowling_score(Score),
	assert_that(Score, equals:0)
)). 

:- it('should sum hits of a game'/(
	generate_bowling_hits(2, 20),
	bowling_score(Score),
	assert_that(Score, equals:40)
)). 

:- end_describe.
</code></pre>
<p>&#8222;run_specs.&#8220; shows that this spec fails:</p>
<pre><code>Bowling...
...should score 0 for gutter game (passed)
...should sum hits of a game
	Expected 40 equal to 0
</code></pre>
<p>We extend the bowling implementation:</p>
<pre><code>bowling_hit(Count) :- assert(bowling_hit_def(Count)).

bowling_score(Score) :-
	findall(Hit, bowling_hit_def(Hit), Hits),
	sumlist(Hits, Score).
</code></pre>
<p>Now the spec succeeds, but only once. The reason is the growing number<br />
of &#8222;bowling_hit_def&#8220; facts. To avoid this problem ProSpec offers &#8222;setup_spec&#8220;.</p>
<p><strong>bowling_spec.pro:</strong></p>
<pre><code>:- ensure_loaded('ProSpec.pro').
:- ensure_loaded('bowling.pro').

:- describe('Bowling'). 

generate_bowling_hits(_, 0).
generate_bowling_hits(Hit, Count) :- bowling_hit(Hit), Count2 is Count - 1, generate_bowling_hits(Hit, Count2).

:- dynamic(setup_spec/0).

setup_spec :-
	retractall(bowling_hit_def(_)).

:- it('should score 0 for gutter game'/(
	generate_bowling_hits(0, 20),
	bowling_score(Score),
	assert_that(Score, equals:0)
)). 

:- it('should sum hits of a game'/(
	generate_bowling_hits(2, 20),
	bowling_score(Score),
	assert_that(Score, equals:40)
)). 

:- end_describe.
</code></pre>
<p>Now the spec succeeds every time. </p>
<p>There is a bunch of other assert_that predicates in ProSpec.pro. Have a look<br />
and proceed: <a href="http://github.com/stefanroock/ProSpec/">http://github.com/stefanroock/ProSpec/</a></p>
<br /> Tagged: Prolog, Testing <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/706/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/706/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/706/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=706&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/27/bdd-for-prolog-how-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Reflektionen über Prolog</title>
		<link>http://stefanroock.wordpress.com/2009/07/27/reflektionen-uber-prolog/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/27/reflektionen-uber-prolog/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 16:46:21 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=696</guid>
		<description><![CDATA[Ich erkläre meine Experimente mit Prolog jetzt erstmal für beendet und schließe mit ein paar Reflektionen über Prolog. Es ist durchaus möglich, dass ich an der einen oder anderen Stelle einem Irrtum aufgesessen bin. In diesem Fall freue ich mich über entsprechende Kommentare. Prolog als Sprache fand ich ganz lustig, auch weil die Ansätze so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=696&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ich erkläre meine Experimente mit Prolog jetzt erstmal für beendet und schließe mit ein paar Reflektionen über Prolog. Es ist durchaus möglich, dass ich an der einen oder anderen Stelle einem Irrtum aufgesessen bin. In diesem Fall freue ich mich über entsprechende Kommentare.</p>
<ol>
<li>Prolog als Sprache fand ich ganz lustig, auch weil die Ansätze so anders sind als das, was man sonst so in Programmiersprachen vorfindet. In diesem Sinne war die Beschäftigung mit Prolog auf jeden Fall zur Horizonterweiterung nützlich.</li>
<li>Für Prolog gibt es einen ISO-Standard, so dass Prolog-Systeme verschiedener Hersteller kompatibel sein sollten. Das ist eigentlich ganz nett. Aber je mehr Programmiersprachen mit ISO-Standard ich kennenlerne, umso mehr habe ich den Eindruck, dass eine ISO-Standardisierung die Fahrkarte ins Reich der toten Programmiersprachen ist.</li>
<li>Möglicherweise ist das auch der Grund dafür, warum es keine Weiterentwicklung von Prolog zu geben scheint. Das finde ich persönlich schade, weil ich die Ansätze vielversprechend finde. Aber irgendwie müsste man die Konzepte noch in die heutige Zeit bringen.</li>
<li>Und ein Nutzen wäre da. Soweit ich das überblicken kann, macht eine Rule-Engine ungefähr, das was Prolog macht &#8211; nur eben in einer proprietären Sprache. Wenn man Pech hat, kommt auch noch XML ins Spiel die ganze Geschichte wird auch noch schwer lesbar. Wäre es nicht viel smarter, Prolog dafür zu verwenden?</li>
<li>Prolog hat den Anspruch, den Entwickler weitestgehend von Algorithmen zu entlasten und stattdessen nur noch Spezifikationen schreiben zu lassen. Das finde ich einen lohnenswerten Ansatz. Ich hatte das Gefühl, dass ich tatsächlich weniger Algorithmik betreiben muss. Ich muss aber im Gegenzug wissen, wie Prolog die Regeln auswertet &#8211; also letztlich welche Algorithmen Prolog anwendet. Und das fand ich nicht immer trivial. Daher hatte ich auch so meine Schwierigkeiten, den Cut-Operator sinnvoll einzusetzen. Aber vielleicht wird das einfacher, mit mehr Übung?</li>
<li>In die gleiche Problemkategorie fällt, dass ich zwischendurch immer mal Situationen hatte, wo eine Regelauswertung auf einmal 20 Sekunden gedauert hat &#8211; bei einer handvoll Fakten. Und mir war nicht immer klar, wie das passiert ist. Insgesamt sollen aber Prolog-Programme auch nicht langsamer sein als Programme, die in anderen Programmiersprachen entwickelt werden.</li>
<li>Beeindruckend fand ich, dass ich mein Terminplaner-Beispiel in Prolog mit extrem wenigen Zeilen Code schreiben konnte, ohne dass der Code schwer verständlich wurde. Allerdings hat das Beispiel wieder Benutzungsoberfläche noch Datenbank. Wenn beides dazukommt und man die Lösung mit Rails oder Grails vergleicht, ist der Unterschied vermutlich nicht mehr so drastisch. Schließlich ist SQL ja sowas wie Prolog-Light.</li>
<li>Apropos Benutzungsoberfläche und Datenbank: Prolog ist keine isolierte Regel-Auswertungsmaschine. Anbindungen an Rich-Client-Libs, HTTP und Datenbanken existiert in Form von Libraries.</li>
<li>Durch sein Pattern-Matching ist es mit Prolog ganz einfach, eine internen DSL zu formulieren &#8211; auch wenn man sich wünschen würde, die Klammern der Root-Regel noch loswerden zu können.</li>
<li>Regeln haben in Prolog keinen Rückgabewert. Stattdessen werden als Variablen angegebene Parameter zu diesem Zweck verwendet. Das in sehr flexibel und funktioniert eben auch für mehrere Rückgabewerte. Auf der Negativseite steht, dass man für einfache Ausdrücke eigene Variablen einführen muss. Möchte man an eine Regel index+1 übergeben, muss man dazu eine Extra-Variable einführen. Das finde ich definitiv umständlich.</li>
<li>Die meisten Prolog-Systeme bieten ein Modulkonzept. Das ist nicht im ISO-Standard enthalten, aber zwischen die Prolog-Systemen aber sehr ähnlich. Ich habe das Modulsystem nicht benutzt, aber es sieht vernünftig aus.</li>
<li>Außerdem gibt es sowas wie Objektorientierung (mind. in SWI-Prolog), aber das sieht echt merkwürdig aus.</li>
<li>Und dann ist da noch die Datenbasis mit den Regeln und Fakten. Durch diese Datenbasis lassen sich viele Dinge sehr einfach und elegant formulieren. Allerdings stellt sie auch globalen Zustand dar &#8211; mit den üblichen Nachteilen globaler Variablen. So muss man z.B. bei Tests selbst dafür sorgen, dass die Datenbasis aufgeräumt wird. Positiv an der Datenbasis ist allerdings, dass nach Programmausführung bzw. Test die Daten für Post-Mortem-Debugging verfügbar sind.</li>
</ol>
<p>Hat jemand andere oder ergänzende Erfahrungen? Dann immer her damit!</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/696/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=696&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/27/reflektionen-uber-prolog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Beispiel für Closure</title>
		<link>http://stefanroock.wordpress.com/2009/07/27/beispiel-fur-closure/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/27/beispiel-fur-closure/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:58:51 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[#]]></category>
		<category><![CDATA[Groovy]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=692</guid>
		<description><![CDATA[Gerade habe ich einen Anwendungsfall für Closures. Ich habe sequenziellen Code a la: tueA(); tueB(); tueC(); Ich möchte gerne mitloggen, wie lange die einzelnen Schritte dauern (um das Beispiel zu vereinfachen, logge ich durch Ausgabe auf die Konsole): long startTime = System.currentTimeMillis(); tueA(); System.out.println("duration in sec: " + ((System.currentTimeMillis() - startTime) / 1000)); startTime = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=692&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gerade habe ich einen Anwendungsfall für Closures. Ich habe sequenziellen Code a la:</p>
<pre><code>tueA();
tueB();
tueC();
</code></pre>
<p>Ich möchte gerne mitloggen, wie lange die einzelnen Schritte dauern (um das Beispiel zu vereinfachen, logge ich durch Ausgabe auf die Konsole):</p>
<pre><code>long startTime = System.currentTimeMillis();
tueA();
System.out.println("duration in sec: " +  ((System.currentTimeMillis() - startTime) / 1000));

startTime = System.currentTimeMillis();
tueB();
System.out.println("duration in sec: " +  ((System.currentTimeMillis() - startTime) / 1000));

startTime = System.currentTimeMillis();
tueC();
System.out.println("duration in sec: " +  ((System.currentTimeMillis() - startTime) / 1000));
</code></pre>
<p>Das funktioniert, nur den eigentlichen Code kann man kaum wiederfinden. Wenn ich Closures (wie z.B. in Groovy) zur Verfügung habe, ist es ganz einfach:</p>
<pre><code>def timeLogged (Closure c) {
    long start = - System.currentTimeMillis()
    c.call()
    println "duration in sec: " + (System.currentTimeMillis() + start) / 1000;
}

timeLogged { tueA() }
timeLogged { tueB() }
timeLogged { tueC() }
</code></pre>
<p>Das ist kürzer, redundanzfreier und meiner Meinung nach deutlich besser lesbar. </p>
<p>P.S.: Redundanzfrei kann es ohne Closures in Java natürlich auch hinkriegen, mit anonymen Inner Classes. Dummerweise wird der Code dann noch länger und noch schwerer lesbar.</p>
<br /> Tagged: Groovy <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/692/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/692/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/692/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=692&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/27/beispiel-fur-closure/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Verantwortung in der Praxis</title>
		<link>http://stefanroock.wordpress.com/2009/07/26/verantwortung-in-der-praxis/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/26/verantwortung-in-der-praxis/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 18:26:30 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=688</guid>
		<description><![CDATA[Bernd Schiffer hat ein interessantes Foto geschossen: http://twitpic.com/bmajr Da ist also eine Fahrtreppe der Deutschen Bahn außer Betrieb. Als Grund wird angegeben, dass der namentlich genannte Lieferant nicht rechtzeitig geliefert habe. Diese Aktion der Deutschen Bahn finde ich seltsam. Ich habe den Eindruck, die Bahn will damit die Verantwortung für die nicht-funktionierende Fahrtreppe auf den [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=688&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://berndschiffer.blogspot.com/">Bernd Schiffer</a> hat ein interessantes Foto geschossen:</p>
<p><a href="http://twitpic.com/bmajr">http://twitpic.com/bmajr</a></p>
<p>Da ist also eine Fahrtreppe der Deutschen Bahn außer Betrieb. Als Grund wird angegeben, dass der namentlich genannte Lieferant nicht rechtzeitig geliefert habe.</p>
<p>Diese Aktion der Deutschen Bahn finde ich seltsam. Ich habe den Eindruck, die Bahn will damit die Verantwortung für die nicht-funktionierende Fahrtreppe auf den Lieferanten abwälzen. Allerdings kaufe ich mein Ticket ja bei der Deutschen Bahn und nicht bei deren Lieferanten. Und wenn die Lieferanten nicht funktionieren, liegt die Verantwortung letztlich auch bei der Deutschen Bahn. Diese hat ja schließlich die Lieferanten ausgewählt.</p>
<p>Die ganze Geschichte ist aber keineswegs einmalig, sondern sehr häufig anzutreffen. Wenn Teams mit Scrum beginnen, zeigen sie im ersten Sprint-Review häufig ähnliche Verhaltensweisen: &#8222;Ja, wir haben unser Commitment nicht gehalten. Das ist aber nicht unsere Verantwortung. Das liegt nur daran, dass der Datenbank-Administrator unsere Tabellen nicht reichtzeitig angelegt hat.&#8220; Und dann sprechen wir über Verantwortung und Commitment. Auch wenn ich von jemand anderem abhängig bin, ändert das nichts an meiner Verantwortung, die ich mit dem Commitment eingegangen bin. Entweder muss ich herausfinden, wie ich mein Commitment trotzdem halten kann oder ich darf kein Commitment abgeben.</p>
<br /> Tagged: Scrum <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/688/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/688/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/688/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=688&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/26/verantwortung-in-der-praxis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>BDD for Prolog</title>
		<link>http://stefanroock.wordpress.com/2009/07/21/bdd-for-prolog/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/21/bdd-for-prolog/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 19:38:50 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=686</guid>
		<description><![CDATA[During my experiments with Prolog I needed a test framework. I startet with the unit test framework written by Ken Egozi. Over time I tried to migrate it to a more BDD like style. I named the result &#8222;ProSpec&#8220;. Here is the code (Open-Source-License): it(Spec_Desc/Spec):- current_fixture(Fixture), retractall(spec_def(Fixture/Spec_Desc/Spec)), assert(spec_def(Fixture/Spec_Desc/Spec)). describe(Fixture) :- retractall(spec_def(Fixture/_/_)), assert(current_fixture(Fixture)). end_describe:- retractall(current_fixture(_)). run_one_spec(Pred/Name) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=686&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>During my experiments with Prolog I needed a test framework. I startet with the <a href="http://www.kenegozi.com/blog/2008/07/24/unit-testing-in-prolog.aspx">unit test framework written by Ken Egozi</a>. Over time I tried to migrate it to a more BDD like style. I named the result &#8222;ProSpec&#8220;. Here is the code (Open-Source-License):</p>
<pre><code>it(Spec_Desc/Spec):-
    current_fixture(Fixture),
    retractall(spec_def(Fixture/Spec_Desc/Spec)),
    assert(spec_def(Fixture/Spec_Desc/Spec)). 

describe(Fixture) :-
    retractall(spec_def(Fixture/_/_)),
    assert(current_fixture(Fixture)). 

end_describe:-
    retractall(current_fixture(_)). 

run_one_spec(Pred/Name) :-
	spec_def(Pred/Name/Spec),
	setup_spec,
	call(Spec).

run_specs :-
    dynamic(setup_spec/0),
    dynamic(specs_stats/2),
    write('Run Specs '), nl,
    bagof(Fixture/Specs, bagof((Spec_Desc/Spec), spec_def(Fixture/Spec_Desc/Spec), Specs), SpecsPerPredicate),
    run_specs(SpecsPerPredicate, Passed/Failed),
    write_specs_summary(Passed/Failed). 

run_specs(SpecsSpecsPerPredicate, TotalPassed/TotalFailed) :-
    run_specs(SpecsSpecsPerPredicate, 0/0, TotalPassed/TotalFailed). 

run_specs([], Passed/Failed, Passed/Failed):-!. 

run_specs([Fixture/Specs|Rest], Passed/Failed, TotalPassed/TotalFailed):-
    nl, write(Fixture), write('...'), nl,
    foreach_spec(Specs, PassedInPredicate/FailedInPredicate),
    write('Passed:'), write(PassedInPredicate),
    (FailedInPredicate &gt; 0, write(' Failed:'), write(FailedInPredicate) ; true),
    nl,
    Passed1 is Passed + PassedInPredicate,
    Failed1 is Failed + FailedInPredicate,
    run_specs(Rest, Passed1/Failed1, TotalPassed/TotalFailed). 

foreach_spec(Specs, Passed/Failed):-
    foreach_spec(Specs, 0/0, Passed/Failed). 

foreach_spec([], Passed/Failed, Passed/Failed):-!.
foreach_spec([Spec_Desc/Spec|Rest], Passed/Failed, NewPassed/NewFailed):-
    (
	setup_spec, call(Spec), !,
        NextPassed is Passed + 1,
        NextFailed is Failed,
        write('...'), write(Spec_Desc), write(' (passed)'), nl
    ;
        NextFailed is Failed + 1,
        NextPassed is Passed,
        write('...'), write(Spec_Desc), write(' (FAILED)'), nl
    ),
    foreach_spec(Rest, NextPassed/NextFailed, NewPassed/NewFailed). 

write_specs_summary(Passed/0) :- !,
    nl,
    write(Passed), write(' specs passed'),
    nl.
write_specs_summary(Passed/Failed) :-
    nl,
    write(Passed), write(' specs passed,'), nl,
    write(Failed), write(' specs failed'),
    nl. 

reset_all_specs:-
    retractall(spec_def(_/_/_)).

run_spec(Spec) :-
    call(Spec),!,
    specs_passed(X),
    retract(specs_passed(X)),
    NewX is X + 1,
    assert(specs_passed(NewX)).
run_spec(Spec) :-
    failing_specs(X),
    retract(failing_specs(X)),
    NewX = [Spec|X],
    assert(failing_specs(NewX)).

% Asserts
assert_that(Actual, equals:Expected) :-
	Actual \= Expected, nl, write('Expected '), write(Expected), write(' equal to '), write(Actual), nl, fail;
	Actual == Expected.

assert_that(Actual, not_equals:Expected) :-
	Actual == Expected, nl, write('Expected '), write(Expected), write(' not equal to '), write(Actual), nl, fail;
	Actual \= Expected.

assert_that(Actual, is_true) :-
	Actual;
	nl, write('Expected '), write(Actual), write(' to be true '), nl, fail.

assert_that(Actual, is_false) :-
	Actual, !, nl, write('Expected '), write(Actual), write(' to be false '), nl, fail;
	true.

assert_that(Actual, fails) :-
	assert_that(Actual, is_false).

assert_that(Actual, is_empty) :-
	Actual \= [], nl, write('Expected '), write(Actual), write(' to be empty '), nl, fail;
	Actual == [].

assert_that(Actual, has_member:Member) :-
	not(member(Member, Actual)), nl, write('Expected '), write(Actual), write(' to has member '), write(Member), nl, fail;
	member(Member, Actual).

assert_that(Actual, has_no_member:Member) :-
	member(Member, Actual), nl, write('Expected '), write(Actual), write(' to has no member '), write(Member), nl, fail;
	not(member(Member, Actual)).

assert_that(Actual, contains_all:Sublist) :-
	not(contains_all(Actual, Sublist)), nl, write('Expected '), write(Actual), write(' to contain all members of '), write(Sublist), nl, fail;
	contains_all(Actual, Sublist).

contains_all(_, []) :- true.
contains_all(List, [Member]) :- member(Member, List).
contains_all(List, [Member|Rest]) :- member(Member, List), contains_all(List, Rest).
</code></pre>
<p>The whole ProSpec can be <a href="http://github.com/stefanroock/ProSpec/tree/master">downloaded from github</a>.</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/686/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=686&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/21/bdd-for-prolog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 8: Datenbasis</title>
		<link>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-8-datenbasis/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-8-datenbasis/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 18:12:40 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=683</guid>
		<description><![CDATA[In den vorigen Blogposts haben wir Fakten, Regeln, das Prolog-System, Pattern-Matching, Rekursion, Fail und den Cut-Operator betrachtet. Damit haben wir die grundlegenden Dinge beisammen, um Prolog-Programme zu schreiben. Jedenfalls fast. Wir müssen noch ein paar Dinge über die Prolog-Datenbank für Fakten und Regeln lernen. Wir können die Datenbasis nämlich zur Programmlaufzeit dynamisch verändern! Mit assert [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=683&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In den vorigen Blogposts haben wir Fakten, Regeln, das Prolog-System, Pattern-Matching, Rekursion, Fail und den Cut-Operator betrachtet. Damit haben wir die grundlegenden Dinge beisammen, um Prolog-Programme zu schreiben. Jedenfalls fast. Wir müssen noch ein paar Dinge über die Prolog-Datenbank für Fakten und Regeln lernen. Wir können die Datenbasis nämlich zur Programmlaufzeit dynamisch verändern!</p>
<p>Mit assert können wir Fakten und Regeln zur Laufzeit hinzufügen.</p>
<pre><code>assert(benutzer(levi)).
</code></pre>
<p>fügt den neuen Fakt &#8222;Levi ist ein Benutzer&#8220; zur Datenbasis hinzu.</p>
<p>Mit &#8222;asserta&#8220; wird an den Anfang und mit &#8222;assertz&#8220; ans Ende der Datenbasis hinzugefügt.</p>
<p>Den Effekt kann man mit &#8222;listing&#8220; überprüfen:</p>
<pre><code>listing.
</code></pre>
<p>listet alle Fakten und Regeln der Datenbasis auf.</p>
<p>Mit &#8222;retractall&#8220; werden alle Fakten/Regeln aus der Datenbasis entfernt, die zum angegebenen Fakt/Regel passt.</p>
<pre><code>retractall(benutzer(_)).
</code></pre>
<p>Anmerkung: Der Unterstrich ist übrigens eine anonyme Variable, die man immer dann einsetzt, wenn man an dem konkreten Wert der Variablen nicht interessiert ist.</p>
<p>Und nicht zuletzt kann man mit &#8222;findall&#8220; Regeln und Fakten in der Datenbasis suchen:</p>
<pre><code>findall(Benutzer, benutzer(_), BenutzerListe).
</code></pre>
<p>liefert alle Regeln namens &#8222;benutzer&#8220; mit einem Parameter.</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/683/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=683&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-8-datenbasis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 7: Cut-Operator</title>
		<link>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-7-cut-operator/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-7-cut-operator/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 17:49:52 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=670</guid>
		<description><![CDATA[Das Prolog-System sucht stets nach allen möglichen Lösungen für eine Anfrage und liefert diese nacheinander als Ergebnis. Manchmal möchte man das aber gar nicht. Stattdessen ist man mit dem erstbesten Ergebnis vollkommen zufrieden. Nehmen wir ein selbstgebautes IF-THEN-ELSE-Konstrukt als Beispiel. Eine erste Implementation könnte so aussehen: if_then_else(P, Q, R) :- P, Q ; R. Wenn [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=670&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Das Prolog-System sucht stets nach allen möglichen Lösungen für eine Anfrage und liefert diese nacheinander als Ergebnis. Manchmal möchte man das aber gar nicht. Stattdessen ist man mit dem erstbesten Ergebnis vollkommen zufrieden.</p>
<p>Nehmen wir ein selbstgebautes IF-THEN-ELSE-Konstrukt als Beispiel. Eine erste Implementation könnte so aussehen:</p>
<pre><code>if_then_else(P, Q, R) :- P, Q ; R.
</code></pre>
<p>Wenn die Bedingung Q wahr ist, wird die Then-Regel Q aktiviert. Wenn Q nicht wahr ist, greift die zweite Definition von &#8222;if_then_else&#8220; und es wird die Else-Regel R aktiviert. (Wir erinnern uns: Komma bedeutet &#8222;und&#8220;, Semikolon bedeutet &#8222;oder&#8220;).</p>
<p>Wenn man die if_then_else-Regel so aktiviert, dass die Else-Bedingung aktiviert wird, ist das Ergebnis erwartungskonform.</p>
<pre><code>if_then_else(false, write('then'), write('else')).
</code></pre>
<p>gibt &#8222;else&#8220; aus und hat &#8222;true&#8220; als Ergebnis.</p>
<p>Anders sieht es aus, wenn wir &#8222;true&#8220; als Bedingung übergeben.</p>
<pre><code>if_then_else(true, write('then'), write('else')).
</code></pre>
<p>schreibt zuerst &#8222;then&#8220; und hat &#8222;true&#8220; als Ergebnis. Aber als nächstes wird &#8222;else&#8220; ausgegeben und wieder &#8222;true&#8220; geliefert. Nanu? Was ist denn da los?</p>
<p>Die Ursache ist das Auswertungsverfahren, dass Prolog einsetzt. Zuerst wird geprüft, ob P gilt. Wenn das der Fall ist, wird Q ausgewertet. Und danach wird R auch noch ausgewertet &#8211; weil nichts dagegen spricht. </p>
<p>Prolog unterscheidet sich hier von dem, was die meisten anderen Programmiersprachen machen. Die meisten Programmiersprachen brechen die Auswertung eines Ausdrucks ab, wenn die weitere Auswertung das Ergebnis nicht mehr ändern kann. Mit dieser Auswertungsregel bräuchte man R nicht mehr auswerten. Die if_then_else-Regel ist durch den ersten Teil der Oder-Klausel bereits &#8222;true&#8220;.</p>
<p>Um mit dieser Problematik umzugehen, bietet Prolog den Cut-Operator &#8222;!&#8220;. Der Cut-Operator setzt eine Grenzlinie, über die Prolog bei der Auswertung einer Regel nicht zurück darf (das sogenannte Backtracking wird eingeschränkt). Mit Hilfe des Cut-Operators sieht unsere if_then_else-Regel so aus:</p>
<pre><code>if_then_else(P, Q, R) :- P, !, Q ; R.
</code></pre>
<p>und jetzt verhält sich die Regel auch erwartungskonform.</p>
<pre><code>if_then_else(true, write('then'), write('else')).
</code></pre>
<p>schreibt zuerst &#8222;then&#8220; und hat &#8222;true&#8220; als Ergebnis und mehr passiert nicht.</p>
<p>Anmerkung: Man hätte den Cut-Operator auch noch eine Position weiter nach hinten schreiben können, also hinter Q.</p>
<p>Prinzipiell gibt es zwei Anwendungsbereiche für den Cut-Operator: Logik und Performance. Wir haben den Cut-Operator angewendet, weil unser Programm sonst nicht richtig funktioniert. Manchmal wendet man den Cut-Operator auch an, um aus Performancegründen unnötige Auswertungen zu unterbinden.</p>
<p>Und leider ist der Cut-Operator nicht-trivial. Mit meinen bisherigen Prolog-Kenntnissen kann ich häufig nicht auf Anhieb sagen, ob und wo genau ein Cut-Operator notwendig ist. Ich sehe erst beim Ausprobieren meiner Regeln, dass sie nicht richtig funktionieren &#8211; das zeigt sich häufig in Form von Endlosrekursion. Aber vielleicht wird man da mit der Zeit geübter.</p>
<p>Auf jeden Fall muss man für die Anwendung des Cut-Operators ziemlich genau wissen, <strong>wie</strong> Prolog die Regeln auswertet. Und das finde ich etwas skurril. Schließlich ist Prolog mit dem Anspruch angetreten, dass man sich um die Algorithmik nicht mehr kümmern muss und seine Logik nur noch spezifiziert. Insgesamt hat Prolog da auch Beeindruckendes zu bieten. Aber der Cut-Operator passt da nicht so gut ins Bild. Immerhin habe ich den Cut-Operator in meinen Beispielprogrammen bisher nur selten benötigt.</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/670/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/670/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/670/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=670&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-7-cut-operator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 6: Fail</title>
		<link>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-6-fail/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-6-fail/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 17:45:55 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=668</guid>
		<description><![CDATA[Das Prolog-System sucht stets nach allen möglichen Lösungen für eine Anfrage und liefert diese nacheinander als Ergebnis. Nehmen wir einmal an, wir wollen alle Benutzer ausgeben, die wir mit Fakten wie benutzer(stefan). definiert haben. Nehmen wir für unser Beispiel an, wir haben drei Benutzer definiert: benutzer(stefan). benutzer(mika). benutzer(silke). Dann könnte eine erste Version der Regel [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=668&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Das Prolog-System sucht stets nach allen möglichen Lösungen für eine Anfrage und liefert diese nacheinander als Ergebnis. Nehmen wir einmal an, wir wollen alle Benutzer ausgeben, die wir mit Fakten wie <code>benutzer(stefan).</code> definiert haben. Nehmen wir für unser Beispiel an, wir haben drei Benutzer definiert:</p>
<pre><code>benutzer(stefan).
benutzer(mika).
benutzer(silke).
</code></pre>
<p>Dann könnte eine erste Version der Regel zur Ausgabe aller Benutzer so aussehen:</p>
<pre><code>schreibe_alle_benutzer :- benutzer(X), write(X), nl.
</code></pre>
<p>Die Anwendung liefert drei Ergebnisse (in SWI-Prolog &#8222;n&#8220; nach jedem &#8222;true&#8220; getippt):</p>
<pre><code>stefan
true;
mika
true;
silke
true
</code></pre>
<p>Das ist nicht ganz das, was wir wollen. Wir wollen, dass alle Benutzer auf einmal geschrieben werden. Das können wir dadurch erreichen, dass wir die Regel absichtlich fehlschlagen lassen. Damit zwingen wir das Prolog-System, alle möglichen Belegungen für &#8222;X&#8220; durchzugehen:</p>
<pre><code>schreibe_alle_benutzer :- benutzer(X), write(X), nl, fail.
</code></pre>
<p>Damit erhalten wir:</p>
<pre><code>stefan
mika
silke
false
</code></pre>
<p>Das ist schon deutlich besser, aber das &#8222;false&#8220; am Ende ist etwas störend. Wenn wir &#8222;schreibe_alle_benutzer&#8220; aus anderen Regeln aufrufen wollen, wird es sogar unangenehm, weil diese Regel immer scheitert. Das Problem lässt sich aber ganz leicht lösen, indem wir das Ergebnis der Regel verodern (; bedeutet in Prolog &#8222;oder&#8220;):</p>
<pre><code>schreibe_alle_benutzer :- benutzer(X), write(X), nl, fail; true.
</code></pre>
<p>Damit erhalten wir:</p>
<pre><code>stefan
mika
silke
true
</code></pre>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/668/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/668/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/668/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=668&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-6-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 5: Rekursion</title>
		<link>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-5-rekursion/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-5-rekursion/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 16:47:12 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=666</guid>
		<description><![CDATA[In Prolog gibt es keine Schleifenkonstrukte wie FOR oder WHILE im klassischen Sinne. Stattdessen wird Rekursion verwendet. Häufig trifft man Rekursion in Prolog im Zusammenhang mit Listen an. Wollen wir beispielsweise alle Elemente einer Liste ausgeben, so können wir dies durch folgende Regeln erreichen: schreibe_liste([]). schreibe_liste([H&#124;T] :- write(H), write(','), schreibe_liste(T). Diese Definition liest sich so: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=666&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In Prolog gibt es keine Schleifenkonstrukte wie FOR oder WHILE im klassischen Sinne. Stattdessen wird Rekursion verwendet. Häufig trifft man Rekursion in Prolog im Zusammenhang mit Listen an. </p>
<p>Wollen wir beispielsweise alle Elemente einer Liste ausgeben, so können wir dies durch folgende Regeln erreichen:</p>
<pre><code>schreibe_liste([]).
schreibe_liste([H|T] :- write(H), write(','), schreibe_liste(T).
</code></pre>
<p>Diese Definition liest sich so: Wenn wir eine leere Liste haben, schreiben wir nichts. Ansonsten schreiben wir das erste Element, gefolgt von einem Zeilenumbruch &#8222;nl&#8220; und schreiben den Rest der Liste.</p>
<p>Durch die Definition von &#8222;schreibe_liste([])&#8220; haben wir die Abbruchbedingung für die Rekursion definiert. Hätte man diese Definition weggelassen, würde die Ausgabe immer noch korrekt erfolgen, &#8222;schreibe_liste&#8220; würde aber immer &#8222;false&#8220; liefern &#8211; weil die rekursive Regelanwendung irgendwann bei der leeren Liste ankommen würde, die sich nicht weiter aufsplitten lässt. Bei anderen Definitionen kann das Weglassen der Abbruchregel leicht zu Endlosrekursionen führen.</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/666/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=666&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/21/prolog-grundzuge-5-rekursion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 4: Pattern Matching</title>
		<link>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-4-pattern-matching/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-4-pattern-matching/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 20:09:58 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=664</guid>
		<description><![CDATA[Eine weiteres sehr nützliches Prolog-Feature ist das Pattern-Matching. In den meisten Programmiersprachen wird zur Auswahl einer Funktion oder Prozedur nur der Name herangezogen, bei Java und Konsorten auch noch die Anzahl und der statische Typ der Parameter. Bei Prolog wird außerdem die Form der Argumente herangezogen. So kann man in einer Regeldefinition z.B. den Split-Operator [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=664&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Eine weiteres sehr nützliches Prolog-Feature ist das Pattern-Matching. In den meisten Programmiersprachen wird zur Auswahl einer Funktion oder Prozedur nur der Name herangezogen, bei Java und Konsorten auch noch die Anzahl und der statische Typ der Parameter. Bei Prolog wird außerdem die <em>Form</em> der Argumente herangezogen.</p>
<p>So kann man in einer Regeldefinition z.B. den Split-Operator für Listen (den wir im <a href="http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-3-listen/">letzten Blogeintrag</a> kennen gelernt haben) verwenden und sowas schreiben:</p>
<pre><code>liste([H,T], H, T) :- true.
</code></pre>
<p>tut dasselbe wie die Regel &#8222;liste&#8220; aus dem letzten Blogeintrag. Dort war &#8222;liste&#8220; definiert als:</p>
<pre><code>liste(EineListe, H, T) :- [H|T] = EineListe.
</code></pre>
<p>Wir werden beim Thema Rekursion sehen, dass es hier nicht nur darum geht, Regeln etwas kürzer aufschreiben zu können. Das Pattern-Matching ist letztlich die Voraussetzung dafür, dass sich Rekursion in Prolog überhaupt elegant benutzen lässt.</p>
<p>Und über das Pattern-Matching kann man benannte Parameter realisieren, ohne dass Prolog dieses Konzept direkt unterstützt:</p>
<pre><code>fuelle_liste([Wert], mit:1, mal:Wert) :- !.
fuelle_liste(Liste, mit:Anzahl, mal:Wert) :- AnzahlRed is Anzahl - 1, fuelle_liste(Liste2, mit:AnzahlRed, mal:Wert), Liste = [Wert|Liste2].
</code></pre>
<p>So kann man jetzt die Abfrage sprechend formulieren:</p>
<pre><code>?- fuelle_liste(Liste, mit:4, mal:a).
</code></pre>
<p>Liefert &#8222;[a, a, a, a]&#8222;. Hier sieht man außerdem eine Besonderheit von Prolog. Wenn man Berechnungen durchführt, darf man diese nicht mit = auf eine Variable zuweisen. Stattdessen muss man <em>is</em> verwenden. Das Ausrufezeichen ! ist übrigens der Cut-Operator. Aber um den kümmern wir uns später.</p>
<p>Noch eine Schmankerl zum Schluss: Regeln die immer &#8222;true&#8220; liefern, unterscheiden sich nicht von Fakten, so dass wir die Regel &#8222;liste&#8220; noch etwas kürzer schreiben können:</p>
<pre><code>liste([H,T], H, T).
</code></pre>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/664/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=664&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-4-pattern-matching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
		<item>
		<title>Prolog-Grundzüge 3: Listen</title>
		<link>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-3-listen/</link>
		<comments>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-3-listen/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 17:12:10 +0000</pubDate>
		<dc:creator>stefanroock</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Prolog]]></category>

		<guid isPermaLink="false">http://stefanroock.wordpress.com/?p=662</guid>
		<description><![CDATA[Eine Liste schreibt man in Prolog kommasepariert und umgeben von eckigen Klammern auf: [a,b,c] definiert eine Liste aus dem Symbolen a, b und c. Mit dem Pipezeichen &#124; kann man eine Liste zerlegen &#8211; in das erste Element und den Rest. Man kann z.B. schreiben: liste(EineListe, H, T) :- [H&#124;T] = EineListe. H und T [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=662&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Eine Liste schreibt man in Prolog kommasepariert und umgeben von eckigen Klammern auf: <code>[a,b,c]</code> definiert eine Liste aus dem Symbolen a, b und c. Mit dem Pipezeichen | kann man eine Liste zerlegen &#8211; in das erste Element und den Rest. Man kann z.B. schreiben:</p>
<pre><code>liste(EineListe, H, T) :- [H|T] = EineListe.
</code></pre>
<p>H und T sind in Prolog übliche Variablennamen, wenn es um das Aufsplitten von Listen geht. H steht für &#8222;Head&#8220; und T für &#8222;Tail&#8220;. Die Regel &#8222;liste&#8220; können wir vielfälig verwenden:</p>
<pre><code>?- liste([a,b,c], H, T).
</code></pre>
<p>liefert &#8222;H=a, T=[b,c]&#8222;.</p>
<p>Wir können so auch feststellen, wie eine Liste aufgesplittet wird, die nur ein Element hat</p>
<pre><code>?- liste([a], H, T).
</code></pre>
<p>liefert &#8222;H=a, T=[]&#8222;. Eine einelementige Liste besteht also aus dem Element und der leeren Liste.</p>
<p>Und wie sieht es mit der leeren Liste aus?</p>
<pre><code>?- liste([], H, T).
</code></pre>
<p>liefert &#8222;false&#8220;. Die leere Liste lässt sich nicht weiter aufsplitten. Damit lässt sich die Regel nicht erfolgreich anwenden und das quittiert das Prolog-System mit &#8222;false&#8220;.</p>
<p>Wie wir schon im <a href="http://stefanroock.wordpress.com/2009/07/15/prolog-grundzuge-fakten-und-regeln/">ersten Blogeintrag</a> gesehen haben, kann man viele Regeln auch umgekehrt anwenden. Mit der Regel &#8222;liste&#8220; können wir nicht nur Listen zerlegen, wir können auch Listen damit zusammenbauen.</p>
<pre><code>?- liste(L, a, [b,c]).
</code></pre>
<p>liefert &#8222;L=[a,b,c]&#8222;.</p>
<br /> Tagged: Prolog <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stefanroock.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stefanroock.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stefanroock.wordpress.com/662/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stefanroock.wordpress.com&amp;blog=6610663&amp;post=662&amp;subd=stefanroock&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stefanroock.wordpress.com/2009/07/20/prolog-grundzuge-3-listen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/356437b292f10ef3d01c1cb889c53a65?s=96&#38;d=identicon" medium="image">
			<media:title type="html">SR</media:title>
		</media:content>
	</item>
	</channel>
</rss>
