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

<channel>
	<title>Service Geist &#187; Agile Methoden</title>
	<atom:link href="http://www.service-geist.de/category/software-entwicklung/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.service-geist.de</link>
	<description>Tom's Blog &#38; Home of iPlode</description>
	<lastBuildDate>Sun, 02 May 2010 16:05:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The Zen of Scrum &#8211; und mehr</title>
		<link>http://www.service-geist.de/2009/03/02/the-zen-of-scrum-und-mehr/</link>
		<comments>http://www.service-geist.de/2009/03/02/the-zen-of-scrum-und-mehr/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:04:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Methoden]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>

		<guid isPermaLink="false">http://www.service-geist.de/?p=817</guid>
		<description><![CDATA[Jurgen Appelo hat mit 80 Seiten eine wirklich umfangreiche &#8211; und wie ich finde sehr gelungene &#8211; Presentation zum Thema Scrum ausgearbeitet: The Zen of Scrum &#8230; ist auch ein echt cooler Titel. Alan Skorkin wirft hingegen einen &#8211; subjektiven &#8211; Blick auf den aktuellen Stand der Dinge was Agile Methoden angeht &#8230; und auch [...]]]></description>
			<content:encoded><![CDATA[<p>Jurgen Appelo hat mit 80 Seiten eine wirklich umfangreiche &#8211; und wie ich finde sehr gelungene &#8211; Presentation zum Thema Scrum ausgearbeitet: <a href="http://www.noop.nl/2009/02/the-zen-of-scrum.html">The Zen of Scrum</a> &#8230; ist auch ein echt cooler Titel.</p>
<p>Alan Skorkin wirft hingegen einen &#8211; subjektiven &#8211; Blick auf den <a href="http://www.skorks.com/2009/03/the-current-state-of-the-agile-nation-agile-process-adoption/">aktuellen Stand der Dinge was Agile Methoden angeht</a> &#8230; und auch darüber hinaus.</p>
<p>Der folgenden Satz (ok, es ist eigentlich nur ein Satzfragment) hat mir irgendwie spontan besonders gut gefallen:</p>
<blockquote><p>
agile doesn’t kill agile, people kill agile
</p></blockquote>
<p>Eine definitive Möglichkeit Agile zu &#8220;killen&#8221; besteht darin damit Chaos und Planlosigkeit zu entschuldigen, immer nach dem Motto &#8220;Wir sind ja Agile&#8221;. Bald werde ich hoffentlich wieder die Gelegenheit haben Agile auch wieder in der Praxis zu leben, um dann mehr eigene Erfahrungsberichte einbringen zu können :).</p>
<p><a href="/en/2009/03/02/the-zen-of-scrum-and-more/">English version of this post &#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.service-geist.de/2009/03/02/the-zen-of-scrum-und-mehr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue linke Seite für das Agile Manifesto</title>
		<link>http://www.service-geist.de/2009/02/13/neue-linke-seite-fur-das-agile-manifesto/</link>
		<comments>http://www.service-geist.de/2009/02/13/neue-linke-seite-fur-das-agile-manifesto/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 12:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Methoden]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>

		<guid isPermaLink="false">http://www.service-geist.de/?p=746</guid>
		<description><![CDATA[Jeder der mit Agilen Entwicklungsmethoden zu tun hat kennt wahrscheinlich sicherlich das Agile Manifesto. Nun ja, Gerüchten zu Folge soll es ja Projektmanager gegeben haben, die nicht ganz so überzeugt von agiler Entwicklung waren, dass sie auch gerne schonmal bei Problemen gesagt haben: Bete einfach 3x das Agile Manifesto runter, dann sind alle Probleme gelöst. [...]]]></description>
			<content:encoded><![CDATA[<p>Jeder der mit Agilen Entwicklungsmethoden zu tun hat kennt <strike>wahrscheinlich</strike> sicherlich das <a href="http://agilemanifesto.org/">Agile Manifesto</a>. Nun ja, Gerüchten zu Folge soll es ja Projektmanager gegeben haben, die nicht ganz so überzeugt von agiler Entwicklung waren, dass sie auch gerne schonmal bei Problemen gesagt haben:</p>
<blockquote><p>
Bete einfach 3x das Agile Manifesto runter, dann sind alle Probleme gelöst.
</p></blockquote>
<p>:-)</p>
<p>Jetzt gibt es auf jeden Fall die Idee für eine neue &#8211; oder besser gesagt &#8211; weitere linke Seite, zu finden <a href="http://groups.google.com/group/software_craftsmanship/web/the-new-left-side">hier</a>.</p>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>well-crafted software</td>
<td>&nbsp;</td>
<td>over working software</td>
<td>&nbsp;</td>
<td>over comprehensive documentation</td>
</tr>
<tr>
<td>steadily adding value</td>
<td>&nbsp;</td>
<td>over responding to change</td>
<td>&nbsp;</td>
<td>over following a plan</td>
</tr>
<tr>
<td>a community of professionals</td>
<td>&nbsp;</td>
<td>over individuals and interactions</td>
<td>&nbsp;</td>
<td>over processes and tools</td>
</tr>
<tr>
<td>impressing our customer</td>
<td>&nbsp;</td>
<td>over customer collaboration</td>
<td>&nbsp;</td>
<td>over contract negotiation</td>
</tr>
</table>
<p>Wobei ich jetzt einfach mal annehme, dass &#8220;well-crafted&#8221; Software auch funktionierende Software impliziert, sonst würde ich nicht ganz zustimmen. &#8220;Adding value&#8221; hört sich sehr nach Marketing an, wenn es gelingt ist es aber sicherlich gut. Der Community-Gedanke gefällt mir gut, ebenso den Kunden zu beeindrucken &#8230; das ist ein cooler Gedanke :). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.service-geist.de/2009/02/13/neue-linke-seite-fur-das-agile-manifesto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agiles &#8220;Zeugs&#8221;</title>
		<link>http://www.service-geist.de/2009/02/12/agiles-zeugs/</link>
		<comments>http://www.service-geist.de/2009/02/12/agiles-zeugs/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 18:08:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Methoden]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Retrospektive]]></category>

		<guid isPermaLink="false">http://www.service-geist.de/?p=714</guid>
		<description><![CDATA[Zeit sich mal wieder ein wenig der Software-Entwicklung zu widmen und da ich auf Twitter in letzter Zeit diverse Linktips zur Agilen Softwareentwicklung abgegriffen habe, dachte ich mir ich bündele die mal in ein Posting &#8211; und gebe natürlich ein wenig meinen Senf dazu. Den Anfang machte eine Mail auf unserer firmen-internen Scrum Master Mailingliste [...]]]></description>
			<content:encoded><![CDATA[<p>Zeit sich mal wieder ein wenig der Software-Entwicklung zu widmen und da ich auf Twitter in letzter Zeit diverse Linktips zur Agilen Softwareentwicklung abgegriffen habe, dachte ich mir ich bündele die mal in ein Posting &#8211; und gebe natürlich ein wenig meinen Senf dazu.</p>
<p>Den Anfang machte eine Mail auf unserer firmen-internen <a href="http://www.scrumalliance.org/">Scrum Master</a> Mailingliste über <a href="http://www.noop.nl/2009/02/the-decline-and-fall-of-agilists.html">The Decline and Fall of Agilists</a>. Der Artikel stellt einerseits einen sehr interessanten Zusammenhang her zwischen Softwareentwicklung und Komplexitätstheorie. Vor allen Dingen geht es aber auch darum nicht nur strikt auf die Einhaltung von bestimmen agilen &#8220;Werkzeugen&#8221; zu beharren, sondern sich in seinem Projekt die Flexibilität vorzubehalten, die richtigen (=nötigen) Werkzeuge auszuwählen, auch wenn bestimmte &#8220;Agile Evangelisten&#8221; solche Projekte nicht mehr als agil ansehen würden.</p>
<blockquote><p>
These days, agilists simply claim that agile is about following practices X, Y and Z
</p></blockquote>
<p>Aus meiner eigenen Projekterfahrung denke ich, dass es durchaus legitim ist bestimmte Teile agiler Methoden nicht umzusetzen. Es ist nur absolut notwendig sich dessen auch bewusst zu sein. Es muss ganz klar sein: Dieser Teil meines Projekts ist nicht agil, weil es aus [guten Grund einsetzen] nicht passt. So gab es in einem meiner letzten Projekte zum Beispiel ein Scrum of Scrums, um eine bessere Synchronisation zwischen verschiedenen Scrum Teams zu erreichen. Doch ausser dem Namen hatte dies nichts mit Scrum gemein und es wäre besser gewesen es gleich ein Projekt-Status-Meeting zu nennen (denn nichts anderes war es). Hier kommt aber leider schnell die &#8220;Angst&#8221; auf, dass man ja agil ist (und sein will) und dann auch bitte an allen Ecken und Enden &#8230; aber ich habe meine Zweifel, dass dies gerade in grossen Firmen/Organisationen immer möglich ist &#8230; und dann ist es sicherlich besser nur einen (passenden) Ausschnitt an agilen Methoden umzusetzen. Wichtig ist sich dabei nicht in die Tasche zu lügen, denn am Ende zählt immer noch der Projekterfolg; gemessen an Termintreue, Qualität (beides zusammen dürfte die Kundenzufriedenheit massgeblich definieren) und auch Teamzufriedenheit (denn ein &#8220;verbranntes&#8221; Team hilft niemandem).</p>
<p>Weiter geht es mit zwei Artikeln, die sich mit dem Product Backlog befassen. Hier geht es einmal darum, wie sich <a href="http://tynerblain.com/blog/2009/02/10/agile-non-functional-reqs/">Non-Functional Requirements praktisch mit Agilen Methoden managen lassen</a>, denn diese passen normalerweise nicht sonderlich gut in irgendwelche User Stories. Die Idee ist also Non-Functional Requirements an die entsprechenden (neuen) User Stories &#8220;anzuhängen&#8221;, um sicher zu gehen, dass bei der Implementierung einer neuen User Story keine bestehenden NFR &#8220;gebrochen&#8221; werden. Ein weiterer Artikel befasst sich mit der Frage <a href="http://blog.mountaingoatsoftware.com/?p=97">Why There Should Not Be a “Release Backlog”</a>.</p>
<p>Ein wichtiger Punkt jeder Softwareentwicklung ist meiner Meinung nach ein <em>Project-End-Review</em>. Wie kann man sonst wissen, was gut oder schlecht gelaufen ist und wie könnte man sonst etwas verbessern. Dieses oft nicht sonderlich strukturierte und wohlmöglich sogar hauptsächlich vom Projekt-Manager getriebene Review (weil es als Punkt abgehakt werden muss) wird bei den Agilen Entwicklungsmethoden durch die <a href="http://www.infoq.com/articles/agile-retrospectives-davies">Retrospektive</a> ersetzt. Hier wird der Fokus stärker auf das Team gelegt und es findet auch nicht nur ein Review am Ende des Projekts statt, sondern dies wird zu einem kontinuierlichen das Projekt begleitenden Prozess . Der verlinkte Artikel bietet eine sehr gute Zusammenfassung was eine Retrospektive ist (und was nicht).</p>
<blockquote><p>
Retrospectives use a specific structure designed to defuse disagreements and to shift the focus to learning from the experience. The basic technique is to slow the conversation down &#8211; to properly explore different perspectives on events before jumping to conclusions.
</p></blockquote>
<p>Das ist schonmal ein ganz entscheidender Punkt, denn es geht nicht darum nur &#8220;gemütlich rum zu sitzen&#8221; und ein wenig über die letzte Iteration zu sinieren, denn dabei kommt garantiert nicht viel heraus. Daher ist es wirklich ein Muss, dass jede Retrospektive einen (guten!) <em>Facilitator</em> hat. Einen weiteren wichtigen Aspekt definiert die <em>Prime Directive</em> für Retrospektiven von <a href="http://www.retrospectives.com/">Norm Kerth</a>:</p>
<blockquote><p>
Prime Directive: Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time, his or her skills and abilities, the resources available, and the situation at hand.
</p></blockquote>
<p>Das ist ein Punkt, der mich persönlich sehr interessiert und zu dem ich auch schon viele Erfahrungen in meinem bisherigen Berufsleben sammeln durfte/konnte/musste und wird sicherlich auch nochmal Thema eines weiteren Blog-Eintrags werden. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.service-geist.de/2009/02/12/agiles-zeugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robot Test Framework</title>
		<link>http://www.service-geist.de/2009/01/22/robot-test-framework/</link>
		<comments>http://www.service-geist.de/2009/01/22/robot-test-framework/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 18:58:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Agile Methoden]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Tech Talk]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.service-geist.de/?p=466</guid>
		<description><![CDATA[Durch eine Mail in der Firma bin ich heute darauf gestossen, dass ein Test Framework, welches wir in einem grossen Projekt genutzt haben, mittlerweile (vielleicht auch schon länger) frei verfügbar ist. Dabei bin ich zunächst mal über Google Code gestolpert. Das hatte ich zwar schonmal in Zusammenhang mit Android gesehen, aber mir war gar nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Durch eine Mail in der Firma bin ich heute darauf gestossen, dass ein Test Framework, welches wir in einem grossen Projekt genutzt haben, mittlerweile (vielleicht auch schon länger) frei verfügbar ist. Dabei bin ich zunächst mal über <a href="http://code.google.com/">Google Code</a> gestolpert. Das hatte ich zwar schonmal in Zusammenhang mit <a href="http://code.google.com/android/">Android</a> gesehen, aber mir war gar nicht bewusst, dass Google auch Project Hosting betreibt.</p>
<blockquote><p>
Project Hosting on Google Code is a free service to the open source community. Featuring a Subversion back-end, wiki support, file downloads, issue tracking and a clean, Google-style interface, our project hosting service is the world&#8217;s second largest open source hosting site after <a href="http://sourceforge.net/index.php">SourceForge.net</a>.</p></blockquote>
<p>Aber zurück zum Test Framework mit dem einprägsamen Namen <a href="http://code.google.com/p/robotframework/">Robot</a>. Das Projekt bei dem ich Robot genutzt habe liegt etwas mehr als ein Jahr zurück, aber ich glaube ich kann mich an die wichtigsten <em>Features</em> noch ganz gut erinnern. </p>
<p>Also, wofür ein &#8230; dieses &#8230; Test Framework? Es geht darum einen automatisierten Blackbox-Test für eine Software aufzubauen. Automatische Tests sind ein Herzstück <a href="http://de.wikipedia.org/wiki/Agile_Softwareentwicklung">agiler Softwareprojekte</a>, denn nur mit (guten!) automatisierten Tests lässt sich innerhalb einer Iteration sicherstellen, dass alle bereits fertigen Teile der Software immer noch wie erwartet funktionieren &#8211; und die neuen Teile natürlich auch. Hierbei gilt es die von der Software zur Verfügung gestellten Interfaces abzutesten (&#8220;Gutfälle&#8221; und &#8220;Schlechtfälle&#8221; gleichermassen). Natürlich hängt die Qualität der Tests stark vom Test-Entwickler ab, und das beste Framework kann keine schlechten Tests vermeiden, aber es kann die Implementierung guter Tests unterstützen. Und das tut das Robot Framework ganz gut wie ich finde.</p>
<p><a href="http://www.service-geist.de/wp-content/uploads/2009/01/_robot_screenshot.png"><img src="http://www.service-geist.de/wp-content/uploads/2009/01/_robot_screenshot.png" alt="" title="_robot_screenshot" width="500" height="206" class="alignnone size-full wp-image-474" /></a></p>
<p>Die Einarbeitungszeit in das Tool war relativ gering. Die Tests lassen sich in einzelnen Modulen implementieren. Dies kann entweder in Java passieren, oder in jeder Sprache, die sich per Shell aufrufen lässt, z.B. Perl. Ein Test erwartet einen gewissen Satz von Parametern, die dann an die Testmethode übergeben werden. Diese Methode implementiert dann den Test und liefert OK oder NOK zurück. Ein Testcase lässt sich aus mehreren solcher Methoden zusammensetzen. Auch kann man die Testcases <em>taggen</em>, um sich in den generierten Reports einen besseren Überblick über die getesteten Teile der Software zu verschaffen &#8230; Achtung &#8230; die benutzten Keywords müssen gut abgestimmt werden, sonst benutzt jeder leichte Abwandlungen. </p>
<p>Testmethoden lassen sich in einer Art Projekt zusammenfassen, wobei es natürlich sinnvoll ist ähnliche &#8211; und vor allen Dingen generische &#8211; Testmethoden einmal für mehrere Projekte zu schreiben. Solche Tests könnten z.B. sein: &#8220;Existiert eine Datei (Parameter Pfad zur Datei)&#8221; oder &#8220;Existiert ein Directory (Pfad zum Directory)&#8221;. Komplizierte Testcases können so aus einer Vielzahl (idealerweise bereits existierender) Testmethoden zusammengesetzt werden. Die generierten Reports zeigen übersichtlich die Anzahl der erfolgreichen/fehlgeschlagenen Tests an und es lässt sich auch anzeigen welche Tests wo fehlgeschlagen sind.</p>
<p>Was ist sonst noch zu beachten? Die eigentlichen Testcases werden in einer simplen HTML-Datei geschrieben, was die Ganze Sache recht einfach macht. Hier werden nur noch vorhandene Testmethoden genutzt und die Parameter übergeben. Zum eigentlichen schreiben der Testmethoden ist aber im Prinzip eher das Wissen eines Entwicklers als das eines Testers gefragt, denn die Entwicklung der Testmethoden kann sich leicht zu einem eigenen kleinen Software-Projekt entwickeln. Auf der anderen Seite ist es gefährlich wenn der Entwickler die Testmethoden für seine eigenen Komponenten entwickelt. D.h. hier sind Tester mit Programmiererfahrung gefragt oder aber die Testmethoden müssen von verschienden Team-Mitgliedern entwickelt werden. Es ist eh fraglich ob &#8220;reine Tester&#8221; in agilen Teams sinnvoll sind, insbesondere wenn diese auch noch in externe Teams ausgelagert sind. Ich denke es macht deutlich mehr Sinn Testkompentenz &#8211; zusätzlich &#8211; im agilen Team aufzubauen und zu nutzen. Dadurch bekommen die &#8220;Tester&#8221; auch direkt mehr Produktkompentenz und wissen besser welche Schnittstellen es zu testen gilt.</p>
<p>Testen von &#8220;Backend-Prozessen&#8221; und GUI &#8230; das werde ich hier nicht vertiefen, zumal ich nur bei Tests im Backend-Bereich involviert war. Aber zumindest schien es einige Probleme mit den Libraries zu geben, die für das GUI-Testen benutzt werden mussten. Aber da das über ein Jahr zurück liegt wird es sicherlich Fortschritte in dem Bereich gegeben haben.</p>
<p>In diesem Sinne &#8220;happy testing and roboting&#8221; &#8230; :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.service-geist.de/2009/01/22/robot-test-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
