<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Agile Web Development &amp; Operations</title>
	
	<link>http://www.agileweboperations.com</link>
	<description>Practical advice for rapidly delivering customer value</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:24:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/agileweboperations" /><feedburner:info uri="agileweboperations" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>agileweboperations</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>The DevOps Dudes</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/1nXDVivQz8c/devops-dudes-comic-strip-2012-02-06</link>
		<comments>http://www.agileweboperations.com/devops-dudes-comic-strip-2012-02-06#comments</comments>
		<pubDate>Mon, 06 Feb 2012 20:23:25 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Dudes]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3653</guid>
		<description><![CDATA[After DevOps Borat and BroOps it&#8217;s time for The DevOps Dudes! Click through to see it full size Other posts: DevOps is NOT a Job Description DevOps: Why Silos Suck And How To Break Them Do you have a DevOps Culture?]]></description>
			<content:encoded><![CDATA[<p></p><p>After <a href="https://twitter.com/#!/DEVOPS_BORAT" title="DevOps Borat" target="_blank">DevOps Borat</a> and <a href="http://www.hollenback.net/index.php/BROFESTO" title="The BroOps Brofesto " target="_blank">BroOps</a> it&#8217;s time for <strong>The DevOps Dudes</strong>!</p>
<div id="attachment_3667" class="wp-caption aligncenter" style="width: 300px">
	<a  href="#" onClick="MyWindow=window.open('http://awostatic.agileweboperatio.netdna-cdn.com/wp-content/uploads/2012/02/devops-dudes-001.gif','The DevOps Dudes Cartoon 001','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=1100,height=205'); return false;" ><img src="http://awostatic.agileweboperatio.netdna-cdn.com/wp-content/uploads/2012/02/devops-dudes-001-300x54.gif" alt="" title="Click through to see it full size" width="300" height="54" class="size-medium wp-image-3667" /></a>
	<p class="wp-caption-text">Click through to see it full size</p>
</div>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/devops-is-not-a-job-description' rel='bookmark' title='DevOps is NOT a Job Description'>DevOps is NOT a Job Description</a></li>
<li><a href='http://www.agileweboperations.com/devops-why-silos-suck-and-how-to-break-them' rel='bookmark' title='DevOps: Why Silos Suck And How To Break Them'>DevOps: Why Silos Suck And How To Break Them</a></li>
<li><a href='http://www.agileweboperations.com/do-you-have-a-devops-culture' rel='bookmark' title='Do you have a DevOps Culture?'>Do you have a DevOps Culture?</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/1nXDVivQz8c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/devops-dudes-comic-strip-2012-02-06/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/devops-dudes-comic-strip-2012-02-06</feedburner:origLink></item>
		<item>
		<title>Optimizing Offshore Software Development with Agile</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/t4QDfNGqNJM/optimizing-offshore-software-development-with-agile</link>
		<comments>http://www.agileweboperations.com/optimizing-offshore-software-development-with-agile#comments</comments>
		<pubDate>Wed, 11 Jan 2012 06:04:46 +0000</pubDate>
		<dc:creator>Dan Ackerson</dc:creator>
				<category><![CDATA[Kanban & Agile]]></category>
		<category><![CDATA[offshore]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3618</guid>
		<description><![CDATA[This is a guest post by Prasad Chaudhari, freelance java consultant. He was appointed as a project manager for the project mentioned below and played a role of ScrumMaster. mattwilde66 The first prerequisite to going agile offshore is a mature and realistic understanding of agile at home. We&#8217;ve been practicing scrum on-site for several years [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><em>This is a guest post by <a href="https://www.xing.com/profile/Prasad_Chaudhari">Prasad Chaudhari</a>, freelance java consultant. He was appointed as a project manager for the project mentioned below and played a role of ScrumMaster.</em><br />
<div class="wp-caption alignleft" style="width: 240px">
	<br />
<a href="http://www.flickr.com/photos/propperbo66/6662265287/in/pool-97035580@N00/" title="Britannia" target="_blank"><img src="http://farm8.staticflickr.com/7161/6662265287_babfbc9e25_m.jpg" alt="Britannia" border="0" /></a><br /><small><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a><a href="http://www.flickr.com/photos/propperbo66/6662265287/in/pool-97035580@N00/" title="Wonderlane" target="_blank">mattwilde66</a></small><br />

	<p class="wp-caption-text"> </p>
</div>The first prerequisite to going agile offshore is a mature and realistic understanding of agile at home. We&#8217;ve been practicing scrum on-site for several years including trained Product Owners (POs) and ScrumMasters, both of whom employ and leverage scrum artifacts. </p>
<p>Locally, we have six scrum teams: five software development teams, and one IT operations team. Each team has a sprint backlog, scrum board and burn-down chart. Automated tests and continuous integration are part of the daily business. </p>
<p>Our company has a universal understanding and acceptance of the <a href="http://www.processexcellencenetwork.com/business-process-management-bpm/articles/lean-and-agile-value-chain-management-a-guide-to-t/">Lean and Agile Value Chain</a>, beginning with rough user concepts and ending with customer delivery. Without this basic building block, as the theory of constraints suggests, there will either be many unfinished stories in progress (i.e., because operations cannot make regular releases), or developers will starve for stories (because the business is unable to prioritize).</p>
<p>Last year, we decided to grow our software development capability by adding another scrum team in India. After a few iterations, reflections and process adaptations, the remote team became productive. We&#8217;ve been successfully running agile offshore for over a year now, and I&#8217;d like to share our key learnings.</p>
<h3>Can offshore teams really be agile?</h3>
<p>If it&#8217;s important to have a true understanding of agile and scrum on-site, it is absolutely critical to ensure the offshore team members have internalized the concepts of agile software development. Just knowing what scrum artifacts are, doesn&#8217;t necessarily mean that the team understands agile methodology. Every team member must comprehend the purpose behind each artifact. During the initial sprints, we explained at-lengths the purpose of each artifact and encouraged feedback sessions before each meeting to spot misunderstandings early.</p>
<p>The offshore team&#8217;s organization structure is the next thing to check. Usually, offshore service providers are structured hierarchically. During project resource staffing, we ensured that the organizational roles would not conflict with the project roles. Our employees are placed within one of three levels of organizational hierarchy. After being hired, new colleagues are briefed about the importance of their scrum role within a project, and how it does not affect their career progression within the company. </p>
<p>During every scrum meeting, we encourage all team members to speak openly about the project rather than only few member speaking for everybody. This frees up the more senior resources for more important architecture work and improves productivity.<br />
Finally, the entire team cannot deliver quality if QA isn&#8217;t properly integrated. Testers must be empowered to ensure the delivery as per the <em>definition of done</em>. At the same time, they need to know that their job is not only to report and retest bugs, but deliver quality software together with the team.</p>
<h3>Do offshore teams need extra scrum artifacts?</h3>
<p><img src="http://awostatic.agileweboperatio.netdna-cdn.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-10-at-7.43.27-AM.png" alt="" title="" width="738" height="284" class="aligncenter size-full wp-image-3619" /><br />
We use the standard scrum artifacts. Initially, we omitted the story preview meeting due to the scarcity of time available for POs, but we soon had to hold it in order to get better prepared stories for the &#8220;planning meeting 2&#8243;. We observed a very positive impact of stakeholder review on the productivity and morale of the team. Especially for long running (10 months) migration projects like ours, where the offshore team is not co-located with the business, the stakeholder review is a powerful artifact. Stakeholder interest for this meeting can be generated by asking them for what they would like to see/hear, adopting the presentation to their interests, or by encouraging them to click around the software. </p>
<p>Finally, if multiples teams are working on a shared code base, a scrum of scrums is very useful. Everyday, a member from each team visits this common stand up with representatives from the other teams. Each participant explains what their team is doing and if the team&#8217;s current activity might block other teams from working.</p>
<h3>The Scrum Master Location Dilemma: On-site or offshore?</h3>
<p>Simply put, the ScrumMaster should be located where the most impediments are. For us, most of the project impediments were at on-site. As our infrastructure and processes have been tuned over years to suit our local needs, they did not work well with the special requirements of working with an offshore team. Consider the remote availability of important support tools like Jira, our wiki, test databases, and maven repositories.</p>
<p>As I mentioned before, around 70% of development was done on-site and everybody was working on the same code base so it was critical to integrate all development activities. In our case, the ScrumMaster was on-site and his main task was to ensure that all external impediments like unavailable code repositories, broken builds, and lost database connections were addressed and resolved as soon as possible.</p>
<p>However, as the offshore team grew to 9 developers and 2 testers, the ScrumMaster needed to do this job in two places at once. To solve this dilemma, we created a hybrid system for fulfilling ScrumMaster responsibilities with a shared task list. Assigning these tasks to the offshore team, we made sure that the responsibilities are distinct and did not conflict with each other. This sharing of responsibilities will be expanded upon in the next section.</p>
<h3>Offshore Planning Meetings slow and painful?</h3>
<p>At project kickoff, &#8220;planning meeting 2&#8243; was an incredible test of patience for the on-site participant. A new team, poor story quality and a complex domain made it difficult for offshore team members to make any sure estimates. The root cause of the problem was lack of well-groomed product backlog and story estimates in hours. Additionally, the offshore company management had set KPIs for the team that it should finish all stories to which the team commits during the planning meeting. This measure, taken to improve the productivity of the team, was surely in the back developers&#8217; heads while estimating stories. We solved this problem in multiple ways. At first, by enforcing story preview meetings and making sure the stories are well defined and small. Although it helped considerably, meeting times were still not reasonable.</p>
<p>Initially, we did planning meeting 2 immediately after the planning meeting 1, but later we introduced a gap of few hours between these two meetings. In this gap, the offshore team was given a chance to research, brainstorm and come up with the design. This reduced the time of planning meeting-2, and everybody in the offshore team had a chance to actively take part in the discussion.<br />
We split the offshore team (9 developer and 2 testers) in half and appointed a team lead. To avoid the trap of hierarchy, we called them &#8220;story responsible&#8221; and rotated this role.</p>
<p>Now, planning meeting 1 is done with the entire team, but planning meeting 2 (the detail planning) is done with two teams. This has removed the wasteful pain of an entire offshore team trying (and failing) to plan all stories. With a team lead sharing the ScrumMaster responsibilities, we have also achieved linear scalability. The two team leads take over the moderation of meetings, retrospectives and solving offshore impediments.</p>
<h3>Are you communicating well?</h3>
<p>As we all know, communication is key to any process. Making use of the predefined, scrum artifacts ensures that communication takes place, but it does not ensure the quality of communication. Quality of communication is directly proportional to the quality of interpretation by the receivers. Ambiguous communication is differently interpreted by the individual project team members. We continuously improved our quality of communication by trying different communication channels and feedback loops.</p>
<p>After months of experimenting, we settled upon these three communication channels: Skype for video, telephone line for voice, and &#8220;live meeting&#8221; for desktop sharing. Having an uninterrupted voice connection was vital; especially when 11 people are all taking part in a meeting. Hence, we decided to use a land-line for voice communication instead of Skype or Google talk.</p>
<p>Although telephone calls are more effective than emails, certain documents (like guidelines) need to be written down. Most of the on-site communication was implicit, based on situational awareness and simple co-location &#8211; definitely not enough for an offshore team to start implementation.</p>
<p>Therefore, we discussed the requirements together with the offshore team and asked them to write the final specifications. The on-site team reviewed these during development and after completion to  suggest improvements. To provide a strict framework for the offshore team, we wrote the guidelines for clean-code, pre-commit checklists, and operational wiki notes.</p>
<h3>Creating Situational Awareness</h3>
<p>One of the powerful tools scrum provides is the <a href="http://agilesoftwaredevelopment.com/blog/janusz-gorycki/out-story-board-better-yours">storyboard</a>. Of course, for distributed teams, use of common physical board is not possible, so we use Jira with the excellent <a href="http://www.atlassian.com/software/greenhopper/overview">Greenhopper</a> plug-in. As all 6 teams are working on the same code base, we use <a href="http://www.jetbrains.com/teamcity/">Teamcity</a> for continuous integration and keep the build green by using pre-commit hooks. Individual developer commits are staged on the integration server, compiled with the latest revision of code, and, finally, run against all automated tests. Only after passing all of these quality gates, is the commit pushed to the source code repository for the rest of the team.</p>
<p>To summarize, adopting agile software development processes was instrumental to the success of this project. Developing working software in each sprint provided us, as well as company management, with confidence in the early phase of the project, and retrospectives gave valuable input for fine-tuning the process.</p>
<p>Having a fully functional PO role would have definitely helped in further improving the team’s productivity. But, we successfully achieved linear scalability by splitting offshore team into two and letting both team leads share some of the ScrumMaster responsibilities. For the next project, we are working on a more well-groomed product backlog, and better story point estimations. </p>
<p>Looking back, I believe the most important learning was continually improving every aspect of our development. After all, being agile means ‘readiness for change’, doesn’t it?</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/waterfall-scrum-and-lean-software-development-simulation-as-teaching-platform' rel='bookmark' title='Waterfall, SCRUM and Lean Software Development simulation as teaching platform'>Waterfall, SCRUM and Lean Software Development simulation as teaching platform</a></li>
<li><a href='http://www.agileweboperations.com/how-good-to-great-applies-to-agile-software-development' rel='bookmark' title='How &#8220;Good to Great&#8221; applies to agile software development'>How &#8220;Good to Great&#8221; applies to agile software development</a></li>
<li><a href='http://www.agileweboperations.com/state-of-development-annual-address-on-how-we-ship-software' rel='bookmark' title='State of Development: Annual Address on How We Ship Software'>State of Development: Annual Address on How We Ship Software</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/t4QDfNGqNJM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/optimizing-offshore-software-development-with-agile/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/optimizing-offshore-software-development-with-agile</feedburner:origLink></item>
		<item>
		<title>DevOps is NOT a Job Description</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/Ij3n9rP-H18/devops-is-not-a-job-description</link>
		<comments>http://www.agileweboperations.com/devops-is-not-a-job-description#comments</comments>
		<pubDate>Thu, 08 Dec 2011 18:35:16 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[automated infrastructure]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[sharing]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3600</guid>
		<description><![CDATA[Wonderlane The DevOps hype produces some strange effects. Not only do tool vendors try to jump on the DevOps band wagon by declaring their products &#8220;DevOps inside&#8221; or listing DevOps as a feature, but companies start to look for a &#8220;DevOp&#8221; in their job ads. Don&#8217;t be misled! Here&#8217;s what DevOps is really about: DevOps [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="wp-caption alignleft" style="width: 240px">
	<br />
<a href="http://www.flickr.com/photos/71401718@N00/2970736472/" title="The Way I See It #17" target="_blank"><img src="http://farm4.static.flickr.com/3176/2970736472_49a549d774_m.jpg" alt="The Way I See It #17" border="0" /></a><br /><small><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a><a href="http://www.flickr.com/photos/71401718@N00/2970736472/" title="Wonderlane" target="_blank">Wonderlane</a></small><br />

	<p class="wp-caption-text"> </p>
</div>
<p>The DevOps hype produces some strange effects. Not only do tool vendors try to jump on the DevOps band wagon by declaring their products &#8220;DevOps inside&#8221; or listing DevOps as a feature, but companies start to look for a &#8220;DevOp&#8221; in their job ads. Don&#8217;t be misled! Here&#8217;s what DevOps is <em>really</em> about:</p>
<h3>DevOps Is About Culture</h3>
<p>The fundamental basis for successful DevOps is a culture of trust and a feeling of fellowship. Everything starts with how people perceive each other: Is it an &#8220;us vs them&#8221; culture or is it a &#8220;we&#8221;-culture? I don&#8217;t see any job description in here.</p>
<h3>DevOps Is About Automation</h3>
<p>Let&#8217;s look into automation. A lot of the advantages DevOps promises lies in the right use of automation tools. Automation removes variance from your processes and minimizes human error. While you&#8217;ll definitely need people with automation skills and experiences, this is not enough. Automation only &#8211; without the right culture &#8211; will not provide the benefits you hoped for.</p>
<h3>DevOps Is About Measuring</h3>
<p>Then let&#8217;s examine measuring. While measuring is a critical, mandatory practice for improving processes, it&#8217;s not really a job description. Every employee should formulate hypotheses, run experiments, and validate or scrap her ideas. No magic sauce here either.</p>
<h3>DevOps Is About Sharing</h3>
<p>What about sharing? I&#8217;m sorry to say that while the DevOps movement is largely driven by sharing ideas, problems, and tools, this isn&#8217;t really a good job description. It is an attitude more than a task.</p>
<p>If you run through the points, which <em>really</em> define DevOps you&#8217;ll see for yourself how strange it is to try and hire a &#8220;DevOp&#8221;. DevOps is not a job &#8211; DevOps is Culture, Automation, Measurement, and Sharing (CAMS).</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/do-you-have-a-devops-culture' rel='bookmark' title='Do you have a DevOps Culture?'>Do you have a DevOps Culture?</a></li>
<li><a href='http://www.agileweboperations.com/2011_escaping_devops_echo_chamber' rel='bookmark' title='2011: Time to Escape the DevOps Echo Chamber'>2011: Time to Escape the DevOps Echo Chamber</a></li>
<li><a href='http://www.agileweboperations.com/devops-why-silos-suck-and-how-to-break-them' rel='bookmark' title='DevOps: Why Silos Suck And How To Break Them'>DevOps: Why Silos Suck And How To Break Them</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/Ij3n9rP-H18" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/devops-is-not-a-job-description/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/devops-is-not-a-job-description</feedburner:origLink></item>
		<item>
		<title>DevOps – Break Down The Wall</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/ja1QVBPO8fU/devops-break-down-the-wall</link>
		<comments>http://www.agileweboperations.com/devops-break-down-the-wall#comments</comments>
		<pubDate>Thu, 24 Nov 2011 21:07:00 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ITIL]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3587</guid>
		<description><![CDATA[&#124; spoon &#124; Instead of escalating wars between departments by driving them to ever more ambitious, local goals, we need to break down the wall between development and operations. Defining overarching goals which resonate for both departments creates an environment where DevOps collaboration may thrive. Dev and Ops are separate departments Organizations typically divide their [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><div class="wp-caption alignleft" style="width: 240px">
	<a href="http://www.flickr.com/photos/lchifi/231115148/" title="The Wall by | spoon |, on Flickr"><img src="http://farm1.staticflickr.com/62/231115148_cb68282241_m.jpg" width="240" height="240" alt="The Wall"></a><br /><small><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a><a href="http://www.flickr.com/photos/lchifi/231115148/" title="| spoon |" target="_blank">| spoon |</a></small>
	<p class="wp-caption-text"> </p>
</div><br />
Instead of escalating wars between departments by driving them to ever more ambitious, local goals, we need to break down the wall between development and operations. Defining overarching goals which resonate for both departments creates an environment where DevOps collaboration may thrive.</p>
<p><br/></p>
<h3>Dev and Ops are separate departments</h3>
<p>Organizations typically divide their teams by type of work. They create development departments for writing software. And, because running software quickly and stably requires a different set of specialization, they create a separate operations department. This division of labor simplifies management because each department shares certain characteristics and needs.</p>
<h3>Separated departments have conflicting goals</h3>
<p>Each department defines goals along division of labor lines. The development department may be measured by the speed of creating new features, while operations is judged by uptime and response time. Unfortunately, operations is considered successful with stable, unchanging metrics, but development is only applauded when lots of things change. Conflict is baked into this system making collaboration unlikely.</p>
<h3>Dev and Ops sub-optimize to meet local goals</h3>
<p>Instead of optimizing the whole application lifecycle, both Dev and Ops improve their processes to meet their respective goals. Developers do everything to speed up the creation of new features by adopting agile methodologies. Sysadmins do everything to maintain stability and enhance performance by applying ITIL which equates change to risk &#8211; something to be avoided at all costs.</p>
<p>In an even crueler twist of fate, when each of these departments are operating at maximum efficiency, the product lifecycle suffers the most. Development is continuously pounding out new features against the walls of Operations which, in turn, has all kinds of defense mechanisms in place to fight change. A huge war is about to break out, and the only way to avoid it is by aligning the goals of these two departments.</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/devops-why-silos-suck-and-how-to-break-them' rel='bookmark' title='DevOps: Why Silos Suck And How To Break Them'>DevOps: Why Silos Suck And How To Break Them</a></li>
<li><a href='http://www.agileweboperations.com/the-5-goals-of-agile-and-devops' rel='bookmark' title='The 5 Goals Of Agile And DevOps'>The 5 Goals Of Agile And DevOps</a></li>
<li><a href='http://www.agileweboperations.com/devops-qa-with-kevin-parker' rel='bookmark' title='DevOps Q&amp;A with Kevin Parker'>DevOps Q&#038;A with Kevin Parker</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/ja1QVBPO8fU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/devops-break-down-the-wall/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/devops-break-down-the-wall</feedburner:origLink></item>
		<item>
		<title>Cross-dysfunctional Teams and the Story Point Fight</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/SMZsvXQXwIA/cross-dysfunctional-teams-and-the-story-point-fight</link>
		<comments>http://www.agileweboperations.com/cross-dysfunctional-teams-and-the-story-point-fight#comments</comments>
		<pubDate>Thu, 17 Nov 2011 06:34:08 +0000</pubDate>
		<dc:creator>Dan Ackerson</dc:creator>
				<category><![CDATA[Kanban & Agile]]></category>
		<category><![CDATA[bugfixing]]></category>
		<category><![CDATA[user stories]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3581</guid>
		<description><![CDATA[Claudio Gennari Agile developers know how to estimate story points for customer features. And while transferring this knowledge over to the project team can take a few sprints, it is speedily adopted and velocity becomes a focal point of the sprint planning games. But, if the all the project participants aren&#8217;t officially on the team, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><div class="wp-caption alignleft" style="width: 220px">
	<img alt="" src="http://farm4.static.flickr.com/3583/3557886648_1ff2646fc8_m.jpg" title="Warriors ... by laudio Gennari at Flickr" width="209" height="240" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/claudiogennari/3557886648/" title="Warriors ... by Claudio Gennari at Flickr" target="_blank">Claudio Gennari</a></small>
	<p class="wp-caption-text"> </p>
</div>Agile developers know how to <a href="http://www.agileweboperations.com/how-to-estimate-user-stories-when-using-pivotaltracker">estimate story points</a> for customer features. And while transferring this knowledge over to the project team can take a few sprints, it is speedily adopted and velocity becomes a focal point of the sprint planning games. But, if the all the project participants aren&#8217;t officially on the team, a growing gap will appear between where the team wants the project to go and where the other participants thinks it should go. Story points quickly become a source of frustration and conflict instead of helping to gel the project team.</p>
<p>In my case, the core project team is 100% committed, but there are a few external folks from support and QA who are involved in many other projects. From their viewpoint, our project is just another task on their ever-growing checklist of product support. They don&#8217;t care about new user features &#8211; they want the bugs fixed. Because the project team only gives points to new features, the support colleagues feel left out and forgotten. Their job is seemingly made harder by our &#8220;overlooking&#8221; bug fixing.</p>
<p>Let&#8217;s be clear &#8211; we do a <em>lot</em> of bug fixing &#8211; actually, way too much! As we have no automated tests, we get the disastrous effect that fixing one bug causes three others. Roughly 50% of our sprint stories are bug fixes.</p>
<p>A cross-dysfunctional team like we have will never be able to come together and agree on the importance of regularly delivering customer value and unit-testing. Their loyalties lie with different departments and organizations. To get a truly committed, cross-functional team everybody needs to pull together in the same direction, to have a common understanding of the teams goals and feel 100% empowered in making the decisions to make their vision reality.</p>
<p>As for how we can increase our velocity, the answer is quite clear: start writing tests. At the very minimum, stop making <a href="http://www.agileweboperations.com/bugfixes-without-tests-are-anti-fixes">anti-fixes</a>!</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/self-brewed-complexity-is-evil-fight-it' rel='bookmark' title='Self-brewed complexity is evil &#8211; fight it!'>Self-brewed complexity is evil &#8211; fight it!</a></li>
<li><a href='http://www.agileweboperations.com/6-bad-ways-conveying-urgent-tasks-and-how-fight-them' rel='bookmark' title='6 Bad Ways of Conveying Urgent Tasks (And How to Fight Them)'>6 Bad Ways of Conveying Urgent Tasks (And How to Fight Them)</a></li>
<li><a href='http://www.agileweboperations.com/estimation-user-stories-story-points-abstract-size-measure' rel='bookmark' title='Estimation of User Stories With Story Points as Abstract Size Measure'>Estimation of User Stories With Story Points as Abstract Size Measure</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/SMZsvXQXwIA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/cross-dysfunctional-teams-and-the-story-point-fight/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/cross-dysfunctional-teams-and-the-story-point-fight</feedburner:origLink></item>
		<item>
		<title>Where Agile Falls Short</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/R20i4o082U8/where-agile-falls-short</link>
		<comments>http://www.agileweboperations.com/where-agile-falls-short#comments</comments>
		<pubDate>Thu, 13 Oct 2011 08:00:00 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[Kanban & Agile]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3574</guid>
		<description><![CDATA[Seattle Municipal Archives It&#8217;s amazing. Talking to a bunch of fellow CTOs I heard a lot of them saying: &#8220;We introduced Scrum and it works really well&#8221; and &#8220;we&#8217;re too slow to bring new features to our customers&#8221;. This piqued my curiosity. Scrum is supposed to speed up feature delivery through short iterations. How can [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="wp-caption alignleft" style="width: 188px">
	<img alt="" src="http://farm4.static.flickr.com/3114/2722914098_48d5c919e5_m.jpg" title="Laying water pipe on East Harrison Street, 1899 by Seattle Municipal Archives, on Flickr" width="188" height="240" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/seattlemunicipalarchives/2722914098/" title="Laying water pipe on East Harrison Street, 1899 by Seattle Municipal Archives, on Flickr" target="_blank">Seattle Municipal Archives</a></small>
	<p class="wp-caption-text"> </p>
</div>
<p>It&#8217;s amazing. Talking to a bunch of fellow CTOs I heard a lot of them saying: &#8220;We introduced Scrum and it works really well&#8221; <em>and</em> &#8220;we&#8217;re too slow to bring new features to our customers&#8221;. This piqued my curiosity. Scrum is supposed to speed up feature delivery through short iterations. How can an organization claim to run Scrum successfully but not deliver customer value fast?</p>
<h3>The Curse Of Sub-Optimization</h3>
<p>For me, that sounds like a typical case of sub-optimization. You optimize only one part of a value stream but not others. While that one part (e.g. development) is getting faster and faster other parts of the system are not able to keep up the new pace. The development team will either run low on User Stories or it will swamp QA or Operations with features to be released. In the worst case, you end up slowing down the whole feature creation process instead of speeding it up.</p>
<h3>The Pipeline And The Bottleneck</h3>
<p>I like picturing the software development process as a pipeline. From the initial idea to production release a feature needs to flow through the organization. You can picture the capacity of each step in that flow as the width of a pipeline. The higher the capacity of one part of the organization the wider the pipe. The bottleneck of the pipeline is the part of the organization with the lowest capacity to deliver features. You can easily identify it by visualizing your process e.g. on a Kanban board and looking where the most Kanban cards get stuck. If you optimize an area in your process, which is not the bottleneck, you&#8217;ll end up with sub-optimization. Only optimizing the bottleneck will <em>really</em> speed up overall delivery.</p>
<h3>Scrum Moves The Bottleneck</h3>
<p>If development used to be your first bottleneck and you introduce Scrum successfully you&#8217;ll see <em>some</em> speedup in delivery. But it might be way less than expected. Other parts, like QA or Product Management, may have a capacity which is only slightly higher than that of development. If you keep optimizing development, you won&#8217;t achieve any more speedup. Instead, you need to focus on the next bottleneck and optimize it. Only by constantly looking for the current bottleneck and optimizing it can you constantly speed up your delivery.</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/scrum-vs-continuous-deployment-or-why-scrum-falls-short-for-web-applications' rel='bookmark' title='Scrum vs Continuous Deployment or why Scrum falls short for web applications'>Scrum vs Continuous Deployment or why Scrum falls short for web applications</a></li>
<li><a href='http://www.agileweboperations.com/how-scrum-induced-sub-optimization-kills-productivity-fix-with-kanban' rel='bookmark' title='How Scrum Induced Sub-Optimization Kills Productivity (And How To Fix It With Kanban)'>How Scrum Induced Sub-Optimization Kills Productivity (And How To Fix It With Kanban)</a></li>
<li><a href='http://www.agileweboperations.com/scrum-what-new-community-edited-qa-site-about-agile-lean-kanban-and-scurm' rel='bookmark' title='Scrum What? New Community Edited Q&amp;A Site About Agile, Lean, Kanban and Scurm'>Scrum What? New Community Edited Q&#038;A Site About Agile, Lean, Kanban and Scurm</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/R20i4o082U8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/where-agile-falls-short/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/where-agile-falls-short</feedburner:origLink></item>
		<item>
		<title>How Non-negotiable Features Kill Software Products</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/RDf7z2bXHHM/how-non-negotiable-features-kill-software-products</link>
		<comments>http://www.agileweboperations.com/how-non-negotiable-features-kill-software-products#comments</comments>
		<pubDate>Thu, 22 Sep 2011 07:10:23 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[Kanban & Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[prioritization]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3561</guid>
		<description><![CDATA[Jo Naylo You’ve most probably been there: To win that one ueber-important client, your friendly sales rep sells the farm and his grandmother (well actually he sells features, which he invents right in front of the client to make sure to get the deal, but the effect is nearly the same). And not only does [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="wp-caption alignleft" style="width: 180px">
	<img alt="" src="http://farm4.static.flickr.com/3385/3251577173_361c846a4d_m.jpg" title="flickr shot.jpg by Jo Naylor, on Flickr" width="168" height="240" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/pandora_6666/3251577173/" title="flickr shot.jpg by Jo Naylor, on Flickr" target="_blank">Jo Naylo</a></small>
	<p class="wp-caption-text"> </p>
</div>
<p>You’ve most probably been there: To win that one ueber-important client, your friendly sales rep sells the farm and his grandmother (well actually he sells features, which he invents right in front of the client to make sure to get the deal, but the effect is nearly the same). And not only does he sell „the grand new feature in the sky“, but he even guarantees a delivery date &#8211; and all without speaking a word to the tech guys. Sweet, huh? He is a hero. He made that huge deal and everyone is patting his shoulder. Well, besides you probably. And everyone else who now has to deliver a completely bloated feature in a totally unrealistic time frame. And, of course, there&#8217;s absolutely no room for negotiations. In fact, you’re not even allowed to talk to the client to ask a question about his requirements because the sales guy doesn&#8217;t want to make a „bad impression“.</p>
<h3>Non-negotiable Features Create Technical Debt</h3>
<p>You know what happens next. The developers scramble to their feet and churn out something, which, at first glance, can be considered as the feature the client ordered. You don&#8217;t have time for adapting the architecture to the new needs. And, of course, automated tests, proper feedback, and a useable UI go right out the window. You might be able to pull off that crazy delivery date, but at what cost? You’re left now with a bloated beast of software put together in such a rush that no one dares touch once it&#8217;s released because the chances of breaking something are significant. You dug your technical grave, but the rest of the company is celebrating a huge win! No one outside the tech department noticed how huge the technical debt you&#8217;ve just taken in order to deliver.</p>
<h3>No-one Profits From Non-negotiable Features</h3>
<p>If features are pre-sold without any option to negotiate what’s important and what may be left out, you inevitably end up with too much complexity. Sales representatives often feel pressure to promise too much to a client. They want to close a deal, but they’re not able to see the technical implications. They raise very high expectations and often fix them in the contract which removes any way to iterate and develop your product until it&#8217;s actually useful for your client. Instead, the contract is based on a rough, but very challenging scenario, which is impossible to deliver and has very little chance to fit the client&#8217;s needs once it is released. Such pre-sold features not only tie your hands, but the client is also not able to change what he needs over time. Both parties agreed to the contract and a rigid change management process is installed to make change as painful (and therefore infrequent) as possible.</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/a-kanban-board-for-features' rel='bookmark' title='A Kanban Board for Features'>A Kanban Board for Features</a></li>
<li><a href='http://www.agileweboperations.com/continuous-integration-helps-find-and-kill-bugs' rel='bookmark' title='Continuous Integration Helps Find and Kill Bugs'>Continuous Integration Helps Find and Kill Bugs</a></li>
<li><a href='http://www.agileweboperations.com/waterfall-scrum-and-lean-software-development-simulation-as-teaching-platform' rel='bookmark' title='Waterfall, SCRUM and Lean Software Development simulation as teaching platform'>Waterfall, SCRUM and Lean Software Development simulation as teaching platform</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/RDf7z2bXHHM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/how-non-negotiable-features-kill-software-products/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/how-non-negotiable-features-kill-software-products</feedburner:origLink></item>
		<item>
		<title>The 5 Biggest Mistakes When Hiring</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/6EGnTfjA4ms/the-5-biggest-mistakes-when-hiring</link>
		<comments>http://www.agileweboperations.com/the-5-biggest-mistakes-when-hiring#comments</comments>
		<pubDate>Thu, 08 Sep 2011 08:16:27 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[hiring]]></category>
		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=2952</guid>
		<description><![CDATA[GoTRISI Sad but true &#8211; it&#8217;s pretty rare for managers to hire the right people. If there are too many candidates, effective filtering is critical. Too few candidates, and it&#8217;s hard to get applications at all, much less the right ones. I want to describe the top five errors you make when trying to hire [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><div class="wp-caption alignleft" style="width: 240px">
	<img alt="" src="http://farm4.static.flickr.com/3519/3277771465_c989f48772_m.jpg" title="Not Hiring Sign von GoTRISI bei Flickr" width="240" height="240" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/extremeezine/3277771465/" title="Not Hiring Sign von GoTRISI bei Flickr" target="_blank">GoTRISI</a></small>
	<p class="wp-caption-text"> </p>
</div>Sad but true &#8211; it&#8217;s pretty rare for managers to hire the right people.<br />
If there are too many candidates, effective filtering is critical. Too few candidates, and it&#8217;s hard to get applications at all, much less the right ones. I want to describe the top five errors you make when trying to hire the best people.</p>
<p><br/></p>
<h3>No clear picture of your dream candidate</h3>
<p>Usually, people slap together a list of things they need a candidate to know or to have experience in. But this isn&#8217;t enough. Too many companies are already searching similar profiles on that level of detail. Imagine your dream candidate: What is his current situation? What is he doing right now? What are his fears and dreams? Only if you zoom in and create a very vivid and detailed picture of your dream candidate, will you be able to address the right people.  </p>
<h3>No compelling message</h3>
<p>A job ad is like a sales letter. It needs to address the problem you solve for your candidate (find a great job) and it needs to show why your job is the best solution. Additionally, it needs to address objections the candidates might have reading your job ad (&#8220;will they keep my inquiry confidential?&#8221;, &#8220;will they offer fair payment?&#8221;, etc). Furthermore, it helps to add some testimonials to your job ad: Let your team mates describe how switching jobs was for them. And, last but not least, you need to create a compelling reason why your job is unique and not just like any other engineering job out there.</p>
<h3>Searching the wrong places</h3>
<p>The best job ad is worthless if it doesn&#8217;t reach the desired candidates. Instead of just posting it to general purpose job sites like monster.com, you have to chase down your dream candidates and find the places they hang out. Failing to do so means getting flooded by the wrong candidates and wasting a lot of time and money. If you&#8217;re looking for a ruby expert, who regularly shares his thoughts and code, you might find them on twitter, github, or stackoverflow.</p>
<h3>Poor Handling of Applications</h3>
<p>Too much can go wrong in the final stages of the hiring process. The best way to lose great candidates is waiting too long. Waiting too long to invite them for an interview, waiting too long to give them feedback, waiting too long to make an offer. When you start the recruiting process you need to define the exact procedures for following up with candidates. Who needs to decide what? How fast can they make those decisions, etc. If you communicate a clear process with well defined timing, chances are your candidate will be engaged and stay tuned.</p>
<h3>Failure to close the deal</h3>
<p>After going through all the necessary interviews, you&#8217;ve lined up a dream candidate for hiring. This is a critical step in the process. You need to make a compelling offer and <strong>dissolve all objections</strong> the candidate might have about signing up with you. And it&#8217;s time again to <strong>re-emphasize your uniqueness</strong> to stop the candidate shopping around for comparable offers. Only if the candidate knows everything about your company which helps them make a positive decision, will you be able to close the deal.</p>
<p>What are your worst experiences when trying to hire someone or when trying to join a company? Please share your horror stories in the comments.</p>
<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/6EGnTfjA4ms" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/the-5-biggest-mistakes-when-hiring/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/the-5-biggest-mistakes-when-hiring</feedburner:origLink></item>
		<item>
		<title>Your Code is NOT Somebody Else’s Problem</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/HmC-wyaZOJo/your-code-is-not-somebody-elses-problem</link>
		<comments>http://www.agileweboperations.com/your-code-is-not-somebody-elses-problem#comments</comments>
		<pubDate>Thu, 01 Sep 2011 06:18:36 +0000</pubDate>
		<dc:creator>Dan Ackerson</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[code quality]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3556</guid>
		<description><![CDATA[rmlowe Imagine an ant working at the top of a mountain. Next to it, there&#8217;s a sluice of melt water running and, at that moment, the ant removes a tiny particle from the rock face. A few hundred molecules of water quickly seize upon the shortcut, and gravity takes care of the rest. The individual [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><div class="wp-caption alignleft" style="width: 240px">
	<img alt="" src="http://farm3.static.flickr.com/2560/3821199457_43612be97b_m.jpg" title="Shattuck_9213-2, Aphaenogaster longiceps, Broulee NSW von SouthernAnts bei Flickr" width="240" height="157" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/steve_shattuck/3821199457/" title="Shattuck_9213-2, Aphaenogaster longiceps, Broulee NSW von SouthernAnts bei Flickr" target="_blank">rmlowe</a></small>
	<p class="wp-caption-text"> </p>
</div>Imagine an ant working at the top of a mountain. Next to it, there&#8217;s a sluice of melt water running and, at that moment, the ant removes a tiny particle from the rock face. A few hundred molecules of water quickly seize upon the shortcut, and gravity takes care of the rest. The individual rivulets on the mountain&#8217;s face eventually run together in a small brook, jostling pebbles and twigs along its bubbly trough. Running ever downwards, doubling in speed and force, the stream now catches up rocks, branches and other streams join the flow. Almost effortlessly, a mighty river is born carving its way through the massive granite over millennia. The imprint upon the surrounding landscape is a culmination of billions of tiny actions &#8211; wind, rain fall, freezes and even one tiny ant.</p>
<p>No matter how small and insignificant you might be, you can still be a catalyst of powerful change. An idea may give somebody the &#8220;Aha!&#8221; moment which, in a heartbeat, literally changes their entire outlook on life. They impart this change upon others and the process reverberates outwards &#8211; babbling brooks forming streams.</p>
<p>Telling a developer about the importance of automated testing is a mandatory, minimum requirement of being a software development manager. Kinda like grade school. You learn how to read, write and do basic arithmetic. Maybe you can even remember a favorite teacher, but the rest is a blank.</p>
<p>Showing a developer the ease of automated testing might get a spark started &#8211; TDD can become infectious if done right. You&#8217;re implementing learned knowledge (and, more importantly, how to cut corners and save precious time for other activities). And, this, unfortunately, is about the highest level most folks ever reach. They survived the manager from hell that forced them to write tests and improve code coverage without really understanding the underlying principles.</p>
<p>You must convince developers that code quality is their responsibility. Such an idea is on par with a university course covering human ethics and engineering. This is the tiny rock particle I mentioned at the beginning. And getting it moved will be one of many causes of positive and lasting change.</p>
<p>Just like telling a three year old &#8220;No!&#8221; for the first time, resistance will be swift and firm. Most developers burst out in a tantrum of foot stomping and howling. They don&#8217;t have the time much less the training to write tests. It&#8217;s not their job. Remain firm and show the benefits of moving quality control upstream. Toddlers know, deep in their hearts, the difference between right and wrong. Once you convince them they have the time, developers will too.</p>
<p>Next up on the list &#8211; telling system administrators about the importance of version control!</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/a-luxury-problem-how-emerging-iterations-eat-team-commitment-for-breakfast' rel='bookmark' title='A Luxury Problem: How Emerging Iterations Eat Team Commitment For Breakfast'>A Luxury Problem: How Emerging Iterations Eat Team Commitment For Breakfast</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/HmC-wyaZOJo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/your-code-is-not-somebody-elses-problem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/your-code-is-not-somebody-elses-problem</feedburner:origLink></item>
		<item>
		<title>How “Good to Great” applies to agile software development</title>
		<link>http://feedproxy.google.com/~r/agileweboperations/~3/ifJuO-heL08/how-good-to-great-applies-to-agile-software-development</link>
		<comments>http://www.agileweboperations.com/how-good-to-great-applies-to-agile-software-development#comments</comments>
		<pubDate>Thu, 25 Aug 2011 20:29:32 +0000</pubDate>
		<dc:creator>Matthias Marschall</dc:creator>
				<category><![CDATA[Kanban & Agile]]></category>

		<guid isPermaLink="false">http://www.agileweboperations.com/?p=3059</guid>
		<description><![CDATA[rmlowe Maybe you read it long ago, or it&#8217;s been on your &#8220;to read&#8221; list for years. Or maybe you&#8217;ve never heard of it: The book &#8220;Good to Great&#8221; by James C. Collins. It describes how companies move from being average to great and how they can fail to make the transition. So, what does [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="wp-caption alignleft" style="width: 240px">
	<img alt="" src="http://farm4.static.flickr.com/3514/3281353786_c1a130ff2e_m.jpg" title="Developer At Work von rmlowe bei Flickr" width="240" height="180" /><small><a href="http://creativecommons.org/licenses/by-sa/2.0/" title="Attribution-ShareAlike License" target="_blank"><img src="http://www.agileweboperations.com/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.flickr.com/photos/rmlowe/3281353786/" title="Developer At Work von rmlowe bei Flickr" target="_blank">rmlowe</a></small>
	<p class="wp-caption-text"> </p>
</div>
<p>Maybe you read it long ago, or it&#8217;s been on your &#8220;to read&#8221; list for years. Or maybe you&#8217;ve never heard of it: The book <a href="http://en.wikipedia.org/wiki/Good_to_Great">&#8220;Good to Great&#8221; by James C. Collins</a>. It describes how companies move from being average to great and how they can fail to make the transition. So, what does all this have to do with agile?</p>
<p>The book describes three main stages:</p>
<ul>
<li>Disciplined People</li>
<li>Disciplined Thought</li>
<li>Disciplined Action</li>
</ul>
<h3>Disciplined People</h3>
<p>In this section, Jim Collins talks about &#8220;Level 5 Leadership&#8221;:</p>
<blockquote><p>Level 5 leaders are ambitious ﬁrst and foremost for the cause, the organization, the work &#8211;not themselves&#8211; and they have the ﬁerce resolve to do whatever it takes to make good on that ambition.</p></blockquote>
<p>I usually refer to such leaders as &#8220;Servant Leaders&#8221;. These are the people who need to be in charge of your organizations. Managers only interested in micro-management and power-games, should not be put into critical roles!</p>
<p>In addition to &#8220;Level 5 Leadership&#8221;, Jim Collins talks about &#8220;First Who&#8230;Then What&#8221;:</p>
<blockquote><p>Those who build great organizations make sure they have the right people on the bus, the wrong people off the bus, and the right people in the key seats before they ﬁgure out where to drive the bus.</p></blockquote>
<p>I couldn&#8217;t agree more: It&#8217;s of paramount importance to make sure you have the right people on the team. It&#8217;s better to wait (and take on the extra work) while searching for the right one rather than taking just anybody. And, I can hardly think of anything more toxic than having the wrong people. It sucks the life and morale from your whole team. Think of the people you want to work with first. Everything else comes second.</p>
<h3>Disciplined Thought</h3>
<p>Disciplined thought, as described by Jim Collins, is extremely helpful in focusing on the right thing. He talks about the so called &#8220;Stockdale Paradox&#8221;:</p>
<blockquote><p>
	Retain unwavering faith that you can and will prevail in the end,<br />
	regardless of the difficulties, AND AT THE SAME TIME have the discipline to confront the most brutal facts of your current<br />
	reality, whatever they might be
</p></blockquote>
<p>I&#8217;ve seen this as one of the most important traits of any successful team. Only if you&#8217;re always brutally honest with yourself, can you start changing things for the better. But, you&#8217;ve got to trust in your abilities to change things for the better &#8211; otherwise you despair. Retrospective meetings and root cause analyses are perfect places to &#8220;confront the brutal facts&#8221;.</p>
<p>When talking about &#8220;The Hedgehog Concepts&#8221;, things get a little more complicated.</p>
<blockquote><p>The Hedgehog Concept is an operating model that reflects understanding of three<br />
intersecting circles: what you can be the best in the world at, what you are deeply passionate about, and what best drives<br />
your economic or resource engine</p></blockquote>
<p>This is very important, but very advanced. You need to have a very self-conscious organization or team to be able to touch these underlying truths. But, knowing about them and working toward clarity in those &#8220;three circles&#8221; never hurts.</p>
<h3>Disciplined Action</h3>
<p>The first step of disciplined action is creating a &#8220;Culture of Discipline&#8221;:</p>
<blockquote><p>Disciplined people who engage in disciplined thought and who take disciplined action &#8211; operating with freedom within a framework of responsibilities</p></blockquote>
<p>This perfectly describes a very important cornerstone of any agile process: Self organizing teams and disciplined engineering: Test automation, and easy to change architectures. There can be no success without a &#8220;Culture of Discipline&#8221;!</p>
<p>In the last section, Jim Collins talks about &#8220;The Flywheel&#8221;. The path to excellence is not opened by an epiphany but by constantly &#8220;turning the flywheel&#8221; until you have so much speed that it catapults you into regions of excellence you&#8217;ve never been able to dream of. This is really one thing I experience time after time when introducing agile practices in any team or organization: At the beginning it seems you&#8217;re only baby stepping and hardly making progress. But, as soon as a team learns the importance of ownership, clean code, and real team work, they reach a speed and quality with their results that is astounding. No one would have thought such great things to be within reach of the team.</p>
<p>Reading from &#8220;Good to Great&#8221; really opened my eyes in many areas. A lot of points resonate with my experience in working together with high performing agile teams. And mastering the hedgehog concept is a deeply powerful thing to guide your organization. Have you read the book? What are your thoughts? Please share them with us in the comments.</p>
<p>If you want to assess your organization in terms of the above concepts you can use <a href="http://www.jimcollins.com/tools/diagnostic-tool.pdf">Jim Collins&#8217; Diagnostic Tool</a> (a PDF document describing the concepts and asking you a few questions for self-assessing your current situation)</p>
<p>Other posts:</p><ul>
<li><a href='http://www.agileweboperations.com/optimizing-offshore-software-development-with-agile' rel='bookmark' title='Optimizing Offshore Software Development with Agile'>Optimizing Offshore Software Development with Agile</a></li>
<li><a href='http://www.agileweboperations.com/waterfall-scrum-and-lean-software-development-simulation-as-teaching-platform' rel='bookmark' title='Waterfall, SCRUM and Lean Software Development simulation as teaching platform'>Waterfall, SCRUM and Lean Software Development simulation as teaching platform</a></li>
<li><a href='http://www.agileweboperations.com/state-of-development-annual-address-on-how-we-ship-software' rel='bookmark' title='State of Development: Annual Address on How We Ship Software'>State of Development: Annual Address on How We Ship Software</a></li>
</ul><img src="http://feeds.feedburner.com/~r/agileweboperations/~4/ifJuO-heL08" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.agileweboperations.com/how-good-to-great-applies-to-agile-software-development/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.agileweboperations.com/how-good-to-great-applies-to-agile-software-development</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 45/104 queries in 0.105 seconds using apc
Object Caching 2220/2334 objects using apc
Content Delivery Network via awostatic.agileweboperatio.netdna-cdn.com

Served from: www.agileweboperations.com @ 2012-02-06 21:27:01 -->

