<?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>blog.codecentric.de &#187; Agilität</title>
	<atom:link href="http://blog.codecentric.de/en/tag/agilitat/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.codecentric.de/en/</link>
	<description>codecentrics Blog on Agile, Architecture, Java, Performance and Enterprise Content Management</description>
	<lastBuildDate>Wed, 08 Sep 2010 14:21:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Agile Enterprise &#8211; consequences for IT</title>
		<link>http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/</link>
		<comments>http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 18:38:35 +0000</pubDate>
		<dc:creator>Mirko Novakovic</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agile Enterprise]]></category>
		<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Agile Software Factory]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4902</guid>
		<description><![CDATA[Recently I&#8217;ve read an article in German Computer Woche which was titled &#8216;Are ERP systems too slow for business?&#8217;. It is about complex ERP systems that are not able to adopt to the fast changing business needs. There was one &#8230; <a href="http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve read an article in German <a href="http://www.computerwoche.de/" target="_self">Computer Woche</a> which was titled &#8216;Are ERP systems too slow for business?&#8217;. It is about complex ERP systems that are not able to adopt to the fast changing business needs. There was one interesting word by an Ernst &amp; Young partner I had never heard before:  <strong>Agile Enterprise</strong>.</p>
<p>As we do agile software development for our customers I was curious what agile enterprise means. So I asked Google and read some articles about it. A good definition can be found at the <a href="http://www.businessdictionary.com/definition/agile-enterprise.html" target="_blank">Business Dictionary</a>:</p>
<p><span id="more-4902"></span></p>
<blockquote><p>Fast moving, <strong>flexible</strong> and robust firm capable of rapid response to <strong>unexpected challenges</strong>, events, and opportunities. Built on policies and processes that facilitate <strong>speed and change</strong>, it aims to achieve <strong>continuous competitive advantage</strong> in serving its customers. Agile enterprises use diffused authority and <strong>flat organizational structure</strong> to speed up information flows among different departments, and develop close, <strong>trust-based relationships</strong> with their customers and suppliers.</p></blockquote>
<p>Basicly &#8220;Agile Enterprise&#8221; means that enterprises are forced to change quicker and be more flexible as globalization has changed the way our markets work. Most of the articles I&#8217;ve found suggested to use self-organized teams and high interaction between people in an organization. But what does this mean for IT?</p>
<p>Let&#8217;s get back to the article. The article is about big ERP systems and about the problems most of the customers have with these systems if raising flexibility and speed of the business hits the IT. The reasons for these problems can be found in the high complexity of these systems, low productivity in development as a result of excessive customizing of the &#8220;standard&#8221; system. The statement of the article is: &#8220;<strong>ERP slows business down!</strong>&#8221;</p>
<p>Most of the arguements in the article are understandable for me and we see them every day in our projects. But not only with ERP systems, but with any kind of big standard software &#8220;monsters&#8221; &#8211; e.g. big insurance core systems. I have always asked myself why people first spend millions for licences and then realize that the &#8220;standard&#8221; doesn&#8217;t fit to their needs and processes. In many cases this leads to big customizing projects that run for some years and change the &#8220;standard&#8221; so much that you cannot upgrade to newer releases anymore. So every upgrade will be another midsize project. But I still forgot to tell you the best of the story: You pay 20% per year for support of the standard software &#8211; which means that you pay the intial millions again -  every 5 years!</p>
<p>Unfortunately the article doesn&#8217;t give good advices how to solve these issues. The strategy of the big ERP vendors is criticized &#8211; especially that the promices of SOA were not fullfilled.</p>
<p>A possible solution is seen in the cloud or in Software as a Service. This realy irritated me. So if I don&#8217;t operate the standard &#8220;monster&#8221; myself and put it in the cloud all my business problems are solved and the IT is flexible and fast enough to keep the new pace!? The statements of the many experts of big consultancy companies really scared me&#8230;</p>
<p>Last week I&#8217;ve thought a lot about the  &#8220;<a href="http://holykaw.alltop.com/the-real-reason-apple-is-so-innovative" target="_blank">Why</a>&#8221; for our &#8220;Agile Software Factory&#8221; and this article and the statements of the experts really helped me to find it.</p>
<p>For me the solution is obvious:</p>
<p>If &#8220;Agile Enterprise&#8221; means that the business has to be innovative  (<a href="http://de.wikipedia.org/wiki/Zeitorientierte_Wettbewerbsstrategien" target="_blank">First Mover</a>) and fast adopting (Fast Follower), than the solution cannot be a standard software. Because &#8220;standard&#8221; definitly is the opposite of innovation and the monolithic character of the software often means complexity and not flexibility.</p>
<p>In my point of view we should implement the business processes with individual software. The used components can be standard and I don&#8217;t want to tell you to write a booking system from scratch. There are many laws etc. that regulate a booking system so that there is no room for real innovation. But the processes around the booking system can be very specific to the business of a company and putting the processes into the internet and offer customers and partners direct access to it could be a competetive advantage. Also a tight integration in other systems can offer more productivity. Wouldn&#8217;t it be great to offer one clean and easy to use interface for all applications and processes to the business users?</p>
<p>If software development should be faster and more flexible and the requirments are not fully known at the beginning of a project as we have to deal with a quickly changing business, you have to use a methodology that minimizes the risk of individual software development. Agile software development offers you the needed methodology. We will not be able to deliver business value quickly with waterfall approaches and projects that run for months or years.</p>
<p>And this is exactly why we offer the Agile Software Factory: A proven approach based on Scrum and XP to develop individual software. With years of experience and lots of best practices we can develop software fast and with high quality. We call it a &#8220;factory&#8221; because we use standardized components and frameworks for our development and do not reinvent the wheel for every new customer.</p>
<p>We use Open Source components as they offer open standards and open sources. This helps us to build software that is very extendable and easy to integrate in the systems of our customers. In addition to that we are not encountered by the politics of the big vendors. <a href="http://www.alfresco.com/" target="_blank">Alfresco</a> for ECM, <a href="http://www.pentaho.com/" target="_blank">Pentaho</a> for Business Intelligence, <a href="http://www.liferay.com/">Liferay</a> for portal, <a href="http://www.opencms.org" target="_blank">OpenCms</a> for CMS  or <a href="http://www.compiere.com/" target="_blank">Compiere</a> for ERP and CRM are only examples of stable mainstream Open Source components. The individual processes and applications we develop for our customers are based on a lightweight architecture and well known Open Source frameworks like <a href="http://www.springsource.org/" target="_blank">Spring</a>, <a href="http://www.hibernate.org" target="_blank">Hibernate</a>, <a href="http://www.jboss.org/drools" target="_blank">Drools</a>, <a href="http://www.jboss.org/jbpm" target="_blank">jBpm</a> or <a href="http://www.mulesoft.org/" target="_blank">Mule</a>.</p>
<p>Our agile process gives us the flexibility to deliver running software to the business very 2-4 weeks! So they have new needed functionality very fast and in high quality. This quality is enforced by automated unit-, regression- and system tests, continuous integration, pair programming and automated code- and design reviews.</p>
<p>If this isn&#8217;t what &#8220;Agile Enterprises&#8221; need &#8211; we will move to the cloud <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2010%2F08%2Fagile-enterprise-consequences-for-it%2F&#038;title=Agile+Enterprise+%26%238211%3B+consequences+for+IT" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2008/11/codecentric-w-jax-2008-tag-2-05112008-2/" rel="bookmark" class="crp_title">codecentric @ W-Jax 2008, Day 2, Nov. 05, 2008</a></li><li><a href="http://blog.codecentric.de/en/2010/06/meet-the-experts-%e2%80%93-agility-concepts-vs-userstories/" rel="bookmark" class="crp_title">meet the experts – agility: concepts vs. userstories</a></li><li><a href="http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/" rel="bookmark" class="crp_title">The fairy tale of the agile developer</a></li><li><a href="http://blog.codecentric.de/en/2009/09/scrum-for-software-consultants/" rel="bookmark" class="crp_title">Scrum for Software Consultants</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Composition of the scrum team</title>
		<link>http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/</link>
		<comments>http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 08:25:29 +0000</pubDate>
		<dc:creator>Marc Clemens</dc:creator>
				<category><![CDATA[Scrum @en]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[SCRUM]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4671</guid>
		<description><![CDATA[In the environment of the agile method „Scrum“ I would like to contemplate more closely one important aspect of the project management: The composition of the project team. In the conventional project management this is one of the basic tasks &#8230; <a href="http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the environment of the agile method „Scrum“ I would like to contemplate more closely one important aspect of the project management: The composition of the project team. In the conventional project management this is one of the basic tasks of the project manager. The ideal case is that he can assemble his project team on his own and that he can change the composition during the ongoing project. In the real daily routine he naturally is subject to many external conditions, like for example a limited choice of potential team members or competition through other projects and budget limits. However this does not affect that the project manager should have this authority.<span id="more-4671"></span></p>
<p>In connection with “Scrum”, the role of the project manager does not exist any longer. Most of the capacities and responsibilities have been distributed to the three roles “product owner”, “scrum master” and “team”. How does this happen regarding the composition of the team? The following subtasks have to be considered:</p>
<ul>
<li>initial team composition</li>
<li>missing skills within the team</li>
<li>enlargement of the team (in      order to increase velocity)</li>
<li>diminishment of the team</li>
<li>indentify and exclude “low      performers” and “troublemakers”</li>
</ul>
<p><strong>Initial team composition </strong></p>
<p>The composition of the team at the project’s start can not be made by the team itself because it does not exist at this time. By means of his budget responsibility the product owner of course has a very strong influence, but the detailed decision certainly lies with the scrum master. He shall pay attention that the team works, especially in the beginning, both related to the professional and the social skills of the team members.</p>
<p>I think it is a fascinating question, how a good composition of the project team during the whole course of the project would look like. However, dealing with this question would go beyond the scope. I am going to illuminate this topic in a future article.</p>
<p><strong>Missing skills </strong></p>
<p><strong> </strong></p>
<p>Should the team lack skills, which are important for the project, this will be regarded as an impediment very soon. Mostly, this will happen in the daily scrums already, but latest in the retrospectives. Then it will be the task of the scrum master to fit the team with the missing skills. The scrum master has different options:</p>
<ul>
<li>changing the composition of the team</li>
<li>training / coaching of team members</li>
<li>access to specialists outside the team</li>
</ul>
<p><strong>Enlargement of the team </strong></p>
<p>The decision is to enlarge the team to increase the velocity in the long run. The reason for this can be a decreasing (or stagnating) velocity, an increasing deadline pressure from the outside or simply free full-time equivalents, which shall be integrated in current projects.</p>
<p>In the first place, this case occupies the product owner and the team. The product owner always has to trade an increasing velocity against the higher costs (caused by the larger team). On the other side, the team is able to judge, to which extent further team members would reasonably help.</p>
<p><strong>Diminishment of the team</strong></p>
<p><strong> </strong></p>
<p>In the project business, there is “idling” from time to time. The reasons are very different, for example, all further tasks are dependant on a specialist task, so that they are blocked. At the sprint end, the sprint-backlog is empty or even the project end is characterized by an empty product-backlog. Moreover, in most cases projects only allow a limited parallelization. This can vary in the course of a project and in this way it can cause “idling”. The “idling” can be a spontaneous phenomenon, or it is of systematic nature.</p>
<p>The first task is to recognize that there is a systematic “idling”. This is the turn of the team and scrum master. Then, a suitable solution has to be found, preferably (and in most cases, this is also possible) in the current team, for example by reshaping of the tasks, in order to by-pass the specialist shortage.</p>
<p>But especially when the end of a project is near or a high parallelization, which has been used so far, is not applicable, it makes sense to diminish a large team.</p>
<p>Maybe the team can decide, which new team size would be suitable, but I think it is not clear, who will define the team members, who have to leave, and in which way.</p>
<p><strong>Low Performers and troublemakers</strong></p>
<p>In my view, one of the more difficult tasks in the project management is dealing with team members, who do not show the required proficiency level or who disturb the teamwork vehemently and constantly. One advantage of scrum can be the self regulation within the group. However this would require according social skills and a good standing of the other team members. But you can not assume that this alone is going to save the situation. Then it is the turn of the scrum master to recognize such things, to bring them up and to press for a solution. In such situations, the last resort will be to exclude the according team member, but it is not clear, who will be allowed to make this (very hard and final) decision.</p>
<p><strong> </strong></p>
<p><strong>Conclusion</strong></p>
<p>Also in this area the tasks are divided to the new roles. Especially for difficult decisions, but also in the initial phase of projects, the “conventional project leader” can be missed despite it all.
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2010%2F07%2Fcomposition-of-the-scrum-team%2F&#038;title=Composition+of+the+scrum+team" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/" rel="bookmark" class="crp_title">The conventional project manager in Scrum</a></li><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/" rel="bookmark" class="crp_title">Agile Testing Days &#8211; Keynote from Stuart Reid &#8211; Investing in individuals and interactions</a></li><li><a href="http://blog.codecentric.de/en/2008/09/scrummaster-certification-training-2/" rel="bookmark" class="crp_title">ScrumMaster Certification Training</a></li><li><a href="http://blog.codecentric.de/en/2010/07/who-is-late-for-daily-scrum/" rel="bookmark" class="crp_title">Who Is Late For Daily Scrum?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agility and EAM</title>
		<link>http://blog.codecentric.de/en/2010/04/agility-and-eam/</link>
		<comments>http://blog.codecentric.de/en/2010/04/agility-and-eam/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 07:43:50 +0000</pubDate>
		<dc:creator>Uwe Friedrichsen</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lightweight Enterprise Architecture]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[codecentric Team]]></category>
		<category><![CDATA[EAM]]></category>
		<category><![CDATA[Enterprise Architecture]]></category>
		<category><![CDATA[UAM]]></category>
		<category><![CDATA[Unternehmensarchitektur]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4088</guid>
		<description><![CDATA[Enterprise Architecture Management (EAM) is an important issue for most enterprises, not only the big ones. But its implementation still bears a lot of risks and the results are often way beyond the initial expectations. Dr. Ingo Schrewe from incowia &#8230; <a href="http://blog.codecentric.de/en/2010/04/agility-and-eam/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Enterprise Architecture Management (EAM) is an important issue for most enterprises, not only the big ones. But its implementation still bears a lot of risks and the results are often way beyond the initial expectations.</p>
<p>Dr. Ingo Schrewe from <a href="http://www.incowia.com/">incowia GmbH</a> and I wrote an article how agility can help to reduce risk and optimise the results when implementing an EAM. The article was published within the scope of an <a href="http://www.sigs-datacom.de/fachzeitschriften/objektspektrum/online-themenspecial/artikelansicht.html?show=2865">EAM online special</a> by SIGS-DATACOM and can be downloaded here: <a href="http://www.sigs.de/publications/os/2010/EAM/friedrichsen_schrewe_OS_EAM_10.pdf">http://www.sigs.de/publications/os/2010/EAM/friedrichsen_schrewe_OS_EAM_10.pdf</a> (available in german language only)</p>
<p>Ingo Schrewe and I plan to continue this article by writing some more articles that provide practical guidelines, hints and examples how to establish an agile EAM &#8230; whenever we will find the time to write those articles &#8230; <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2010%2F04%2Fagility-and-eam%2F&#038;title=Agility+and+EAM" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/05/impressions-from-the-set-2009-in-zurich/" rel="bookmark" class="crp_title">Impressions from the SET 2009 in Zurich</a></li><li><a href="http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/" rel="bookmark" class="crp_title">Agile Enterprise &#8211; consequences for IT</a></li><li><a href="http://blog.codecentric.de/en/2008/12/wikipedia-hat-immer-recht-2/" rel="bookmark" class="crp_title">Wikipedia is always right</a></li><li><a href="http://blog.codecentric.de/en/2009/10/viking-laws-no2-be-prepared-2/" rel="bookmark" class="crp_title">Viking Laws §2 Be Prepared</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2010/04/agility-and-eam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The fairy tale of the agile developer</title>
		<link>http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/</link>
		<comments>http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 13:43:01 +0000</pubDate>
		<dc:creator>Uwe Friedrichsen</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[agility]]></category>
		<category><![CDATA[codecentric]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4085</guid>
		<description><![CDATA[What is the common story that you usually hear about agility? Yes, most of the times it is something like this: Agility was invented by a bunch of frustrated developers who had enough of big, big processes that did not &#8230; <a href="http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>What is the common story that you usually hear about agility? Yes, most of the times it is something like this: Agility was invented by a bunch of frustrated developers who had enough of big, big processes that did not work out and dozens of artefacts that did not deliver to the final product at all. They fought all those evil V-models, RUPs and however those cumbersome process monsters were named by inventing some nice, lean and agile principles they called Scrum, XP and so on. And since then they kept on with their heroic fight to free the developers from their 800 pound process burden and to carry agility into those centres of backwardness, i.e. the management and the business departments to make the developers lives worth living again. That&#8217;s sort of the story you know, isn&#8217;t it?<br />
<span id="more-4085"></span></p>
<p>Now, here at codecentric we know a quite different story. Practicing agility for quite a while we had the opportunity to be part of the first agile projects that some of our customers implemented. Most of the times those customers had a tough deadline to meet or something similar that would not work with their standard processes and they had heard about the speed of agility. And, to make a long story short: At some point in time we were there to implement the project in an agile fashion. But throughout the implementation of those projects our observations were often quite different than you would expect it from the &#8220;common story&#8221;:</p>
<p>The business departments simply *loved* agility! They were happy that they had fast feedback cycles and somebody who was going to have a real communication with them, not just urging them to write another formal document whenever they had a problem or a requirement. They loved to see their vision growing in short iterations and having the opportunity to fine-tune their own ideas. They even loved to figure out where they were wrong with their initial ideas because they had the opportunity to change it easily and to improve the final product a lot that way. They were simply happy and they never wanted to do a non-agile project again if they had the choice.</p>
<p>The management also was quite fond of agility. The business management liked it because their departments loved it and the IT management liked it because the business management stopped complaining, about delivering too slow, putting too much workload on their folks, and so on. Okay, with the IT management it wasn&#8217;t always love on first sight. They often were quite suspicious about that agile stuff because they had no idea what it would mean for them if that would really become a big success. Sometimes those managers secret hope was that this agile project would fail. Then they would have shown to the business folks that all this agile stuff does not work out either and that they can stick to the way they did it before. On the other hand, when the agile project turned out to be successful they liked the part that the business people were quite happy.</p>
<p>And then there were the developers, those guys from the customers IT department who should be lucky that finally they are allowed to work agile, after all those years, shouldn&#8217;t they? Surprisingly, most of them weren&#8217;t lucky at all! They liked their processes and artefacts very much and most of the time they were pushing towards &#8220;more formalism&#8221;. They felt save in the world that they built up throughout the last years. Whenever something went wrong in the former years they added another piece of formalism, another process step, another artefact. They had built their own comfortable world within the bounds of their processes. Everything had its place and its order. Everything was defined in their processes and things that were not described in their processes simply were not allowed. And the best part of it: No one had to take over real responsibility for any failure. As long as you comply with the processes you have done everything right and if something goes wrong it must be the fault of someone else. So, simply do whatever the process tells you and you are safe! Whew, what a relief!</p>
<p>You can imagine that agility with its focus on the product instead of the process, with self empowered teams who take over responsibility for the result, with its enforcement to communicate with business people to clarify things instead of simply rejecting specifications, this whole strange agile thing wasn&#8217;t exactly the thing those developers were looking for. It actually scared the shit out of them! It made them feel really uncomfortable. They did not know how to deal with this and they always had that creepy feeling that they could be responsible if something would go wrong. No, they weren&#8217;t lucky at all!</p>
<p>Yes, I exaggerated it a bit to make the point plain, but: That is not a problem of some particular customers of ours. That is something that you can find throughout the whole industry and we had a lot of talk and discussions with many other agile protagonists who approved that observation we made. And it is not that those developers don&#8217;t like agility because they are &#8220;evil&#8221; or &#8220;backward&#8221; or whatever. They are simply insecure. They built their well organised comfort zone for many years or they were forced into that comfort zone and they simply haven&#8217;t learned yet how to deal with this agile way.</p>
<p>And what is the moral of the story? Yes, it takes a lot of change management efforts to introduce agility successfully into a company, but &#8230; *but* quite often it is not the business departments that we have to prepare for agility; it is the IT departments that we have to prepare for agility. Strange, isn&#8217;t it? &#8230; <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><em>A short &#8220;disclaimer&#8221;: I am not talking about *all* developers. I know many of you have an agile mindset and really love to work the agile way. But on the other hand there is still that huge mass of developers around who do not want to become agile or at least do not know how to change, and I think it is those people we have to focus our change efforts on, not on the business folks.</em>
</p>
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2010%2F03%2Fthe-fairy-tale-of-the-agile-developer%2F&#038;title=The+fairy+tale+of+the+agile+developer" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/04/jax-2009-%e2%80%93-agile-day/" rel="bookmark" class="crp_title">JAX 2009 – Agile Day</a></li><li><a href="http://blog.codecentric.de/en/2010/08/agile-enterprise-consequences-for-it/" rel="bookmark" class="crp_title">Agile Enterprise &#8211; consequences for IT</a></li><li><a href="http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/" rel="bookmark" class="crp_title">The conventional project manager in Scrum</a></li><li><a href="http://blog.codecentric.de/en/2009/07/ausblick-meet-the-experts-agilitat-am-4-september-2/" rel="bookmark" class="crp_title">Meet The Experts &#8211; Agility on September, 4th</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Agile Developer</title>
		<link>http://blog.codecentric.de/en/2010/03/the-agile-developer/</link>
		<comments>http://blog.codecentric.de/en/2010/03/the-agile-developer/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 22:36:52 +0000</pubDate>
		<dc:creator>Mirko Novakovic</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum @en]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[SCRUM]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4111</guid>
		<description><![CDATA[Software projects that are developed based on agile processes like Scrum or eXtreme Programming are very demanding concerning the skills of the developers in an agile team. In 2001 Andrew Hunt and David Thomas introduced a benchmark for modern developers &#8230; <a href="http://blog.codecentric.de/en/2010/03/the-agile-developer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Software projects that are developed based on agile processes like <a href="http://www.scrum.org/scrumguides/" target="_blank">Scrum</a> or <a href="http://c2.com/cgi/wiki?ExtremeProgramming" target="_blank">eXtreme Programming</a> are very demanding concerning the skills of the developers in an agile team.</p>
<p>In 2001 Andrew Hunt and David Thomas introduced a benchmark for modern developers with their book  „<a href="http://www.pragprog.com/the-pragmatic-programmer" target="_blank">The Pragmatic Programmer</a>“. The focus of their work is on practises, tools and design-paradigms to help programmers produce better code.</p>
<p><span id="more-4111"></span>In my point of view being a &#8220;Pragmatic Programmer&#8221; is not enough for the challenges of agile projects. This blog entry takes a closer look at the developer in the team of a Scrum project. I explicitly distinguish between &#8220;programmer&#8221; and developer&#8221; because the word programmer tends to focus more on coding and less on all the other activities needed for implementing an application. (e.g. testing)</p>
<p>According to <a href="http://www.controlchaos.com/" target="_blank">Ken Schwaber</a> (who formulated the inital version of Scrum together with Jeff Sutherland), Scrum was mainly inspired by an article of the Harvard Business Journal that was published in January 1986: „<a href="http://www.iei.liu.se/fek/frist/723g18/articles_and_papers/1.107457/TakeuchiNonaka1986HBR.pdf" target="_blank">The New New Product Development Game</a>“. The article analyzed the criterias of successful new product developments of companies like Honda and IBM. One of the main assumptions of this article for successful product development is:</p>
<blockquote><p>„Stop playing the relay race – play rugby“.</p></blockquote>
<p>For software development this would mean that the old sequential approach (aka: waterfall) doesn&#8217;t work anymore and we should start using a holistic approach.</p>
<p>Scrum has taken the basic characteristics of successful product development teams like <em>self-organizing project team</em>, <em>overlapping development phases</em> and <em>subtle control</em> and integrated them into the Scrum process. Scrum combines them with ideas of iterative, incremental development and lean principles.The  <a title="Scrum Alliance" href="http://www.scrumalliance.org/" target="_blank">Scrum Alliance</a> provides training and certification for <a href="http://www.scrumalliance.org/pages/certified_scrummaster_csm" target="_blank">Scrum Master</a> and <a href="http://www.scrumalliance.org/pages/certified_scrum_product_owner" target="_blank">Product Owner</a> – but why not for the developer? Does&#8217;t the success of a project mainly depend on the team? Are there any implications on the skills of a developer by changing the work model to self-organization with overlapping development phases or by delivering high-quality software every 2-4 weeks?</p>
<p>My personal opinion is that agile methodologies like Scrum fundamentally change the way developers work. Therefore new skills and attitudes are required.</p>
<p>Let&#8217;s start by looking at one of the most important changes in agile projects: self-organizing project teams. Self-organizing means that there is no &#8220;command-and-control&#8221; paradigm anymore, where (project) managers tell the developers which work in which time sequence should be implemented. Self-organizing often sounds like stress-less freedom for the team &#8211; but often turns out to be a very tough job.</p>
<p>The team takes the responsibility for delivering high quality software in time by committing to the Sprint goals. This implies that team members have to discuss, solve conflicts, organize work, estimate effort, pull needed information and commit to team goals. In &#8220;classic&#8221; projects this is done by defined roles like project managers and in many cases developers have no experience how to deal with these challenges. The success of agile projects depends on good self-organization teams &#8211; I&#8217;ve seen managers quickly return to &#8220;command-and-control&#8221; if this doesn&#8217;t work out as expected. So in my point of view organizations have to provide developers with training and coaching to get the needed social skills. Today I see that these kind of trainings and coaching are only provided to management and leadership positions. By inverting &#8220;command and control&#8221; we also have to rethink the training strategy for skills like team building, coaching, training, negotiating, decision making, problem solving, active listening and discussing/debating &#8211; our developers will need them to organize themselves in an agile team.</p>
<p>It could be also useful to provide trainings to help team members understand the strengths and weaknesses of their colleagues to support the team building &#8211; methodologies like  <a href="http://www.tms.com.au/" target="_blank">Team Management System</a> and <a href="http://en.wikipedia.org/wiki/DISC_assessment" target="_blank">DISC</a> can help teams to improve.</p>
<p>When we started with agility at codecentric we quickly found out that we had to train not only technologies and tools but also these kind of social skills, if we want to improve our customer satisfaction even more. So we hired an external trainer and coach to develop a social skill program for our developers to sustainable improve their skills in that area &#8211; the feedback of the participants is great and we see a lot of improvement in the teams.</p>
<p>The second new paradigm you get with Scrum is: overlapping development phases &#8211; like self-organizing this requires new ways of thinking for developers. In the classical, sequential process models, all the requirements are documented by writing detailed specs, filling out use-case templates and provide UML diagrams which exactly describe the whole system (ok, I am a little polemic). With these specs in place the developer could start coding and if he was a good developer, he tested his code. But he shouldn&#8217;t bother too much with testing as the next team in the process would do this for him: quality assurance.</p>
<p>In agile projects these strict constraints are disposed and the responsibilities of a developer are widened. In my point of view developers will have to deal a lot with defining and talking about the requirements (function and non-functional) and testing if the code fullfills these requirements. This means that Unit-Tests are not enough and functional integration and acceptance tests will be needed &#8211; normally these test will be defined and implemented together with the domain experts and experienced testers in the team. But especially for automated testing a developer should be involved from the beginning to code and design for automation &#8211; e.g. to provide data-setup and deal with <a href="http://www.infoq.com/news/2009/11/Testing-time-dates" target="_blank">time and dates</a> in the tests. For me, automated regression tests are a must-have if you are developing in short iterations &#8211; otherwise the test effort can explode. Especially when <a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">Test-Driven Development</a> is introduced, the developers will need training and coaching to get their tasks done. Today test-driven unit tests can be found in some projects but test-driven integration- and acceptance tests are really rare.</p>
<p>The developer will have to communicate a lot with the domain experts to transfer the elements of the <a href="http://www.agilemodeling.com/artifacts/userStory.htm" target="_blank">user stories</a> into good tests. Good knowledge of the domain will be also more important as the detail level of user stories are much lower than of classical use cases.  This means that developers will need very good communication skills and a toolset of practises like <a href="http://domaindrivendesign.org/" target="_blank">Domain Driven Design</a>. Today developers concern more about frameworks like <a href="http://www.springsource.org/" target="_blank">Spring</a> and <a href="https://www.hibernate.org/" target="_blank">Hibernate</a> than with the business domain; generators  that transfer an Entity-Relationship-Model into a Domain-/Object model are a nice gimmick but more or less useless! The generator will not help to get a good structured domain that can be used as a communication bridge between development and the domain experts. DDD calls a good domain model UBIQUITOUS LANGUAGE &#8211; One team, one language! In agile teams, where domain experts, testers and developers are working in one team on the same tasks and stories, it is essential to have one language. So in my opinion we need to sharpen the domain and design skills of the developers, so that they can communicate with the domain experts in a clear and simple manner.</p>
<p>To deliver software every 2-4 weeks a developer should also have good knowledge of common agile practises and tools.  Continuous Integration (e.g. <a href="http://hudson-ci.org/" target="_blank">Hudson</a>, <a href="http://cruisecontrol.sourceforge.net/" target="_blank">CruiseControl</a>), automated build tools (e.g.. <a href="http://maven.apache.org/" target="_blank">Maven</a>, <a href="http://ant.apache.org/" target="_blank">Ant</a>), code quality analyzers (e.g. <a href="http://findbugs.sourceforge.net/" target="_blank">Findbugs</a>, <a href="http://pmd.sourceforge.net/" target="_blank">PMD</a>, <a href="http://checkstyle.sourceforge.net/" target="_blank">Checkstyle</a>),  test automation frameworks (e.g. <a href="http://www.junit.org/" target="_blank">JUnit</a>, <a href="http://www.robotframework.org" target="_blank">Robotframework</a>, <a href="http://easymock.org/" target="_blank">easyMock</a>, <a href="http://www.dbunit.org/" target="_blank">DBUnit</a>, <a href="http://jakarta.apache.org/jmeter/" target="_blank">JMeter</a>), version control systems (e.g. <a href="http://git-scm.com/" target="_blank">git</a>, <a href="http://subversion.tigris.org/" target="_blank">Subversion</a>), bug tracking (e.g. <a href="http://www.atlassian.com/software/jira/" target="_blank">Jira</a>, <a href="http://trac.edgewall.org/" target="_blank">Trac</a>), documentation tools (Wiki, UML, Javadoc) are just examples of the modern, agile software developers portfolio. These practises and tools have to be trained, adopted and optimized so that they can be used for higher productivity and high quality results. Dave Thomas, Co-Autor of „The Pragmatic Programmer“, defined so called „<a href="http://codekata.pragprog.com/" target="_blank">Code Katas</a>“ to practise what is needed to be a professional developer.</p>
<blockquote><p>In software we do our practicing on the job, and that’s why we make mistakes on the job. We need to find ways of splitting the practice from the profession. We need practice sessions.</p></blockquote>
<p>So despite the training, we also have to give our developers time to practise &#8211; for example to learn TDD as seen in this Kata by <a href="http://stefanroock.wordpress.com/2010/01/07/code-kata-bunkai-prime-factors/" target="_blank">Arne Roock</a>.</p>
<p>In addition to all these skills, the developers have to be trained to understand the overall process and concepts. Today the focus of Scrum trainings is on Scrum Master and Product Owner (Ken Schwaber is changing this with the <a href="http://www.scrum.org/scrumdeveloper/" target="_blank">Scrum Developer</a>) &#8211; as most of the meetings and artifacts are mainly for the &#8220;team&#8221;, we should sharpen their understanding of Scrum (which is also part of the ScrumMasters job). For example the team should learn that the main idea behind Daily Scrum is not to report to the Scrum Master (who does not even need to attend the Daily Scrum) but to synchronize with the other team members and make impediments transparent. I&#8217;ve seen a lot of Daily Scrums where the ScrumMaster moderates and asks each team member the three questions and updates the Scrum board for them! Also the Burndown Chart is an instrument for the team to track the progress of the team &#8211; it is not used as a control-instrument for the Scrum Master or Product Owener (or even managers). Anyway: Team members have to be trained and coached to understand Scrum and the agile concepts.</p>
<p>This all shows that organizations that are moving to agile methods like Scrum will have to change. The skill-set of the team and especially developers is changing and the spectrum of required skills will demand for more training, practise and knowledge transfer. „The New New Product Development Game“ claimed that: „Multilearning“ and „Organizational Transfer of Learning“ are two of six critical success factors for good product development teams. Agile organizations will have to accept that training is not an incentive but a duty for all team members of agile projects. The invest in the employees will pay off for sure!
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2010%2F03%2Fthe-agile-developer%2F&#038;title=The+Agile+Developer" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2008/09/scrummaster-certification-training-2/" rel="bookmark" class="crp_title">ScrumMaster Certification Training</a></li><li><a href="http://blog.codecentric.de/en/2009/09/scrum-for-software-consultants/" rel="bookmark" class="crp_title">Scrum for Software Consultants</a></li><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/" rel="bookmark" class="crp_title">Agile Testing Days &#8211; Keynote from Stuart Reid &#8211; Investing in individuals and interactions</a></li><li><a href="http://blog.codecentric.de/en/2009/04/can-i-change-this-code-2/" rel="bookmark" class="crp_title">Can I change this Code?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2010/03/the-agile-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viking Laws §1 Be brave and aggressive</title>
		<link>http://blog.codecentric.de/en/2009/10/viking-laws-%c2%a71-be-brave-and-aggressive/</link>
		<comments>http://blog.codecentric.de/en/2009/10/viking-laws-%c2%a71-be-brave-and-aggressive/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:09:14 +0000</pubDate>
		<dc:creator>Sascha Binger</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[User Stories]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4344</guid>
		<description><![CDATA[From my last vacation in Norway I have brought a postcard with the reputed “Viking Laws”. I have posted it on my monitor to be remembered. These days I concentrate myself on learning about agility and I recognized a lot &#8230; <a href="http://blog.codecentric.de/en/2009/10/viking-laws-%c2%a71-be-brave-and-aggressive/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>From my last vacation in Norway I have brought a postcard with the reputed “Viking Laws”. I have posted it on my monitor to be remembered. <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img class="alignright" style="padding: 10px;" title="Viking Laws" src="http://blog.codecentric.de/wp-content/uploads/2009/10/14102009018-150x150.jpg" alt="Viking Laws" width="150" height="150" /></p>
<p>These days I concentrate myself on learning about agility and I recognized a lot of similarities between agility and the Vikings Law.</p>
<p>Has it been their secret of being able to reach America a long time before Columbus? Let` s have a look&#8230;</p>
<p><span id="more-4344"></span></p>
<p>Each Viking law has several bullet points, and there are some of them:</p>
<ul>
<li>&#8220;Be versatile and agile&#8221;<br />
Even if you are an Developer and as the most of them not really athletic, at least intellectual, you have to be versatile and agile <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>&#8220;Don&#8217;t plan everything in detail&#8221;<br />
Isn&#8217;t that what we can find in User Stories and incremental development?</li>
<li>&#8220;Attack one target at a time&#8221;<br />
One task after another, maybe they have had Burndown- Charts in the past (Probably they had more Burndown-Villages)?</li>
<li>&#8220;Be Direct&#8221;<br />
Also Vikings knew to appreciate the direct contact to their customers, even without their cooperation&#8230;</li>
</ul>
<p>These are not all bullet points of the first law, but I think that it will be enough for my first blog post.</p>
<p>Maybe, these hidden agility was one of the reason for the success of the vikings? In future posts we will find more evidences for this theory.</p>
<p>P.S. Preikestolen (N58 59.183 E6 11.322), really beautiful place and a good chance to pop the question <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2009%2F10%2Fviking-laws-%25c2%25a71-be-brave-and-aggressive%2F&#038;title=Viking+Laws+%C2%A71+Be+brave+and+aggressive" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/10/viking-laws-no2-be-prepared-2/" rel="bookmark" class="crp_title">Viking Laws §2 Be Prepared</a></li><li><a href="http://blog.codecentric.de/en/2009/11/viking-laws-%c2%a73-be-a-good-merchant/" rel="bookmark" class="crp_title">Viking Laws §3 Be a good merchant</a></li><li><a href="http://blog.codecentric.de/en/2009/10/viking-laws-%c2%a74-keep-the-camp-in-order/" rel="bookmark" class="crp_title">Viking Laws §4 Keep the camp in order</a></li><li><a href="http://blog.codecentric.de/en/2010/03/the-fairy-tale-of-the-agile-developer/" rel="bookmark" class="crp_title">The fairy tale of the agile developer</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2009/10/viking-laws-%c2%a71-be-brave-and-aggressive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The conventional project manager in Scrum</title>
		<link>http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/</link>
		<comments>http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 20:04:31 +0000</pubDate>
		<dc:creator>Uwe Friedrichsen</dc:creator>
				<category><![CDATA[Scrum @en]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[Boris Gloger]]></category>
		<category><![CDATA[Controlling]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[meet the experts]]></category>
		<category><![CDATA[open space]]></category>
		<category><![CDATA[Product Backlog]]></category>
		<category><![CDATA[SCRUM]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4348</guid>
		<description><![CDATA[Many &#8220;conventional&#8221; project manager are quite offish about Scrum or they even reject it completely. One of the reasons for this behaviour is that they cannot identify with Scrum since there isn&#8217;t a role &#8220;project manager&#8221; in Scrum. Throughout our &#8230; <a href="http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many &#8220;conventional&#8221; project manager are quite offish about Scrum or they even reject it completely. One of the reasons for this behaviour is that they cannot identify with Scrum since there isn&#8217;t a role &#8220;project manager&#8221; in Scrum. Throughout our Meet the Experts &#8211; Agility had the opportunity to talk a bit about this topic with <a href="http://borisgloger.com/">Boris Gloger</a>.</p>
<p>Before, within an open space session Boris had presented his point of view on the role Product Owner. Throughout this presentation I realised that this role has a lot more elements of the conventional project manager role than I thought before. I got the perception that the responsibilities of the conventional project manager became distributed across the roles Product Owner and Scrum Master in a certain way. Having this picture in mind I asked Boris about it and he confirmed my perception. To be exact, he even extended it a bit:<br />
<span id="more-4348"></span><br />
From his point of view the conventional project manager role is overloaded and there is hardly a person who is capable to fulfil all responsibilities of this role in a reasonable way. On the other hand in Scrum the role is split up the following way:</p>
<ul>
<li>The <em>Product Owner</em> is responsible for direction (the vision), control with regard to content (Product Backlog) and the budget. He is the one who sets the direction and drives development with regards to content. He also tries to make the most of the available budget. No matter how the project looks in detail &#8211; since the features that promise the highest business value are relatively also the best funded features, the pursuit of making the most of the budget automatically leads to a priorisation of the features by their business value. Now, this might not sound &#8220;noble and pristine&#8221;, but in practise this works surprisingly well &#8230; <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>The <em>team</em> is responsible for planning the implementation and sticking to its plan, i.e. the whole detail planning and controlling tasks. Using concepts as sprint planning, commitment on the negotiated sprint contents and team responsibility for the implementation, it is much better guaranteed that expectations and results fit together than in conventional projects.</li>
<li>Finally the <em>Scrum Master</em> is the &#8220;care taker&#8221;: He takes care of the pizza if it becomes late and he smoothes the impediments out &#8230; but he is also the guy who looks over the teams shoulder and reminds it of its commitments if necessary. He makes sure that everybody fulfils his individual role and he cares for the best working conditions possible.</li>
</ul>
<p>This way the responsibilities of a conventional project mangager are split across the three Scrum roles in a quite straightforward fashion. Thus, if a project manager wants (or sometimes is urged) to move into Scrum it is quite easy for him to select the appropriate role. He should figure out for himself honestly which part of the project manager role he likes the best:</p>
<ul>
<li>If he likes most to drive a project with regard to contents and has a way with budgets, he should take the Product Owner role.</li>
<li>If he is more of a &#8220;care taker&#8221; and loves to make sure that a project is running smoothly, he should take the Scrum Master role.</li>
<li>If he became project manager in the first place because he was simply too good in his former developer role and somehow slipped or grew into the responsibility this way, he should become part of the team best and enjoy to push the project along with his own effort.</li>
</ul>
<p>Alltogether Boris point of view makes a lot of sense to me. Especially I think that this way the critical responsibilites for project success of the conventional project manager role are split up well across the three Scrum roles. Also I think that these responsibilities are handled much better by three persons than by one person.</p>
<p>Anyway, one point Boris left out in his presentation: There is a kind of conventional project managers that can be met quite often. I like to call them &#8220;pure project managers&#8221;. They manage projects in a pure formal fashion without having a deeper insight of the project contents. They limit themselves to manage plans (whoever created them) as well as escalations. They posess distinct controlling knowledge, sometimes also good political skills. Following the &#8220;management by spreadsheet&#8221; metaphor (management on the basis of key figures only neglecting the underlying business contents) they do a &#8220;project management by spreadsheet&#8221; and some of them are even proud of the fact that they don&#8217;t know anything about the contents they manage (&#8220;I can manage any project no matter what it is about.&#8221;).</p>
<p>Now, for this kind of project managers Scrum actually has no usage. Following the lean principle &#8220;Eliminate waste!&#8221; Scrum avoids any kind of dead freight and focuses solely on those aspects of the project manager role that provide added value, i.e. add directly to project success. And since real success can be judged finally on the basis of the produced results only, a person that cannot contribute to the project contents, to the actual result is not needed in Scrum. The only question left is, if such a person is needed outside of Scrum &#8230;
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2009%2F10%2Fthe-conventional-project-manager-in-scrum%2F&#038;title=The+conventional+project+manager+in+Scrum" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/" rel="bookmark" class="crp_title">Composition of the scrum team</a></li><li><a href="http://blog.codecentric.de/en/2009/09/scrum-for-software-consultants/" rel="bookmark" class="crp_title">Scrum for Software Consultants</a></li><li><a href="http://blog.codecentric.de/en/2009/07/ausblick-meet-the-experts-agilitat-am-4-september-2/" rel="bookmark" class="crp_title">Meet The Experts &#8211; Agility on September, 4th</a></li><li><a href="http://blog.codecentric.de/en/2010/06/meet-the-experts-%e2%80%93-agility-concepts-vs-userstories/" rel="bookmark" class="crp_title">meet the experts – agility: concepts vs. userstories</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2009/10/the-conventional-project-manager-in-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Testing Days &#8211; Keynote from Stuart Reid &#8211; Investing in individuals and interactions</title>
		<link>http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/</link>
		<comments>http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 12:27:09 +0000</pubDate>
		<dc:creator>Andreas Ebbert-Karroum</dc:creator>
				<category><![CDATA[Agile Testing]]></category>
		<category><![CDATA[devoxx @en]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[Boris Gloger]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[Swing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4358</guid>
		<description><![CDATA[The keynote starts with our dear agile chicken &#38; pigs story. Pigs are the ones who are fully commited to the projects, all other stakeholders are chickens. Judged from the agenda, this session will be much about required skills and &#8230; <a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The keynote starts with our dear agile chicken &amp; pigs story. Pigs are the ones who are fully commited to the projects, all other stakeholders are chickens. Judged from the agenda, this session will be much about required skills and motivation. That sounds promising <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>What&#8217;s special about agile teams? <span id="more-4358"></span><br />
They have the authority to act, are self-organising, share ownership and (interesting!) any two can make a change to product, process and tests. This somewhat confirms what Boris Gloger said, that everybody in the team should be able to do 90% of the work, but adds that if you take any two team members you should have 100% of the skills covered. (I have to ask our mathematician Dr. Snatzke to figure out how to distribute the skills amongst team members to fulfill these two statements at the same time). Actually, Reid said that you need two to agree on making a change happen, I just assume that these two then can also carry out the change.</p>
<p>Is it also that agile teams are highly-motivated, highly-skilled and cross-functional? Generally, the kind of people in traditional and agile teams are the same. With an skill matrix you can identify which skills are underrepresented in the team, in this case DB and bond trading skills are lacking in the team.</p>
<p><a href="http://blog.codecentric.de/wp-content/uploads/2009/10/matrix_blog.jpg" rel="lightbox"><img title="matrix_blog" src="http://blog.codecentric.de/wp-content/uploads/2009/10/matrix_blog-300x227.jpg" alt="matrix_blog" width="300" height="227" /></a></p>
<p>What kind of skills do you have in that matrix? You can distinguish long / deep term (DB, Test) and short /shallow term skills (Java, Swing, FitNesse, Bond trading). For example, once you understand the underlying principles of programming, moving from one programming language to another is no such a big problem. So in agile teams you really need the long term skills and deep understanding.</p>
<p><a href="http://blog.codecentric.de/wp-content/uploads/2009/10/deep_shallow_blog.jpg" rel="lightbox"><img title="deep_shallow_blog" src="http://blog.codecentric.de/wp-content/uploads/2009/10/deep_shallow_blog-300x222.jpg" alt="deep_shallow_blog" width="300" height="222" /></a></p>
<p>Short term skills are project specific and can be relativly quickly trained.</p>
<p>Skills can be broken down into several categories:</p>
<ul>
<li><strong>Development: </strong>Design, Programming, Build, Integration, Testing, Technical (Middleware, Database)</li>
<li><strong>Management: </strong>Planning, Enforce &#8216;process&#8217;, Conflict Management</li>
<li><strong>Customer / User: </strong>Requirements (Stories), Acceptance Test, Business domain knowledge, user manual</li>
<li>all of them overlap in some places</li>
<li>Plus: collaborate and communicate</li>
</ul>
<p>Where do these skill sit in the organizational structure? So we have the management level and agile team level, but there&#8217;s also the need for a place to put specialist skills (like security). As well, we apparently need also non-team specialist testing skills. This very much reminds me of codecentric&#8217;s current organization with agile teams and competence centers (one being Agility and Agile Testing one of the core topics!)</p>
<p><a href="http://blog.codecentric.de/wp-content/uploads/2009/10/specialist_skills_blog.jpg" rel="lightbox"><img title="specialist_skills_blog" src="http://blog.codecentric.de/wp-content/uploads/2009/10/specialist_skills_blog-300x224.jpg" alt="specialist_skills_blog" width="300" height="224" /></a></p>
<p>The testing skills that you need within the team are basically the same that you also need in traditional projects: test design, exploratory testing, test tools, TDD, etc.</p>
<p>How are the skills distributed to the roles. While it might still work if you only have developers in the team, because they can take on also other roles, things can get complicated if you for example only have testers and business analysts (personal comment: are there really such teams?!)</p>
<ul>
<li>Management: Scrum Master, Lead Engineer</li>
<li>Development: Designer, Programmer, Tester</li>
<li>Customer: Business Analyst, Tester</li>
</ul>
<p>Testers can not always program (Reid said that), so depending on the testers background the team of testers might acutally work or not. What if you don&#8217;t have a Scrum Master, because you have a project manager, who cannot let go, and don&#8217;t trusts the team? According to Reid, the cross-functional team member is a myth, but a great vision to aim for.</p>
<p>So what capabilities (not skills!) does a Scrum team need? on start-up it&#8217;s suggested that 2 or 3 of the team are both competent and experienced in agile, because they need to spread the skills. You need a good mix between experience (in terms of time spent in the industry) and skill level. Agile teams self-optimize to get tasks assigned to the team members, who can best do the job. Agile teams do hide &#8220;<a href="http://www.youtube.com/watch?v=l1f8UOWF4RY&amp;hl=de">nice but dim</a>&#8221; characters from management, but do not tolerate clever but selfish non-team players. In the end, no-one can hide from the other pigs in an agile team, much unlike in traditional development.</p>
<p>How are Scrum teams organized? Certainly not hierarchically. but for example in pairs. You normally have the roles of Driver and Navigator, while the Driver is the one who is learning (and typing), and the Navigator has the expertise and can transfer the knowledge. Another model to use is mentor/apprentice (think Dumbledore/Harry). Example pairs are BA/Tester, Developer/Tester, BA/Developer, Tester/Developer. Reid recommands to rotate the pairs only if really needed, if somebody needs some specific skills of somebody else, otherwise you might end up working with somebody you don&#8217;t like. Not sure I really agree with that, the whole team should be set up so, that everybody get&#8217;s along with everybody else pretty well, so it&#8217;s also a question of how you decide who belongs to a team, that&#8217;s not only a skill-based decision!</p>
<p>What if you need a skill in a team, and don&#8217;t have it in your team. Here are some ideas: new staff, contractor training, coaching. Team should be empowered to organize this for themselves. Beware of  contractors going native, get rid of them, as soon as the skill is transferred. If you don&#8217;t you are paying them more than your own employees but they can only do the same work, have no more skills to transfer.</p>
<p>Quick show of hands who is certified by <a href="http://www.istqb.org/">ISTQB</a> &#8211; quite a lot are even advanced certified!</p>
<p>How to motivate team members? Certainly not by pay (so true!). You can motivate by design the job properly, for example with these factors as identified by the <a href="http://jam3c.tripod.com/id10.html">Motivational Potential Score</a>. Any score below 60 should not be carried out by a human. So which are the most motivating test related jobs? The take-away is that the score is generally higher, if you are on an agile project, except for the Business Analyst, because they think they are very important people in traditional projects, and now they are just part of the team. The increase from traditional to agile is about 25%. (I will blog more about motivation and Scrum in the future, so stay tuned).</p>
<p>Reid finishes with the conclusion, that it feels good to be on an agile projects. And I can ful-heartedly agree on that one!
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2009%2F10%2Fagile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions%2F&#038;title=Agile+Testing+Days+%26%238211%3B+Keynote+from+Stuart+Reid+%26%238211%3B+Investing+in+individuals+and+interactions" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-improved-agile-testing-using-tpi-by-cecile-davis/" rel="bookmark" class="crp_title">Agile Testing Days Berlin &#8211; Improved Agile Testing using TPI by Cecile Davis</a></li><li><a href="http://blog.codecentric.de/en/2010/07/composition-of-the-scrum-team/" rel="bookmark" class="crp_title">Composition of the scrum team</a></li><li><a href="http://blog.codecentric.de/en/2010/03/the-agile-developer/" rel="bookmark" class="crp_title">The Agile Developer</a></li><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-promoting-the-use-of-a-quality-standard-by-eric-jimmink/" rel="bookmark" class="crp_title">Agile Testing Days Berlin &#8211; Promoting the use of a quality standard by Eric Jimmink</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2009/10/agile-testing-days-keynote-from-stuart-reid-investing-in-individuals-and-interactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Days Berlin &#8211; Key Note Mary and Tom Poppendieck</title>
		<link>http://blog.codecentric.de/en/2009/10/testing-days-berlin-key-note-mary-and-tom-poppendieck/</link>
		<comments>http://blog.codecentric.de/en/2009/10/testing-days-berlin-key-note-mary-and-tom-poppendieck/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 07:20:42 +0000</pubDate>
		<dc:creator>Thomas Jaspers</dc:creator>
				<category><![CDATA[Agile Testing]]></category>
		<category><![CDATA[Agile Testing Days @en]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4332</guid>
		<description><![CDATA[The One Thing You Need to Know &#8230; About Software Development Correctness can be confirmed at any time is the subtitle of Mary&#8217;s talk and it start off with the clear statement that Waterfall does simply not work. So let&#8217;s &#8230; <a href="http://blog.codecentric.de/en/2009/10/testing-days-berlin-key-note-mary-and-tom-poppendieck/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>The One Thing You Need to Know &#8230; About Software Development</h2>
<p><em>Correctness can be confirmed at any time</em> is the subtitle of Mary&#8217;s talk and it start off with the clear statement that Waterfall does simply not work. So let&#8217;s hear what works <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>The question is how to deal with complexity and the answer to some extend is <em>divide and conquer</em>. Mary continues with some history on how to archieve this. Basically everything has been &#8220;structured&#8221; back in the 70s, which does also not really solve the problem as we know today. But what we really want is not to inject defects already from the very beginning. An early answer to this was given by Edsger Disjkstra which basically was a form of layered architecture.</p>
<p><span id="more-4332"></span><br />
After the long discussion about architecture with Tom Gilb yesterday night in the hotel lobby my fingers are not too calm while writing about architecture here <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  &#8230; but back to Mary. The question is how has the software to work on various levels? E.g. unit level testing and business level testing.</p>
<p>Next in the history is  Harlan Mills with his Top-Down Programming approach, which should help avoiding any difficult integration. It&#8217;s a kind of step-wise integration, which could be seen as an early version of continuous integration what we discussing today in agile. So as with the discussion wth Tom yesterday it seems that quite some agile ideas are not really that new.</p>
<p>Next in history is Dave Parnas and his &#8220;Criteria of Decomposition&#8221;. This immedietly reminds me that Tom was saying that too many archtecture are doing nothing but decomposition and this is not architecture, but this is again another story. The idea was to divide the program to ease future changes &#8230; so this comes close to the idea Uwe is promoting, which is &#8220;Architecture for Maintenance&#8221;. And sorry I have to admit here I was too slow to keep up with the hstorical view, but we will catch up. (At this point Andreas and me are pairing on this blog entry, very cool.)</p>
<p>1976 it is analysed that the main problem in software development is maintenance costs (again) and the solution to this problem is to find defects early! For this shorter development cycles are needed than in the known Waterfall process.</p>
<p>1981 Tom Gilb is hitting the scene with the concept of starting with a short summary of the measurable business goals of the system. Those must be unambigious, testable and must not contain design. Hmm, sounds very familiar as it is basically the core statement of his lecture yesterday. It is always very nice to get these kind of &#8220;cross connections&#8221;. So we are back at:</p>
<blockquote><p>&#8220;Prevent defects injection in the first place!&#8221;</p></blockquote>
<p>How to learn how to avoid defect injection? Right, let&#8217;s think of a &#8220;Defect Injection Process&#8221;. It starts with a Specification and one team writing the code and another team writing the Tests. Sorry, this does not match at the end and we have a defect injection process. Next idea: Combine writing the tests together with the specification and then write the code to implement the expactations imposed by the tests.</p>
<p>Back to &#8220;Conquering Complexity&#8221; and the question how to deal with complexity and the answer is divide by reposibilities and value. This evolves to the three rules of lean development:</p>
<ul>
<li>Design matters</li>
<li>Correctness can be confirmed at any time</li>
<li>Failure is a learning opportunity</li>
</ul>
<p>Mary continues with some quite high-level examples how to develop a system. Of course she is making &#8220;bonus points&#8221; by referring to the &#8220;iPhone&#8221; as a good example for such a good design of an overall system.</p>
<p>Now it gets more concrete again with the question how much time of the release cycle is used for  finding and removing bugs (system hardening)? The answer is that top companies are only using less than 10% for this while sometimes even 50% of the time in a release cylcle is used for this. But it cannot be the aim to use that much of your valuable development time for this, so find defects earlier in the process. And with this Mary comes back to the topic that you can confirm correctness of your software at any time and not only at the end of your release cycle.</p>
<blockquote><p>&#8220;No correlation between size of the code base and bug rate: Complexity handled completely.&#8221; (from an example developing an embedded system)</p></blockquote>
<p>Now we come to Agile: We have short and stable iterations. And the stakeholder can give and gets feedback every iteration. And this would not be called &#8220;Agile Testing Days&#8221; without a good example how automated tests have let to a very successfully project when IBM was introducing agile. Sounds like continuous integration and early automated testing, even without FitNesse and Robot.</p>
<blockquote><p>&#8220;People do not want software, they want something else.&#8221;</p></blockquote>
<p>Basically people want their top objectives implemented and thus problems solved. Mary is also promoting TDD to archieve this.</p>
<blockquote><p>&#8220;The biggest defect is tolerating defects.&#8221;</p></blockquote>
<p>And Mary is emphasizing that you must learn from failures as it indicates a lack of understanding. This is always an opportunity to learn. Anyway, in a very diciplined program only a few defects will escape.</p>
<p>Ok, as we are talking about <em>lean</em> here there must be some example from Toyota <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Mary describes how Toyota is coming from the current condition to their vision. For this you need to overcome one obstacle with every step to come closer to your vision.</p>
<p>Andreas sums this up that a lot of this was already discussed on the tutorial on Monday, but it was good to have it repeated again.
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2009%2F10%2Ftesting-days-berlin-key-note-mary-and-tom-poppendieck%2F&#038;title=Testing+Days+Berlin+%26%238211%3B+Key+Note+Mary+and+Tom+Poppendieck" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2010/03/agile-testing-requires-good-design/" rel="bookmark" class="crp_title">Agile Testing requires good Design</a></li><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-first-day/" rel="bookmark" class="crp_title">Agile Testing Days Berlin, The First Day</a></li><li><a href="http://blog.codecentric.de/en/2009/11/continuous-integration-overview/" rel="bookmark" class="crp_title">Continuous Integration &#8211; Overview</a></li><li><a href="http://blog.codecentric.de/en/2010/02/is-there-a-difference-between-architecture-and-design/" rel="bookmark" class="crp_title">Is there a difference between architecture and design?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2009/10/testing-days-berlin-key-note-mary-and-tom-poppendieck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Testing Days Berlin, The Second Day</title>
		<link>http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-second-day/</link>
		<comments>http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-second-day/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 21:08:41 +0000</pubDate>
		<dc:creator>Thomas Jaspers</dc:creator>
				<category><![CDATA[Agile Testing]]></category>
		<category><![CDATA[Agile Testing Days @en]]></category>
		<category><![CDATA[Agile 2009]]></category>
		<category><![CDATA[Agiles Testen]]></category>
		<category><![CDATA[Agilität]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ATDD]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[definition of done]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Executable Specification]]></category>
		<category><![CDATA[Fachtest]]></category>
		<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Lean]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pattern]]></category>
		<category><![CDATA[Product Backlog]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[Qualität]]></category>
		<category><![CDATA[Retrospektive]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Robot Framework]]></category>
		<category><![CDATA[Robotframework]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codecentric.de/?p=4329</guid>
		<description><![CDATA[Key Note Lisa Crispin &#8211; Are Agile Testers Different? Visited and written by: Andreas &#38; Thomas The answer to the question from the tile of this keynote is: Yes! As already partly in the tutorials yesterday Lisa has again emphasized &#8230; <a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-second-day/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Key Note Lisa Crispin &#8211; Are Agile Testers Different?</h2>
<p>Visited and written by: Andreas &amp; Thomas</p>
<p>The answer to the question from the tile of this keynote is: Yes! As already partly in the tutorials yesterday Lisa has again emphasized how important it is that there are no silos in agile teams. Instead it is all about solving the given task (developing quality software) in a collaborative mode. To do so (agile) testers are as important as (agile) developers and all other potential members of the team.<br />
<span id="more-4329"></span></p>
<blockquote><p>Lisa Crispin: &#8220;We (testers) don&#8217;t break code, it comes to us already broken!&#8221; (im Original von <a href="http://www.kaner.com/">Cem Kaner</a>)</p></blockquote>
<p>All in all Lisa&#8217;s keynote was very inspiring as she put a strong focus on agile values and ideas and how they help having more success in software projects and in the end also more fun.</p>
<p>Luckily other visitors of the conference are also blogging and thus we can keep it a bit shorter here &#8211; as this will anyway be a huge blogpost &#8211; and link to some posts on Lisa&#8217;s keynote.</p>
<ul>
<li><a href="http://gojko.net/2009/10/13/are-agile-testers-different/">Gojko Adzic: Are agile testers different?</a></li>
<li><a href="http://blogs.imeta.co.uk/agardiner/archive/2009/10/13/783.aspx">Anthony Gardiner: Lisa Crispin &#8211; Are agile testers different?</a></li>
</ul>
<h2>Open Source Agile Testing by Péter Vajda</h2>
<p>Visited and written by: Andreas</p>
<p>This session should have been called &#8220;How to not implement Scrum&#8221;. Péter Vajda presented his experiences as agile coach in the Nokia Maemo project, the linux based operating system for mobile devices of the future, like the well known and valued internet tablet <a href="http://www.nokia.de/produkte/mobiltelefone/nokia-n900">N900</a>.</p>
<p>Two years ago, 200 employees were part of the project, by now they grew to nearly 1000 people and 50 teams (which implies a teamsize of 20). While the gap between open source communites and a mobile device manufacturer has to be bridged somehow, it was decided to go agile and introduce Scrum, use XP practices and Lean thinking.</p>
<p>Beside some well known facts (scrum teams should be co-located), some interesting facts were shared. For example they realized in Sprint 20 that unit tests alone do not suffice, automated acceptance tests were nice but not existing. What to do? Take a break and create acceptance tests for all functionality from the last 20 Sprints or leave that functionality uncovered? The compromise was good from the content, having a &#8220;refactoring backlog item&#8221;, but also if you have &#8220;system user stories&#8221; you should always make clear what the value is. And the value of that is not the test itself, but that you gain confidence and flexibility to integrate new features more easily.</p>
<p>The demo, which showed how to test a Qt calculator with cucumber (the real new toy / gadget could not be disclosed, unfortunately) at last brought some new insight: With cucumber you can write behaviour tests, which not only support the format &#8220;given / when / then&#8221;, but also support a postfixed table with additional test data. An idea I was exposed to already at Agile 2009 in Chicago, but there in the context of FitNesse: <a href="http://www.testingreflections.com/node/view/7339">One problem with given-when-then&#8230; the answer&#8230; &#8220;Other Examples Include&#8221;</a>. I think that this is really a great idea to describe behaviour in the appropriate context and provide additional test data / examples.</p>
<h2>Agile Testing: A Report from the Frontline by Joke Hettema und Ralph van Roosmalen</h2>
<p>Visited and written by: Thomas</p>
<p>Joke is starting her presentation with a short introduction why the company she is working for has switched to agile methods for their projects. Here a common pattern was repeated that traditional methods could no longer give the required visibility as the projects became more complex. To solve this Scrum has been introduced as an agile method and mixed teams have been setup with developers, testers and architects in one Scrum team. Up to here not too much new I would say.</p>
<p>With respect to Testers and Testing some patterns from the tutorials and Lisa&#8217;s keynote are repeated: No explicit testteams anymore, shared responsibilities for developing and testing the software. But one special thing here is setting up a &#8220;Scrum of Scrums&#8221; for all testers of all the different teams only. Of course information sharing is important, but for me this goes into the wrong direction as it again draws a borderline between testers and developers instead of bringing them together. This borderline is getting even bigger by establishing special Sprint planning meetings for testers only where testing tasks are planned independently from the (other) development tasks. After a question from one visitor it also turns out that developers are only writing unit tests, but for all further testing they rely on the testers to implement those. Again this sounds as if there is still quite some borderline between testers and developers inside the teams.</p>
<p>Then Joke describes the problem of &#8220;Mini Waterfalls&#8221;. Those are happening still too often for them due to the fact that developers are not checking in their work frequently enough, pilling up bigger chunks of work that are then committed in one go. On this topic I can only recommend <a href="http://blog.codecentric.de/en/2009/09/commite-jeden-tag-oder-wirf-es-weg-lebe-agilitat-jeden-tag/">Fabian&#8217;s very good post on committing frequently that he has written some weeks ago</a>.</p>
<p>When it comes to sprint planning their is again a level of indirection I personally do not like. This comes due to the fact that only some &#8220;Functional Specialist&#8221; is talking with the product owner and is then talking to the team instead of having the team talk directly with the product owner. A similar question came up yesterday in Elisabeth&#8217;s tutorial and here statement was clearly that as many team members should be &#8220;allowed&#8221; to join the sprint planning meeting as possbile. In addition I personally doubt that it is a good idea to have domain knowledge bundled only in a specifc role. But we are slowly leaving the area of agile testing, so back to topic.</p>
<p>Joke continues by showing the documents that are produced and the tools that are used for testing, which &#8211; again &#8211; does not make me feel too agile: Test Strategy, Risk Matrix, Test Approach Document, Checklist, Session Tester and Bug Reporting Software. With respect to the &#8220;Definition of Done&#8221; she points out that it is very often the &#8220;task&#8221; of the testers to tell the rest of the team that the definition of done is violated while the rest of the team is arguing against this. It also seems that the trust in the definition of done is limited as their are additional sprint only related to release testing where then a lot of manual tests are executed. Sounds a bit like classical release testing which would also fit that there is a dedicated role of a test manager.</p>
<p>All in all I think the presentation is a good example that &#8211; at least in this case &#8211; there is still some way to go at the &#8220;frontline&#8221; to get rid of the existing QA methods and going even more into the direction of agile testing.</p>
<h2>BDD approaches for Web Development by Thomas Lundström</h2>
<p>Visited and written by: Andreas</p>
<p>At first <a href="http://blog.thomaslundstrom.com/2009/10/presentation-at-agile-testing-days.html">Thomas Lundström</a> layed some basics for BDD and set the context for the following live demo. This first part of the presentation took a little bit too long for my taste, you could expect that on a conference for agile testing, everybody has a rough understanding what behaviour driven development is. And then, some parts were explained differently to what I consider them to be correct, for example the &#8220;golden triangle&#8221;, the fusion of requirements, tests and &#8230; done?! To the best of my knowledge, and this is also how Gojko Adzic explains it in his book &#8220;Bridgin the Communications Gap&#8221;, executable specifications union requirement, test and examples (to explain the requirements). The presented combination of cucumber and webrat, ruby based tools, were capable of testing a simple guest book webapp. Ok, user stories are called features in cucumber (or rather in <a href="http://en.wikipedia.org/wiki/Gherkin">Gherkin</a>, the DSL), and acceptance tests are not called acceptance tests, but scenarios, but these are just minor issues. Webrat does not support Ajax, so it is really only usable for simpler use cases, but cucumber also supports Selenium and HtmlUnit.</p>
<p>A very important point was underlined by Lundström, and I don&#8217;t want to miss amplifying it also here. It is important that automated acceptance tests / executable specifications describe the rules that should be tested &#8211; including the context and prerequisites, but without the concrete steps / the script how to get there. Creating the context is what the fixture should do. Lundström gave the following example and differentiated between the imperativ style (the script) and the declarative style. By restricting the test on the logic that should be tested, the declarative stype is much more robust. An additional advantage is in my opinion that it opens the possibilities to automatically refactor the fixture (the binding between the test and the code under test), if it is written in the same programming language as the system under test. An impossible thing, when the context creating logic is part of the test script.</p>
<h3>Imperative Style</h3>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Story: Animal Submission
&nbsp;
  As a Zoologist
  I want to add a new animal to the site
  So that I can share my animal knowledge with the community
&nbsp;
  Scenario: successful submission
  Given I'm on the animal creation page
&nbsp;
  When I fill in Name with 'Alligator'
  And select Phylum as 'Chordata'
  And fill in Animal Class with 'Sauropsida'
  And fill in Order with 'Crocodilia'
  And fill in Family with 'Alligatoridae'
  And fill in Genus with 'Alligator'
  And check Lay Eggs
  And click the Create button
&nbsp;
  Then I should see the notice 'Thank you for your animal submission!'
  And the page should include the animal's name, phylum, animal class, order, family, and genus</pre></div></div>

<h3>Deklarative Style</h3>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Story: Animal Submission
&nbsp;
  As a Zoologist
  I want to add a new animal to the site
  So that I can share my animal knowledge with the community
&nbsp;
  Scenario: successful submission
  Given I'm on the animal creation page
&nbsp;
  When I add a new animal
&nbsp;
  Then I should see the page for my newly created animal
  And the notice 'Thank you for your animal submission!'</pre></div></div>

<p>Quelle: <a href="http://www.benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories/">Imperative vs Declarative Scenarios in User Stories </a></p>
<h2>Introduction to Robot Framework von Pekka Klärck</h2>
<p>Visited and written by: Thomas</p>
<p>Even though Andreas was telling me before the session a thousand times that I anyway know everything about Robot Framework and there is no need for me to visit this track, I could not resist to see <a href="http://twitter.com/pekkaklarck">Pekka</a> in action and getting some first hand information on the latest features in Robot. Pekka did not disappointed me.</p>
<p>First of all a few basic facts: Keyword-driven, based on Python, supports Java using Jython. Support for other languages via XML-RPC remote interface. Robot is Open Source under the Apache 2.0 licence. The tool evolved out of a thesis work that was started at Nokia Neworks and is today still supported by Nokia Siemens Networks. But I think this is enough of repeating the basic stuff as <a href="http://code.google.com/p/robotframework/wiki/IntroductionSlides">the slides are anyway available here</a> <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>The presentation continues with the explanation of <em>keywords</em>. Of course here Andreas is right that there is not too much new for me, as I am dreaming already in keywords. It goes on with a very short comparison with FitNesse and Pekka points out that in Robot everything is a keyword, which makes things very easy to understand in comparison to FitNesse where there are different kind of fixtures one has to understand. The example that is shown afterwards looks quite familiar as Elisabeth was using it as well for her tutorial yesterday. Now Pekka is emphasizing a great strenght of the Robot Framework, which is combining lower-level keywords to more powerful higher-level keywords. A feature in which I also personally see as a very big strength of the tool. By the way, it is quite facinating following the presentation on some Unix machine where all the menus and related items are completely in finnish language.</p>
<blockquote><p>Pekka Klärck: &#8220;I have some confidence that really every tester &#8211; even without the slightest programming skills &#8211; can combine existing keywords to build new testcases.&#8221;</p></blockquote>
<p>Pekka continues by starting Robot from a shell. It is pointed out that this is especially important for integrating Robot with CI-environments, which is really an easy task to do with Robot. Then the reporting and statistik capabilities of the tool are shown, especially the tagging. This is building a bridge to the tutorial yesterday where there was the question how to prevent that the build fails due to already implemented tests for which no functionality exists yet. So tagging is one half of the answer together with the possibility to define that tests marked with certain tags are not critical. Thus when those tests are failing the build is not marked as broken, which is not only a wanted effect in ATDD, but more a mandatory thing any agile testing tool has to support.</p>
<p>The graphical editor RIDE has also made great progress. It is now possible to extend keywords using CTRL-Space. RIDE shows then all keywords starting with the given characters together with the documentation of those keywords. This is really looking very promising and I personally think that the &#8220;final&#8221; version of RIDE will be another big boost in the usability of the Robot Framework. The same is true for the new possibility of &#8220;Executable Specifications&#8221; which will be worth a blog post of its own still.</p>
<p>After the presentation and during lunch there was some time for a quick chat with Pekka, which I was very happy about as we worked at the same company at the time Robot was developed and Pekka was visiting us a lot to promote the tool. It also showed me again that the development of Robot is very actively happening and I am looking forward to the things happening with RIDE and and the ATDD feature (and everything else).</p>
<h2>Key Note Elisabeth Hendrickson &#8211; Agile Testing, Uncertainty, Risks and Why It All Works</h2>
<p>Visited and written by: Andreas &amp; Thomas</p>
<p>First of all Elisabeth really has a very good and active presentation style. Her presentation was mainly about what she calls the &#8220;7 Key Principles of Agile Testing&#8221;. Those are:</p>
<ul>
<li>ATDD</li>
<li>TDD</li>
<li>Exploratory Testing</li>
<li>Automated System Tests</li>
<li>Automated Unit Tests</li>
<li>Collective Test Ownership</li>
<li>Continuous Integration</li>
</ul>
<p><a href="http://blogs.imeta.co.uk/agardiner/Default.aspx">Anthony Gardiner has already written more on those in his Blog Post</a> ob this keynote.</p>
<blockquote><p>Elisabeth Hendrickson: &#8220;The only way to tell if you are agile is if you are successfully delivering software.&#8221;<br />
Elisabeth Hendrickson: &#8220;Exploratory Testing is a dicipline. It is not just blindly banging on the keyboard.&#8221;</p></blockquote>
<p>I am not sure whether or not it is some kind of <em>sign</em> that I was initially writing &#8220;keyword&#8221; instead of &#8220;keyboard&#8221; in the quote above <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . But back to the keynote: It sontinues with CI and an explanation that tests are artefacts that belong to the project. I fully support this and I find it hard to understand that there are still projects that do not have there tests and test documents under version control same way the code is under version control.</p>
<h2>Agile Quality Management – Axiom or Oxymoron? by David Evans</h2>
<p>Visited and written by: Andreas</p>
<p>David Evans presented some traditional testers&#8217; concerns that are moving into an agile environment and put them into a different light. For that he used an interesting structure, every concern was formulated from the pessimistic perspective (as oxymoron) and from the optimistic perspective (as axiom). Which of the two is the right one, I leave that as a homework to the reader</p>
<ol>
<li>Developers Test Their Own Code
<ul>
<li>Oxymoron: Marking your own homework</li>
<li>Axiom: Unit tests are the first of many qualtiy strategies</li>
</ul>
</li>
<li>Developers and Testers are co-dependant
<ul>
<li>Oxymoron: Independence is fundamental to quality governance</li>
<li>Axiom: whole team share the goal of creating quality software</li>
</ul>
</li>
<li>Developers know the acceptance tests (are defined and agreed up-front)
<ul>
<li>Oxymoron: they will only write code to make the tests pass</li>
<li>Axiom: they won&#8217;t write code that makes the tests fail</li>
</ul>
</li>
<li>No Signed-Off Requirements (.. seem to change with the weather)
<ul>
<li>Oxymoron: I can&#8217;t possibly certify that the requirements have been met</li>
<li>Axiom: Each requirement is defined by its acceptance tests: these are negotiated with and confirmed by the customer</li>
</ul>
</li>
<li>No Test Plan (IEEE 829 Test Plans are in short supply on agile projects)
<ul>
<li>Oxymoron: Failing to plan is planning to fail! How will we know what to test?</li>
<li>Axiom: The Test Plan is impled in the product backlog: everything we build, we test (don&#8217;t build tests you don&#8217;t care if they fail!)</li>
</ul>
</li>
<li>No Test Manager (or Test Management Tool) (Test Manager is not a role that exists in Agile literature)
<ul>
<li>Oxymoron: so how can we possibly manage testing?</li>
<li>Axiom: Testers == team; tests == specifications; &#8230; they don&#8217;t need separate management</li>
</ul>
</li>
</ol>
<p>After that he offered some recommendations for quality principles, but there have not been bigger surprises hidden (fast feedback, shared &#8220;done&#8221; understanding, etc). The right testing attitude was exposed for example in these quotes:</p>
<blockquote><p>&#8220;Defects are evidence of missing tests&#8221;</p>
<p>&#8220;Any test worth writing is worth running all the time&#8221;</p></blockquote>
<p>Means, when a test is &#8220;red&#8221; and the customer does not care &#8230; delete the Test. It was not worth writing in the first place, since apparently it was testing not needed or wanted behaviour.</p>
<h2>Quality and Short Release Cycle von Lior Friedman</h2>
<p>Visited and written by: Thomas</p>
<p>Lior starts his presentation with the statement: It is not the task of a developer to just create code, but functional and quality software. I can only say &#8220;yes&#8221;, but why is it so that this must be emphasized so often? It seems crystal clear to me that developers want to create value for the customer and it not programming for the sake of programming (this can be done in some spare time <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ). For me this is all about a professional approach to software development.</p>
<p>It continues with a discussion about <em>Time</em> versus <em>Quality</em> and the fact that in traditional projects there must be always compromises if the amount of  <em>Resourcen</em> is fixed. With agile methods time should be saved by producing better quality at the same time.</p>
<p>I think for the rest I can keep it short as there was not really too much new. The presentation discusses the advantages of short release cylcles, better quality due to CI, less bugs, better efficiency, more trust from the customer side and less risk. To sum it up: The reasons why we are doing agile software development anyway.</p>
<h2>“Testify” – One-button Test-Driven Development tooling &amp; setup by Mike Scott</h2>
<p>Visited and written by: Andreas</p>
<p>In the beginning there was some overlap with the earlier presentation from the SQS collegue David Evans. But quickly the live demonstration of &#8220;<a href="http://code.google.com/p/testifywizard/">Testify</a>&#8221; started, a tool to create a fully configured, with all bells and whistles, TDD/ATDD (Acceptance TDD) project setup; either in .Net or Java. This SQS-internal tool is open source from today on. Thanks Scott!</p>
<ul>
<li>.Net integrated tools: nant, nunit, fit, fitnesse, richnesse, selenium, ncover, nsis, fx-cop, cruisecontrol</li>
<li>Java: here the toolsbelt looked similar, but I was too slow to note it down</li>
</ul>
<p>Essentially, Testify is a carefully crafted project, in which some files are turned into <a href="http://velocity.apache.org/">velocity</a> templates to replace the project name (the only parameter the testify wizard accepts) in some files and filenames. Personally I would have chosen <a href="http://maven.apache.org/guides/introduction/introduction-to-archetypes.html">Maven Archetypes</a> to do that, because technically it is doing exactly that (and a little bit more), but ok, you don&#8217;t have a UI for that. If you don&#8217;t have any tool preference or other constraints, you should invest 2 hours into the generated project and see if it fit your needs.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://maven.apache.org/guides/introduction/introduction-to-archetypes.html</div>
<h2>Test Driven TDD &#8211; TDD quality improvement based on test design technique and other testing theory von Wonil Kwon</h2>
<p>Visited and written by: Thomas</p>
<p>Sorry, but here a summary does not really make muh sense as the whole presentation was really low-level and there was nothing really new. Furthermore the examples did not really make much sense. Sorry Wonil.</p>
<h2>Key Note Tom Gilb &#8211; Agile Inspections</h2>
<p>Visited by: Andreas &amp; Thomas, Written by: Thomas</p>
<p>Yiihaaa, it is  6pm and Tom start his keynote. So far I never had the opportunity to see Tom live and half an hour later it seems as if this is not really what some visitors have been expecting as it seems that agile is no topic at all in his presentation. More to the opposite as at the end of this talk he is firing with big canons at agile saying that &#8220;yeah it&#8217;s nice you guys do your standup meetings and have fun and everything but no one needs those in real projects. There you need measurable results!&#8221;</p>
<blockquote><p>Tom Gilb: &#8220;It is you&#8217;re fault if you accept garbage in!&#8221; (about testers accepting bad requirement documents)</p></blockquote>
<p>And that is the key message of Tom&#8217;s talk: How can I find the amount of potential defects in requirement specifications and minimize them? Because for two defects in the requirement specification there will be one bug later on in the software. At this point in time Andreas was sitting next to me and was already a little bit agonised as he was missing the agile background and at the same time he was a bit flashed by the slides. But I have to say: I really liked it and therefore I wanted to write a bit more on it still <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<blockquote><p>Tom Gilb: &#8220;Garbage in guarantees some garbage out no matter how clever you are.&#8221;</p></blockquote>
<p>Ok, so requirements are the topic. No &#8220;Executable Specificqations&#8221;, no fancy automated tests but a way to find potential defects in requirement documents. I think it is quite obvious that Tom wants to be &#8211; and succeeded to be &#8211; very provocative with his statements, especially at a conference focusing on &#8220;Agile Testing&#8221;. But I am a big fan of looking at things from different angles and I think Toms&#8217; approach can very well be seen as something that can be used in addition and it does not really contradict with the agile testing practices <strong>- used anyway at a later stage in the project -</strong> discussed so far.</p>
<blockquote><p>Tom Gilb: &#8220;How lucky do you feel today, punk?&#8221; (About the 50:50 chance that a bug in the requirements results in a bug in the final software.)</p></blockquote>
<p>The discussed method is analysing specification documents with respect to the following three rules:</p>
<ul>
<li>Clear enough to test is.</li>
<li>Unambigious with respect to intendend readers.</li>
<li>Contains no design.</li>
</ul>
<p>With this approach you can now analyse some pages of a given requirement specification and get &#8220;the amount of defects per page&#8221; as a measurable size. For this it is enough to have a group of stakeholders analyse the document for about 10 minutes. I skip some of the details here, but in the end you get some number indicating the amount of defects which gets multiplied with some Tom-Experience <strong>one</strong> page of requirement specifications containing roughly 300 words in average. (Tom had some even more extreme examples with up to 600 defect in a page containing only 300 words.) This seems to be a normal value when looking at specifications that have not been written with any special focus on the rules shown beforehand. With 60-100 defects on one page this would mean already 600-1000 defects on a specification with only 10 pages. With 50% of them ending up as real bugs in your system that must be found and fixed this shows how dangerous this is for projects &#8230; and how expensive.</p>
<p>I really think this is a very good approach to check requirement documents (also together with a customer) and is worth trying out on ourselves. Of course Tom also has some solution for this problem by describing requirements in a more formalized way. For more information just use google to find Tom&#8217;s book. Of course there will be also some other ways of solving this once the problem is identified. In the end this means that with this we will get excellent input for our &#8220;executable specifications&#8221; and then I think it is also ok for Tom that we have some fun using our agile methods and everything &#8230; as deep within him he can for sure as well see some value in this <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<h2>Chill out/Dinner Buffet &#8211; Oktoberfest</h2>
<p>Visited and written by: Andreas &amp; Thomas</p>
<p>The evening event was done using the Oktoberfest as a theme. Well, we are both not the biggest fans of this and the loud music was making it very hard to continue any meaningful discussions. But anyway it was fun and was of course a nice idea.</p>
<p>Later the evening we are moving to the hotel bar to find still some people for some discussions and to finish this &#8220;monster baby&#8221; of a blog entry. This is of courese worth a quick agile retrospective and we decide to use a different approach tomorrow by publishing smaller blog posts more frequently. This will minimize the risk to produce something that in the end no one needs as it might not get ready in time for the end of the conference <img src='http://blog.codecentric.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .
<div class="dzone_button" style="float:left; padding: 30px 10px 10px 0;">
<iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&#038;url=http%3A%2F%2Fblog.codecentric.de%2Fen%2F2009%2F10%2Fagile-testing-days-berlin-the-second-day%2F&#038;title=Agile+Testing+Days+Berlin%2C+The+Second+Day" height="70" width="50" scrolling="no" frameborder="0"></iframe>
</div>
<div id="crp_related"><ul><li><a href="http://blog.codecentric.de/en/2009/08/agiles-testen-das-herzstuck-agiler-softwareentwicklung-2/" rel="bookmark" class="crp_title">Agile Testing &#8211; The heart of Agile Software Development</a></li><li><a href="http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-first-day/" rel="bookmark" class="crp_title">Agile Testing Days Berlin, The First Day</a></li><li><a href="http://blog.codecentric.de/en/2010/03/agile-testing-requires-good-design/" rel="bookmark" class="crp_title">Agile Testing requires good Design</a></li><li><a href="http://blog.codecentric.de/en/2009/10/testing-days-berlin-key-note-mary-and-tom-poppendieck/" rel="bookmark" class="crp_title">Testing Days Berlin &#8211; Key Note Mary and Tom Poppendieck</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://blog.codecentric.de/en/2009/10/agile-testing-days-berlin-the-second-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
