<?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>WendtsWelt &#187; Tech</title>
	<atom:link href="http://www.wendtswelt.de/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wendtswelt.de</link>
	<description>Ein Blog über Softwareentwicklung, Familie und Freizeit</description>
	<lastBuildDate>Sun, 29 Jan 2012 21:38:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Links: Teamwork, Java-Bashing, Admin-Test, Programmierpraxis, Spendierhosen</title>
		<link>http://www.wendtswelt.de/2011/09/teamwork-java-bashing-admin-test-programmierpraxis-spendierhosen/?piwik_campaign=rss&#038;piwik_kwd=26375</link>
		<comments>http://www.wendtswelt.de/2011/09/teamwork-java-bashing-admin-test-programmierpraxis-spendierhosen/?piwik_campaign=rss&#038;piwik_kwd=26375#comments</comments>
		<pubDate>Thu, 29 Sep 2011 07:12:56 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Programmiersprachen]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Team]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=26375</guid>
		<description><![CDATA[5 lesenswerte Artikel aus der Softwarebranche für Interessierte: Teamwork, Java-Bashing, Checkliste für Sysadmins, Ruby-Programmierpraxis, Casinos und Design]]></description>
			<content:encoded><![CDATA[<p></p><div id="attachment_26377" class="wp-caption alignright" style="width: 240px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/09/segeln.jpg" alt="" title="Segeln" width="240" height="240" class="size-full wp-image-26377" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/41864721@N00/4358984065/'>Diversity of Beauty</a> von Evan Leeson (Lizenz: CC-BY-NC-SA)</p>
</div>
<p>5 lesenswerte Artikel zu unterschiedlichen Themen aus der Softwarebranche:</p>
<h2>Teamwork</h2>
<p>Teamdynamik ist für sich genommen schon ein faszinierendes Thema. Was nimmt man aber erst mit, wenn man fast ein Jahr auf engstem Raum zusammenlebt und den Elementen trotzt? Was lernt man über sich und die anderen? Tony Haile hat es herausgefunden und gibt interessante Einsichten preis.</p>
<p>Tony Haile: <a href="http://www.tonyhaile.com/2011/09/25/four-things-i-learned-on-a-round-the-world-yacht-race/">Four things I learned on a round-the-world yacht race</a></p>
<h2>Wie Programmiersprachen unsere Denkweise beeinflussen</h2>
<p>Es ist kein Geheimnis, dass ich Ruby als Programmiersprache <a href="http://www.wendtswelt.de/2010/06/programmieren-anfaenger/" title="Welche Programmiersprachen eignen sich für Anfänger?">sehr schätze</a>. Damit einher geht ein ungutes Gefühl gegen gewisse andere Sprachen, ohne recht zu wissen wieso. Steve Yegge hat einen sehr treffenden Punkt gegen Java aufgegriffen und ihm einen (langen!) Blogpost gewidmet.</p>
<p>Steve Yegge: <a href="http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html">Execution in the Kingdom of Nouns</a></p>
<h2>Checkliste für Sysadmins</h2>
<p>Mit meinem Interesse an <a href="http://www.wendtswelt.de/2011/09/devops-interview/">DevOps</a> wächst auch jenes an der Arbeitsweise von Administratoren. Diese Liste ist ein wahrer Rundumschlag, wenn es um Methoden und Praktiken in der Systemadministration geht.</p>
<p>Everything Sysadmin: <a href="http://everythingsysadmin.com/the-test.html">32 Questions for Your Sysadmin Team</a></p>
<h2>Ruby-Programmierpraxis: Law of Demeter</h2>
<p>Programmcode muss vorsichtig entwickelt werden, wenn er bestehen soll. Um Wildwuchs zu vermeiden, gibt es mit dem Law of Demeter einen Daumenregel, um strukturelle Kopplung in den Code zu bringen.</p>
<p>Avdi Grimm: <a href="http://avdi.org/devblog/2011/07/05/demeter-its-not-just-a-good-idea-its-the-law/">Demeter: It’s not just a good idea. It’s the law.</a></p>
<h2>Was wir von Casinos über Webdesign lernen können</h2>
<p>Zu guter Letzt noch etwas Wissenschaftliches: Wie die Architektur von Casinos den Umsatz in ihnen beeinflusst. Daraus lässt sich einiges zum Design von z.B. Landing Pages ableiten.</p>
<p>Wired: <a href="http://www.wired.com/wiredscience/2011/09/why-being-relaxed-makes-us-spend-too-much-money/">Why Being Relaxed Makes Us Spend Too Much Money</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/09/teamwork-java-bashing-admin-test-programmierpraxis-spendierhosen/?piwik_campaign=rss&#038;piwik_kwd=26375/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testgetriebene Entwicklung: Welcher&#160;Test-Typ bist du?</title>
		<link>http://www.wendtswelt.de/2011/09/tdd-typen/?piwik_campaign=rss&#038;piwik_kwd=25741</link>
		<comments>http://www.wendtswelt.de/2011/09/tdd-typen/?piwik_campaign=rss&#038;piwik_kwd=25741#comments</comments>
		<pubDate>Thu, 22 Sep 2011 07:34:45 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[Wartung]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=25741</guid>
		<description><![CDATA[Du wachst nicht eines Tages auf und fängst an, gute Tests zu schreiben. Welche Entwicklungsstufen ich bei Programmierern beobachtet habe, zählt dieser Artikel auf.]]></description>
			<content:encoded><![CDATA[<p></p><p>Du wachst nicht eines Tages auf und fängst an, <a href="http://www.wendtswelt.de/2010/04/software-testing/" title="Automatisierte Tests sind wie Checklisten">gute Tests zu schreiben</a>.</p>
<p>Dahinter steckt ein Prozess, eine <strong>Verwandlung</strong>. Zoologen sprechen von der „Umwandlung der Larvenform zum Adultstadium“.</p>
<div id="attachment_25744" class="wp-caption alignright" style="width: 240px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/09/schmetterling.jpg" alt="" title="Makroaufnahme eines Schmetterlings mit Nektar im Rüssel" width="240" height="269" class="size-full wp-image-25744" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/mrclean/491831698'>Wooden Wings</a> von MrClean1982 (Lizenz: CC-BY-NC)</p>
</div>
<p>Die Raupe wird zum Schmetterling.</p>
<p>Aber welche Stufen der Entwicklung durchlaufen Testautoren dabei nun genau?</p>
<h2>Der Sturkopf</h2>
<p>Der Sturkopf ist der Meinung, er käme <a href="http://mikehadlow.blogspot.com/2011/06/i-dont-have-time-for-unit-tests.html" title="I Don’t Have Time for Unit Tests">ohne Tests schneller</a> voran. Verschleiert mit durchaus plausiblen „Vorbehalten“ (die er mit sachkundigeren Kollegen teilt) die Tatsache, dass ihm kaum Vorzüge von Tests einfallen und er Tests bisher praktisch nicht angewandt hat.</p>
<p>Hat wahrscheinlich nie ein komplexes Projekt über einen längeren Zeitraum im Team entwickelt. Oder von anderen übernehmen und dann erweitern müssen. Oder einen neuen Kollegen in eine umfangreiche Code-Basis einarbeiten dürfen.</p>
<p>Der Sturkopf gehört zu den bedrohten Arten, muss aber nicht geschützt werden.</p>
<p>Wenn der Sturkopf sich irgendwann doch noch von Tests überzeugen lässt, wird er zunächst…</p>
<h2>Der Anfänger</h2>
<p>Der Anfänger hat die Notwendigkeit von Tests begriffen, kämpft aber meist noch mit den Grundlagen von Tests: Wie teste ich richtig? Was ist wichtig? Wie strukturiere ich Tests?</p>
<p>Der Anfänger wählt häufig den kompliziertesten Weg, um einfache Dinge zu testen. Aber das ist durchaus in Ordnung, wir alle lernen jeden Tag.</p>
<p>Schlecht ist dagegen, wenn aus der anfänglichen Unsicherheit Übereifer und sogar Obsession wird. Der Anfänger wird dann mit einiger Wahrscheinlichkeit…</p>
<h2>Der Test-Nazi</h2>
<p>Der Test-Nazi schreibt Tests für alles, was nicht bei drei auf den Bäumen ist — völlig unbeirrt von der Frage nach dem Nutzen.</p>
<p>Beherrscht Stubbing und Mocking perfekt, ohne sich der Gefahren dieser Methode bewusst zu sein (oder schlimmer noch: sie billigend in Kauf nehmend).</p>
<p>Achtet auf 100%-ige Testabdeckung des Codes. Zählt andere an, wenn nicht alle Ausnahmen im Code getestet sind. Achtet peinlichst auf Test-Design (z.B. <a href="http://de.wikipedia.org/wiki/DRY">DRY</a>).</p>
<p>Doch spätestens, wenn er das erste Mal einen Großteil des Codes under Test löschen konnte, ohne dass die betroffenen Tests fehlschlagen, erkennt er die Folgen seines Tuns. Er erreicht die höchste Stufe der Entwicklung und wird…</p>
<h2>Der Pragmatiker</h2>
<p>Der Pragmatiker ist von Erfahrung geprägt. Er weiß um die Notwendigkeit von Tests (auch in Vorbereitung auf umfangreiche Refactorings) und die Gefährlichkeit von Stubbing/Mocking — gebranntes Kind scheut das Feuer.</p>
<p>Setzt auf Vernunft bei der Testabdeckung, weil er den den geschäftlichen Nutzen im Blick hat. Schreibt auf diese Weise Tests, die auch tatsächlich wirtschaftlich sind.</p>
<h2>Fazit</h2>
<p>Diese Liste erhebt nicht den Anspruch, vollständig zu sein, sondern beruht auf persönlichen Beobachtungen.</p>
<p>Was ist deine Erfahrung mit den Entwicklungsstufen auf dem Weg zu guten Testautoren? Welche Typen kennst du? Sag&#8217;s uns in den Kommentaren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/09/tdd-typen/?piwik_campaign=rss&#038;piwik_kwd=25741/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevOps-Interview: „Kluft zwischen Entwicklung und Betrieb schließen“</title>
		<link>http://www.wendtswelt.de/2011/09/devops-interview/?piwik_campaign=rss&#038;piwik_kwd=25093</link>
		<comments>http://www.wendtswelt.de/2011/09/devops-interview/?piwik_campaign=rss&#038;piwik_kwd=25093#comments</comments>
		<pubDate>Fri, 16 Sep 2011 12:29:34 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Unternehmen]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wirtschaft]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=25093</guid>
		<description><![CDATA[DevOps versucht, Entwicklung (Dev) und Administration (Operations, Ops) zusammenzubringen. Einige grundsätzliche Fragen zu der Bewegung beantwortet uns Matthias Marschall.]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_25112" class="wp-caption alignleft" style="width: 240px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/09/cliff-jump.jpg" alt="" title="Foto: Klippensprung vor untergehender Sonne" width="240" height="323" class="size-full wp-image-25112" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/thriol/221785705/'>Jumping in the sunset</a> von thriol (Lizenz: CC-BY-NC)</p>
</div>Mehr oder weniger zufällig bin ich auf eine Bewegung gestoßen, die Entwicklung (Development) und Administration (Operations) näher zusammenbringen will und damit glänzend zu meiner aktuellen Tätigkeit passt: <strong>DevOps.</strong></p>
<p><a href="https://twitter.com/mmarschall/" title="Matthias Marschall auf Twitter">Matthias Marschall</a> war so freundlich, einige grundsätzliche Fragen zu DevOps zu beantworten.</p>
<p>Matthias ist im Web-Umfeld tätig und befasst sich mit dem Thema, seit er vor acht Jahren neben der kompletten Entwicklung einer großen Web-App auch für den Betrieb Verantwortung übernommen hat. Er  lehrt Agile Methoden in Augsburg, bloggt über <a href="http://www.agileweboperations.com/">Agile Web Operations</a> und will mit Dan Ackerson <a title="Successful Engineering" href="http://www.successfulengineering.com/">Techniker bei der Umsetzung von DevOps unterstützen</a>.</p>
<dl>
<dt>DevOps sieht sich selbst als Bewegung. Wie kam es dazu?</dt>
<dd>
Viele der Ideen, die jetzt unter dem Begriff DevOps zusammengefasst werden, gibt es natürlich schon lange. Seinen Anfang als Bewegung hat DevOps mit den ersten <a href="http://devopsdays.org/">DevOpsDays</a> genommen, die von <a href="http://www.jedi.be/blog/">Patrick Debois</a> organisiert wurden.
</dd>
<dt>Was sind eure Ziele?</dt>
<dd>Das Ziel von DevOps ist es, die Kluft zwischen Entwicklung und Betrieb zu schließen, um so den Anforderungen an immer schnellere und flexiblere Änderungen gerecht werden zu können &#8212; vor allem bei Web Applications, aber nicht nur. Es geht im Endeffekt darum, die Grundideen von agilen Methoden auch auf Operations auszuweiten und somit einen nahtlosen Prozess von der Entwicklung hin zum Nutzer zu schaffen. Denn erst wenn der Nutzer was von der entwickelten Software hat, ist man wirklich erfolgreich.</dd>
<dt>Wie groß ist die Bewegung mittlerweile?</dt>
<dd>Das ist natürlich schwer zu sagen. Eric Knorr hat in <a href="http://www.infoworld.com/t/application-development/devops-and-the-great-it-convergence-171601">Devops and the great IT convergence</a> geschrieben:</p>
<blockquote><p>According to a friend in the space, all you need to do is walk through Silicon Valley and shout, &#8220;Devops,&#8221; and 300 people will run to a meetup.</p></blockquote>
<p>Und auch auf den DevOpsDays kommen immer wieder weit über 100 Leute zusammen.</dd>
<dt>Als Entwickler sehe ich hier Operations in der Bringschuld. Bei uns sind die Administratoren diejenigen, die sich zurückziehen und kaum Präsenz auf Meetings zeigen, während ich mir Feedback aus Projekten abhole und mit Kollegen in Kontakt stehe. Wer muss den ersten Schritt machen?</dt>
<dd>Es ist sicher so, dass in der Entwicklung agile Ideen und Vorgehensweisen schon weiter verbreitet sind als in Operations. Viele Administratoren bekämpfen Änderungen noch und wollen ein möglichst stabiles System schaffen. Diese Denkweise ist nicht mehr zeitgemäß. Alle müssen zusammen arbeiten, um möglichst schnell Änderungen an Kunden auszurollen, natürlich ohne Operations zu gefährden.<br />
<div id="attachment_25137" class="wp-caption alignright" style="width: 200px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/09/matthias-marschall.jpg" alt="" title="Matthias Marschall" width="200" height="200" class="size-full wp-image-25137" />
	<p class="wp-caption-text">Matthias Marschall</p>
</div><br />
Es hilft natürlich nicht drauf zu warten, dass irgend jemand den ersten Schritt macht. Jeder, der verstanden hat, um was es bei Agile und DevOps geht, sollte bemüht sein, alle Beteiligten mit ins Boot zu holen.</dd>
<dt>Ausgehend von den üblichen Gräben zwischen Entwicklern und Administratoren: Wie lange dauert es, bis DevOps im Unternehmen etabliert sind?</dt>
<dd>Tiefgreifende kulturelle Änderungen dauern Monate oder sogar Jahre bis sie sich im Unternehmen etabliert haben. Je weniger es alle Beteiligten gewohnt sind zusammen zu arbeiten, desto länger.<br />
Es ist wichtig, dass man Vertrauen zwischen Entwicklern und Administratoren schafft.
</dd>
<dt>Welche konkreten Maßnahmen helfen dabei?</dt>
<dd>
Zunächst ist ein gegenseitiger Zugriff auf die Ressourcen hilfreich: Zugriff für die Entwickler auf die Produktionsmaschinen, um Fehler direkt analysieren zu können, und für die Administratoren auf das Source Code Repository und die Build Tools, damit sie selbst Testbuilds deployen können, um sich damit vertraut zu machen. QA sollte von Anfang an in den Entwicklungsprozess mit eingebunden sein &#8212; QA kann z.B. schon Testszenarien für User Stories als Akzeptanzkriterien definieren, lange bevor die Entwicklung anfängt. Entwickler können in die Bereitschaftsdienste mit aufgenommen werden. Und nicht zuletzt Transparenz herstellen, indem man Metriken und Planungen offenlegt.<br />
<!--ul></p>
<li>Zugriff für die Entwickler auf die Produktionsmaschinen, um Fehler direkt analysieren zu können</li>
<li>Zugriff für die Administratoren auf das Source Code Repository und die Build Tools, damit sie selbst Testbuilds deployen können, um sich damit vertraut zu machen</li>
<li>QA von Anfang an in den Entwicklungsprozess mit einbinden (QA kann z.B. schon Testszenarien für User Stories als Akzeptanzkriterien definieren, lange bevor die Entwicklung anfängt)</li>
<li>Entwickler in die Bereitschaftsdienste mit aufnehmen</li>
<li>Transparenz herstellen indem man Metriken und Planungen offenlegt</li>
</ul-->
<p>Natürlich ist da die eigene Kreativität gefragt. Es kommt sehr genau auf das Umfeld und die aktuelle Situation an.</dd>
<dt>Es gibt Vorwürfe, DevOps sei elitär und eure Ideen nur alter Wein in neuen Schläuchen. Wie geht ihr mit solcher Kritik um?</dt>
<dd>Wie gesagt, sind natürlich viele Ideen, die jetzt als DevOps bezeichnet werden ganz und gar nicht neu. Was neu ist, ist, dass wir versuchen, ein breiteres Verständnis für die Dringlichkeit der Zusammenarbeit zu erzeugen und Wege zu sammeln und aufzuzeigen, um schneller bessere Software zum Kunden zu bringen. So in dieser Gesamtheit hat das meines Wissen noch keiner versucht.</dd>
</dl>
<p><strong>Vielen Dank für die ausführlichen Antworten!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/09/devops-interview/?piwik_campaign=rss&#038;piwik_kwd=25093/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Links: Softwarepatente, Robotron, Namen, modernes Intranet, Adobe</title>
		<link>http://www.wendtswelt.de/2011/08/softwarepatente-robotron-namen-intranet-adobe/?piwik_campaign=rss&#038;piwik_kwd=24634</link>
		<comments>http://www.wendtswelt.de/2011/08/softwarepatente-robotron-namen-intranet-adobe/?piwik_campaign=rss&#038;piwik_kwd=24634#comments</comments>
		<pubDate>Tue, 30 Aug 2011 07:38:45 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Softwarepatente]]></category>
		<category><![CDATA[Unternehmen]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=24634</guid>
		<description><![CDATA[5 lesenswerte Artikel aus der Softwarebranche für Interessierte: Softwarepatente, Robotron und Oracle, Falsche Annahmen über Namen in deiner Software, Modernes Intranet, Adobe und Webdesigner]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_24643" class="wp-caption aligncenter" style="width: 420px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/08/service.jpg" alt="" title="Foto: Offene Hand mit Tennisball" width="420" height="281" class="size-full wp-image-24643" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/87473264@N00/2909388522/'>Serve Me</a> von Kevin Lau (Lizenz: CC-BY-NC-ND)</p>
</div>5 lesenswerte Artikel zu unterschiedlichen Themen aus der Softwarebranche:</p>
<h2>Softwarepatente</h2>
<blockquote><p>Everyone in the software field has seen a parade of patents which do nothing but try to claim rights on techniques that have already been in use for years, let alone developments that while new, are are still obvious to those of us with ordinary skills in programming.</p></blockquote>
<p>Martin Fowler: <a href="http://martinfowler.com/bliki/SoftwarePatent.html">Software Patents</a></p>
<h2>Robotron und Oracle</h2>
<blockquote><p>Computerprogramme aus der DDR? Die brauchte nach der Wende nun wirklich keiner mehr, glaubte man damals in der IT-Branche. Einer sah das anders. Rolf Heinemann machte aus dem Großkombinat VEB Robotron mithilfe eines Freundes ein internationales Software-Unternehmen.</p></blockquote>
<p>brand eins: <a href="http://www.brandeins.de/archiv/magazin/transparenz/artikel/der-ueberlaeufer.html">Der Überläufer</a></p>
<h2>Falsche Annahmen über Namen</h2>
<p>Aus eigener Erfahrung kann ich sagen, dass ein Accent im Namen <a href="http://www.wendtswelt.de/2005/04/willkommen-herr-andru-wendt/" title="“Willkommen, Herr AndrU Wendt”">schon immer Probleme bereitet</a> hat. Auch noch <a href="https://twitter.com/#!/awendt/status/46111995451277313">Jahre</a> <a href="https://twitter.com/#!/awendt/status/58232754118201344">später</a>.</p>
<p>Daher habe ich mich gefreut, dass Patrick McKenzie gleich eine ganze Liste über falsche Annahmen bzgl. Namen erstellt hat:</p>
<blockquote><p>So, as a public service, I’m going to list assumptions your systems probably make about names.  All of these assumptions are wrong.  Try to make less of them next time you write a system which touches names.</p></blockquote>
<p>Patrick McKenzie: <a href="http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/">Falsehoods Programmers Believe About Names</a></p>
<h2>Modernes Intranet</h2>
<blockquote><p>Das Intranet der Zukunft ist gleichzeitig auch soziales Netzwerk: Jeder ist mit einem Profil vertreten, aus dem Interessen und Kompetenzen hervorgehen. Die Mitarbeiter können eigene Inhalte einstellen und ihr Wissen mit den Kollegen teilen. So wird das Expertenwissen innerhalb eines Unternehmens transparent und nutzbar.</p></blockquote>
<p>ZEIT online: <a href="http://www.zeit.de/karriere/beruf/2011-08/social-intranet-trend">Digitaler Arbeitsplatz — Das allumfassende Intranet</a></p>
<h2>Adobe scheitert erneut im Bereich Webdesign</h2>
<blockquote><p>
With all the time, effort and money that Adobe spends on creating a “code free” solution for designing websites, you’d think that they would be able to create something decently usable by now. So what’s holding them back? Today we’ll take a brief walk down memory lane, starting all the way back at PageMill, to see if we can discover any reoccurring themes in Adobe’s history with web designers.</p></blockquote>
<p>Joshua Johnson: <a href="http://designshack.co.uk/articles/software/why-adobe-doesnt-understand-web-designers/">Why Adobe Doesn’t Understand Web Designers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/08/softwarepatente-robotron-namen-intranet-adobe/?piwik_campaign=rss&#038;piwik_kwd=24634/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grundkurs Open-Source-Entwicklung</title>
		<link>http://www.wendtswelt.de/2011/08/grundkurs-open-source/?piwik_campaign=rss&#038;piwik_kwd=24502</link>
		<comments>http://www.wendtswelt.de/2011/08/grundkurs-open-source/?piwik_campaign=rss&#038;piwik_kwd=24502#comments</comments>
		<pubDate>Fri, 26 Aug 2011 07:25:54 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Wirtschaft]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=24502</guid>
		<description><![CDATA[Open-Source-Software hat sich längst aus der Nische befreit. Tipps für den Einstieg — und wie Open Source auch deiner Karriere helfen kann.]]></description>
			<content:encoded><![CDATA[<p></p><div id="attachment_24542" class="wp-caption aligncenter" style="width: 420px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/08/yes-were-open.jpg" alt="" title="Yes, we&#039;re open" width="420" height="280" class="size-full wp-image-24542" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/7259030@N07/4344960203/'>Open Sign</a> von David Lofink (Lizenz: CC-BY)</p>
</div>Open-Source-Software hat sich aus der Nische befreit und zu einem ernstzunehmenenden Wirtschaftsfaktor entwickelt. Als Entwickler wirst du früher oder später mit quelloffener Software zu tun haben.</p>
<p>Da ist es nicht verkehrt, <strong>über die Hintergründe Bescheid zu wissen</strong>. Das ist nützlich, wenn du irgendwann bei der Fehlerbehebung oder Erweiterung helfen willst, weil deine Software auf der Dritter aufbaut.</p>
<p>Es ist aber auch eine interessante Lektion über Abläufe und Methoden in verteilten Teams, die <strong>deiner Karriere auf die Sprünge helfen</strong> kann. Denn meist lassen sich Lösungen aus der Community auf die Organisation von Teams in Unternehmen anwenden.</p>
<p>Hier soll es zunächst darum gehen, ein Gefühl für die Arbeitsweisen zu entwickeln, denn:</p>
<blockquote><p>Wer sich an der Open-Source-Entwicklung beteiligen möchte, tut also gut daran, zunächst einmal die Gepflogenheiten des jeweiligen Projekts kennenzulernen. [<a href="http://www.heise.de/open/artikel/Die-Woche-Totalitaere-Open-Source-Entwicklung-221875.html" title="Totalitäre Open-Source-Entwicklung bei heise open">via</a>]</blockquote>
<p>Die Frage ist nur: Wo fängst du am besten an?</p>
<h2>Beherrsche dein Handwerk</h2>
<p>Die Software-Branche hat sich in vielerlei Hinsicht professionalisiert, auch bei den (erfolgreichen) Hobbyprojekten. Also solltest du das auch.</p>
<p>Beherrsche <strong>verteilte Versionsverwaltung</strong> (Distributed Version Control System, DVCS). Versionsverwaltung an sich ist die Grundlage für jedes Arbeiten an Software — das solltest du verinnerlicht haben wie das Atmen. Verteilte Versionsverwaltung ist speziell auf die Arbeit in Teams zugeschnitten und wird daher in immer mehr Projekten verwendet. Dabei ist unerheblich, für welche Software du dich entscheidest. Mein Favorit ist <a href="http://git-scm.com/">Git</a>. Andere <a href="http://hginit.com/">bevorzugen Mercurial</a>.</p>
<p>Beherrsche die <a href="http://www.wendtswelt.de/2010/04/software-testing/" title="Automatisierte Tests sind wie Checklisten">Kunst der testgetriebenen Entwicklung</a> (Test-Driven Development, TDD). Sie macht dich zu einem besseren Programmierer, denn Tests…</p>
<ul>
<li>fördern gutes Software-Design</li>
<li>erhöhen die Wartbarkeit deiner Programme</li>
<li>geben Dritten einen guten Überblick in den Funktionsumfang</li>
</ul>
<p>Sowohl der Umgang mit Versionsverwaltung als auch testgetriebene Entwicklung erfordern natürlich viel Übung. Deshalb:</p>
<h2>Starte ein Lieblingsprojekt</h2>
<p>Die Amerikaner nennen es treffend „pet project“. Andere müssen nicht unbedingt nützlich oder wichtig finden, was du da tust. Es ist dein Projekt, also <strong>mach was daraus</strong>. Lerne dabei. Probier Dinge aus. Amüsier dich. Beherrsche dein Handwerk.</p>
<p>Ich würde dir wärmstens ein <a href="https://github.com/" title="Social Coding">GitHub-Account</a> empfehlen, um dich mit anderen Entwicklern auszutauschen und Code freizugeben, vor allem bei Verwendung der Programmiersprachen Ruby, Python und Javascript (siehe GitHubs <a href="https://github.com/languages">Top Languages</a>)</p>
<p>Organisiere und vermarkte dein Projekt. Dabei hilft natürlich auch:</p>
<h2>Vernetze dich</h2>
<p>Folge den richtigen Leuten. <a href="http://twitter.com/">Twitter</a> erfreut sich unter uns Technikern großer Beliebtheit und ist dafür gut geeignet. Es mag vielleicht eine Weile dauern, bis man sein Netzwerk zusammengestellt hat, aber es ist den Aufwand wert.</p>
<p>Besuch User Groups in deiner Umgebung, um persönlichen Kontakt herzustellen und interessante Leute und Projekte zu finden.</p>
<p>Nimm an <a href="http://www.wendtswelt.de/2011/05/euruko-2011-berlin/" title="Eindrücke von der EuRuKo 2011">Konferenzen</a> teil. Dabei ist der Preis nicht unbedingt ein Qualitätskriterium. Manche Community stellt für einen Bruchteil des Preises großartige Veranstaltungen auf die Beine.</p>
<p>Stell dich darauf ein, gewohntes Terrain zu verlassen. Bis vor kurzem habe ich noch nie einen Chat für technische Diskussionen betreten. Mailinglisten sind nicht (mehr) in allen Teilen der Szene gleich populär. Mach deine Mitarbeit nicht davon abhängig, welches Kommunikationsmittel du gern benutzt.</p>
<p>Aber mach deine Mitarbeit davon abhängig, wie du behandelt wirst:</p>
<h2>Bleib, wo du willkommen bist</h2>
<p>Ich mag Ruby (und Rails) auch deswegen, weil man offen miteinander umgeht und Diskussionen sachlich und auf hohem Niveau geführt werden. <a href="http://web.archive.org/web/20090201190833/http://zedshaw.com/rants/rails_is_a_ghetto.html">Auch wenn so mancher das anders sieht</a>.</p>
<p>Bleib, wo du dich wohlfühlst — denn das ist der Schlüssel zu großartigen Projekten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/08/grundkurs-open-source/?piwik_campaign=rss&#038;piwik_kwd=24502/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 Anzeichen, dass dein Scrum-Prozess Aufmerksamkeit braucht</title>
		<link>http://www.wendtswelt.de/2011/08/scrum-warnsignale/?piwik_campaign=rss&#038;piwik_kwd=23970</link>
		<comments>http://www.wendtswelt.de/2011/08/scrum-warnsignale/?piwik_campaign=rss&#038;piwik_kwd=23970#comments</comments>
		<pubDate>Thu, 04 Aug 2011 07:07:48 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[Liste]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Produktmanagement]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Team]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=23970</guid>
		<description><![CDATA[Scrum ist kein Selbstläufer, der Prozess muss durch das Team geschützt werden. Welche Gefahren lauern, listet dieser Artikel auf.]]></description>
			<content:encoded><![CDATA[<p></p><div id="attachment_23971" class="wp-caption alignright" style="width: 240px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/08/kerze-ausgeloescht.jpg" alt="" title="kerze-ausgeloescht" width="240" height="235" class="size-full wp-image-23971" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/68134711@N00/5277932339/'>S is for Smoke</a> von Stuart Anthony (Lizenz: CC-BY-NC-ND)</p>
</div>
<p><a href="http://www.wendtswelt.de/2010/03/software-agil-entwickeln-mit-scrum/">Scrum</a> ist wie eine Beziehung: Du musst dran arbeiten.</p>
<p>Und zwar nicht nur dafür, dass Scrum sein volles Potenzial ausspielt und deinem Team ermöglicht, ihre Arbeitsweise und -ergebnisse kontinuierlich zu verbessern. Sondern auch gegen die Verwässerung des Prozesses von außen.</p>
<p>Damit euer Prozess sich nicht komplett auflöst, achte auf diese Warnsignale:</p>
<h2>1. Das Team schreibt die User Stories selbst</h2>
<p>Normalerweise sollten die <a href="http://www.wendtswelt.de/2010/06/user-stories/" title="Warum User Stories helfen, bessere Software zu liefern">User Stories</a> vom Product Owner geschrieben werden. Dabei kann er durchaus vom Team unterstützt werden, wenn es etwa um <a href="http://www.wendtswelt.de/2010/10/user-stories-formulieren/" title="Eine todsichere Methode, bessere User Stories zu schreiben">Formulierungen</a> geht. Wenn der Product Owner nur noch eine Reihe von Anforderungen bellt und das Ordnen in User Stories dem Team überlässt, stimmt etwas nicht.</p>
<h2>2. Die letzte Retrospektive war vor mehreren Monaten</h2>
<p><a href="http://www.wendtswelt.de/2010/05/retrospektiven/">Retrospektiven</a> sind das Mittel der Wahl, um Arbeitsabläufe zu verbessern sowie Produktivität und Zufriedenheit im Teams zu steigern. Manche sagen sogar, Retrospektiven können als Einstieg in die agile Entwicklung genutzt werden.</p>
<p>Fakt ist: Wer längere Zeit keine Retrospektive gemacht hat, läuft Gefahr, sich im Kreis zu drehen.</p>
<h2>3. Der Scrum Master wurde abberufen</h2>
<p><a href="http://thescrumblog.blogspot.com/2011/04/what-does-scrum-master-do-all-day.html" title="What does the Scrum Master do all day?">Scrum Master</a> sorgen für eine störungsfreie Arbeitsatmosphäre des Teams und haben eine vermittelnde Funktion zwischen Team und Product Owner. Teams sollten durch sie nicht nur gegen den Product Owner, sondern auch <a href="http://blog.mountaingoatsoftware.com/protecting-the-team-cuts-both-ways" title="Protecting the Team Cuts Both Ways">vor sich selbst geschützt</a> sein.</p>
<p>Für die Rolle des Scrum Masters <strong>muss Budget vorhanden</strong> sein. Die Rolle darf nicht einfach wegdefiniert werden. Sonst kann man den Prozess eigentlich gleich lassen.</p>
<h2>4. Für Schätzungen ist „keine Zeit“</h2>
<p>Auch wenn <a href="http://www.portagile.com/2011/04/estimates-are-overrated.html">Schätzungen in manchen Augen überbewertet</a> sind, erfüllen sie ihren Zweck: Fortschritt messbar machen und Entscheidungshilfe sein für die nächsten Aufgaben — etwa wenn es darum geht, was bis zu einem Termin noch alles fertig werden kann.</p>
<p>Ohne Schätzungen arbeitet jeder nur vor sich hin, man weiß weder, was zu schaffen ist noch was geschafft wurde.</p>
<h2>5. Es gibt keinen Burndown pro Sprint</h2>
<p>Der Burndown ist eine grafische Übersicht über den Fortschritt im aktuellen Sprint. Das geht Hand in Hand mit Schätzungen: Ohne Schätzungen kein Burndown. Ohne Burndown kein Indikator, ob die zweite Hälfte des Sprints zu schaffen ist. Ohne diesen Indikator keine Möglichkeit gegenzusteuern. Ohne Gegensteuerung keine Selbstorganisation.</p>
<h2>6. Der Product Owner legt fest, dass Sprints nicht abgebrochen werden dürfen</h2>
<p>Natürlich darf das Team einen Sprint abbrechen. Und natürlich muss ein triftiger Grund dafür vorliegen (wenn etwa am Tag nach dem Planning klar wird, dass einige Grundannahmen im Planning grundsätzlich falsch waren).</p>
<p>Kein Team bricht mutwillig einen Sprint ab &#8212; dafür ist der zeitliche Aufwand viel zu hoch. Dem Team den Abbruch zu verwehren ist ein <strong>Eingriff in die Selbstorganisation</strong> der Gruppe.</p>
<h2>7. Spikes werden zu Produktcode</h2>
<p>Spikes sind minimale prototypische Implementationen einer Funktionalität und werden typischerweise zur Evaluation neuer Ideen und Technologien und deren Machbarkeit verwendet.</p>
<p>Solche Programmteile sind häufig nicht von der Qualität, die für ein Produkt in Frage kommt. Leuchtet ja auch ein: Wenn du etwas ausprobierst und damit möglichst schnell zu einer Entscheidung kommen willst, halten Qualitätsansprüche nur auf. Deshalb sollte Programmcode aus Spikes möglichst nicht wiederverwendet, auf keinen Fall aber im Ganzen ins Produkt übernommen werden.</p>
<h2>8. Die Vision für das Produkt ist dem Team nicht (im Ganzen) bekannt</h2>
<p>Um gute Arbeit zu leisten, muss man gut informiert sein. Bei agiler Softwareentwicklung mag man zwar immer nur für einen kurzen Zeitraum detailliert planen. Aber trotzdem müssen solche Teams zwecks Orientierung die Vision des Produktes immer vor Augen haben.</p>
<h2>Fazit</h2>
<p>An einer guten Beziehung muss man ständig arbeiten, sonst geht sie kaputt. Ähnlich sieht es mit Scrum aus.</p>
<p>Ich könnte natürlich sagen, dass beides Selbstläufer wären. Aber wir wollen hier doch ehrlich bleiben, oder?</p>
<p>Scrum ist harte Arbeit und Disziplin. Als Team muss man um den Prozess kämpfen, wenn man etwas davon haben will.</p>
<p>Diese Liste lässt sich sicher noch erweitern. Welche sind deine Warnsignale? Woran merkst du, dass du dich um deinen Prozess kümmern musst?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/08/scrum-warnsignale/?piwik_campaign=rss&#038;piwik_kwd=23970/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links: Wo Nerds arbeiten, TDD, Kompetenzen, Management, Versionsverwaltung</title>
		<link>http://www.wendtswelt.de/2011/07/arbeitsplatz-tdd-kompetenzen-management-versionsverwaltung/?piwik_campaign=rss&#038;piwik_kwd=23776</link>
		<comments>http://www.wendtswelt.de/2011/07/arbeitsplatz-tdd-kompetenzen-management-versionsverwaltung/?piwik_campaign=rss&#038;piwik_kwd=23776#comments</comments>
		<pubDate>Thu, 28 Jul 2011 08:40:09 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Arbeitsumfeld]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[Unternehmen]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=23776</guid>
		<description><![CDATA[5 lesenswerte Artikel aus der Softwarebranche für Interessierte: Wo Nerds arbeiten, testgetriebene Entwicklung, Programmierer-Kompetenzen, Management, Versionsverwaltung]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_23790" class="wp-caption aligncenter" style="width: 420px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/07/lighthouse-directions.jpg" alt="" title="lighthouse-directions" width="420" height="315" class="size-full wp-image-23790" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/21366409@N00/1029762906/'>Old Spanish Lighthouse</a> von Storm Crypt<br />(Lizenz: CC-BY-NC-ND)</p>
</div>5 lesenswerte Artikel zu unterschiedlichen Themen aus der Softwarebranche:</p>
<h2>Arbeitsplatz</h2>
<p>Michael Lopp, Autor von <a href="http://www.beinggeek.com/"><cite>Being Geek</cite></a> und <a href="http://managinghumans.com/"><cite>Managing Humans</cite></a>, stellt ausführlich und unterhaltsam seinen Arbeitsplatz und seine tägliche Routine vor und erklärt, warum er seine Freundin anblaffen muss, wenn sie ihn dort stört:</p>
<p><a href="http://www.randsinrepose.com/archives/2006/07/10/a_nerd_in_a_cave.html">A Nerd in a Cave</a></p>
<h2>Testgetriebene Entwicklung</h2>
<p>Das Thema testgetriebene Entwicklung (test-driven development, TDD) hatte ich <a href="http://www.wendtswelt.de/2010/04/software-testing/">schon an anderer Stelle angeschnitten</a>. Die Motivation dahinter, wie das alles zusammenpasst und welchen Einfluss die Methodik auf die Produktivität hat:</p>
<p><a href="http://mikehadlow.blogspot.com/2011/06/i-dont-have-time-for-unit-tests.html">I Don&#8217;t Have Time for Unit Tests</a></p>
<h2>Programmierer-Kompetenzen</h2>
<p>Sich selbst einzuschätzen fällt immer schwer. Diese umfangreiche Übersicht hält einem vor Augen, wie groß das Feld der Softwareentwicklung wirklich ist und hilft dabei, eigene Schwächen zu identifizieren:</p>
<p><a href="http://www.indiangeek.net/programmer-competency-matrix/">Programmer Competency Matrix</a></p>
<h2>Umgang mit schwierigen Charakteren</h2>
<p>Wie geht man als neuer Teamleiter mit Menschen um, die in der Vergangenheit aggressiv und unprofessionell auftraten und die Arbeit anderer als die eigene ausgaben? Interessante Fragestellung und einige sehr eindrucksvolle Antworten:</p>
<p><a href="http://programmers.stackexchange.com/questions/90059/new-team-lead-how-to-deal-with-a-resentful-former-peer">New Team Lead &#8211; How to deal with a resentful former peer</a></p>
<h2>Versionsverwaltung, Kommunikation von Veränderungen</h2>
<p>Wie schon in meinen Erkenntnissen über Produktentwicklung erwähnt, ist es wichtig darüber nachzudenken, ob man eine Veränderung als inkrementell oder als radikalen Bruch kommuniziert. Beim Wechsel von zentraler zu dezentraler Versionsverwaltung ist nach Meinung von Bill Wagner einiges schiefgelaufen:</p>
<p><a href="http://billwagner.cloudapp.net/Home/Item/DistributedVersionControlisaDisruptiveChange">Distributed Version Control is a Disruptive Change</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/07/arbeitsplatz-tdd-kompetenzen-management-versionsverwaltung/?piwik_campaign=rss&#038;piwik_kwd=23776/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ganz vorn dabei: Erkenntnisse aus 2&#160;Jahren Produktentwicklung</title>
		<link>http://www.wendtswelt.de/2011/07/produktentwicklung-erkenntnisse/?piwik_campaign=rss&#038;piwik_kwd=23370</link>
		<comments>http://www.wendtswelt.de/2011/07/produktentwicklung-erkenntnisse/?piwik_campaign=rss&#038;piwik_kwd=23370#comments</comments>
		<pubDate>Thu, 21 Jul 2011 07:28:19 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Change Management]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Produktivität]]></category>
		<category><![CDATA[Produktmanagement]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Unternehmen]]></category>
		<category><![CDATA[Wartung]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=23370</guid>
		<description><![CDATA[Wenn Softwareentwickler sich plötzlich um Veränderungsmanagement kümmern müssen: Unsere konkrete Situation und was ich in 2 Jahren daraus mitgenommen habe.]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_23374" class="wp-caption aligncenter" style="width: 420px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/07/vorsprung.jpg" alt="" title="Vorsprung" width="420" height="272" class="size-full wp-image-23374" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/telmo32/4605770363/'>race</a> von telmo32 (Lizenz: CC-BY-ND)</p>
</div>Worauf musst du achten, wenn du als Softwareentwickler durchstartest und nicht mehr einzuholen bist?</p>
<p>Wenn du dabei bist, die Software so grundlegend umzugestalten, dass kein Stein auf dem anderen bleibt?</p>
<p>Wenn du plötzlich und ungewollt dem ausgesetzt bist, was allgemein als <strong>Veränderungsmanagement</strong> bezeichnet wird?</p>
<p>Wenn du dir mindestens einmal in der Woche vornimmst, das <strong><a href="http://www.kotterinternational.com/kotterprinciples/our-iceberg-is-melting">Pinguin-Prinzip</a></strong> noch einmal zu lesen?</p>
<h2>Druck von außen</h2>
<p>In unserer konkreten Situation haben wir Entwickler drei „Kunden“:</p>
<ol>
<li>Consultants/Projektentwickler, die mit dem Produkt Projekte umsetzen wollen.</li>
<li>Verkäufer, die den Kunden überzeugen wollen, dass das Produkt seine Anforderungen schon von Haus aus optimal abdeckt oder mit geringem Aufwand abdecken wird.</li>
<li>Endkunden, die das Projekt bezahlen und einsehen sollten, dass ihre Wünsche auf die zur Verfügung stehende Funktionalität abgebildet werden müssen.</li>
</ol>
<p>Dabei haben wir mit der ersten viel, mit der zweiten weniger und mit der dritten Gruppe so gut wie keinen direkten Kontakt. Entsprechend verteilt sind die Anfragen, die uns erreichen.</p>
<p>Hier sind meine Erkenntnisse aus den typischen Situationen, die sich daraus ergeben:</p>
<h2>Zunächst einmal: Genieß den Augenblick</h2>
<p>Produktentwicklung macht großen Spaß — nur selten hat man die Möglichkeit, sich praktisch fortwährend mit neuen Technologien beschäftigen.</p>
<p>Ausprobieren, evaluieren, umsetzen. So manches auf der grünen Wiese anfangen. Der Traum all jener Entwickler, die in den technischen Vorgaben von Kunden gefangen sind und zum Teil mit uralter Technik moderne Anforderungen umzusetzen versuchen. (Haltet durch, Jungs!)</p>
<p>Diese Arbeitsweise ist purer Luxus. Das sollte man unbedingt zu schätzen wissen.</p>
<h2>Halte den Wissens-Vorsprung klein</h2>
<p>Erkläre den anderen, warum Änderungen notwendig sind. Welchen Nutzen sie bringen. Stell dich darauf ein, das immer wieder erklären zu müssen.</p>
<p>Diese Kommunikation nach außen ist eine echte Gratwanderung. In technische Details zu verfallen kann genauso ins Auge gehen wie immer nur zu behaupten, es werde alles gut.</p>
<p>Achte darauf, das große Ganze dahinter richtig zu verkaufen: Um die gewünschte Adaption zu erwirken, <a href="http://billwagner.cloudapp.net/Home/Item/MakeIncrementalImprovementsorDisruptiveChange">müssen manche Ideen als radikaler Bruch vermarktet werden</a> — auch wenn man im ersten Moment meint, dass kleine Änderungen besser verdaut werden können.</p>
<p>Teile deine Werkzeuge, Lösungen Erkenntnisse und Arbeitsweisen mit den anderen und schotte dich nicht ab. Nimm dir die Zeit, zwischendurch den aktuellen Stand oder kleine Nebenprodukte zu präsentieren.</p>
<h2>Bekämpf die Gerüchte von Anfang an</h2>
<p>Wer nicht in die Entwicklung involviert ist, neigt dazu, Annahmen auf Basis seiner Kenntnisse zu treffen.</p>
<p>So entstehen Gerüchte: Stimmt es, dass Feature X abgekündigt wird? Das wäre alles viel schneller gegangen, wenn&#8230; Und überhaupt — warum kümmert ihr euch nicht erstmal um die wichtigen Dinge?</p>
<p>Es ist unglaublich schwierig, Entscheidungen später zu rechtfertigen als andere früh darauf vorzubereiten und mitzunehmen. Wehe, wenn dann noch eine Sache nicht läuft wie geschmiert!</p>
<p>Hinterher ist bekanntlich, wenn man&#8217;s vorher gewusst hat.</p>
<p>Erschwerend kommt hinzu, dass man sich als Produktentwickler viel zu schnell an den Zustand gewöhnt hat, dass viele Dinge kaputt sind, deaktiviert oder gelöscht werden.</p>
<p>Wenn du das falsch kommunizierst, ist das guter Nährboden für weitere Gerüchte.</p>
<h2>Sieh dich auch mal um</h2>
<p>Auch wenn Umsetzung und Kommunikation nach außen einen Großteil des Tagesgeschäfts ausmachen &#8212;  vergiss nicht, dass Feedback aus den Projekten überlebenswichtig für ein gutes Produkt ist.</p>
<p>Halt also die Ohren offen. Welche Lösungen sind im Einsatz? Was muss verbessert werden? Was wird gebraucht? Und viel wichtiger: Was kann wegfallen?</p>
<p>Gerade dieser letzte Punkt ist selten offensichtlich und wird oft nur zwischen den Zeilen erwähnt. Features zu streichen erfordert Mut auf der einen und Einsicht auf der anderen Seite.</p>
<h2>Finde dein Tempo</h2>
<p>Und zwischen all dem ist <a href="http://www.wendtswelt.de/tag/wartung/">Software-Wartung</a> vielleicht noch ein Thema.</p>
<p>Einfach mal einen ganzen Tag <a href="http://blog.fogcreek.com/keeping-developers-in-the-zone/">nur den Blick nach vorne richten</a>? Vergiss es. Kontextwechsel sind an der Tagesordnung, wenn du dich auch noch um die aktuelle Version des Produkts kümmern, Fragen beantworten und Probleme untersuchen musst.</p>
<p>Daher ist es ratsam, sein eigenes Tempo zu finden, Anfragen zurückzustellen und stapelweise abzuarbeiten. Finde heraus, was für dich am besten passt, ohne die anderen vor den Kopf zu stoßen.</p>
<p><strong>Kommunikation ist das A und O bei großen Veränderungen.</strong> Nimm die anderen mit.</p>
<p>Sonst haben sie schon keine Lust mehr, bevor ihr überhaupt fertig werdet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/07/produktentwicklung-erkenntnisse/?piwik_campaign=rss&#038;piwik_kwd=23370/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links: Softwarevertrieb, erfolgreiche IT-Ingenieure, Interfacedesign, Flamewars, Schätzungen</title>
		<link>http://www.wendtswelt.de/2011/06/softwarevertrieb-erfolgreiche-it-ingenieure-interfacedesign-flamewars-schatzungen/?piwik_campaign=rss&#038;piwik_kwd=21657</link>
		<comments>http://www.wendtswelt.de/2011/06/softwarevertrieb-erfolgreiche-it-ingenieure-interfacedesign-flamewars-schatzungen/?piwik_campaign=rss&#038;piwik_kwd=21657#comments</comments>
		<pubDate>Wed, 29 Jun 2011 07:09:54 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Unternehmen]]></category>
		<category><![CDATA[Wirtschaft]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=21657</guid>
		<description><![CDATA[5 lesenswerte Artikel aus der Softwarebranche für Interessierte: Softwarevertrieb, Merkmale erfolgreicher IT-Ingenieure, Interfacedesign, Flamewars, Schätzungen]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_21696" class="wp-caption aligncenter" style="width: 420px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/06/vogel_formation.jpg" alt="" title="vogel_formation" width="420" height="280" class="size-full wp-image-21696" />
	<p class="wp-caption-text">Foto: <a href='http://www.flickr.com/photos/albertovo5/4113467727/'>Gimme a V</a> von hjhipster (Lizenz: CC-BY-NC)</p>
</div>5 lesenswerte Artikel zu unterschiedlichen Themen aus der Softwarebranche:</p>
<h2>Softwarevertrieb</h2>
<p>Kaum zu glauben, aber wahr &#8212; in meinen drei Jahren als Vollzeit-Entwickler habe ich bisher weniger über den Vertrieb von Unternehmenssoftware gelernt als durch diese vierteilige Serie:</p>
<p><a href="http://blog.fogcreek.com/the-very-most-basic-things-your-company-needs-to-know-about-sales-part-1-of-4/">The very most basic things your company needs to know about sales</a></p>
<h2>Merkmale erfolgreicher IT-Ingenieure</h2>
<p>Du weißt schnell, wenn du einen vor dir hast. Aber was genau macht einen erfolgreichen Software-Ingenieur aus?</p>
<p><a href="http://www.agileweboperations.com/top-three-traits-of-successful-engineers">Top Three Traits of Successful Engineers</a></p>
<h2>Interfacedesign</h2>
<p>„Sollen wir den Button unten oder oben platzieren?“ — „Mach eine Option draus!“ Anpassbarkeit von Elementen ist nicht immer die beste Wahl:</p>
<p><a href="http://kaishinlab.com/pitfall-of-customizability/">The Pitfall of Customizability in UI Design</a></p>
<h2>Flamewars</h2>
<p>Wenn es um Tools geht, sind in der Softwarebranche die Fronten schnell verhärtet &#8212; Linux gegen Mac gegen Windows, die ewige <a href="http://xkcd.com/378/">Editor-Diskussion</a>, oder auch das Thema Versionsverwaltung. Um dem wiederkehrenden „Murmeltiertag“ ein Ende zu setzen, hat Benjamin Pollack einen Vorschlag:</p>
<p><a href="http://bitquabit.com/post/make-love-not-flamewars/">Make Love, Not Flamewars</a></p>
<h2>Schätzungen</h2>
<p>Schätzungen sind ein Problemkind unserer Branche und mit ein Grund, warum agile Methoden wie Scrum so schnell populär geworden sind. Warum es nicht gut ist, Schätzungen zu viel Bedeutung zu geben:</p>
<p><a href="http://www.portagile.com/2011/04/estimates-are-overrated.html">Estimates are overrated</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/06/softwarevertrieb-erfolgreiche-it-ingenieure-interfacedesign-flamewars-schatzungen/?piwik_campaign=rss&#038;piwik_kwd=21657/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Warum Darwin ein idealer Softwareentwickler gewesen wäre</title>
		<link>http://www.wendtswelt.de/2011/06/evolution/?piwik_campaign=rss&#038;piwik_kwd=20273</link>
		<comments>http://www.wendtswelt.de/2011/06/evolution/?piwik_campaign=rss&#038;piwik_kwd=20273#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:34:45 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[agil]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Wartung]]></category>

		<guid isPermaLink="false">http://www.wendtswelt.de/?p=20273</guid>
		<description><![CDATA[Evolutionäre Softwareentwicklung bringt schnell Ergebnisse und sichert die Wartbarkeit des Softwareprodukts. Und bei Open Source ist sie sowieso Programm.]]></description>
			<content:encoded><![CDATA[<p></p><p><div id="attachment_20275" class="wp-caption alignleft" style="width: 240px">
	<img src="http://www.wendtswelt.de/wordpress/wp-content/uploads/2011/06/darwin_1880.jpg" alt="" title="Foto: Charles Darwin 1880" width="240" height="329" class="size-full wp-image-20275" />
	<p class="wp-caption-text">Charles Darwin im Alter von 71&nbsp;Jahren (Lizenz: gemeinfrei)</p>
</div>„Es ist wie einen Mord zu gestehen“, schrieb Darwin in einem <a href="http://www.darwinproject.ac.uk/entry-729">Brief</a>, als er langsam zu der Überzeugung kam: Arten sind nicht unveränderlich.</p>
<p>Das war 1844, eineinhalb Jahrzehnte vor der Veröffentlichung seines Hauptwerks <cite>Die Entstehung der Arten</cite>. Er war dabei, mit seinen Beiträgen zur Evolutionstheorie alles auf den Kopf zu stellen.</p>
<p>Heute erscheint die These weit weniger radikal als noch bei der Veröffentlichung: Arten verändern sich, um sich besser an die Umwelt anzupassen.</p>
<p><strong>Dabei bleiben vorteilhafte Variationen erhalten.</strong></p>
<h2>Evolution in der Softwareentwicklung</h2>
<p>Genau diese Grundannahmen der Evolution machen sich Softwareentwickler heute zunutze.</p>
<p>Bei der evolutionären Entwicklung wird zunächst nur eine Anwendung mit den Grundfunktionalitäten bereitgestellt. Dann wird nach und nach erweitert — entsprechend des Feedbacks vom Kunden.</p>
<p>Natürlich ist dabei der Entwickler die treibende Kraft, im Gegensatz zu Darwins natürlicher Selektion. <strong>Software entwickelt sich nicht von allein weiter.</strong></p>
<p>Deshalb ist auch das Prinzip des Gradualismus, also  Änderungen in vielen Zwischenschritten, nicht gegeben. Es ist aber Voraussetzung für eine erfolgreiche Evolution des Systems und sollte Ziel der Weiterentwicklung sein.</p>
<h2>Paradebeispiel Open Source Software</h2>
<p>Open Source Software wird ja praktisch nur evolutionär entwickelt.</p>
<p>Linus Torvalds hat sich vor 20 Jahren nicht hingesetzt und geplant, Linux in einem guten Jahrzehnt auf den Großteil der Server zu bringen und es zu einer wirtschaftlichen Größe zu etablieren.</p>
<p>Typischerweise entstehen ja Open-Source-Projekte so, dass jemand ein ganz spezielles Problem für sich selbst löst. Mit ein bisschen Glück findet man Mitstreiter, die neue Funktionalität dazu- oder vorhandene entsprechend ihrer eigenen Wünsche umbauen.</p>
<p>Die Software evolviert über die Zeit.</p>
<p>Gern wird auch mal zu drastischen Mitteln gegriffen, um ein Projekt voranzutreiben. Aus der durchaus lesenswerten <a href="https://www.chiliproject.org/projects/chiliproject/wiki/Why_Fork">Erklärung</a>, warum einige Entwickler aus der Community um das Projektmanagement-Tool <a href="http://www.redmine.org/">Redmine</a> es für sinnvoll erachteten, das <a href="https://www.chiliproject.org/">ChiliProject</a> abzuspalten:</p>
<blockquote><p>
However, in the view of some of Redmine&#8217;s leading developers, the maintenance and evolution of Redmine has not been as predictable and responsive as its developer community is capable of […] A group of developers from the Redmine community has therefore concluded that the only way to ensure continued, sustained and stable development of our favorite project management solution is to fork it.
</p></blockquote>
<p>In Darwins Augen ist hier also eine neue Art entstanden.</p>
<h2>Flexibilität und Wartbarkeit sichern: Evolution statt Sackgasse</h2>
<p>Um evolutionäre Entwicklung zu fördern und Software später an veränderte Bedingungen anpassen zu können, müssen Programme flexibel gehalten werden. Sonst drohen irgendwann teure Neuentwicklungen.</p>
<p>Das schafft man nur, wenn <a href="http://www.wendtswelt.de/2010/09/refactoring/">regelmäßig aufgeräumt</a> und dem <a href="http://www.wendtswelt.de/2010/04/broken-windows-theorie/">Verfall rechtzeitig vorgebeugt</a> wird.</p>
<p>Dann ist man auch in der Lage, <a href="http://www.wendtswelt.de/2010/03/software-agil-entwickeln-mit-scrum/">agil zu entwickeln</a>.</p>
<p>Vorbei die Zeit, in der Softwareprodukte in jahrelangen Prozessen am Kunden vorbei spezifiziert und umgesetzt wurden. Die Vorstellung, heute schon wissen zu können, welche Detailfunktion der Kunde in ein paar Jahren braucht, muss einem da zwangsläufig wie Schöpfungsbiologie vorkommen.</p>
<h2>Zusammenfassung</h2>
<p>Darwin <a href="http://www.welt.de/wissenschaft/article3025453/Charles-Darwin-der-Familienmensch.html">zögerte</a> damals, die Theorie zu veröffentlichen. Seine ursprüngliche Auffassung war die Unveränderlichkeit der Arten gewesen, aber seine und die Recherchen anderer widerlegten die These. Und er war sich der Tragweite seiner Entdeckungen bewusst.</p>
<p>Sein Hauptwerk schloss er mit dem Satz:</p>
<blockquote><p>
Es ist wahrlich etwas Erhabenes um die Auffassung, [dass] aus einem so schlichten Anfang eine unendliche Zahl der schönsten und wunderbarsten Formen entstand und noch weiter entsteht.
</p></blockquote>
<p>Diese Feststellung lässt sich so sogar auf Software übertragen.</p>
<p>Hast du schon Erfahrung mit evolutionärer Entwicklung gesammelt? Sag&#8217;s uns in den Kommentaren!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wendtswelt.de/2011/06/evolution/?piwik_campaign=rss&#038;piwik_kwd=20273/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 14/19 queries in 0.034 seconds using disk: basic

Served from: www.wendtswelt.de @ 2012-02-05 10:46:10 -->
