<?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>Mike Cohn&#039;s Blog - Succeeding With Agile® &#187; Transitioning to Agile</title>
	<atom:link href="http://blog.mountaingoatsoftware.com/category/transitioning/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.mountaingoatsoftware.com</link>
	<description>Succeeding With Agile®</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:11:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Please Help Me List the Problems with Using Agile or Scrum</title>
		<link>http://blog.mountaingoatsoftware.com/please-help-me-list-the-problems-with-using-agile-or-scrum</link>
		<comments>http://blog.mountaingoatsoftware.com/please-help-me-list-the-problems-with-using-agile-or-scrum#comments</comments>
		<pubDate>Tue, 03 Jan 2012 22:03:25 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[Challenges]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1239</guid>
		<description><![CDATA[I&#8217;m trying to create a list of the biggest, most common, or hardest to overcome problems that a team might face when adopting Scrum or agile. I could really use your help by contributing to the list by adding a comment to this post. I&#8217;m thinking of things like: We have five product owners. What [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to create a list of the biggest, most common, or hardest to overcome problems that a team might face when adopting Scrum or agile. I could really use your help by contributing to the list by adding a comment to this post. I&#8217;m thinking of things like:</p>
<ul>
<li>We have five product owners. What do we do?</li>
<li>We drop work from every sprint. How do we get out of that habit?</li>
<li>We can&#8217;t ever get things &#8220;potentially shippable&#8221; at the end of a sprint. How can we?</li>
<li>We spend forever in planning meetings. How can we spend less time doing that?</li>
<li>etc&#8230;</li>
</ul>
<p>So, what problems have you encountered or heard of teams encountering?</p>
<p>Thanks for your help.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/please-help-me-list-the-problems-with-using-agile-or-scrum/feed</wfw:commentRss>
		<slash:comments>87</slash:comments>
		</item>
		<item>
		<title>Recommendations not Rules</title>
		<link>http://blog.mountaingoatsoftware.com/recommendations-not-rules</link>
		<comments>http://blog.mountaingoatsoftware.com/recommendations-not-rules#comments</comments>
		<pubDate>Mon, 02 Jan 2012 17:24:05 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[transitioning to agile]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=1233</guid>
		<description><![CDATA[I seem to be encountering more and more people who want to codify agile into a set of rules. I&#8217;ve seen this lately in authors of books, blogs or PDFs about agile or Scrum that say &#8220;You must do this&#8221; or &#8220;If you don&#8217;t do this or all of that then you&#8217;re not doing it [...]]]></description>
			<content:encoded><![CDATA[<p>I seem to be encountering more and more people who want to codify agile into a set of rules. I&#8217;ve seen this lately in authors of books, blogs or PDFs about agile or Scrum that say &#8220;You must do this&#8221; or &#8220;If you don&#8217;t do this or all of that then you&#8217;re not doing it right.&#8221; Over the last few months I also encountered this in conversations with a few Project Management Offices (PMOs). </p>
<p>That leads me to my new year&#8217;s resolution for 2012 and one that I hope a lot of others will make with me: make recommendations not rules. </p>
<p>There are very few hard-and-fast rules to agile software development. I&#8217;d put things like:</p>
<ul>
<li>work in iterations of no more than a month long</li>
<li>by the end of each iteration be &#8220;done&#8221; with something to some pre-agreed upon definition of done and solicit feedback from your key stakeholders on it</li>
<li>at the start of an iteration, get together and figure out what you&#8217;re doing to do during the iteration
</li>
<li>at the end of the iteration, reflect on how well you did during the iteration</li>
<li>talk a lot during the iteration</li>
</ul>
<p>Beyond that, it&#8217;s much more about recommendations. And there are plenty of things we&#8217;ve learned in the nearly 20 years that some agile processes have been around in even informal forms. For example, I recommend teams use user stories as their approach to requirements. I recommend teams use story points for estimating. I recommend that the team pick a day other than Mondays for starting their iterations. I recommend the Szechuan Chicken at Spice China. But, none of these things is required for success with agile. Each may help a team be better, and I have reasons I recommend each. But, these things are not required. </p>
<p>So, my resolution for 2012: Make recommendations not rules. I&#8217;d kind of like to make it a rule that you join me in this resolution, but I&#8217;ve just resolved not to make such rules.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/recommendations-not-rules/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>In Defense of Making Hard Changes</title>
		<link>http://blog.mountaingoatsoftware.com/in-defense-of-making-hard-changes</link>
		<comments>http://blog.mountaingoatsoftware.com/in-defense-of-making-hard-changes#comments</comments>
		<pubDate>Sun, 06 Mar 2011 15:14:25 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Transitioning to Agile]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=966</guid>
		<description><![CDATA[I&#8217;ve read a number of articles lately that make the claim that Kanban is better than Scrum because it doesn&#8217;t require a great deal of organizational change. I first came across this argument in some of David Anderson&#8217;s writings, including his: Kanban: Successful Evolutionary Change For Your Technology Business. The idea is that you simply [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve read a number of articles lately that make the claim that Kanban is better than Scrum because it doesn&#8217;t require a great deal of organizational change. I first came across this argument in some of David Anderson&#8217;s writings, including his: <em>Kanban: Successful Evolutionary Change For Your Technology Business.</em> The idea is that you simply start measuring work-in-progress (WIP) and then make small changes to keep WIP down. This is supposed to be better than a typical Scrum adoption, which is characterized as requiring changes to the organization.</p>
<p>Well, the organization probably does need some changes because if it were operating optimally, we wouldn&#8217;t be looking at changing its approach to software development. This idea that a methodology is better because it can be introduced without changing an organization seems a little too much like a sales effort. One of the best things about most people in the Scrum community is that we openly say that changing will be hard. In fact, in my Scrum classes I warn attendees of what I call the Scrum Promise: If you adopt Scrum, there will be a day you come into the office nearly in tears over how hard the change can be. This is because Scrum doesn&#8217;t solve problems, it uncovers them and puts them in our face. Then, through hard work we address them.</p>
<p>I&#8217;m reminded of visiting my father years ago after he had quadruple bypass heart surgery. His doctor had warned my dad that he needed to eat less fat. My dad diligently went on a low-fat diet but when he returned a few months later to the doctor he had surprisingly gained weight. </p>
<p><a href="http://blog.mountaingoatsoftware.com/wp-content/uploads/hershey-syrup.png"><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/hershey-syrup.png" alt="Hershey Syrup - a fat-free food" title="hershey-syrup" width="198" height="297" class="alignright size-full wp-image-971" /></a></p>
<p>The mystery was solved shortly later when I visited my dad. He had a pantry full of fat-free muffins and cakes, which he would eat by the box. He was also enjoying Hershey&#8217;s chocolate syrup straight from the bottle. When I asked him about it, he just said, &#8220;What&#8217;s wrong? It&#8217;s fat free?&#8221;  And indeed it was. </p>
<p>Still, I suspect my dad&#8217;s surgeon was looking for a bit more dramatic of a change in my dad&#8217;s eating habits. My dad did eventually change his eating habits and it&#8217;s been 20 years since his bypass surgery and his doctor tells him his heart is doing well.</p>
<p>For an organization to have similarly good long-term results, it, too, will likely need to make some hard changes. Trying to become agile without hard change is too much like drinking chocolate syrup from the bottle and expecting to lose weight.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/in-defense-of-making-hard-changes/feed</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Deciding What Kind of Projects are Most Suited for Agile</title>
		<link>http://blog.mountaingoatsoftware.com/deciding-what-kind-of-projects-are-most-suited-for-agile</link>
		<comments>http://blog.mountaingoatsoftware.com/deciding-what-kind-of-projects-are-most-suited-for-agile#comments</comments>
		<pubDate>Sun, 16 Jan 2011 03:04:27 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Sprinting]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[appropriateness]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=956</guid>
		<description><![CDATA[I was recently asked what kind of project is most suited for an agile approach and I’d like to address that here. In my view, the most appropriate projects for agile are ones with aggressive deadlines, a high degree of complexity, and a high degree of novelty (uniqueness) to them. We want to use agile [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked what kind of project is most suited for an agile approach and I’d like to address that here. In my view, the most appropriate projects for agile are ones with aggressive deadlines, a high degree of complexity, and a high degree of novelty (uniqueness) to them.</p>
<p>We want to use agile when we are doing something that is new, or at least new to the team building it. If it&#8217;s something the team has done before over and over then the team probably doesn&#8217;t need an agile approach. To my mind, this is where some of the manufacturing analogies come in. If we are building the same car day after day, we learn pretty quickly all the nuances of building that car. We don&#8217;t need an agile approach because the novelty of the situation is low. </p>
<p>Novelty alone does not mean we should use an agile process. I went to my favorite Chinese restaurant for lunch today. I ordered an entree &#8220;triple extra spicy and with jalapenos.&#8221; It was probably the first time they cooked this particular dish that way and so it was a novel or unique order. The cook prepared it wonderfully though and because I could see into the kitchen I&#8217;m sure they didn&#8217;t need a daily standup or even TDD to make my lunch. (I might have noticed a kanban back there, however. <img src='http://blog.mountaingoatsoftware.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   So, in addition to novelty, the project needs a certain amount of complexity. </p>
<p>One final element I believe is required in making a project appropriate for agile is urgency. The timeboxes and iterations of an agile approach are devised to keep the intensity and focus going on a project. If there&#8217;s no urgency to the project, those are unneeded.</p>
<p>So let&#8217;s see how these three factors&#8211;urgency, complexity, and novelty&#8211;mix on various projects, starting of course with software projects. There couldn&#8217;t be a better fit. Software projects are notoriously complex. Each software project is largely a new endeavor. And in today&#8217;s world, there is almost always a sense of urgency. </p>
<p>But let&#8217;s look at one other situation where we commonly here about Scrum (in particular) being applied: getting married. At least a couple of times a year I hear about a couple who planned their wedding using Scrum. There is always a wedding backlog&#8211;buy cake, pick photographer, send invitations, pick dress, etc. How does planning a wedding do against the three factors I&#8217;m proposing. Sense of urgency? Check. There&#8217;s always a deadline and it&#8217;s usually pretty fixed. Complexity? Well, it&#8217;s not like a software project but it does have its own complexities often enhanced by non-functional requirements such as a fixed budget, who sits next to whom, the type of food to be served, the need to let Cousin Ira&#8217;s band perform at the reception, etc. Novelty? Yep. Most people don&#8217;t get married enough times with large celebrations that planning the event becomes second hand. </p>
<p>So, agile is most appropriate on any urgent project with significant complexity and novelty&#8211;and that includes software development and weddings. It does raise the question though of whether a couple&#8217;s first kiss at the end of the ceremony is a product backlog item or part of the done criteria for the overall product.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/deciding-what-kind-of-projects-are-most-suited-for-agile/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>New Article in Agile Journal on &#8220;Comparative Agility&#8221;</title>
		<link>http://blog.mountaingoatsoftware.com/article-in-agile-journal-on-comparative-agility</link>
		<comments>http://blog.mountaingoatsoftware.com/article-in-agile-journal-on-comparative-agility#comments</comments>
		<pubDate>Wed, 13 Jan 2010 18:08:09 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=748</guid>
		<description><![CDATA[Agile Journal has published an article of mine called, &#8220;Determining How Agile You Are Comparatively.&#8221; It is about the Comparative Agility project. If you haven&#8217;t looked at this before, please do. It&#8217;s an effort to collect data on how agile various companies are so that they can compare themselves (anonymously). The Agile Journal article includes [...]]]></description>
			<content:encoded><![CDATA[<p>Agile Journal has published an article of mine called, &#8220;<a href="http://www.agilejournal.com/articles/columns/column-articles/2588">Determining How Agile You Are Comparatively</a>.&#8221; It is about the <a href="http://www.comparativeagility.com/">Comparative Agility project</a>. If you haven&#8217;t looked at this before, please do. It&#8217;s an effort to collect data on how agile various companies are so that they can compare themselves (anonymously).</p>
<p>The Agile Journal article includes a sidebar by Laurie Williams and Kenny Rubin, my partners on this project. Laurie is currently heading up an effort to refine the questions that form the survey. We could use your help.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/article-in-agile-journal-on-comparative-agility/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Share a Waterfallacy; Win a Book</title>
		<link>http://blog.mountaingoatsoftware.com/share-a-waterfallacy-win-a-book</link>
		<comments>http://blog.mountaingoatsoftware.com/share-a-waterfallacy-win-a-book#comments</comments>
		<pubDate>Tue, 12 Jan 2010 03:16:40 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=739</guid>
		<description><![CDATA[It seems like time for a new contest with the winner getting a free copy of Succeeding with Agile, my new book. In Succeeding with Agile, I describe a waterfallacy as &#8220;a mistaken belief or idea about agile or Scrum created from working too long on waterfall projects.&#8221; And I give some examples, including these: [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like time for a new contest with the winner getting a free copy of <a href="http://www.mountaingoatsoftware.com/books/7--succeeding-with-agile">Succeeding with Agile</a>, my new book. </p>
<p>In Succeeding with Agile, I describe a <em>waterfallacy</em> as &#8220;a mistaken belief or idea about agile or Scrum created from working too long on waterfall projects.&#8221; And I give some examples, including these:</p>
<ul>
<li>Scrum teams don’t plan, so we’re unable to make commitments to customers.</li>
<li>Scrum requires everyone to be a generalist.</li>
<li>Our team is spread around the world, and Scrum requires face-to-face communication.</li>
<li>Scrum is OK for simple websites, but our system is too complicated.</li>
</ul>
<p>To enter the post, add a comment to this post telling us about one waterfallacy you&#8217;ve encountered and how you overcame that waterfallacy or convinced someone that it was a waterfallacy instead of the truth. </p>
<p>Let&#8217;s run this contest until midnight Mountain time on next Monday, 18 January. I&#8217;ll then announce winners on Tuesday, 19 January. I&#8217;ll pick two winners&#8211;the entry that I personally like the best plus one that will be randomly selected.</p>
<p>Good luck and let&#8217;s enjoying putting some waterfallacies to rest!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/share-a-waterfallacy-win-a-book/feed</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Reduce Manual Test Technical Debt</title>
		<link>http://blog.mountaingoatsoftware.com/reduce-manual-test-techcnical-debt</link>
		<comments>http://blog.mountaingoatsoftware.com/reduce-manual-test-techcnical-debt#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:53:08 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[agile testing]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=564</guid>
		<description><![CDATA[Teams that have relied mostly or entirely on manual testing prior to adopting Scrum can follow a three-step process to extricate themselves from the technical debt.]]></description>
			<content:encoded><![CDATA[<p>When a team that has relied mostly or entirely on manual testing decides to adopt Scrum, it will quickly discover how hard it is to run short sprints when there’s a lot of manual testing to be done each sprint. It will also realize that unless it does something drastic, the technical debt will continue to accumulate. Teams in this situation can follow a three-step process to extricate themselves from at least the worst of these problems:</p>
<ol>
<li>Stop the bleeding.</li>
<li>Stay current.</li>
<li>Catch up.</li>
</ol>
<p>The first priority of a team with technical debt in the form of an over-reliance on manual testing is to stop the bleeding, stop things from getting worse. The best tourniquet is to find ways to automate some of what is being tested manually. To mix metaphors, teams should find the low-hanging fruit: tests that will be easy to automate but save a lot of manual effort. Brian Marick, a leading authority on testing and coauthor of the Agile Manifesto, has told me that “the real low-hanging fruit is often not automating some test execution but automating other testing tasks, like populating databases or automatic navigation to the page where you’ll start manual testing. You’re not reducing the number of manual tests, but you’re reducing the total time it takes to run them.” </p>
<p>After the bleeding has been stopped, the situation will no longer be getting worse from sprint to sprint.  Manual tests still will be added each sprint but the team is finding enough low-hanging fruit each sprint to offset the time needed to run the new manual tests. At this point, it is time to move to step two: learning to stay current. During this phase, the team focuses on learning how to write and automate tests for whatever new features are added during the sprint. While doing this, no more debt is accumulating, so the situation isn’t getting any worse, but it’s not yet getting any better either. Learning to add automated tests in the same sprint as the feature will be a new skill for the team. It won’t be as hard to learn as the initial skills were during the first phase but will require new discipline.</p>
<p>Eventually the team enters the final phase, which is when it catches up on additional outstanding testing debt. I generally tell teams that I coach that I don’t care how quickly the outstanding testing debt is brought down as long as it is indeed coming down. Obviously, I would prefer the debt to come down as fast as possible. But, by stating it this way I am emphasizing that what I am most concerned with are the first two steps: stop the bleeding and stay current. </p>
<p>For more on testing with an agile process like Scrum, pick up a copy of <em><a href="http://www.mountaingoatsoftware.com/books/7--succeeding-with-agile">Succeeding with Agile</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/reduce-manual-test-techcnical-debt/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>The Forgotten Layer of the Test Automation Pyramid</title>
		<link>http://blog.mountaingoatsoftware.com/the-forgotten-layer-of-the-test-automation-pyramid</link>
		<comments>http://blog.mountaingoatsoftware.com/the-forgotten-layer-of-the-test-automation-pyramid#comments</comments>
		<pubDate>Thu, 17 Dec 2009 15:53:46 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Sprinting]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[agile testing]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=555</guid>
		<description><![CDATA[An effective test automation strategy calls for automating tests at three different levels.]]></description>
			<content:encoded><![CDATA[<p>Even before the ascendancy of agile methodologies like Scrum, we knew we should automate our tests. But we didn’t. Automated tests were considered expensive to write and were often written months, or in some cases years, after a feature had been programmed. One reason teams found it difficult to write tests sooner was because they were automating at the wrong level. An effective test automation strategy calls for automating tests at three different levels, as shown in the figure below, which depicts the test automation pyramid.</p>
<p><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/Testpyramid.jpg" alt="Test Automation Pyramid" class="size-full wp-image-262" /></p>
<p>At the base of the test automation pyramid is unit testing. Unit testing should be the foundation of a solid test automation strategy and as such represents the largest part of the pyramid. Automated unit tests are wonderful because they give specific data to a programmer—there is a bug and it’s on line 47. Programmers have learned that the bug may really be on line 51 or 42, but it’s much nicer to have an automated unit test narrow it down than it is to have a tester say, “There’s a bug in how you’re retrieving member records from the database,” which might represent 1,000 or more lines of code. Also, because unit tests are usually written in the same language as the system, programmers are often most comfortable writing them.</p>
<p>Let’s skip for a moment the middle of the test automation pyramid and jump right to the top: the user interface level. Automated user interface testing is placed at the top of the test automation pyramid because we want to do as little of it as possible. </p>
<p>Suppose we wish to test a very simple calculator that allows a user to enter two integers, click either a multiply or divide button, and then see the result of that operation. To test this through the user interface, we would script a series of tests to drive the user interface, type the appropriate values into the fields, press the multiply or divide button, and then compare expected and actual values. Testing in this manner would certainly work but would be brittle, expensive, and time consuming.  </p>
<p>Additionally, testing an application this way is partially redundant—think about how many times a suite of tests like this will test the user interface. Each test case will invoke the code that connects the multiply or divide button to the code in the guts of the application that does the math. Each test case will also test the code that displays results. And so on. Testing through the user interface like this is expensive and should be minimized. Although there are many test cases that need to be invoked, not all need to be run through the user interface. </p>
<p>And this is where the service layer of the test automation pyramid comes in. Although I refer to the middle layer of the test automation pyramid as the service layer, I am not restricting us to using only a service-oriented architecture. All applications are made up of various services. In the way I’m using it, a service is something the application does in response to some input or set of inputs. Our example calculator involves two services: multiply and divide.</p>
<p>Service-level testing is about testing the services of an application separately from its user interface. So instead of running a dozen or so multiplication test cases through the calculator’s user interface, we instead perform those tests at the service level.</p>
<p>Where many organizations have gone wrong in their test automation efforts over the years has been in ignoring this whole middle layer of service testing. Although automated unit testing is wonderful, it can cover only so much of an application’s testing needs. Without service-level testing to fill the gap between unit and user interface testing, all other testing ends up being performed through the user interface, resulting in tests that are expensive to run, expensive to write, and brittle.</p>
<p>For more on Scrum and agile testing, pick up a copy of <em><a href="http://www.mountaingoatsoftware.com/books/7--succeeding-with-agile">Succeeding with Agile</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/the-forgotten-layer-of-the-test-automation-pyramid/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Four Types of Resistors When Adopting Agile</title>
		<link>http://blog.mountaingoatsoftware.com/four-types-of-resistors-when-adopting-agile</link>
		<comments>http://blog.mountaingoatsoftware.com/four-types-of-resistors-when-adopting-agile#comments</comments>
		<pubDate>Wed, 02 Dec 2009 15:43:41 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Spreading Agile]]></category>
		<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[transitioning to agile]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=413</guid>
		<description><![CDATA[People resist changing to Scrum for many different reasons and in several different ways. Understanding the hows and whys of resistance can help leaders confront it.]]></description>
			<content:encoded><![CDATA[<p>People resist changing to Scrum for many different reasons. Some may resist because they are comfortable with their current work and colleagues. It has taken years to get to their current levels in the organization, to be on this team, to work for that manager, or to know exactly how to do their jobs each day. Others may resist changing to Scrum because of a fear of the unknown. “Better the devil you know than the devil you don’t” is their mantra. Still others may resist due to a genuine dislike or distrust of the Scrum approach. They may be convinced that building complex products iteratively without significant up-front design will lead to disaster.</p>
<p>Just as there are many reasons why some people will resist Scrum, there are many ways someone might resist. One person may resist with well-reasoned logic and fierce arguments. Another may resist by quietly sabotaging the change effort. Still another may resist by quietly ignoring the change, working the old way as much as possible, and waiting for the next change du jour to come along and sweep Scrum away.</p>
<p>Each act of resistance carries with it information about how people feel about adopting Scrum. As a change agent or leader in the organization, your goal should be to understand the root cause of an individual’s resistance, learn from it, and then help the person overcome it. There are many techniques you can use for doing this. But unless the technique is carefully chosen, it is unlikely to have the desired effect. To help select the right technique, I find it useful to think about how and why someone is resisting. We can group the reasons why someone is resisting Scrum into two general categories:</p>
<ul>
<li>They like the status quo.</li>
<li>They don’t like Scrum.</li>
</ul>
<p>Reasons for resistance fall into the first category if they are actually a defense of the current approach. This type of resistance to changing to Scrum would likely result no matter what type of change was being contemplated. Reasons fall into the second category if they are arguments against the specific implications of beginning to work in an agile manner. </p>
<p>Categorizing how individuals resist is even simpler: Is the resistance active or passive? Active resistance occurs when someone takes a specific action intended to impede or derail the transition to Scrum. Passive resistance occurs when someone fails to take a specific action, usually after saying he will. </p>
<p>The figure below combines the whys and hows of resistance into four general types of resistance, each with a name descriptive of the person who resists in the way indicated by the labels on the axes. </p>
<p><img src="http://blog.mountaingoatsoftware.com/wp-content/uploads/resistors2.jpg" alt="four types of resistors" class="size-full wp-image-262"/></p>
<p>A <em>skeptic</em> is someone who does not agree with the principles or practices of Scrum but who only passively resists the transition. Skeptics are the ones who politely argue against Scrum, forget to attend the daily scrum a little too often, and so on. I am referring here to individuals who are truly trying to stop the transition, not people with the healthy attitude of “this sounds different from anything I’ve done before but I’m intrigued. Let’s give it a try and see if it works.”</p>
<p>Shown above the skeptics are the saboteurs. Like skeptics, <em>saboteurs</em> resist the transition more from a dislike of Scrum than support for whatever software development process exists currently. Unlike a skeptic, a saboteur provides active resistance by trying to undermine the transition effort, perhaps by continuing to write lengthy up-front design documents, and so on. </p>
<p>On the left side of the figure are those who resist because they like the status quo. They are comfortable with their current activities, prestige, and coworkers. In principle, these individuals may not be opposed to Scrum; they are, however, opposed to any change that puts their current situation at risk. Those who like the status quo and who actively resist changing from it are known as <em>diehards</em>. They often attempt to prevent the transition by rallying others to their cause.</p>
<p>The bottom left of the figure shows the <em>followers</em>, who like the status quo and resist changing from it passively. Followers are usually not enraged by the prospect of change, so they do little more than hope it passes like a fad. They need to be shown that Scrum has become the new status quo.</p>
<p>When introducing a complex change into a large organization, resistance will be inevitable. What isn’t inevitable is the reaction of an organization’s leaders to that resistance. In a <a href="http://hbr.harvardbusiness.org/1969/01/how-to-deal-with-resistance-to-change/ar/1">1969 <em>Harvard Business Review</em> article</a>, Paul Lawrence describes an appropriate response to resistance.</p>
<blockquote><p>When resistance does appear, it should not be thought of as something to be overcome. Instead, it can best be thought of as a useful red flag—a signal that something is going wrong&#8230;.Therefore, when resistance appears, it is time to listen carefully to find out what the trouble is. What is needed is not a long harangue on the logics of the new recommendations but a careful exploration of the difficulty. </p></blockquote>
<p>While its important to confront resistance, be careful not to create an atmosphere of “us” against “them.” The real goal is to create a feeling that the transition to Scrum is inevitable and that, as the Borg of Star Trek taught us, “resistance is futile.” The need to foster this atmosphere does not give you carte blanche to ignore the feelings and reactions of employees or to steamroll Scrum into an organization. Instead, to paraphrase Nigel Nicholson in a <a href="http://hbr.harvardbusiness.org/2003/01/how-to-motivate-your-problem-people/ar/1">2003 article for the <em>Harvard Business Review</em></a>, when an employee resists, an effective leader looks at the employee not as a problem to be solved but as a person to be understood.</p>
<p>For more help with overcoming obstacles to your agile transition, see Chapter 6 of <em><a href="http://www.mountaingoatsoftware.com/books/7--succeeding-with-agile">Succeeding with Agile</a></em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/four-types-of-resistors-when-adopting-agile/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Setting and Managing Expectations</title>
		<link>http://blog.mountaingoatsoftware.com/setting-and-managing-expectations</link>
		<comments>http://blog.mountaingoatsoftware.com/setting-and-managing-expectations#comments</comments>
		<pubDate>Mon, 30 Nov 2009 15:43:28 +0000</pubDate>
		<dc:creator>Mike Cohn</dc:creator>
				<category><![CDATA[Transitioning to Agile]]></category>
		<category><![CDATA[agile project management]]></category>
		<category><![CDATA[product owner]]></category>

		<guid isPermaLink="false">http://blog.mountaingoatsoftware.com/?p=408</guid>
		<description><![CDATA[By properly setting expectations you can avoid the problem of having an otherwise successful transition or project sunk by unrealistic expectations.]]></description>
			<content:encoded><![CDATA[<p>In 1994 I managed a team that delivered a project that any outsider or any project team member would have considered a success. The product represented a great leap forward for the company. It included far more features than the product that was being replaced, was built using new state-of-the-art technologies with which the company had no prior experience, and included the development of three data centers that went on to provide 99.99999% uptime over the next six years. However, the project was almost considered a failure.</p>
<p>The project was to be delivered into multiple call centers with more than 300 nurses on the phones. It was to replace a quirky but familiar system that the company was rapidly outgrowing. The nurses’ expectations of what the new system would deliver were sky high. In monthly sprint reviews with the nurses, I was routinely shocked by what they’d come to expect, some of which wasn’t even technically feasible. </p>
<p>With about three months left on the year-long project, I realized my focus had to change. From then on, I spent almost all of my time on expectations management. I met with nurses in each of the call centers and described exactly what would and would not be in the delivered system. I toned down their expectations about the system’s impact on world peace, global warming, and personal weight loss. Without this effort, the product would have been perceived as a failure.</p>
<p>Since that project, I have been acutely aware of the importance of expectations management to the overall success of any project. Setting and managing expectations is perhaps even more important at the start of a major shift such as adopting an <a href="http://www.mountaingoatsoftware.com/topics/agile-project-management">agile project management</a> approach like Scrum. In initiating a transition to Scrum, I find it helpful to set and manage expectations about four things:</p>
<ul>
<li>How quickly teams will improve</li>
<li>How long it will take to gain additional predictability from the team’s new way of working</li>
<li>How there will almost always come a time when turning back looks easier than sticking with it</li>
<li>The level of involvement in the transition that will be necessary from various stakeholders and organization leaders</li>
</ul>
<p>By properly setting expectations you can avoid the problem of having an otherwise successful transition or project sunk by unrealistic expectations.</p>
<p>More details about setting and managing expectations can be found in Chapter 5 of <em><a href="http://www.mountaingoatsoftware.com/books/7--succeeding-with-agile">Succeeding with Agile</a></em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mountaingoatsoftware.com/setting-and-managing-expectations/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

