<?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>ilker.de</title>
	<atom:link href="http://ilker.de/feed" rel="self" type="application/rss+xml" />
	<link>http://ilker.de</link>
	<description>Creative Computing.</description>
	<lastBuildDate>Wed, 16 May 2012 14:27:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>No More Blog Comments</title>
		<link>http://ilker.de/no-more-blog-comments</link>
		<comments>http://ilker.de/no-more-blog-comments#comments</comments>
		<pubDate>Wed, 16 May 2012 14:27:53 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3545</guid>
		<description><![CDATA[A few months ago I started to completely rethink my website. During this time, I also took the time to think about the comment functionality which is included in my current blog software WordPress. One of the outcomes of my thoughts on [...]]]></description>
			<content:encoded><![CDATA[<p
>A few months ago I started to completely rethink my website. During this time, I also took the time to think about the comment functionality which is included in my current blog software <a href="http://www.wordpress.org"
  >WordPress</a
  >. One of the outcomes of my thoughts on my websites was to change my blogging. <em
  >Completely</em
  >. Both from mental as well as from a technical perspective.</p
><p
>From ‘mental’ (or practical) perpective, I’ll change my blog gradually from a non-directed, spontaneuous blabbing, ranting and random thought disposal instrument towards a more topic-oriented and directed writing. I won’t start to write technical or theoretical articles or books. I want to keep my blogging small since I like the concept of small, chewable chunks of information for a specific topic.</p
><p
>Second, from technical perspective, I’m going to completely change the platform and infrastructure of my website (again). I’ll move off from <a href="http://www.wordpress.org"
  >WordPress</a
  > and use a static website generator instead. I don’t have much interactive content or even applications. Hence, static webpages serve my purposes quite well. However, there’s one little dynamic thing I have until now. You guessed it already, it’s my blog comment functionality.</p
><div id="what-is-a-comment"
><h4
  >What Is A Comment?</h4
  ><p
  >Ok. From technical perspective, comments aren’t much of an issue, since there’s a number of external providers for commenting, i.e. the popular <a href="http://disqus.com"
    >Disqus</a
    >. Nonetheless, I wanted to rethink <em
    >everything</em
    > on my website. Hence, I chewed on the comment thing as well. After a couple of days, I came to a conclusion I hadn’t thought I’d come to before: <em
    >Just don’t do it.</em
    ></p
  ><p
  >Yes, that’s right. No more blog comments on my website. Even more, I’ll remove the blog comments from my old entries as well. The reason is quite simple. On-site comments are simply wrong. From almost any perspective it makes no real sense to me to enable commenting on an article/blog right just where the article is. And to be honest, this conclusion is quite new for me as well. I didn’t care much about it until recently.</p
  ><p
  >The fundamental question for me to be answered was: <em
    >What is a blog comment?</em
    > To me, a blog comment is a published opinion or statement regarding the content/topic layed out in the original article. Such a statement must have an author &#8211; be it disclosed or undisclosed. As a side note: I never allowed anonymous commenting. But surely, impersonated or fake name commenting is/was possible as well.</p
  ><p
  >As for the activity of commenting, the author writes and publishes her thoughts in the internet. Now hold on for a second and re-read that last sentence again. The important thing to notice is <em
    >the internet</em
    >. That’s actually what makes me believe that the entire concept of on-site commenting is wrong. The culture and nature of the internet is distributed and free information. Now, if information is useful or related to some other information, it’s simply interlinked. I’m a firm believer that the concept of linking is crucial for the internet.</p
  ><p
  >I think that instead of posting a comment on the same site where the article resides, the comment actually needs to be published <em
    >somewhere else</em
    > on the internet and then interlinked with the original article. This <em
    >is the natural way</em
    > of information sharing on the internet. Yes, it’s the culture of the internet. The author can simply post her comment on her own website or blog. Nowadays, it’s just a few clicks to get a free personal blog.</p
  ><p
  >Thinking a little more about the topic, one might inevitably notice that actually there’s a <em
    >trend</em
    > towards off-site commenting in recent years. With the rise of the social networks (you know, this <a href="http://facebook.com"
    >Facebook</a
    >, <a href="http://twitter.com"
    >Twitter</a
    > and <a href="http://plus.google.com"
    >G+</a
    > things), sharing links and quick commenting has become both popular and <em
    >usable</em
    >. Just post the link of the article or page in question, write your statement and fire off a new conversation.</p
  ><p
  >Moreover, sharing on social networks is beneficiary for all parties involved. Be it the author of the original article, the commenting author, the social network platform, or the readers of the comment embodied as “social network status message”. Perhaps the best thing about it is that the comment (and a potential conversation) about the topic in question is being made <em
    >intentionally</em
    > and <em
    >directed</em
    >. The author of the comment makes many useful and helpful decisions before sharing her comments.</p
  ><p
  >After it was clear for me that off-site commenting is far better than on-site commenting, I thought about a second, related question. I asked myself: “Why should I limit my readers?”. And of course, that’s a very valid question. Why should I, as author of an article, limit the feedback and conversation possibilities for my readers?</p
  ><p
  >At first sight, I thought that it’s not a good idea to limit feedback channels. Even more, just <em
    >switching off</em
    > the comment feature on a blog is &#8211; well &#8211; quite unnatural, since most of the blogs out there have (excellent) on-site commenting. Additionally, from a open communication perspective, it’s counterintuitive to simply block a communication channel. Especially for someone like me, who really is very dedicated and passionate to <em
    >develop and foster communication and feedback all the time</em
    >. However, I finally decided to disable this communication/feedback channel and go for the hard way. The key argument here is based on a very simple idea: Providing a <em
    >wrong</em
    > option doesn’t improve anything.</p
  ><p
  >That’s why I’ll no longer provide on-site comments on my website. You can share your feedback with me and others at any time. Write your thoughts on your own website, post your comment on a social network, link to original or related sources and let me know about your comment if you like. You can surely just send me an email as well.</p
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/no-more-blog-comments/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Agilist: Agile Scrum-Master</title>
		<link>http://ilker.de/der-agilist-agile-scrummaster</link>
		<comments>http://ilker.de/der-agilist-agile-scrummaster#comments</comments>
		<pubDate>Mon, 14 May 2012 13:38:37 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Methods]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3532</guid>
		<description><![CDATA[Nach einer kurzen Verschnaufpause möchte ich heute meine Interview-Serie der Agilisten fortführen und gleich mit einem interessanten Thema einsteigen: Der Stand der heutigen agilen Software-Entwicklung aus der Perspektive des Scrum-Master. Der Scrum-Master ist eine besondere Rolle im Rahmenwerk Scrum. Wenn auch nicht [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.der-agilist-agile-scrum-master .figure {
  float: right;
  margin-left: 8px;
}
.der-agilist-agile-scrum-master blockquote {
  margin-top: 24px;
  padding-bottom: 6px;
  padding-top: 12px;
  border-left: 0px;
  border-bottom: 1px solid #c2c3c4;
  border-top: 1px solid #c2c3c4;
}
.der-agilist-agile-scrum-master #content hr {
  display:block;
  height:1px;
  color:#c2c3c4;
}
#weitere-interviews-der-serie-der-agilist {
  font-size:smaller;
}
</style>
<p
>Nach einer kurzen Verschnaufpause möchte ich heute meine Interview-Serie der <a href="/der-agilist"
  >Agilisten</a
  > fortführen und gleich mit einem interessanten Thema einsteigen: Der Stand der heutigen agilen Software-Entwicklung aus der Perspektive des <em
  >Scrum-Master</em
  >. Der Scrum-Master ist eine besondere Rolle im Rahmenwerk Scrum. Wenn auch nicht die wichtigste, ist es dennoch eine intensive und spannende Rolle.</p
><div id="im-interview:-bettina-ruggeri"
><h3
  >Im Interview: Bettina Ruggeri</h3
  ><div class="figure"
  ><img src="/wp-content/uploads/2012/05/der_agilist_bettina.jpg"
     /><p class="caption"
    ></p
    ></div
  ><p
  >Gerade wegen des intensiven Wirkungsspektrums der Rolle ist es mir eine Freude, mit <a href="https://www.xing.com/profile/Bettina_Ruggeri"
    >Bettina Ruggeri</a
    > eine erfahrene Scrum-Masterin für ein Interview gewinnen zu können. Bettina blickt nicht nur auf vielschichtige Erfahrungen als Scrum-Master zurück, sondern ist darüber hinaus eine engagierte Scrum-Masterin, die gerne den Austausch mit Kollegen sucht und das stetige Lernen befürwortet &#8211; ja sogar vorlebt. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!</p
  ><blockquote
  ><p
    >Hallo Bettina. Was machst Du beruflich?</p
    ></blockquote
  ><p
  >Aktuell verbreite &amp; lebe ich agile Werte und Methoden als Scrum Master und Kanban Coach. Dazu betreue ich die Ausbildung in unserem Unternehmen und werde vielfach als Moderator eingesetzt.</p
  ><p
  >Darüber hinaus arbeite ich im beruflichen und privaten Umfeld als Konfliktmoderatorin/Mediatorin und begleite Menschen als systemischer Coach.</p
  ><blockquote
  ><p
    >Welches sind Deine Ziele bei der agilen Software-Entwicklung?</p
    ></blockquote
  ><p
  >Mein Ziel ist eine verbesserte Zusammenarbeit, um gemeinsam Ziele zu erreichen. Deshalb möchte ich eine Firmenkultur fördern, in der die Interessen aller Mitarbeiter gesehen werden, Freude an Weiterentwicklung und ein wertschätzendes Fehler- und Konfliktverhalten gelebt wird.</p
  ><p
  >Und so konzentriere ich mich immer mehr auf die Menschen, die mir im Leben begegnen &#8211; sei es jeder Einzelne, Teams und auch das Management.</p
  ><p
  >Aus meiner Sicht sind Akzeptanz und ein vertrauensvolles Umfeld der notwendige Raum, um Kreativität und Begeisterung für erfolgreiche Produkte zu entwickeln.</p
  ><blockquote
  ><p
    >Scrum ist mittlerweile das bekannteste und beliebteste agile methodische Vorgehen. Warum?</p
    ></blockquote
  ><p
  >Nun, es ist in erster Linie natürlich eine vielerorts erfolgreiches agiles Methodenwerk. Darüber hinaus <em
    >erscheint</em
    > es dem Neuling bzw. Interessierten auch als ein einfaches Methoenmodell, weil es nur wenige “Regeln” mit sich bringt.</p
  ><p
  >Betrachtet man die Zuneigung zu Scrum etwas genauer, fällt einem schnell auf, das ein Großteil der Vorliebe dem agilen Wert der “Menschenorientierung” zu schulden ist. Scrum stellt den Menschen in den Vordergrund, wie jede andere agile Vorgehensweise auch. Das ist ein Schlüsselfaktor denke ich.</p
  ><blockquote
  ><p
    >Ist Scrum wirklich so einfach, wie es immer gesagt und vermittelt wird?</p
    ></blockquote
  ><p
  >Nein, Scrum ist nicht wirklich einfach. Ich denke, Scrum will das auch gar nicht sein. Der “Schein” des einfachen mit den wenigen Rollen, Regeln und Gremien ist zwar da, aber das war’s auch schon. Themen wie Selbstorganisation und Eigeninteresse an Weiterentwicklung sind äußerst schwierig. Sowohl für den Einzelnen, wie auch für die Gemeinschaft.</p
  ><p
  >Ein kurzes Beispiel hilft vielleicht zur Veranschaulichung. In agilen Methoden &#8211; so auch in Scrum &#8211; gibt es vielschichtige Feedback- und Reflektionsmechanismen. Menschen werden daduch quasi <em
    >gezwungen</em
    >, eine Überprüfung der Lage und Ihres Handelns durchzuführen. Das ist schwerer als man denken mag, denn wir Menschen tun uns meist leichter zu sagen, was wir <em
    >nicht</em
    > wollen. Doch das zu sagen, was wir <em
    >stattdessen</em
    > wollen, ist ungleich schwieriger.</p
  ><blockquote
  ><p
    >Wieso ist der Scrum-Master für ein Scrum-Team so wichtig? Alle im Team ‘können’ ja Scrum, oder nicht?</p
    ></blockquote
  ><p
  >Nun, es liegt in der Natur des Menschen, das man in seinem Aufgabenfeld von Zeit zu Zeit in eine gewisse Routine kommt. Dinge, Methoden und Auffassungen schleifen sich ein und der Blick über den Tellerrand fällt dann dem einen oder anderen schwerer.</p
  ><p
  >Ein “frischer Wind” von außen, eine Kraft, die manche steife Blicke wieder aufweitet tut in diesem Moment meines Erachtens gut. Als Scrum-Master erlebe ich mich als die Kraft, die hilft, die gemeinsame Komfort-Zone zu hinterfragen. Insofern kann man sagen, dass es auch eine meiner Aufgaben ist, “unbequem” zu sein. Das Ziel dabei ist die Weiterentwicklung der Arbeitsweisen.</p
  ><blockquote
  ><p
    >Warum wird oft bei agilen Einführungen der Scrum-Master als neuer ‘Projekt-Manager’ gesehen?</p
    ></blockquote
  ><p
  >Diese Wahrnehmung hat viele Gründe. Meistens hat es mit der Ab- und Übergabe von Vertrauen und Verantwortung zu tun. Ein klassisches Management ist es gewohnt, Verantwortung explizit an Personen zu übertragen. Es braucht eine Bezugsperson, der sie die Verantwortung buchstäblich ‘in die Hände’ legt.</p
  ><p
  >Manchmal ist es auch etwas banaleres, wie z.B. die nackte Tatsache, dass die völlige Transparenz zwischen Team und Produktverantwortlichen nicht erwünscht ist. Das mag aus vielerlei Motivationsfaktoren entstehen. Entscheidend ist aber meiner Meinung nach, dass man solche Faktoren erkennt. Nur dadurch lässt sich auch ein überlegter Umgang mit der Situation ermöglichen.</p
  ><blockquote
  ><p
    >Welches sind Deiner Meinung nach die Kern-Eigenschaften eines guten Scrum-Masters?</p
    ></blockquote
  ><p
  >Die wichtigste Eigenschaft ist sicherlich die <em
    >“Liebe zu den Menschen”</em
    >. Als Scrum-Master arbeitet man viel mit und an den Menschen. Da ist es quasi fundamental, den Umgang mit vielerlei Charakteren und Meinungen zu mögen.</p
  ><p
  >Darüber hinaus zeichnet sich ein Scrum-Master für mich durch das leben und vermitteln von Werten wie Akzeptanz, Wertschätzung und Vertrauen aus. Das sind elementare Werte, um den Raum für Kreativität zu schaffen und zu schützen.</p
  ><blockquote
  ><p
    >In wie weit lässt sich Scrum-Master als Rolle mit disziplinarischer Führung vereinbaren?</p
    ></blockquote
  ><p
  >Meiner Meinung nach ist das eine Frage der Integration in die Unternehmensorganisation. Natürlich wird auch in die Scrum-Master-Rolle viel Verantwortung “hineininterpretiert”. Das man auch ein ausschlaggebender Faktor sein, muss es aber nicht. Ich denke das mangelnde Vertrauen in das Team ist eher kontraproduktiv. Ich persönlich möchte als Scrum-Master lieber keine disziplinarische Verantwortung übernehmen. Ich denke es wäre für mich und meine Arbeit mit den Menschen eher ein Hindernis als ein Vorteil.</p
  ><blockquote
  ><p
    >Welches sind die Nachteile der Scrum-Master-Rolle in der Praxis?</p
    ></blockquote
  ><p
  >Ich glaube das ein Scrum-Master schon vor der Herausforderung steht, sich, seine Aufgaben und seine Rolle jederzeit klar nach außen zu kommunizieren und darzulegen. Der Scrum-Master wird im Alltag meist aus dem Hintergrund agieren und das Team in den Vordergrund stellen. Das ist mit eine der Hauptaufgaben. Schließlich ist die Förderung der Selbst-Organisation des Teams ein wichtiger Eckpfeiler in Scrum.</p
  ><p
  >Daraus kann sich aber auch eine Wahrnehmung Dritter ergeben, die den Scrum-Master als passiv oder so ähnlich empfinden. Eine klare Kommunikation und das ständige Feedback der Mitarbeiter können diesen Wahrnehmungen entgegenwirken.</p
  ><blockquote
  ><p
    >Was ist für Dich das wichtigste an einem agilen Team?</p
    ></blockquote
  ><p
  >Die Freude an der Arbeit und an der gemeinsamen Leistung ist sicherlich ein sehr hohes Gut. Das ist natürlich auch eine individuelle Frage der Motivation. Gerade diese Individualität fordert von einem agilen Team eine gesunde Kompromiss- und Konfliktfähigkeit. Besonders die gemeinschaftliche Findung und Beschreitung eines Konsens ist für ein agiles Team von großem Wert.</p
  ><p
  >In diesem Zusammenhang ist es auch wichtig zu erkennen, dass diese Werte nicht einfach “erlangt werden”, sondern von allen stetige Aufmerksamkeit abverlangen. Konsens- und Kompromissfähigkeit ist keine Eigenschaft, sondern ein Ziel, welches jedes Mal angegangen und erarbeitet werden will.</p
  ><blockquote
  ><p
    >Was fehlt Deiner Meinung nach in der agilen Lebens- und Arbeitsweise?</p
    ></blockquote
  ><p
  >Ich bin der Überzeugung, dass mangelndes Vertrauen eine große Hürde darstellt. Meine Erfahrung hat mir gezeigt, das gerade diese Öffnung des Einzelnen dem Anderen gegenüber ein großer und schwieriger Schritt ist. Gerade in unserer heutigen Zeit, in der die Professionalisierung mit Klarheit, Sachlichkeit und Nüchternheit assoziiert wird. Vertrauen passt zwar nicht in dieses Bild, aber das liegt nicht am Vertrauen, sondern eben an diesem verzerrten Bild der Professionalität.</p
  ><p
  >Akzeptanz und Wertschätzung sind weitere wichtige Werte, die oftmals &#8211; ja sogar in agilen Projekten und Unternehmen &#8211; vernachlässigt werden. Hier können und müssen wir dran bleiben.</p
  ><blockquote
  ><p
    >Wenn Du Dir für die agile Arbeitswelt etwas wünschen könntest, was würdest Du Dir wünschen?</p
    ></blockquote
  ><p
  >Eine vertrauensvolle und optimistische Firmenkultur, die sich auf die Erreichung der gemeinsamen Ziele konzentriert. Es mag sich etwas abgehoben oder esoterisch anhören, aber es ist durchaus aller Ehren wert, wenn man sich vornimmt, einfach “Licht in die Welt zu tragen”. Manchmal geht uns Menschen der Blick für das große Ganze auch verloren, dann hilft es, sich wieder auf die grundlegenden Dinge zu stützen.</p
  ><p
  >Oft wird z.B. vergessen, dass wir nicht arbeiten, um zu Leben, sondern das die Arbeit Teil unseres Lebens ist. Man kann und sollte nicht einfach 8 oder mehr Stunden seines täglichen Lebens einfach so ausblenden. Das Ziel sollte sein, dass wir als Menschen unsere Arbeit mit Freude erledigen und dass alle Interessen umgesetzt und gelebt werden können. Vertrauen, Akzeptanz, Wertschätzung sind die Kräfte, die uns dabei helfen können.</p
  ><p
  ><strong
    >Vielen Dank, Bettina!</strong
    ></p
  ><div id="weitere-interviews-der-serie-der-agilist"
  ><h5
    >Weitere Interviews der Serie “Der Agilist”</h5
    ><ul
    ><li
      ><a href="/der-agilist-agile-coaching"
	>Agile Coaching</a
	> mit Christian Dähn</li
      ><li
      ><a href="/der-agilist-agile-games"
	>Agile Games</a
	> mit Thorsten O. Kalnin</li
      ><li
      ><a href="/der-agilist-agile-devops"
	>Agile DevOps</a
	> mit Andreas Mandi-Beke</li
      ><li
      ><a href="/der-agilist-agile-und-kanban"
	>Agile und Kanban</a
	> mit Markus Andrezak</li
      ><li
      ><a href="/der-agilist-agile-management"
	>Agile Management</a
	> mit Kai Simons</li
      ><li
      ><a href="/der-agilist-agile-engineering"
	>Agile Engineering</a
	> mit Björn Rochel</li
      ><li
      ><a href="/der-agilist-agile-education"
	>Agile Education</a
	> mit Ole Pophal</li
      ></ul
    ></div
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/der-agilist-agile-scrummaster/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Cologne 2012: CI Secrets</title>
		<link>http://ilker.de/dotnet-cologne-2012-ci-secrets</link>
		<comments>http://ilker.de/dotnet-cologne-2012-ci-secrets#comments</comments>
		<pubDate>Mon, 07 May 2012 14:53:59 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3526</guid>
		<description><![CDATA[Die diesjährige .NET Cologne war für mich ein einzigartiges Erlebnis. Ich habe die ganze Intensität der Community und der Teilnehmer erleben dürfen. Obgleich ich zum Konferenztag später ankam als ursprünglich geplant, war ich dennoch froh darüber, dann bei Ankunft viele alte und [...]]]></description>
			<content:encoded><![CDATA[<p
>Die diesjährige <a href="http://www.dotnet-cologne.de"
  >.NET Cologne</a
  > war für mich ein einzigartiges Erlebnis. Ich habe die ganze Intensität der Community und der Teilnehmer erleben dürfen. Obgleich ich zum Konferenztag später ankam als ursprünglich geplant, war ich dennoch froh darüber, dann bei Ankunft viele alte und neue Gesichter sehen zu können.</p
><p
>Das spannende an der Konferenz ist sicherlich die Größe und Qualität. Es gibt de facto keine größere (und für mein Empfinden auch beeinflussendere) Community-Konferenz für das Microsoft &amp; .NET-Umfeld als die .NET Cologne. Schaut man sich die Agenda der Konferenz an, weiß man auch, warum.</p
><p
>Ich habe bei der diesjährigen Konferenz einen kleinen Beitrag leisten dürfen, in dem ich meinen Vortrag über die Geheimnisse der Continuous Integration <em
  >“CI-Secrets”</em
  > gehalten habe. In diesem Vortrag bin ich in klaren Worten auf die offensichtlichen und etwas versteckteren Kniffe eingegangen, die man methodisch und technisch anwenden kann, um eine Continuous Integration erfolgreich im Team zu manifestieren. Meine drei Haupt-Themen-Gebiete waren dabei <em
  >Kultur</em
  >, <em
  >Automatisierung</em
  > und <em
  >Qualität</em
  >.</p
><p
>Ich möchte jetzt nicht weiter auf die einzelnen Talks oder Eindrücke eingehen, die ich bei der Konferenz sammeln konnte. Viel mehr liegt es mir am Herzen, dem Veranstalter, Sponsoren, Vortragenden und Teilnehmern für eine absolute Spitzen-Konferenz zu danken. Ganz Besonders die Veranstalter und Sponsoren haben es ermöglicht, nun mittlerweile über mehrere Jahre der .NET Community eine Konferenz im Stile einer Top-Wissenstransfer-Plattform bereitzustellen.</p
><p
>Die .NET Cologne ist unverzichtbar &#8211; für ausnahmslos jeden, der im .NET Software-Development tätig ist. Ich kann es jedem .NET Enthusiasten oder Interessierten uneingeschränkt empfehlen.</p
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/dotnet-cologne-2012-ci-secrets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kurzbericht: .NET Day Franken 2012</title>
		<link>http://ilker.de/kurzbericht-dotnet-day-franken-2012</link>
		<comments>http://ilker.de/kurzbericht-dotnet-day-franken-2012#comments</comments>
		<pubDate>Wed, 02 May 2012 15:40:16 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3513</guid>
		<description><![CDATA[Letzten Samstag war ich in Nürnberg. Aus gutem Grund. Der .NET Day Franken hatte wieder einmal die .NET-Gemeinde zusammengerufen, um an einem schönen sonnigen Tag nicht nur die Sonne zu geniessen, sondern auch aktuelles Wissen und Know-How in der .NET-Software-Entwicklung abzurufen. Wie [...]]]></description>
			<content:encoded><![CDATA[<p
>Letzten Samstag war ich in Nürnberg. Aus gutem Grund. Der <a href="http://www.dotnet-day-franken.de/"
  >.NET Day Franken</a
  > hatte wieder einmal die .NET-Gemeinde zusammengerufen, um an einem schönen sonnigen Tag nicht nur die Sonne zu geniessen, sondern auch aktuelles Wissen und Know-How in der .NET-Software-Entwicklung abzurufen. Wie auch schon im letzten Jahr (und auch die Jahre davor?), war die Veranstaltung ausverkauft. Aus gutem Grund. Wer sich die <a href="http://www.dotnet-day-franken.de/program/"
  >Agenda</a
  > der Community-Konferenz anschaut, wird nicht lange andere Gründe suchen.</p
><p
>Ich hatte schon letztes Jahr einmal über <a href="/you-got-an-f"
  >meine Eindrücke zum .NET Day Franken</a
  > geschildert. Der Artikel hat nicht einen Hauch von Aktualität verloren. Aus gutem Grund. Es waren alle “F” des letzten Jahres wie gewohnt vertreten. Mehr noch, in diesem Jahr legte der Veranstalter sogar noch eine Schippe drauf. Ich sag’ nur: Film, Fantasie, Freunde und Fit.</p
><p
>Ich kann zu den einzelnen Talks leider nicht sehr viel sagen. Aus gutem Grund. Ich konnte nur an einer einzigen Session teilnehmen &#8211; und das noch nicht mal vollständig. Dafür schäme ich mich auch. Aus gutem Grund. Denn die Session &#8211; es war die “Wie ruiniere ich ein Scrum-Team”-Session von <a href="http://www.conplement.de/udowiegaertner.html"
  >Udo Wiegärtner</a
  > &#8211; war qualitativ und quantitativ sehr anspruchsvoll.</p
><p
>Ich bin mir sicher, dass auch die anderen Sessions in der gleichen Liga gespielt haben. Ich durfte mich glücklich schätzen, meinen “Amigo Agilo”-Beitrag zu der Veranstaltung beizusteuern. Der Mut und das Vertrauen des Veranstalters kann an dieser Stelle gar nicht hoch genug gelobt werden. Diese Jungs sind einfach eine Klasse für sich.</p
><p
>Mein eigener Eindruck war jedoch, dass sich das Vertrauen des Veranstalters in mich nicht ausgezahlt hat. Aus gutem Grund. Ich war mit meinem Talk ziemlich unzufrieden. Ich hatte das Gefühl, dass ich mein Thema nicht vollends und klar jedem Teilnehmer vermitteln konnte. Insofern bin ich doppelt dankbar, dass sich meine Zuhörer mir erbarmt haben und trotz meiner Schwierigkeiten Interesse an meinem Thema gezeigt haben. Danke vielmals, ich weiß es sehr zu schätzen.</p
><div id="fazit:-hingehen.-aus-gutem-grund."
><h3
  >Fazit: Hingehen. Aus gutem Grund.</h3
  ><p
  >Mir bleibt nach einem wunderbaren und sehr gelungenen Community-Konferenz-Tag in Nürnberg wieder einmal nur die eine, einzig mögliche Schlußfolgerung: Der .NET Day Franken ist eine Pflichtveranstaltung für die .NET-Software-Entwicklungswelt Süddeutschlands. Das Format, die Verpflegung, die Sprecher, die Themen, die Geselligkeit, die Offenheit, die Location, die Frische. Das alles und vieles mehr spricht für den .NET Day Franken.</p
  ><p
  >Fazit: Hingehen. Aus gutem Grund.</p
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/kurzbericht-dotnet-day-franken-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Agilist: Agile Education</title>
		<link>http://ilker.de/der-agilist-agile-education</link>
		<comments>http://ilker.de/der-agilist-agile-education#comments</comments>
		<pubDate>Mon, 16 Apr 2012 18:38:20 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3503</guid>
		<description><![CDATA[Nun ist die Agilität schon mehr als eine Dekade alt. Für einige mag das schon als lange erscheinen, andere wiederum empfinden die Agilität als noch sehr junge Disziplin. Doch wie bei nahezu allen Disziplinen der Neuzeit kämpft die Agilität mit der Vernachlässigung [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.der-agilist-agile-education .figure {
  float: right;
  margin-left: 8px;
}
.der-agilist-agile-education blockquote {
  margin-top: 24px;
  padding-bottom: 6px;
  padding-top: 12px;
  border-left: 0px;
  border-bottom: 1px solid #c2c3c4;
  border-top: 1px solid #c2c3c4;
}
.der-agilist-agile-education #content hr {
  display:block;
  height:1px;
  color:#c2c3c4;
}
#weitere-interviews-der-serie-der-agilist {
  font-size:smaller;
}
</style>
<p
>Nun ist die Agilität schon mehr als eine Dekade alt. Für einige mag das schon als lange erscheinen, andere wiederum empfinden die Agilität als noch sehr junge Disziplin. Doch wie bei nahezu allen Disziplinen der Neuzeit kämpft die Agilität mit der Vernachlässigung einer besonders wichtigen Perspektive: der Ausbildung und Lehre.</p
><p
>In diesem siebten Interview der Interviewserie der <a href="der-agilist.html"
  >Agilisten</a
  > widme ich mich dem Punkt der <em
  >Agile Education</em
  >. Das hört sich Anfangs etwas komisch an, in einer Zeit, in der Wissen und Informationsmanagement als “Kulturbestandteil” wahrgenommen werden. Doch Bildung &amp; Lehre werden im Software-Entwicklungs-Arbeitsleben leider zu oft auf Konferenzen und Zertifikate reduziert. Eine sehr eindimensionale Sicht wie ich finde.</p
><div id="im-interview:-ole-pophal"
><h3
  >Im Interview: Ole Pophal</h3
  ><div class="figure"
  ><img src="/wp-content/uploads/2012/04/der_agilist_ole.jpg"
     /><p class="caption"
    ></p
    ></div
  ><p
  >In diesem Interview freue ich mich sehr, mit <a href="https://www.xing.com/profile/Ole_Pophal"
    >Ole Pophal</a
    > einen ambitionierten Zeitgenossen gefunden zu haben, der sich den Weg in die Agilität mit Stringenz und Freude gebahnt hat. Im Gespräch mit Ole galt es, die Perspektive sowie den Status Quo der Lehre &amp; Ausbildung von agiler Software-Entwicklung abzuklopfen. Ole ist durch seine jüngsten Erfahrungen im Studium dafür der ideale Gesprächspartner. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!</p
  ><blockquote
  ><p
    >Hallo Ole. Was machst Du beruflich?</p
    ></blockquote
  ><p
  >Ich bin Offizier bei der Bundeswehr und dort derzeit als IT-Koordinator im Bereich IT-Service-Management eingesetzt. Zu meinem Aufgaben gehört dort die Kommunikation von Anforderungen bzw. Problemen zwischen der Bundeswehr und dem (externen) IT-Dienstleister, wie auch die Erarbeitung von Konzepten zum Einsatz der IT in dem mir zugeordneten Teilbereich der Bundeswehr (Organisationsbereich).</p
  ><blockquote
  ><p
    >Welches sind Deine Ziele bei der agilen Software-Entwicklung?</p
    ></blockquote
  ><p
  >Ich möchte nach meiner Zeit bei der Bundeswehr (2013) weiterhin im Bereich IT arbeiten. Vermutlich nicht in direkt in der Softwareentwicklung sondern eher an der Schnittstelle “Kunde zu Entwicklung”. Wichtig sind mir hierbei zukünftig Aufgaben, die mir und meinem Team Kreativität und Freiraum bei der Problemlösung ermöglichen.</p
  ><blockquote
  ><p
    >Wann bist Du mit agiler Software-Entwicklung in Kontakt gekommen und wie?</p
    ></blockquote
  ><p
  >Mein “Erstkontakt” war im Rahmen meines Studiums, Ende 2010. Es war zugleich das Thema des ersten Vorlesungsmoduls wie auch das angedachte Vorgehen für unser studentisches Entwicklungsprojekt.</p
  ><p
  >Das war Pflichtlektüre für alle Teilnehmer des Studiengangs. Der Studiengang ist vollständig berufsbegleitend für alle Teilnehmer gewesen. In meinem Erststudium (2002–2006) war von agiler Entwicklung noch keine Rede, sondern es wurden eher die klassischen Vorgehensmodelle (Wasserfall, V-Modell) gelehrt.</p
  ><p
  >Das war schon etwas Besonderes für mich, denn offen gesagt habe ich von agilen Methoden vorher nur “so nebenher” etwas gehört. Es mag auch daran liegen, dass ich mich davor berufsbedingt nicht besonders stark mit der Software-Entwicklung auseinandergesetzt habe.</p
  ><blockquote
  ><p
    >Was ist für Dich das Besondere an der agilen Software-Entwicklung?</p
    ></blockquote
  ><p
  >Meiner Meinung nach stellt Sie das Individuum wieder mehr in den Mittelpunkt der Entwicklung. Dies betrifft sowohl die starke Orientierung am Kunden, wie auch den einzelnen Entwickler, der in seiner Freiheit und Kreativität &#8211; aber auch seiner Verantwortung gestärkt wird.</p
  ><p
  >Das ist z.B. im Vergleich zu klassischen Methoden schon etwas anderes. Ich denke, dass gerade die Orientierung am Wunsch des Kunden durch den klassischen Wasserfallansatz vielleicht nicht immer im Zentrum der Entwicklung stand. Besonders der ständige Abgleich der Entwicklung mit den Wünschen bzw. der Vision des Kunden ist bspw. beim V-Modell in der Art meiner Meinung nach nicht gegeben.</p
  ><blockquote
  ><p
    >Wie ausgeprägt ist die Ausbildung und Information über Agilität im Studium?</p
    ></blockquote
  ><p
  >In meinem Erststudium war es de facto nicht vorhanden. Also kann ich eigentlich nur aus der Qualität und Intensität meines zweiten Studiums berichten. Die vermittelten Kenntnisse hängen natürlich stark von der Qualität des Dozenten und dessen Erfahrung mit der Agilität ab.</p
  ><p
  >In meinem Fall wurde ein Scrum-Master als Dozent eingesetzt, der nach Scrum auch in seinem derzeitigen Berufsumfeld entwickelt. Die restlichen Module des Studiums (z.B. Softwarequalität und -test etc.) waren nicht unbedingt auf agile Methoden und Vorgehensweisen ausgerichtet.</p
  ><p
  >Es gehört meiner Meinung nach schon “ein Quentchen Glück” dazu, auch einen kompetenten und erfahrenen Dozenten zu haben. Das wird sicherlich auch von Studiengang zu Studiengang ganz unterschiedlich im Bezug auf Umfang und Qualität sein.</p
  ><blockquote
  ><p
    >Zu welcher ‘Disziplin’ würdest Du Agilität eher einordnen: Software-Entwicklung oder Organisations-Management?</p
    ></blockquote
  ><p
  >Ich denke, dass es in beide Bereiche gehört. Wenn ich mich jedoch entscheiden müsste, dann würde ich es persönlich eher dem Organisations-Management zuordnen.</p
  ><p
  >Es gibt in Unternehmen ja bereits den Bereich des “Change und Innovation Management”. Ich denke dort würde es vermutlich am besten hinpassen. Als eigene Disziplin oder Methode ist es mir aus diesem Bereich jedoch nicht bekannt.</p
  ><blockquote
  ><p
    >Kann man Deiner Meinung nach Agilität überhaupt klassisch didaktisch aufbereiten und lehren?</p
    ></blockquote
  ><p
  >Ich denke Agilität (im Sinne der mir bekannten Methode zur Softwareentwicklung) setzt neben den passenden Methoden und Werkzeugen vielmehr noch eine entsprechende geistige Haltung voraus.</p
  ><p
  >Damit meine ich eine Bereitschäft für Veränderung und flexibles Reagieren. Ich denke schon, dass es grundsätzlich entsprechend aufbereitet und auch gelehrt werden kann. Ich bin mir jedoch nicht ganz sicher, inwiefern man diese Lehre in bestehende Lehrkonzepte integrieren kann.</p
  ><p
  >Meiner Erfahrung nach Bedarf es dabei aber nicht nur theoretischer Module. Ich hatte z.B. das begleitende Studienprojekt, welches über 1 Jahr parallel zum Studium durchgeführt wurde. Erst im praktischen Vorgehen des Projektes konnte man die theoretischen Inhalte umsetzen und Erfahrungen sammeln, vor allem auch mit den Problemen, die im Zuge dieser Methode natürlich auch entstehen können.</p
  ><blockquote
  ><p
    >Welche Bestandteile der agilen Software-Entwicklung sind Deiner Meinung nach am schwersten zu vermitteln?</p
    ></blockquote
  ><p
  >Gerade die “agilen Werte” sind meiner Meinung nach schwer theoretisch zu vermitteln. Hierunter verstehe ich:</p
  ><ul
  ><li
    >Vertrauen (zwischen <em
      >Kunde</em
      > und <em
      >Entwicklung</em
      >)</li
    ><li
    >hohe Kommunikationsbereitschaft</li
    ><li
    >hohe intrinsische Motivation und Spaß an der Aufgabe</li
    ><li
    >bestmögliche Lösungen für den Kunden schaffen</li
    ></ul
  ><p
  >Es ist meiner Meinung nach schwer, dieses Wertegerüst der Agilität klar und deutlich zu transportieren.</p
  ><blockquote
  ><p
    >Was war Dein bisher schönstes Erlebnis in Verbindung mit Agilität?</p
    ></blockquote
  ><p
  >Das schönste Erlebnis war für mich das gemeinsame Arbeiten mit dem Ergebnis, den Kunden mit seiner eigenen Arbeit komplett zufrieden zu stellen &#8211; sogar noch über seine Erwartungen hinaus. Ich denke, dass so eine “Übererfüllung der Aufgabe” nur mit agilen Verfahren möglich ist.</p
  ><blockquote
  ><p
    >Was ist für Dich das wichtigste an einem agilen Team?</p
    ></blockquote
  ><p
  >Da gibt es meiner Meinung nach mehrere Punkte. Ich denke dass die richtige Teamgröße und Teamzusammenstellung ein entscheidender Faktor ist. Das Team darf nicht zu groß sein und die Teammitglieder sollten schon mit einer positiven Grundhaltung aufeinander zugehen können.</p
  ><p
  >Besonders wichtig ist für mich die Interdisziplinarität und Besetzung des Teams; also das Prinzip, dass jeder im Team jede Aufgabe durchführen kann. Andernfalls hätte man wieder das Potenzial zur fachlichen Silo-Bildung. Natürlich kann nicht jeder alles gleich gut. Aber dass zumindest jeder im Team jede Aufgabe umsetzen kann ist schon ein wichtiger Bestandteil des Teams für mich.</p
  ><blockquote
  ><p
    >Was fehlt Deiner Meinung nach in der agilen Lebens- und Arbeitsweise?</p
    ></blockquote
  ><p
  >Das ist eine schwierige Frage. Ich habe ja nun nicht einen sehr großen Erfahrungsschatz in Punkto Agilität. Ich sehe derzeit keine Mängel in der Methodik oder den Praktiken.</p
  ><p
  >Vielmehr denke ich, dass es im Umfeld der Agilität noch einiges an Nachholbedarf gibt. Damit meine ich größtenteils die Stärkung der Akzeptanz der agilen Software-Entwicklung &#8211; sowohl unternehmerisch, als auch gesellschaftlich.</p
  ><blockquote
  ><p
    >Wenn Du Dir für die agile Arbeitswelt etwas wünschen könntest, was würdest Du Dir wünschen?</p
    ></blockquote
  ><p
  >Da möchte ich nahtlos an meine vorherige Antwort anknüpfen. Ich denke, dass die Wahrnehmung der agilen Methoden als <em
    >ernsthaftes Management- und Organisationsmodell</em
    > noch weiter ausgebaut werden kann und sollte.</p
  ><p
  >Ich würde mir wünschen, dass man diese Anerkennung weiter vorantreibt. Auch durch anpacken von eventuell halbherzigen “pro Forma”-Umsetzungen oder weiteren Entwicklungsbereichen. Ich denke, dass die agile Methodik schon längst aus den Kinderschuhen heraus ist und auch die notwendige fundierte Basis hat, um breite Anerkennung in der IT-Arbeitswelt zu erlangen. Ich wünsche mir sowohl breite als auch tiefe Akzeptanz der Agilität in der IT-Branche.</p
  ><p
  ><strong
    >Vielen Dank, Ole!</strong
    ></p
  ><div id="weitere-interviews-der-serie-der-agilist"
  ><h5
    >Weitere Interviews der Serie “Der Agilist”</h5
    ><ul
    ><li
      ><a href="der-agilist-agile-coaching.html"
	>Agile Coaching</a
	> mit Christian Dähn</li
      ><li
      ><a href="der-agilist-agile-games.html"
	>Agile Games</a
	> mit Thorsten O. Kalnin</li
      ><li
      ><a href="der-agilist-agile-devops.html"
	>Agile DevOps</a
	> mit Andreas Mandi-Beke</li
      ><li
      ><a href="der-agilist-agile-und-kanban.html"
	>Agile und Kanban</a
	> mit Markus Andrezak</li
      ><li
      ><a href="der-agilist-agile-management.html"
	>Agile Management</a
	> mit Kai Simons</li
      ><li
      ><a href="der-agilist-agile-engineering.html"
	>Agile Engineering</a
	> mit Björn Rochel</li
      ></ul
    ></div
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/der-agilist-agile-education/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Agilist: Agile Engineering</title>
		<link>http://ilker.de/der-agilist-agile-engineering</link>
		<comments>http://ilker.de/der-agilist-agile-engineering#comments</comments>
		<pubDate>Mon, 09 Apr 2012 08:50:28 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3493</guid>
		<description><![CDATA[In dem folgenden Interview der Serie der Agilisten geht es um die impulsgebende Perspektive der Agilen Bewegung: dem Agile Engineering. Gerade diese besondere Perspektive in der agilen Software-Entwicklung ist durch die Vielzahl der neuen und wichtigen Fortschritte in der agilen Gemeinde in [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.der-agilist-agile-engineering .figure {
  float: right;
  margin-left: 8px;
}
.der-agilist-agile-engineering blockquote {
  margin-top: 24px;
  padding-bottom: 6px;
  padding-top: 12px;
  border-left: 0px;
  border-bottom: 1px solid #c2c3c4;
  border-top: 1px solid #c2c3c4;
}
.der-agilist-agile-engineering #content hr {
  display:block;
  height:1px;
  color:#c2c3c4;
}
#weitere-interviews-der-serie-der-agilist {
  font-size:smaller;
}
</style>
<p
>In dem folgenden Interview der Serie der <a href="der-agilist"
  >Agilisten</a
  > geht es um die impulsgebende Perspektive der Agilen Bewegung: dem <em
  >Agile Engineering</em
  >. Gerade diese besondere Perspektive in der agilen Software-Entwicklung ist durch die Vielzahl der neuen und wichtigen Fortschritte in der agilen Gemeinde in letzter Zeit eher hinter den Kulissen anzutreffen. Doch das ist keineswegs ein Indiz für Ruhe oder Müßiggang. Nein, das Gegenteil ist der Fall. Agile Entwicklung ist innovativer und anspruchsvoller geworden und macht auch mit leisen Sohlen große Fortschritte.</p
><div id="im-interview:-bj&#246;rn-rochel"
><h3
  >Im Interview: Björn Rochel</h3
  ><div class="figure"
  ><img src="/wp-content/uploads/2012/04/der_agilist_bjoern.jpg"
     /><p class="caption"
    ></p
    ></div
  ><p
  >Es ist mir eine Ehre, den erfahrenen Software-Entwickler und Agilisten <a href="http://bjro.de"
    >Björn Rochel</a
    > Fragen über das spannende Feld der agilen Software-Ingenieurs-Kunst stellen zu dürfen. Wie kaum ein anderer versteht es Björn technologie- und fachübergreifend im Konzert der professionellen Software-Entwicklung die richtigen Töne mit Gefühl und besonnener Intensität zu treffen. Die komplexe Partitur der Agilität spielt er dabei souverän in unerkannt akribischer Ingenieurs-Manier. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!</p
  ><blockquote
  ><p
    >Hallo Björn. Was machst Du beruflich?</p
    ></blockquote
  ><p
  >Derzeit arbeite ich als Software Engineer für das soziale Netzwerk <a href="www.xing.com"
    >XING</a
    >. Mein Team ist verantwortlich für die <a href="https://dev.xing.com/"
    >XING Developer API</a
    >, die im März als Closed Beta gestartet ist. Davor war ich lange Jahre in unterschiedlichen Rollen (Entwickler, Berater, Architekt) im Microsoft .NET Umfeld tätig.</p
  ><blockquote
  ><p
    >Welches sind Deine Ziele bei der agilen Software-Entwicklung?</p
    ></blockquote
  ><p
  >Kurz und knapp: Zufriedene Kunden, erfolgreiche Projekte, technische Exzellenz &#8211; und ein harmonisches, zufriedenes Entwicklungsteam. Alles unter einem Hut. <img src='http://ilker.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p
  ><blockquote
  ><p
    >Was zeichnet Deiner Meinung nach einen agilen Entwickler aus?</p
    ></blockquote
  ><p
  >An erster Stelle steht hier die Eigenschaft des ‘Teamplayers’. Die Kooperationsbereitschaft und -umsetzung ist ein wichtiges Erfolgsrezept für einen agilen Entwickler.</p
  ><p
  >Gleichermaßen zeichnet sich der agile Entwickler durch seine Ansicht aus, dass Software-Entwicklung mehr ist, als einfach nur Code zu schreiben. Es braucht heutzutage eine Vielzahl von weiteren Kenntnissen und Rollen, um eine Software erfolgreich zu gestalten.</p
  ><p
  >Doch das ist nicht alles, denn für mich hat ein agiler Entwickler noch eine weitere Schlüsseleigenschaft. Der agile Entwickler ist sich darüber im Klaren, das Software ständig im Wandel ist und sein wird. Stetige Veränderungsbereitschaft und Lernbereitschaft ist ‘Agilität’ im wahrsten Sinne des Wortes. Ein Design, welches heute gut aussieht und allen Ansprüchen genügt, kann übermorgen schon nicht mehr tragfähig oder adequat werden. Veränderung und Lernen setzt Erkenntnisgewinn voraus. Idealerweise gemeinsam in einem agilen Team.</p
  ><blockquote
  ><p
    >Kann jeder Entwickler auch ein agiler Entwickler werden?</p
    ></blockquote
  ><p
  >Natürlich! Ich wüsste nicht, welche Eigenschaften dagegen sprechen würden. Es ist klar, dass sich der eine oder andere leichter oder schwerer tut bei der Entwicklung hin zu einem agilen Entwickler. Wenn die Veränderungsbereitschaft da ist, kann jeder Entwickler ein agiler Entwickler werden. Das sich dabei manche leichter tun &#8211; und andere etwas mehr Unterstützung benötigen &#8211; das ist ganz normal.</p
  ><blockquote
  ><p
    >Welche Methoden bzw. Praktiken sind für einen agilen Entwickler unverzichtbar?</p
    ></blockquote
  ><p
  >Das Thema <em
    >Testing</em
    > ist für mich das A und O. Ich persönlich bin ein Freund des TDD (Test-Driven-Design), aber es gibt keinen Anlass für mich, in dieser Sache dogmatisch zu sein. Jeder hat in diesem Punkt seine Vorlieben und persönliche Effizienz. Was hier zählt, ist die Schärfung des Bewußtseins für das Testing. Ergo: wenn es Tests gibt, gibt es einen Ankerpunkt, an dem die agile Entwicklungsweise sich festhalten und orientieren kann. In einfacheren Worten: Ohne Tests kein Sicherheitsnetz. Ohne Sicherheitsnetz ist Software nur schwer evolvierbar.</p
  ><blockquote
  ><p
    >Guter Punkt. Gibt es denn dann auch so etwas wie agiles Software-Design oder agile Software-Architekturen?</p
    ></blockquote
  ><p
  >Also ich glaube schon, das ein gewisses Set an Techniken für einen agilen Software-Entwickler hilfreich sein können. Dennoch würde ich aber nicht per se Architekturen oder einzelne Design-Techniken als “agile Architekturen” bezeichnen. Software sollte sich auch an der agilen Prämisse der “Veränderungsbereitschaft” messen lassen können. Dazu gibt es hilfreiche technische Methoden bzw. Prinzipien, wie z.B. lose Kopplung, hohe Kohäsion, <a href="http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29"
    >S.O.L.I.D.</a
    > oder <a href="http://de.wikipedia.org/wiki/Behavior_Driven_Development"
    >BDD</a
    > (Behavior-Driven-Design).</p
  ><p
  >Agiles Software-Design ist für mich demnach ein Design, welches die Flexibilität und Veränderbarkeit in sich verankert, aber gleichzeitig durch Tests und klare fachliche Umsetzung eine stabile Anwendung ermöglicht.</p
  ><blockquote
  ><p
    >Viele Entwickler tun sich auf dem Weg zur Agilität schwer. Welchen Rat würdest Du einem Entwickler geben, der sich mit der Adaption der Methode oder Techniken schwer tut?</p
    ></blockquote
  ><p
  >Puh, das ist eine wirklich schwierige Frage. Ich fange mal mit der methodischen Perspektive an.</p
  ><p
  >Sich stetig einer möglichen Veränderung zu stellen, neue Herangehensweisen zu lernen und dann auch noch auf Anhieb richtig anzuwenden gelingt den wenigsten Software-Entwicklern. Es ist absolut normal, wenn Dinge nicht auf Anhieb klappen. Ergo: <em
    >Ruhe bewahren.</em
    > Gute Reflektion und ein stabiler Lernwille helfen. Es gilt: nicht gleich aufgeben, denn schließlich macht erst Übung den Meister.</p
  ><p
  >Aus technischer Perspektive kann ich jedem nur den Rat geben, sich mit Testing als wichtigen Bestandteil intensiv zu beschäftigen. Als konkrete Hilfestellung für die immer wiederkehrende Frage, wie man existierende Software unter Tests bekommt, kann ich hier wärmsten das Buch <a href="http://www.amazon.de/Working-Effectively-Legacy-Code-ebook/dp/B005OYHF0A"
    >Working effectively with Legacy Code</a
    > von Michael Feathers empfehlen. Das war eines der ersten Bücher, die ich zu diesem Thema gelesen habe. Ich profitiere noch heute davon.</p
  ><blockquote
  ><p
    >Welche Nachteile hat Deiner Meinung nach die agile Vorgehensweise für Entwickler?</p
    ></blockquote
  ><p
  >Das ist eine persönliche, subjektive Sache. Agile Software-Entwicklung hat eine starke kollaborative und kommunikative Komponente. Insofern ist es für manch einen Entwickler ein Stückweit schwierig &#8211; gerade wenn man sich doch eher zurückziehen möchte und eigenständig am Rechner arbeiten möchte. Das kann als Nachteil ausgelegt werden. Ich persönlich habe schon des öfteren Entwickler kennen gelernt, die diesen kommunikativen Entwicklungsstil für sich als Nachteil empfunden haben. Das liegt aber weder daran, dass es objektiv ein Nachteil ist, noch daran, dass der Entwickler dafür generell ungeeignet gewesen wäre. Zumeist sind Unsicherheiten und halbherzige Umsetzungen an solchen Empfindungen mit beteiligt.</p
  ><blockquote
  ><p
    >Wieso sollte Software agil entwickelt werden und nicht anders?</p
    ></blockquote
  ><p
  >Agile Software-Entwicklung ist für mich das Prinzip der Veränderungsbereitschaft &#8211; ja sogar Veränderungsförderung. In unserer heutigen Gesellschaft verändert sich vieles rasant. Gerade im technologischen Bereich und Leben unserer Gesellschaft ist Bewegung und Veränderung normal. Die agile Software-Entwicklung ist schlichtweg notwendig, um sich mit dieser gesellschaftlichen und technologischen Veränderung bewegen zu können.</p
  ><p
  >Agilität ist darüber hinaus noch mehr. Es ist eine Wertevorstellung, sich der Veränderung effektiv und nachhaltig zuzuwenden. Es geht also nicht nur um Veränderung, sondern auch um Werte, die unsere Informations- und Kreativarbeit mit Nachhaltigkeit und Menschlichkeit ermöglicht.</p
  ><blockquote
  ><p
    >Was ist für Dich das wichtigste an einem agilen Team?</p
    ></blockquote
  ><p
  >Das hört sich einfach an, ist es doch meist nicht: ein agiles Team sollte ausgewogen sein. Die Interdisziplinarität ist wichtig, denn es geht um die gemeinsame Umsetzung aller notwendigen Kenntnisse in die Entwicklung. Darüber hinaus zeichnet sich ein agiles Team durch die Motivationskraft des Teams wie auch der einzelnen Mitglieder aus. Die Eigenmotivation des Einzelnen spiegelt sich dann im Team wieder.</p
  ><blockquote
  ><p
    >Was fehlt Deiner Meinung nach in der agilen Lebens- und Arbeitsweise?</p
    ></blockquote
  ><p
  >Gute Frage. Die Agilität ist heute an einem Punkt, in dem es sich in unsere Software-Entwicklungs-Branche etabliert. Das ist sehr erfreulich, führt aber auch zu Reibungen und Schwierigkeiten. Dadurch reiben sich nicht nur Unternehmen oder Persönlichkeiten auf, sondern meiner Meinung nach auch die Agilität selbst. Begriffe wie Scrum, Kanban oder XP werden leider zu oft verwässert und verschwommen kommuniziert, aufgefasst oder interpretiert. Das ist für die Agilität leider nicht sehr förderlich.</p
  ><p
  >Ich denke es würde uns gut tun, wenn wir Agilität als Grundlage für Werte und Methoden einer modernen Software-Entwicklung &#8211; oder Arbeitsweise &#8211; auffassen und nicht zu stark mit Implementierungen wie Scrum oder Kanban koppeln. Damit meine ich keine Entkopplung im Sinne unterschiedlicher Auffassungen, sondern eher eine Entkopplung im Sinne des Agilitätsbegriffes. Einfacher gesagt: Scrum und Kanban sind agile Methoden, aber Agilität definiert sich nicht im Gänze über Scrum oder Kanban.</p
  ><blockquote
  ><p
    >Wenn Du Dir für die agile Arbeitswelt etwas wünschen könntest, was würdest Du Dir wünschen?</p
    ></blockquote
  ><p
  >Ich würde mir wünschen, dass die Agile Bewegung nicht nur reduziert wird auf Software-Entwicklungs-Methoden oder Praktiken. Ich empfinde es als besonders wertvoll, dass sich eine Wertekultur um die Agilität entwickelt und auch stark transportiert wird, damit sich diese Werte in verschiedenen Bereichen über verschiedene Wege wiederfinden.</p
  ><p
  ><strong
    >Vielen Dank, Björn!</strong
    ></p
  ><div id="weitere-interviews-der-serie-der-agilist"
  ><h5
    >Weitere Interviews der Serie “Der Agilist”</h5
    ><ul
    ><li
      ><a href="der-agilist-agile-coaching"
	>Agile Coaching</a
	> mit Christian Dähn</li
      ><li
      ><a href="der-agilist-agile-games"
	>Agile Games</a
	> mit Thorsten O. Kalnin</li
      ><li
      ><a href="der-agilist-agile-devops"
	>Agile DevOps</a
	> mit Andreas Mandi-Beke</li
      ><li
      ><a href="der-agilist-agile-und-kanban"
	>Agile und Kanban</a
	> mit Markus Andrezak</li
      ><li
      ><a href="der-agilist-agile-management"
	>Agile Management</a
	> mit Kai Simons</li
      ></ul
    ></div
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/der-agilist-agile-engineering/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Der Agilist: Agile Management</title>
		<link>http://ilker.de/der-agilist-agile-management</link>
		<comments>http://ilker.de/der-agilist-agile-management#comments</comments>
		<pubDate>Mon, 02 Apr 2012 06:09:01 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Methods]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3477</guid>
		<description><![CDATA[Ein äußerst interessantes Thema im Umfeld der Agilität ist das sog. “agile Management”. In den letzten Jahren hat die agile Bewegung in Software-Entwicklungs-Unternehmen großflächig Einzug erhalten. Das gilt nicht nur für Software-Entwicklungs-Teams, sondern auch für andere Rollen in der Organisation. Insofern ist [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.der-agilist-agile-management .figure {
  float: right;
  margin-left: 8px;
}
.der-agilist-agile-management blockquote {
  margin-top: 24px;
  padding-bottom: 6px;
  padding-top: 12px;
  border-left: 0px;
  border-bottom: 1px solid #c2c3c4;
  border-top: 1px solid #c2c3c4;
}
.der-agilist-agile-management #content hr {
  display:block;
  height:1px;
  color:#c2c3c4;
}
#weitere-interviews-der-serie-der-agilist {
  font-size:smaller;
}
</style>
<p
>Ein äußerst interessantes Thema im Umfeld der Agilität ist das sog. “agile Management”. In den letzten Jahren hat die agile Bewegung in Software-Entwicklungs-Unternehmen großflächig Einzug erhalten. Das gilt nicht nur für Software-Entwicklungs-Teams, sondern auch für andere Rollen in der Organisation. Insofern ist das Thema des agilen Managements und der agilen Führungsprinzipien gleichermaßen aktuell und wichtig.</p
><div id="im-interview:-kai-simons"
><h3
  >Im Interview: Kai Simons</h3
  ><div class="figure"
  ><img src="/wp-content/uploads/2012/04/der_agilist_kaisimons.jpg"
     /><p class="caption"
    ></p
    ></div
  ><p
  >Ich freue mich sehr über das Thema des <em
    >agilen Managements</em
    > mit einem erfahrenen Agilisten, Coach und Trainer sprechen zu dürfen, der sich schon seit Jahren mit dem Wirkungswechsel von Teamführung und agilem Management intensiv beschäftigt. Kein geringerer als <a href="http://ksimons.de"
    >Kai Simons</a
    >, einer der wenigen deutschsprachigen <a href="http://www.management30.com"
    >Management 3.0</a
    >-Trainer, wird mir in diesem weiteren Interview der Reihe der <a href="der-agilist"
    >Agilisten</a
    > Rede und Antwort stehen. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!</p
  ><blockquote
  ><p
    >Hallo Kai! Was machst Du beruflich?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Ich unterstütze Führungskräfte und Teams auf Ihrem Weg zur Agilität als Coach und Trainer. Meine Kunden sind Unternehmen unterschiedlicher Größe und diverser Branchen &#8211; vom Mittelstand bis zum Konzern. Darüber hinaus macht mir <em
    >Facilitation</em
    > viel Freude, weswegen ich auch als Moderator gebucht werde.</p
  ><p
  >Mein Motto: “Es ist genug agil für alle da!” <img src='http://ilker.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p
  ><blockquote
  ><p
    >Was sind Deine Ziele, wenn es um Agile Software Entwicklung geht?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Wenn ein Kunde agil arbeiten will, möchte ich, dass er ein klares Verständnis erlangt, was dies bedeutet. Am liebsten vermittle ich es durch die Anwendung von agilen Methoden und Praktiken selbst, damit erfahrbar und begreifbar wird, wie sich die Arbeit in einem agilen Team anfühlt. Auch wenn ich von meinem Hintergrund in der Softwareentwicklung zu Hause bin, macht mir auch der Transfer in andere Szenarien Spaß. Führungskräfte auf diesem Weg mitzunehmen ist mir wichtig.</p
  ><blockquote
  ><p
    >Warum ist Deiner Meinung nach agiles Management ein wichtiges Thema?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Das agile Management &#8211; noch genauer das mittlere Management &#8211; ist ein entscheidender Faktor in der agilen Organisation. Das mittlere Management stellt die Verbindung zwischen dem Top-Management und Team dar und ist somit ein wichtiges Bindeglied für die strategische und operative Zielorientierung. Für mich geht diese Schlüsselrolle sogar noch ein Stück weiter. Gerade Manager im Team- und Abteilungsbereich übernehmen den Löwenanteil der Verantwortlichkeit für ein agiles Unternehmen. Deren Führungststil beeinflusst direkt die Teams und Mitarbeiter &#8211; und damit auch die Wertschöpfung und Produktivitätsleistung.</p
  ><p
  >Ein weiterer wichtiger Aspekt ist die Einführung und Etablierung agiler Verfahren. Die Hauptblocker für agile Einführungen gehören in den Verantwortungsbereich des mittleren Managements. Das ist nicht weiter verwunderlich, zumal sich die ‘klassische’ agile Literatur leider kaum mit dieser Organisationsperspektive auseinandersetzt. Dem können wir entgegenwirken, in dem wir das agile Management als wichtigen und gleichwertigen Grundbaustein der agilen Bewegung etablieren.</p
  ><blockquote
  ><p
    >Warum hat Management denn so viel mit Agilität zu tun?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Ganz klar: Agilität braucht <em
    >Empowerment</em
    >. Selbstorganisation und Verantwortungsübernahme agiler Teams sind kein Selbstläufer. Gerade diese “neue Freiheit” und das bewußte “loslassen” von Kontroll- und Verbindlichkeitsmechanismen muss durch das Management gefördert werden. Gerade deshalb ist die Rolle und Verantwortung des mittleren Management im Gesamtgefüge sehr wichtig. Das ist kein einfaches Unterfangen und Bedarf großer Zuwendung und Leistung. Hier kommt auch die agile Führung im Sinne der Wertevermittlung ins Spiel.</p
  ><blockquote
  ><p
    >Guter Stichpunkt. Was ist denn dann das “agile Management”?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Das agile Management leitet sich durch die Übernahme der Werte und Prinzipen des agilen Manifests ab und bringt diese Werte in den Wirkungsraum der Mitarbeiter- und Organisationsführung. Das mag sich am Anfang etwas abstrakt anhören, ist aber in der Umsetzung durchaus sehr konkret. Als gutes Beispiel kann ich die drei Kernpraktiken der agilen Führung <em
    >(engl: “Agile Leadership Practices”)</em
    > anbringen.</p
  ><ol style="list-style-type: decimal;"
  ><li
    ><em
      >Aktive Unterstützung</em
      > der Mitarbeiter in der Organisation</li
    ><li
    ><em
      >Verbesserung</em
      > des Arbeitsumfeldes der Mitarbeiter</li
    ><li
    >Ermöglichen einer <em
      >stetigen Wertschöpfung</em
      > für die Sponsoren</li
    ></ol
  ><p
  >Wie hier bei der Führung gibt es konkrete Übersetzungen des agilen Wertesystems in das gesamte Wirkungsfeld des Managements. Doch in <em
    >letzter Konsequenz</em
    > ist ein Management ein <em
    >agiles Management</em
    >, wenn die Werte und Kultur intuitiv und ganzheitlich adaptiert werden.</p
  ><blockquote
  ><p
    >Wo liegt der Schwerpunkt des agilen Managers?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Der agile Manager legt den Schwerpunkt darauf, für die Mitarbeiter und das gemeinsame Ziel “die Bahn frei zu machen”. Das ist eine entscheidende Aufgabenstellung, besonders im Hinblick auf die gesamte agile Organisationsausrichtung. Für den einen oder anderen hört sich das zunächst einmal an wie eine Scrum Master-Aufgabe, der durch <em
    >Servant Leadership</em
    > dient und Hindernisse aus dem weg räumt.</p
  ><p
  >Doch diese Sicht wäre hier viel zu einfach, denn während ein Scrum Master sich eher <em
    >reaktiv</em
    > zur Problemstellungen verhält, ist der agile Manager <em
    >proaktiv</em
    > und betrachtet eine <em
    >breitere Perspektive</em
    >. Der agile Manager hat demnach stetig und aktiv die Schaffung und Stabilisierung eines agilen Organisationsrahmens im Blick.</p
  ><p
  >Für den agilen Manager gilt das Motto: <em
    >“Gutes mehren, Schlechtes wehren!”</em
    ></p
  ><blockquote
  ><p
    >Was unterscheidet einen agilen Manager von einem klassischen Manager?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Das ist eine gute Frage &#8211; denn es gibt auch genug “klassische” gute Manager. Man sollte nicht den Fehler begehen, und agile Managementmethoden höher bewerten als die klassischen Vorgehensweisen. Es ist vielmehr eine perspektivische Erweiterung. Die agile “Perspektive” richtet sich deutlich aus an Systemmodellen und Selbstorganisationsprinzipien.</p
  ><p
  >Das agile Management ist stark darauf ausgerichtet, das Team und die gesamte Organisation auf Selbstorganisation auszurichten. Dabei spielen gezielte Delegierung und Verantwortungsdistribution eine wichtige Rolle. Gleichermaßen ist gerade durch diese selbstorganisatorische Ausrichtung eine viel stärkere systemische Betrachtung bei Wertschöpfungs- und Organisationsentscheidungen wichtig.</p
  ><p
  >Wir betrachten Unternehmen im agilen Management als Netzwerke von Individuen, die Wert erschaffen. Dabei hilft uns das Wissen der komplexen adaptiven Systeme.</p
  ><blockquote
  ><p
    >Guter Punkt. Das bringt mich zum Thema “Management 3.0”. Management 3.0 ist ein Set von konkreten Management-Methodiken. Worum geht es dabei im Allgemeinen?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Zunächst einmal würde ich Management 3.0 nicht nur auf Methoden reduzieren, obwohl diese sicherlich wichtige Komponenten darstellen. <em
    >Management 3.0</em
    > sind Werte und Methoden für ein Management von agilen Teams und Organisationen. Es geht also um die <em
    >Theorie</em
    >, das <em
    >Mindset</em
    > &#8211; wie auch um die <em
    >Praktiken</em
    >. Vereinfacht kann man sagen, <em
    >Management 3.0</em
    > ist die vorhin schon erwähnte agile Perspektive des Managements. Klar aufbereitet und umsetzbar.</p
  ><p
  >Das ist meiner Meinung nach auch eine der Stärken von Management 3.0. Es wird nicht einfach auf die agilen Werte verwiesen oder eine abstrakte Wertevermittlung angestrebt. Vielmehr geht man den Weg der Wertvermittlung durch Anwendung der konkreten Methoden und Praktiken. An Hand von Fallbeispielen werden zunächst die methodischen Werkzeuge für die Praxis angewendet, um auf diesem in einer Metabetrachtung auch die agilen Werte herauszuarbeiten.</p
  ><blockquote
  ><p
    >Ok. Was ist denn dein “Lieblingswerkzeug” bei Management 3.0?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Mir gefällt <em
    >Delegation Poker</em
    > am meisten, weil es um Erlangung von Vertrauen geht und weil die Reflektionsarbeit dabei sehr ausgeprägt ist. Fragen wie: <em
    >“Wie weit gebe ich dem Team die Freiheit zur Selbstentscheidung?”</em
    > und <em
    >“Wie weit möchte ich bei der Entscheidung beeinflussen?”</em
    > sind meist Brennpunkte, die ausführlich behandelt werden wollen. Die Diskussionen und Erkenntnisse daraus sind sehr spannend.</p
  ><blockquote
  ><p
    >Management ist eine wichtige Perspektive im agilen Umfeld. Aber warum ist das Thema “Managment” beim agilen Coaching dann eher im Hintergrund?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Meiner Meinung nach liegt das an den Wurzeln der Agilität. Die Wurzeln sind nun mal in der Technik &#8211; also in der Software-Entwicklung. Die agile Bewegung hat Ihren Ursprung in XP, Crystal, Scrum und ähnlichem. Heute jedoch geht es um mehr als “nur” Technologie. Es geht um agile Organisationen. Gerade deswegen rückt die Management-Perspektive in jüngster Zeit weiter in den Vordergrund.</p
  ><p
  >Das ist ein richtiger und wichtiger Schritt.</p
  ><p
  >Denn: Bis vor einigen Jahren sah das leider etwas düsterer aus. Rund um das Thema “Management” gab es wenig agiles Wissen und Werkzeuge. Mehr noch, es wurde vieles zu unkonstruktiv und stiefmütterlich betrachtet. Ein schönes Beispiel ist hier die mancherorts gehörte, unsägliche Aussage, dass Agilität “kein Management mehr brauche”. Das führte zu Irritationen und auch ein Stückweit zu Fehlentwicklungen.</p
  ><p
  >Doch gerade in letzter Zeit konnten wir konstruktive Lösungen zum Thema Managment und Agilität herausarbeiten. Vielmehr noch, durch den generellen Geist der empirischen Erkenntnis wissen wir, dass diese Lösungen auch funktionieren. Insofern sehe ich einer stärkeren Thematisierung von agilem Management auch sehr positiv entgegen. Das ist für mich eine normale, evolutionäre Entwicklung.</p
  ><blockquote
  ><p
    >Aus der Praxis: Was ist das erste, was ein agiler Manager Deiner Meinung nach begreifen und umsetzen sollte?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Ich denke dass es da erstmal keinen großen Unterschied zu agilen Teams gibt. Zunächst geht es um die Schaffung des Grundverständnisses durch die Wissensvermittlung der Methoden. Eine klare Auseinandersetzung mit Zielen, Erwartungen und einer eigenen unternehmerischen Strategie ist für die Adaption agiler Werte auch sehr hilfreich. Damit lässt sich ein klares Bild über Prozessadaption und -Transformation ableiten, denn meistens ist die Wandlung hin zu einer Selbstorganisation ein Weg mit Hindernissen und Unwegbarkeiten.</p
  ><blockquote
  ><p
    >Hört sich sehr spannend an. Was sollte man bei agilem Management dann unbedingt vermeiden?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Das mag sich jetzt etwas platt anhören, ist aber wirklich so: Jedes Handeln, welches gegen die agilen Werte verstösst, sollte vermieden werden. Gerade deswegen ist eine Wertevermittlung für uns als agile Coaches so wichtig. Werte sind der innere Kompass bei Situationen, in denen man sich für oder wider eine Maßnahme entscheided.</p
  ><p
  >Es gibt auch durchaus konkrete Gefahren, die man im agilen Management lieber umschiffen sollte. Dazu zählen zum Beispiel indirekte Kommunikation, die Konzentration auf extrinsische Motivationsfaktoren oder aber das Festhalten an Macht und Kontrolle.</p
  ><blockquote
  ><p
    >Was fehlt Deiner Meinung nach in der agilen Lebens- und Arbeitsweise?</p
    ></blockquote
  ><p
  ><em
    >Kai:</em
    > Sehr gute Frage. Es fehlen meiner Meinung nach ein Stückweit Führungskräfte mit stabiler Vertrauensbasis zu ihren Teams. Gerade wenn Fehler passieren, sollte das Vertrauen weiter aufrecht erhalten werden. Wir stehen hier als agile Bewegung bei manchen, komplexen Umgebungen noch am Anfang. Insofern sind wir als Agilisten auch gefragt, einer Erweiterung der Agilität im Sinne von Leadership und den dazugehörigen Praktiken positiv entgegenzublicken &#8211; ja sogar zu fördern.</p
  ><p
  >Weiterhin ist für mich offensichtlich, dass uns derzeit konkrete Antworten für eine fundierte, grundsätzliche Ausbildung fehlen. Damit möchte ich ganz bewußt den Blick in Richtung Hochschulen und Studierende richten. Heutzutage werden &#8211; wenn überhaupt &#8211; wenig agile Methoden im universitären Umfeld <em
    >fundiert</em
    > vermittelt und umgesetzt. Vor allem nicht an Management-Studiengängen.</p
  ><p
  >Ohne Umschweife steht fest: Da sind wir als agile Bewegung defitizär aufgestellt.</p
  ><blockquote
  ><p
    >Wenn Du Dir für agile Arbeitswelt etwas wünschen könntest, was würdest Du Dir wünschen?</p
    ></blockquote
  ><p
  >Ich wünsche mir den weiteren Transfer der Konzepte der Agilität in viele verschiedenen Arbeitsbereiche &#8211; nicht nur in der Software-Entwicklung oder im IT-Umfeld. Ich bin fest davon überzeugt das auch die agile Bewegung von solch einer Erweiterung profitieren kann. Ein sehr gutes Beispiel ist der Austausch der agilen Bewegung mit <em
    >SeriousPlay</em
    >, <em
    >Service Design Thinking</em
    > oder <em
    >Innovation Games</em
    >. Ich wünsche mir mehr Austausch mit anderen Denk- und Arbeitsmodellen, damit wir als agile Bewegung uns weiter entwickeln und im Ganzen zu einer besseren Arbeitswelt beitragen können.</p
  ><p
  ><strong
    >Vielen Dank, Kai!</strong
    ></p
  ><div id="weitere-interviews-der-serie-der-agilist"
  ><h5
    >Weitere Interviews der Serie “Der Agilist”</h5
    ><ul
    ><li
      ><a href="der-agilist-agile-coaching"
	>Agile Coaching</a
	> mit Christian Dähn</li
      ><li
      ><a href="der-agilist-agile-games"
	>Agile Games</a
	> mit Thorsten O. Kalnin</li
      ><li
      ><a href="der-agilist-agile-devops"
	>Agile DevOps</a
	> mit Andreas Mandi-Beke</li
      ><li
      ><a href="der-agilist-agile-und-kanban"
	>Agile und Kanban</a
	> mit Markus Andrezak</li
      ></ul
    ></div
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/der-agilist-agile-management/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Agilist: Agile und Kanban</title>
		<link>http://ilker.de/der-agilist-agile-und-kanban</link>
		<comments>http://ilker.de/der-agilist-agile-und-kanban#comments</comments>
		<pubDate>Mon, 26 Mar 2012 06:56:51 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3443</guid>
		<description><![CDATA[Es steht ein besonderes Interview mit einem besonderen Interviewpartner zu einem besonderen Thema an. Zunächst zum Thema: Agilität und Kanban. Seit einigen Jahren weht der frische Wind des “Software-Kanban” durch die Hallen von agilen Software-Schmieden. Während einige nur ein laues Lüftchen beim [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
.der-agilist-agile-und-kanban .figure {
  float: right;
  margin-left: 8px;
}
.der-agilist-agile-und-kanban blockquote {
  margin-top: 24px;
  padding-bottom: 6px;
  padding-top: 12px;
  border-left: 0px;
  border-bottom: 1px solid #c2c3c4;
  border-top: 1px solid #c2c3c4;
}
.der-agilist-agile-und-kanban #content hr {
  display:block;
  height:1px;
  color:#c2c3c4;
}
#weitere-interviews-der-serie-der-agilist {
  font-size:smaller;
}
</style>
<p
>Es steht ein besonderes Interview mit einem besonderen Interviewpartner zu einem besonderen Thema an. Zunächst zum Thema: <em
  >Agilität und Kanban</em
  >. Seit einigen Jahren weht der frische Wind des “Software-Kanban” durch die Hallen von agilen Software-Schmieden. Während einige nur ein laues Lüftchen beim Durchlüften verspüren, bekommen manche starken Rückenwind und freuen sich über die frische Brise.</p
><div id="im-interview:-markus-andrezak"
><h3
  >Im Interview: Markus Andrezak</h3
  ><div class="figure"
  ><img src="/wp-content/uploads/2012/03/der_agilist_andrezak.jpg"
     /><p class="caption"
    ></p
    ></div
  ><p
  >Ich bin sehr stolz, den <em
    >erfahrenen</em
    > Kanban-Kenner <a href="http://www.portagile.com"
    >Markus Andrezak</a
    > für ein Interview über Agilität und Kanban gewinnen zu können. Als weltweit anerkannter Agilist und Kanban-Experte ist er genau der Richtige, um das Zusammenspiel zwischen Kanban und agiler Software-Entwicklung näher zu durchleuchten. Dieses Interview ist das vierte in der Interviewserie der <a href="der-agilist"
    >Agilisten</a
    >. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!</p
  ><blockquote
  ><p
    >Hallo Markus. Meine klassische Eingangsfrage: was machst Du beruflich?</p
    ></blockquote
  ><p
  >Ich war lange im Management des Product Development bei <a href="http://mobile.de"
    >mobile.de</a
    > für Prozesse und Architektur zuständig, wurde dann Produktchef für die mobilen Produkte (iOS, Android, mobile Portal), werde aber im Mai Produktchef einer anderen Berliner Firma im Web, die ich noch nicht nennen darf.</p
  ><blockquote
  ><p
    >Ok. Was sind Deine persönlichen Ziele bei der agilen Software-Entwicklung?</p
    ></blockquote
  ><p
  >Ich will <em
    >tolle Produkte</em
    > bauen, die nicht nur in einer Nische ‘funktionieren’ sondern wirklich Breitenbedarf decken und wirklich in der Breite Wert schaffen.</p
  ><p
  >Produkte sind aber nur so toll wie die Leute, die sie bauen. Deshalb ist mir immer wichtig, eine Firmenkultur mit aufzubauen, in denen alle Mitarbeiter sich verwirklichen und stetig weiterentwickeln können. Ich hoffe das klappt dann auch bei mir selbst! <img src='http://ilker.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p
  ><blockquote
  ><p
    >Wie würdest einem Interessierten Kanban in einem Fahrstuhl erklären?</p
    ></blockquote
  ><p
  >Ich würde sagen, dass man bei Kanban versucht auf sehr natürliche Weise in dem, was man tut, immer besser zu werden. Man versucht das, indem man sein Tun immer künstlich um einen kleinen Tick schwerer macht. Dabei stösst man automatisch immer wieder auf neue Probleme und Herausforderungen &#8211; ohne nach ihnen suchen zu müssen. Um einen Nordpol zu haben zu dem man läuft, sagt man: “man will Flow erreichen”.</p
  ><p
  >Den Flow visiert man an, in dem man immer weniger Dinge auf einmal erledigt… was in letzter Konsequenz immer schwerer wird. Am Ende, wo man natürlich nie ankommt, ist dann alles um einen herum viel entspannter, weil das Umfeld bewußt gut beherrscht wird.</p
  ><blockquote
  ><p
    >Warum ist Software-Kanban denn so anders als das “Original” aus der Automobil-Industrie?</p
    ></blockquote
  ><p
  >In der Automobil-Branche ist das Ziel grundsätzlich ein Anderes. Dort ist es wichtig, die selben Dinge immer wieder zu produzieren &#8211; so gut und effizient wie möglich. Deshalb versucht man hier, die <em
    >Variabilität</em
    > aus dem Produktionsprozess herauszutreiben.</p
  ><p
  >Bei uns in der Software-Entwicklung werden neue Dinge geschaffen. Hier besteht gerade der Wert in der Variabilität. Deshalb muss unser Kanban so sein, dass es Variabilität zulässt. Ansonsten würden wir ja immer nur “Copy &amp; Paste” machen &#8211; und somit keinen echten Wert generieren. Vorsichtig ausgedrückt: Das wäre ganz schlecht.</p
  ><blockquote
  ><p
    >Ist Kanban eigentlich agil? Und wenn ja: Wieso?</p
    ></blockquote
  ><p
  >Tja, wenn ich das so genau wüsste. Offen gesagt, ich weiss nicht einmal genau ob es mich wirklich interessiert. <img src='http://ilker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p
  ><p
  >Ich bin mir ziemlich sicher, dass die Werte des agilen Manifests durchaus von Kanban vertreten werden. Ich würde sogar so weit gehen, dass gerade die Werte von <em
    >Kanban</em
    > und <em
    >Lean</em
    > es erst zu dem machen, was sie sind. Es geht vor allem um Ganzheitlichkeit, Menschlichkeit, Autonomie und die Veränderung von unten. Das macht es dann auch mit den agilen Werten ein bisschen schwer, weil sie &#8211; glaube ich &#8211; nur ein Ausschnitt der Kanban und Lean-Werte sind.</p
  ><p
  >Kurzum: Ja, Kanban ist für mich persönlich sehr agil. Sogar noch einen Tick mehr als andere Methoden.</p
  ><blockquote
  ><p
    >Viele “Kanbanista” preisen Kanban als methodisches Allheilmittel an. Ist es das wirklich?</p
    ></blockquote
  ><p
  >Das ist zuerst einmal gar nicht meine Wahrnehmung. Für mich ist es so, dass Kanban mir eher “passiert” ist als das ich es “angewendet” hätte. So nehme ich das auch bei anderen Kanban-Teams wahr.</p
  ><p
  >Es gibt ja die alte Diskusssion “Scrum vs. Kanban”, die ein wenig banal und sinnfrei ist. Meine Vermutung für diese z.T. hitzige Diskussion ist, dass in den “Siegeszug von Scrum” nun einmal Kanban als alternative Methodik auftrat und einige, die gerade Scrum adaptieren, sich auf Kanban einlassen und soz. ‘konvertieren’. Doch das nur am Rande.</p
  ><p
  >Tatsächlich haben viele so wie ich mit Kanban die Erfahrung gemacht, Fortschritte machen zu können, die sie vorher nicht realisieren konnten, weil tatsächlich Kanban sich relativ viral über die Erfolge, die man hat, verbreitet.</p
  ><p
  >Ich habe mit einem 3-Mann-Team ganz schüchtern angefangen, um ein ganz konkretes Problem mit Kanban zu lösen. Das haben andere in der Organisation gesehen und den Erfolg natürlich “Schick” gefunden… dann waren es 12… usw. Am Ende hat die ganze Abteilung von 40 Mann mit Kanban gearbeitet, ohne dass ich das großartig gesteuert hätte. Das war einfach eine tolle Erfahrung. Derart viral passiert das auch bei anderen Kanban-Teams.</p
  ><p
  >Also: Erfolgsversprechend? <em
    >Ja</em
    >. Allheilmittel? &#8211; <em
    >Nein</em
    >. Selbstläufer? &#8211; <em
    >Nein</em
    >.</p
  ><blockquote
  ><p
    >Was hälst Du von “Personal-Kanban”? Ist das eine Art “Solo-Kanban” für Einzelgänger?</p
    ></blockquote
  ><p
  >Ich finde Personal-Kanban eine gute Sache, verfolge es aber nicht aktiv oder intensiv. Mir leuchtet es vollkommen ein, dass in dem selbstreflektierten Bereich die Visualisierung mindestens die selbe Kraft hat wie bei uns in der Software-Entwicklung.</p
  ><p
  >Die Visualiserung alleine sind meiner Meinung nach 80% des Geheimnisses, Erfolges und der Kraft von Kanban. <em
    >WiP</em
    > limitieren und <em
    >Pull</em
    > sind dann noch einmal 10%.</p
  ><p
  >Das genau diese Mittel im kleinen, persönlichen Bereich funktonieren bezweifele ich nicht eine Sekunde. Ich selbst wende es nicht an, weil ich mich gar nicht so sehr meinem Time-Management widmen muss.</p
  ><blockquote
  ><p
    >Kann jeder Kanban? Anders gefragt: Braucht man Trainer und Coaches, um Kanban anwenden zu können?</p
    ></blockquote
  ><p
  >Oha! <em
    >- (kurze Pause) -</em
    > Ich glaube die Umsetzung von Kanban ohne eine echte, professionelle Einführung ist sehr schwer. Nun, wie man diese Einführung bekommt steht auf einem anderen Blatt. Da kann es besonders unterschiedliche Wege geben.</p
  ><p
  >Nehmen wir mal mein Lieblingsteam in einer Schwesterfirma als Beispiel. Da hat niemand jemals ein Kanbantraining bekommen. Wir haben uns im Sommer auf einer Terasse getroffen, ich habe etwas über Kanban erzählt und Schwupps &#8211; wollten sie alle mitmachen.</p
  ><p
  >Sie waren so motiviert, ich musste nur ein paar Mal zu Beginn “dabei sein” und der Rest geschah in kompletter Eigenregie. Das Schöne: Es lief quasi Lehrbuchmäßig! Das ging so weit, dass alle Vorhersagen bzgl. Leadtime und Verringerung der Standardabweichung von Leadtime eintrafen. Auch die Qualität des Codes ist dabei unglaublich gestiegen.</p
  ><p
  >Für mich steht fest: Man kann sich Kanban-Wissen auf ganz viele Arten aneignen. Aber: ohne eine gewisse Grundausbildung ist es schon schwer, den Geist und die Werte leben zu können &#8211; und das <em
    >nachhaltig</em
    >. Ansonsten wäre die Gefahr des “Slide-Back”-Effektes doch ziemlich hoch.</p
  ><blockquote
  ><p
    >Kanban wird oft sehr mechanisch beschrieben. Welche essentiellen Werte hat die Kanbankultur?</p
    ></blockquote
  ><p
  >Ooh. Ja. Das Gerücht der “mechanischen Beschreibung” ist mir auch schon zu Ohren gekommen. Bis heute ist mir nicht klar, wie es dazu kommen kann. Gehen wir mal vom Schlimmsten aus. Stellen wir uns vor, wir <em
    >wären</em
    > gar nicht bei uns, in der relativ netten Software-Industrie. <img src='http://ilker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Nehmen wir an, wir sind bei <em
    >Toyota</em
    >. Dann würden wir erst mal irgendeines der Bücher von <a href="http://de.wikipedia.org/wiki/Taiichi_%C5%8Cno"
    >Ohno</a
    > nehmen, um zu verstehen, was die Werte sind.</p
  ><p
  >Und dann &#8211; die Überraschung. Da strotzt es nur so von Menschlichkeit, Autonomie, Selbstverwirklichung, ständiger Veränderung, stetiger Verbesseung &#8211; und zwar <em
    >von unten getrieben</em
    >. Man begegnet dem Manager, der auf dem Gemba lernt und seinen Mitarbeitern mit Respekt begegnen muss, um von ihnen ihre Probleme zu lernen.</p
  ><p
  >Man kann auch <a href="http://www.amazon.de/Toyota-Kata-Managing-Improvement-Adaptiveness/dp/0071635238"
    >Toyota Kata</a
    > lesen um zu sehen, wie geschickt Toyota einen kleinen Trick einsetzt um eben auf jeder Ebene &#8211; von der <em
    >Strategie</em
    >, über die <em
    >Produktentwicklung</em
    >, bis zur <em
    >Produktion</em
    > &#8211; immer besser zu werden. Immer getrieben davon, als Firma agil und beweglich zu bleiben. Einen guten, sicheren, angenehmen Arbeitsplatz und tolle Produkte zu bieten. Das ist genau <em
    >die Ebene</em
    >, auf der wir die Werte übernehmen.</p
  ><blockquote
  ><p
    >Welches ist der größte unternehmerische bzw. organisatorische Mehrwert von Kanban?</p
    ></blockquote
  ><p
  >Der Wohl größte Benefit ist dieser unscheinbare, kleine Schalter im Kopf eines jeden im Unternehmen, der mit Kanban umgelegt wird. Es ist der Schalter, der uns als einzelne an die gemeinsame Arbeit und das gemeinsame Ziel blicken lässt. Es ist der Schalter, der den Fokus auf den eigentlichen produktiven Mehrwert legt.</p
  ><p
  >Das ist das Besondere an Kanban: die ganzheitliche Fokussierung auf den <em
    >Value Stream</em
    > von allen Beteiligten.</p
  ><blockquote
  ><p
    >Woran kann Deiner Meinung nach Kanban in einer Organisation scheitern?</p
    ></blockquote
  ><p
  >Es ist ja in den vorangegangenen Antworten schon durchgeklungen, dass ein großer Erfolgsfaktor von Kanban die Kultur und die damit verknüpften Werte sind. Fehlt das Werteverständnis, so fehlt auch die Fähigkeit der Entfaltung der Autonomie oder das effektive Delegieren. Ein weiterer Risikofaktor ist sicherlich auch eine mangelnde Objektivität im Umgang mit der Arbeit und den Aufgaben. Es ist besonders wichtig, in Sachfragen die Sachlichkeit im Auge zu behalten.</p
  ><p
  >Das führt mich gleich zur Minderung dieses Risikofaktors: Es ist absolut essentiell, durch eine stringente Umsetzung und objektive, belegte Fakten ein Grundvertrauen in die gemeinschaftliche Aufgabenstellung bzw. Arbeitsweise zu etablieren.</p
  ><p
  ><em
    >Fakten schaffen Vertrauen</em
    >.</p
  ><p
  >Ein Rückfall zu den altgedienten und spekulativen “Versprechungen” über Leistung oder Lieferung kann an einem einzigen Augenblick monatelang aufgebautes Vertrauen vernichten.</p
  ><p
  ><em
    >Versprechungen schaffen Mißtrauen</em
    >.</p
  ><blockquote
  ><p
    >Was wäre Dein Wunsch für die zukünftige, moderne Software-Entwicklung?</p
    ></blockquote
  ><p
  >Ich denke uns allen wäre schon ein großes Stück geholfen, wenn es weniger von diesen unnötigen Territorial-Kämpfen geben würde. Agil oder nicht agil, Scrum oder Kanban, Java oder Scala, Emacs oder Vim &#8211; das alles muss nicht sein. Es ist schon verblüffend, wie irrational so ein ganz und gar “rationaler Berufsstand” wie der der Software-Entwickler sein kann. Gut &#8211; wir sind alle nur Menschen. Aber &#8211; wir sind auch Ingenieure.</p
  ><p
  >Mein wichtigster Punkt dabei: Ich wünsche mir <em
    >weniger Anekdoten</em
    > und <em
    >mehr Analytik</em
    >. Es ist frappierend, wie heute z.T. Software entwickelt wird. Da werden Mutmaßungen über Vorgehensweisen und Konsequenzen gemacht und zu viel zu vielen Fragestellungen einfach nur vage Aussagen in den Raum geworfen.</p
  ><p
  >Mehr Analytik und mehr Fakten &#8211; das bringt uns weiter.</p
  ><p
  ><strong
    >Vielen Dank, Markus!</strong
    ></p
  ><hr
   /><div id="weitere-interviews-der-serie-der-agilist"
  ><h6
    >Weitere Interviews der Serie “Der Agilist”</h6
    ><ul
    ><li
      ><a href="der-agilist-agile-coaching"
	>Agile Coaching</a
	> mit Christian Dähn</li
      ><li
      ><a href="der-agilist-agile-games"
	>Agile Games</a
	> mit Thorsten O. Kalnin</li
      ><li
      ><a href="der-agilist-agile-devops"
	>Agile DevOps</a
	> mit Andreas Mandi-Beke</li
      ></ul
    ></div
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/der-agilist-agile-und-kanban/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JS Trickshot: E4X</title>
		<link>http://ilker.de/javascript-trickshot-e4x</link>
		<comments>http://ilker.de/javascript-trickshot-e4x#comments</comments>
		<pubDate>Thu, 22 Mar 2012 14:36:53 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3431</guid>
		<description><![CDATA[Yesterday I wrote about a very specific and widely unknown JavaScript language innovation called generator expressions. Today I’m going to quickly introduce you to another JavaScript language feature called E4X. It’s not any longer an ‘innovation’ actually, since it’s more than 5 [...]]]></description>
			<content:encoded><![CDATA[<p
>Yesterday I wrote about a very specific and widely unknown JavaScript language innovation called <a href="javascript-trickshot-generator-expressions"
  >generator expressions</a
  >. Today I’m going to quickly introduce you to another JavaScript language feature called <a href="http://en.wikipedia.org/wiki/ECMAScript_for_XML"
  >E4X</a
  >. It’s not any longer an ‘innovation’ actually, since it’s more than 5 years old. However, it’s not a very familiar feature either.</p
><div id="e4x:-embedded-xml-language"
><h4
  >E4X: Embedded XML Language</h4
  ><p
  ><em
    >E4X</em
    > is short for <em
    >ECMAScript for XML</em
    > and is a very nice JS embedded XML processing language. I used it for my data processing and visualization project a few years ago with XULRunner and it turned out to be an indispensible tool for XML/XHTML processing.</p
  ><p
  >Let’s see how E4X looks like:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var c = &lt;customers&gt;
  &lt;customer name=&quot;ACME Corp.&quot; id=&quot;3&quot; type=&quot;Supplier&quot;&gt;
    &lt;contact&gt;Mr. Doe&lt;/contact&gt;
    &lt;offer count=&quot;5&quot; amount=&quot;60000&quot; /&gt;
  &lt;/customer&gt;
  &lt;customer name=&quot;YooRoo Ltd.&quot; id=&quot;7&quot; type=&quot;Engineer&quot;&gt;
    &lt;contact&gt;Senor DeLa Soul&lt;/contact&gt;
    &lt;offer count=&quot;6&quot; amount=&quot;120000&quot; /&gt;
  &lt;/customer&gt;
  &lt;customer name=&quot;Rock-A-Fella&quot; id=&quot;21&quot; type=&quot;Supplier&quot;&gt;
    &lt;contact&gt;Mr. DeLa Rocka&lt;/contact&gt;
    &lt;offer count=&quot;7&quot; amount=&quot;110000&quot; /&gt;
  &lt;/customer&gt;
&lt;/customers&gt;;
</code
    ></pre
  ><p
  >Yes, it’s <em
    >that easy</em
    >. <code
    >customers</code
    > now is a full XML object. No big string play is involved, just start typing your XML and you’re fine. But wait, there’s a lot more to come. Let’s see how we can access all <code
    >&lt;contact&gt;</code
    > nodes of our <code
    >&lt;customer&gt;</code
    >s:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var contacts = c.customer.contact;
</code
    ></pre
  ><p
  >And if you were to select the names of our customers instead we can use the attribute accessor syntax:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var names = c.customer.@name;
</code
    ></pre
  ><p
  >Isn’t this incredibly simple? It is. Now let’s get to the interesting features. One of the features I used most is the great and easy to apply <em
    >filters</em
    > feature. A filter is an expression enclosed in braces <code
    >()</code
    >. Say you only want the <code
    >&lt;contact&gt;</code
    >s of customers of type <em
    >Supplier</em
    >:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var supps = c.customer.(@type==&quot;Supplier&quot;).contact;
</code
    ></pre
  ><p
  >We could even dive into a subtree, filter on any data and return some attribute on the higher tree nodes. You want to know the name of the customers whose offer amount is below 100000? Nothing easier than that:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var loperfs = c.customer.(offer.@amount&lt;100000).@name;
</code
    ></pre
  ><p
  >But wait! The filter feature <em
    >I used at most</em
    > is yet to come. The great thing about E4X filters actually is that you can effectively use <em
    >any JS function</em
    > to perform your filtering:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var onlyvip = function(x){
  return x.search(/dela/i) &gt; -1;
};

var vips = c.customer.(onlyvip(contact)).@name;
</code
    ></pre
  ><p
  >Voilà. For me, the ability to filter with arbitrary JS expressions and embed them right into my XML node selection turned out to be a <em
    >very powerful and useful</em
    > feature.</p
  ><p
  >There’s a lot more useful things on <a href="http://en.wikipedia.org/wiki/ECMAScript_for_XML"
    >E4X</a
    > to explore, but I finally want to introduce you to another cool feature I (sadly) discovered very late. If you quickly want to build up an XML from data, you can use the powerful <em
    >interpolation</em
    > feature. Just enclose your variable or expression into curly braces <code
    >{}</code
    > within the XML literal. Sounds nice? Just judge for yourself:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var watches = [{
  name:&quot;longines&quot;, 
  price:15000
},{
  name:&quot;icw&quot;,
  price:20000
},{
  name:&quot;rolex&quot;,
  price:25000
}];

var to_euro = function(x){
  return x/2;
};

var xml = &lt;watches/&gt;;

for each (var w in watches){
  xml.watch += &lt;watch 
    name={w.name} 
    price={to_euro(w.price)}
  /&gt;;
}

console.log(xml.toString());
/* 
Output:

  &lt;watches&gt;
    &lt;watch name=&quot;longines&quot; price=&quot;7500&quot;/&gt;
    &lt;watch name=&quot;icw&quot; price=&quot;10000&quot;/&gt;
    &lt;watch name=&quot;rolex&quot; price=&quot;12500&quot;/&gt;
  &lt;/watches&gt;

E4X FTW! 
*/
</code
    ></pre
  ><p
  ><em
    >PS: You can guess from my official <a href="javascript-trickshot-generator-expressions"
      >dislike of Googles V8 JS engine</a
      > that E4X isn’t implemented in V8 (and consequently doesn’t exist for node.js). Apart from SpiderMonkey, <a href="http://en.wikipedia.org/wiki/Rhino_%28JavaScript_engine%29"
      >Rhino</a
      > and <a href="http://en.wikipedia.org/wiki/ActionScript"
      >AS3</a
      > have E4X suppport. Oh, E4X is an official <a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm"
      >ECMA Standard</a
      >, by the way.</em
    ></p
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/javascript-trickshot-e4x/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JS Trickshot: Generator Expressions</title>
		<link>http://ilker.de/javascript-trickshot-generator-expressions</link>
		<comments>http://ilker.de/javascript-trickshot-generator-expressions#comments</comments>
		<pubDate>Wed, 21 Mar 2012 14:00:17 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://ilker.de/?p=3425</guid>
		<description><![CDATA[It’s time for another short article in my ‘trickshot’ series. Today, I’ll dip into JavaScript code. But beware, this is not only a blog post about a language trick. It’s a little rant about node.js and v8 as well.&#60;rant&#62;I’m no JavaScript guru. [...]]]></description>
			<content:encoded><![CDATA[<p
>It’s time for another short article in my ‘trickshot’ series. Today, I’ll dip into JavaScript code. But beware, this is not only a blog post about a language trick. It’s a little rant about <a href="http://nodejs.org"
  >node.js</a
  > and <a href="http://code.google.com/p/v8"
  >v8</a
  > as well.</p
><p
><em
  >&lt;rant&gt;</em
  ></p
><p
>I’m no JavaScript guru. However, I wrote quite a few applications in JS, ranging from “the good old web-apps” up to device-specific apps. Even a small data visualization app using <a href="http://en.wikipedia.org/wiki/XULRunner"
  >XULRunner</a
  >. I used <a href="http://nodejs.org"
  >node.js</a
  > in the past (for file/image processing purposes) and I use it today as well. Now, the thing is: With this (little) experience of a year with Node, I’m starting to <em
  >really</em
  > dislike the whole concept of Node.</p
><p
>I’m not going to dive in further about my reasons for not liking it. I just want to lay out that in my opinion the fact that Node is based on <a href="http://code.google.com/p/v8"
  >v8</a
  > <em
  >and</em
  > is forcing me to stick to inappropiate server-side single-threaded event-loop is a big step back to stampcard engineering.</p
><p
>It shouldn’t be that way. JavaScript has a vibrant community and with the rise of HTML5 JavaScript really can become a serious (albeit <em
  >sick</em
  >) option for frontend engineering. Even more, recent developments on JS really show that we <em
  >generally</em
  > head to the right direction.</p
><p
><em
  >&lt;/rant&gt;</em
  ></p
><div id="generator-expressions"
><h4
  >Generator Expressions</h4
  ><p
  ><em
    >One</em
    > of those little known innovations surely is the development of the JavaScript language itself. Since I had to dive in a little deeper into JS last summer for a small project, I discovered some neat features I wasn’t aware of. One of those features is called <em
    >generator expressions</em
    >.</p
  ><p
  >The python people now surely know what this trickshot is going to be. <em
    >Generator expressions</em
    > are a nice way of creating sequences and even do some mapping and filtering on them. Before we look at generator expressions, let’s first build up a small range generator with the <em
    >yield</em
    > feature:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var range = function(s,e){
  for (var i=s;i&lt;=e;i++) yield i;
};
</code
    ></pre
  ><p
  >Now that we have a simple range sequence generator using <code
    >yield</code
    >, we could just iterate over it and display the sequence:</p
  ><pre class="prettyprint lang-js"
  ><code
    >for (var i in range(1,15))
  console.log(i);
</code
    ></pre
  ><p
  >Good thing. Now, if we’d like to materialize the sequence of <code
    >range(1,15)</code
    >, we could preinitialize an array and just push the values into the array instead of logging. Something similar to this:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var a = [];
for (var i in range(1,15))
  a.push(i);
</code
    ></pre
  ><p
  >Looks fairly straight-forward. However, we could materialize our range much easier by using array comprehensions:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var a = [i for (i in range(1,15))];
</code
    ></pre
  ><p
  >This is <em
    >much better</em
    >. Simple, terse, readable. <em
    >Array comprehensions</em
    > even allow us to modify and filter the materialization on the fly easily. Say you want the square of all evens from our list. Piece of cake with array comprehension syntax:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var a = [i*i for (i in range(1,15) if (i%2==0)];
</code
    ></pre
  ><p
  >Nice. Now let’s finally get to the feature we were looking at from the beginning: <em
    >generator expressions</em
    >. Generator expressions are very similar to array comprehensions. The important difference between both is that generator expressions don’t materialize to arrays. This is a very powerful feature since it allows us to write space and time-saving code.</p
  ><p
  >Let’s make another little example for illustration. We want to compute the square and the factorial for the evens of a specific range. We can define this easily with generator expressions:</p
  ><pre class="prettyprint lang-js"
  ><code
    >var fac = function(x) x&gt;1 ? x*fac(x-1) : x;

var squares = (i*i for (i in range(1,50) if (i%2==0));
var facs = (fac(i) for (i in range(1,50) if (i%2==0));
</code
    ></pre
  ><p
  >The <code
    >squares</code
    > and <code
    >facs</code
    > definitions look much like array comprehensions, except we used <em
    >braces</em
    > instead of <em
    >square brackets</em
    >. The real difference however is that both <code
    >squares</code
    > and <code
    >facs</code
    > are no arrays but real generators.</p
  ><p
  >This means that effectively no square or factorial is being calculated in the above example. The first calculation occurs when the first value of <code
    >square</code
    > or <code
    >facs</code
    > is being requested. Again, this is no news for people from python land and the C# lovers out there can easily think of generator expressions as a simplified LINQ <code
    >.Where()</code
    > and <code
    >.Select()</code
    > syntax.</p
  ></div
><div id="javascript-innovation-land"
><h4
  >JavaScript Innovation Land</h4
  ><p
  >I think the above examples show how new language features can help to write better - that’s more powerful <em
    >and</em
    > readable - code in JavaScript. Actually, these language innovations are only one perspective on how many wonderful things happen in JS land. I for one have a solid impression that it’s at least very unfortunate that node.js bigots and unreasonable hysteria on the ‘server-side JS revolution’ obliterate many thoughtful innovations.</p
  ><p
  >I’m well aware that above “trickshot” could surely reraise the old <em
    >ECMAScript</em
    > is no <em
    >JavaScript</em
    > discussion for a few JS devs outs there. Yes, the above language actually <em
    >is</em
    > JavaScript. And yes, I’m aware it only runs on Mozilla, although some of the above features are in <a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts"
    >ES.Next</a
    >. My intention surely is not to fire up such a discussion but instead show <em
    >this specific field of innovation</em
    > in JavaScript ecospace as an example to the many cool things happening nowadays regarding JavaScript.</p
  ></div
>
]]></content:encoded>
			<wfw:commentRss>http://ilker.de/javascript-trickshot-generator-expressions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

