<?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>Elegant Code &#187; Scrum</title>
	<atom:link href="http://elegantcode.com/tag/scrum/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 04:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Agile&#8217;s Coming of Age</title>
		<link>http://elegantcode.com/2012/01/01/agiles-coming-of-age/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agiles-coming-of-age</link>
		<comments>http://elegantcode.com/2012/01/01/agiles-coming-of-age/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 04:28:03 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2012/01/01/agiles-coming-of-age/</guid>
		<description><![CDATA[Now that the term “Agile” is sufficiently compromised as to be near meaningless, Agile Software Development is old enough to stand on its own, make its own business case, and demonstrate its value. But it still isn’t a mature adult. Agile Software Development is a hormonally unbalanced pre-teen with ugly spots, occasional outbursts of irrational [...]]]></description>
			<content:encoded><![CDATA[<p>Now that the term “Agile” is sufficiently compromised as to be near meaningless, Agile Software Development is old enough to stand on its own, make its own business case, and demonstrate its value. But it still isn’t a mature adult. Agile Software Development is a hormonally unbalanced pre-teen with ugly spots, occasional outbursts of irrational anger, and the promising potential of smart-assed intelligence. </p>
<p>Giving birth to Agility and parenting it to pre-pubescence was a miraculous feat. The thought leaders who brought us the manifesto and subsequent culture shift deserve our thanks for seeing the need and creating the right message at the right time. Thanks to these revolutionaries Agile is not a footnote, but the most promising path forward to improving our profession. </p>
<p>One focus of the last 10 years of agile discussion has been, “There are better ways to develop software.” While the state of spaghetti code in the universe is still a big problem, progress has been made in this area. It is no longer radical to think in terms of test-first, pattern-based, or *-driven. Many teams are just acting more professionally, and that’s a wonderful thing.</p>
<p>The other primary focus of the last 10 years has been teaching technologists to actually speak human. You know, with emotion and stuff. And there’s great news; as a profession, we developers aren’t as jerky now as we were 10 years ago. See? It’s working.</p>
<h2>The Agile Consensus</h2>
<p>I get to see many implementations of Agile Software Development. Not surprisingly, most teams out there aren’t living the dream, but are actively trying to improve. Indeed, recent studies and surveys have noted that projects using Agile methods now outnumber plan-driven, or waterfall, projects.</p>
<p><a href="http://www.amazon.com/Sam-Guckenheimer/e/B001IOF5QQ/ref=ntt_athr_dp_pel_pop_1">Sam Guckenheimer</a> calls this change the Agile Consensus in <a href="http://www.amazon.com/Agile-Software-Engineering-Visual-Studio/dp/0321685857/ref=sr_1_1?ie=UTF8&amp;qid=1322249273&amp;sr=8-1">his recent book with Neno Loje</a> (disclosure: I was a technical reviewer on this book). The idea behind the Agile Consensus is simply this: Agile won. Creating software with plan-driven techniques obviously falls short of the advantages of developing with a focus on humanity and exploiting shorter feedback cycles. </p>
<p><b>Bottom line:</b> Agility has crossed the chasm and is no longer only the domain of developers. The enterprise wants big-A Agility.</p>
<h2>Not Crazy Anymore</h2>
<p>Whether or not a given practice is crazy or “edgy” depends on who you talk to. Organizational acceptance of a given practice is typically rooted in the values that practice supports, and the practices here seem to have reached a level of general acceptance in our industry. Mostly.</p>
<h3>Daily Team Meeting</h3>
<p>Whether you call it the Daily Scrum, the Daily Standup, or simply a daily team meeting, the practice of a quick, informal team meeting held at the same time and place each day has really caught on. The reason for this is simple; when done well, the daily team meeting helps teams be more productive and improves situational awareness in complex environments. And regardless of what kind of software development you do, odds are it is fairly complex.</p>
<p>The daily team meeting is one of the most misunderstood and poorly executed practices mentioned in this article, but I digress. </p>
<p><b>Bottom Line:</b> Daily Team Meetings are commonplace and useful. They aren’t considered crazy by most teams anymore. </p>
<h3>Sprints</h3>
<p>Sprints, or iterations, are simply short periods of dedicated time within which teams will deliver working software. These time boxes in which teams agree to deliver <i>something</i> have changed the way we think about long, death march projects. Many teams know that progressing toward the broader goal of releasing software is often best managed by delivering working software all the way through a delivery pipeline, with increasing amounts of functionality each time.</p>
<p>Businesses leaders often love Sprints because Sprints are an obvious way to manage risk. More on this later.</p>
<p><b>Bottom line:</b> While there are other ways to organize work, doing it in small batches within a Sprint of 30 days or less is a model that has proven itself time and again.</p>
<h3>Test as We Develop</h3>
<p>Lean thinking encourages “testing at the point of work”, which is a broad concept we’ve apply to software development to derive TDD, BDD, ATDD, and other forms of simply proving that software works as we create it. We’ve learned along the way that we don’t even need to think of this as a verification process. Test-First practices have proven to not only help developers build the “right” software, but to build the right software <i>well</i>.</p>
<p>Not every developer has drunk this Koolaid, but most understand the basic value behind Test-First as either a design tool or a verification tool. Those of us who really drank deeply see Test-First development as the de facto way to write code. Sure, I’ll bang out a quick shell script without an accompanying automated test harness, but that’s a simple fit-for-purpose decision. </p>
<p><b>Bottom line:</b> When making software that needs to be work right and be crafted well, many developers see Test-First practices as indispensable.</p>
<h3>Deliver Frequently</h3>
<p>Delivering working software frequently allows development teams to actually deliver something, and that’s half the battle. Frequent delivery of working software enables the most valuable feedback loop in software development. The conversation around this feedback loop is simple and sounds like this:</p>
<p>“Here’s what we made. Here is how it works. What do you think?”</p>
<p>And then comes the tricky part &#8211; Actually listening to the response. This helps teams build the right thing next. I loved watching eBay a few years back as it changed its color scheme and skin layout gradually over a few months. They design a destination look and feel and migrated to it with frequent delivery of small changes in their UI. This allowed the product to evolve, rather than re-release. This is how software delivery is evolving and the most extreme form is called “Continuous Delivery.”</p>
<p>Delivering frequently may sound a lot like “Sprints”, but there is more going on here. Sprints are simply a forcing function for frequent delivery. There are other ways to pull it off. Frequent delivery all the way to customer feedback can change the way a company engages its customers and plans its strategic moves.</p>
<p><b>Bottom line:</b> Frequent delivery is craved by executives for the business advantages offered and by technical teams because it makes actually shipping ubiquitous. </p>
<h2>Still Crazy</h2>
<p>While some Agile practices have crossed into “just plain old good ideas,” many are still seen as edgy, or extreme. Despite evidence that these practices offer real value and better alternatives to traditional thinking, the old ways of looking at the world are just so ingrained that these practices provide fodder to skeptics.</p>
<h3>Pairing</h3>
<p>No technical practice has drawn more fire than Pair Programming. Hard data has begun to emerge about the practice of pairing, and all that data shows (to varying degrees) how pairing creates higher quality and simply better software. A paper</p>
<p>There are also a ton of human advantages, like increased learning, knowledge sharing, and removing single points of failure within a team.</p>
<p>Why then has formal pairing been relegated to the domain of roman sandal wearing hippie agilistas? Most development team leaders or managers simply see pairing as an investment of two people doing what one could accomplish. I won’t try and convince you otherwise in this article, but I will mention this:</p>
<p>Barry Bohm has made a very distinguished career of studying software development. In <i>Balancing Agility and Discipline</i>, he asserts that 60% of all software defects in production could have been caught with a peer review. Pair programming is continuous peer review. You do the math.</p>
<p>Finally, most developers treasure their alone-time with the code. Sharing the way I approach problems or write code can feel like a job interview every day. That kind of scrutiny can feel very uncomfortable unless I am in an environment of absolute trust. That ties the success of this technical practice to the culture of the team and company.</p>
<p><b>Bottom line:</b> Pair programming is still seen as eXtreme, and the transparency it forces can terrify many developers.</p>
<h3>Funding Alternatives</h3>
<p>Companies spend a lot of time and energy developing golden plans for the next year. Strategic planning is a dependable activity of middle-management in those months counting down to the end of the current fiscal year. </p>
<p>We know good and well that we can’t predict the evolution of a software project beyond a few months in most thriving businesses. Change just happens. Why then do we persist in thinking Big Funding Up Front is any different than Big Design Up Front? Some are making inroads with models of T&amp;M funding, fixed cost, adjustable scope, and other techniques like incremental funding. However, for the most part we remain stuck in annual funding models because business Agility, the real promise of Agile, remains elusive.</p>
<p><b>Bottom line:</b> Software development projects are still funded when we know the least about how we’ll be spending that money.</p>
<h3>Strategic Iteration </h3>
<p>While Sprints, or iterations, are very popular on the operations side of the house, few companies see them as the strategic advantage they really are. Sprints are loved by the business because they reduce risk, but actually refining the scope, plans, and functionality based on an iterative feedback model is a foreign idea. Iterative delivery provides a regular cadence that can be interpreted as “milestones” by traditionally trained most project managers.</p>
<p>The innovation companies could have with regular Sprints is lost because of the aforementioned Big Up Front Funding that causes Sprints to be seen as a tool of operations.</p>
<p><b>Bottom line:</b> The potential value of iterative incremental teams is being wasted by a determination to fund fixed-scope projects up front.</p>
<h2>The Next Challenge</h2>
<h3>Professionalism</h3>
<p>The profession of software development is reflecting upon itself right now and the question of what it means to be a software professional is coming to a head. The craftsmanship movement has a genuine toehold with many introspective developers; Universities are actively looking beyond computer science programs to fill the supply void of industry; and my mom thinks she’s “writing code” when her excel macro runs without error. </p>
<p>Writing solid code is now table stakes for being a software professional. The expectations we have of true professionals are becoming appropriately greater. As technology matures and abstractions go higher, the productivity of development teams should be through the roof. Yet, it isn’t necessarily the case and hiring organizations are desperate for some way to assess prospective developers en masse.</p>
<p>One desperate attempt at identifying professionals is the ridiculous history of Scrum certification. Certification teases with the allure of simply trusting a credential. Unfortunately, this isn’t working for any known certification yet, university, private, or otherwise.</p>
<p><b>Bottom line:</b> Professionalism in software is finally being demanded by those creating it, and by those asking for it.</p>
<h3>Maturity</h3>
<p>Just like the allure of hiring a professional, the temptation of the <i>perfect development process</i> is just too tempting for the ignorant to ignore. The success of simple frameworks like Scrum and Kanban provide just enough structure to get things done, without providing prescribing specific practices. That scares plan-driven organizations that value control over creativity. </p>
<p>To get real traction with Agile methods means getting not just permission, but support; and support means money. Before bureaucracies spend money, they want assurances and guarantees. False ones will do; look at how well RUP and MSF sold. </p>
<p>Providing any compelling story for change requires supporting data. The willingness of good leaders to instigate and support true change will start with the end in mind. While the end state of an Agile transition can’t be predicted, case studies and measurements of established Agile teams are the catalysts for getting Agile transitions started. </p>
<p>The demand for reassurance will drive development of tools like assessments, maturity models, and formal adoption programs. As older and more established industries explore Agile, these tools will be in heavy demand by those wanting to make data-driven decisions.</p>
<p><b>Bottom line:</b> Agility is moving into more mature organizations and Agile itself will need more accessories of maturity.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2012/01/01/agiles-coming-of-age/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Sprint Review. Cheater, cheater, cheater!</title>
		<link>http://elegantcode.com/2008/06/23/sprint-review-cheater-cheater-cheater/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sprint-review-cheater-cheater-cheater</link>
		<comments>http://elegantcode.com/2008/06/23/sprint-review-cheater-cheater-cheater/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 00:11:17 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Camtasia]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/23/sprint-review-cheater-cheater-cheater/</guid>
		<description><![CDATA[I have just been accused of cheating at last week’s sprint review. Let’s see what you think. The way our sprint reviews work, everyone in the company gets to rotate between teams who show their work in 15 minute segments. Picture a science fair with parents moving between booths and spending 15 minutes at each [...]]]></description>
			<content:encoded><![CDATA[<p>I have just been accused of cheating at last week’s sprint review. Let’s see what you think.</p>
<p>The way our sprint reviews work, everyone in the company gets to rotate between teams who show their work in 15 minute segments. Picture a science fair with parents moving between booths and spending 15 minutes at each one. This has been a hugely successful format because teams get to have more intimate conversations with people seeing their work. Discussions are more interactive because there is a smaller group watching the demo and folks are more likely to speak up.</p>
<p>From the presenter’s point of view, this is showing the same thing 4 times in a row. This is okay, but gets a bit tedious. Worse, because each group brings up individual issues there may be things about the feature that get skipped in a given 15 minute segment.</p>
<h2>What I Did</h2>
<p>I recorded a feature walk through on <a href="http://www.google.com/aclk?sa=L&amp;ai=B-Eo0hjtgSK_fNZKciAGWv9zxDqn3w1-v3N3tA7_73RDQuxsIABABGAEg2pTQBjgAUNTqpoj5_____wFgye7xh-yj2BfIAQHZA3NECy5hXxO7&amp;sig=AGiWqtwvZ4FCPk4N93H5i9uuvR4D8QNpsQ&amp;q=http://www.techsmith.com/camtasia.asp%3FCMP%3DKgoogleCStmhome" target="_blank">Camtasia</a> and played it during sprint review. Four times. This left 3 minutes for discussion, but with the transition times, it pretty much took up the entire 15 minutes. </p>
<p>The most common feedback was, “Cool idea. It was too long.”</p>
<p>Noted. And, I think the idea of doing a complete walk through as a recording has merit because it sort of forces that all areas I want to show will get shown.</p>
<p>It is important to realize that I made the recording a mere hour before Sprint Review. Thus, the software was real and did do what I showed.</p>
<h2>What I Will Do Next Time</h2>
<ul>
<li>Limit the Camtasia video to 5 minutes and leave plenty of time for discussion.</li>
<li>Be more animated. No monotone voice.</li>
</ul>
<p>Your Thoughts? Am I a big, fat cheater?</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/23/sprint-review-cheater-cheater-cheater/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Electronic Scrum Boards with Jeffrey Palermo</title>
		<link>http://elegantcode.com/2008/06/08/electronic-scrum-boards-with-jeffrey-palermo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=electronic-scrum-boards-with-jeffrey-palermo</link>
		<comments>http://elegantcode.com/2008/06/08/electronic-scrum-boards-with-jeffrey-palermo/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 16:18:48 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/08/electronic-scrum-boards-with-jeffrey-palermo/</guid>
		<description><![CDATA[I found myself eating lunch with a group that included Jeffrey Pallermo one day at Tech Ed. We were discussing our favorite sessions at the conference and I noted my interest in the new TFS Scrum process template from Conchango and the electronic Scrum board they will soon be bringing to market. I actually posted [...]]]></description>
			<content:encoded><![CDATA[<p>I found myself eating lunch with a group that included <a href="http://www.jeffreypalermo.com/" target="_blank">Jeffrey Pallermo</a> one day at Tech Ed. We were discussing our favorite sessions at the conference and I noted my interest in the new <a href="http://scrumforteamsystem.com/" target="_blank">TFS Scrum process template from Conchango</a> and the electronic Scrum board they will soon be bringing to market. I actually posted on it <a href="http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/" target="_blank">here</a>.</p>
<p>Jeffery weighed in that he prefers low tech note cards on the cork board because of the high tactile nature of using them.</p>
<p>I pointed out that our teams have huge electronic dashboards for use during their daily Scrum meetings, and the dynamic nature of the Scrum board I saw from Conchango would work similarly to a a cork board experience.</p>
<p>&#8220;Yeah,&#8221; someone interjected, &#8220;and you could get a touch screen to touch the work item cards. Touch it, move it, hold it and be mad at it, whatever.&#8221;</p>
<p>&#8220;That&#8217;d be sweet,&#8221; I thought.</p>
<p>Jeffrey responded, &#8220;You just told me how to spend a whole lot of money so the Scrum master doesn&#8217;t have to do 15 minutes of data entry per day and write out the cards.&#8221;</p>
<p>Pause.</p>
<p>Pause.</p>
<p>Damn it, he&#8217;s right.</p>
<p>The geek in me really wanted to like the bigger, more expensive, technical solution to this problem. You know what, though? The Scrum Master is there to facilitate the team&#8217;s success and to be the gate to management.</p>
<p>I will freely admit right here and now that I have been slacking. I was recently working as Scrum Master for a team back home and I taught the team how to use TFS to manage their own work items. I also asked them to update their time remaining on SBLIs before our daily Scrum. You know what? That was wrong of me. That was flat out laziness. They even had a cork board in their work space.</p>
<p>I resolve right here and now that when I get home I will make sure the team has their Scrum board. I will make sure the team doesn&#8217;t have to deal with time tracking. I will cover the administration of the team; that&#8217;s my job as Scrum Master.</p>
<p>The team needs frictionless tools. They&#8217;ll get them. It&#8217;s important.</p>
<p>If you are thinking I am declaring project management or cost accounting tools unnecessary, you are dead wrong. The transparency into the team and the overall planning of features and work items is hugely important. I just know it is the job of the Scrum Master to deal with it, not the team&#8217;s.</p>
<p>Frankly, I am willing to bet this kind of data management model will result in more accurate and detailed reporting anyway.</p>
<p>Lesson learned. Thanks, Jeff.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/08/electronic-scrum-boards-with-jeffrey-palermo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Conchango&#8217;s Scrum Process Template 2.1 for Team System</title>
		<link>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=conchangos-scrum-process-template-21-for-team-system</link>
		<comments>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 02:18:18 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/</guid>
		<description><![CDATA[I went to my favorite session of Tech Ed today, but it was for personal gratification reasons that I enjoyed this so much. I am so happy about the work coming out of Conchango that I could pop. Why? Because when I get home I have the task of implementing TFS 2008 for my organization [...]]]></description>
			<content:encoded><![CDATA[<p>I went to my favorite session of Tech Ed today, but it was for personal gratification reasons that I enjoyed this so much. I am so happy about the work coming out of Conchango that I could pop. Why? Because when I get home I have the task of implementing TFS 2008 for my organization using the Scrum process template. I was nervous about this because of the tremendous amount of customizations I have been making to the Scrum work items in the prior version of the template I had been working with.</p>
<p><a href="http://blogs.conchango.com/colinbird/" target="_blank">Colin Bird</a>, CTO for <a href="http://www.conchango.com/" target="_blank">Conchango</a>, showed the 2.1 version of the process template today. It solved almost 100% of the problems I had been struggling with in my customized versions of the template.</p>
<ol>
<li>Support for different teams on every work item type. This is HUGE because it allows for all teams to pull work from a single backlog. </li>
<li>Burn down reports for sprint, product, and release, that all split against teams. This is the biggy. If you haven&#8217;t tried working with reporting in TFS, you don&#8217;t know how HUGE this is. Awesome.</li>
<li>Code churn reporting</li>
<li>Value flow diagrams</li>
<li>Elimination of the Sprint data element in a work item in favor of using a release model based on iterations. Thank you.</li>
<li>Bugs as work items that appear on the product backlog</li>
</ol>
<p>Honestly, there is very little left to do! I can only think if a few things I will be adding to this already existing functionality.</p>
<ul>
<li>Epics and Themes as work items and reports to support them. Even this will get better in Rosario with hierarchical work items.</li>
<li><a href="http://elegantcode.com/2008/04/21/tagging-team-system-work-items/" target="_blank">Tagging</a></li>
</ul>
<p>That&#8217;s about it.</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/img006.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="img006" src="http://elegantcode.com/wp-content/uploads/2008/06/img006-thumb.jpg" width="244" align="right" border="0"></a> Colin also showed us an awesome new product that Conchango will be charging for and I would happily pay for. It is a WPF application that is a Scrum board working right off of TFS directly. There are other attempts at solving this same problem in the open source world, but this one is fully baked and soon to be available. It looks very usable. I can&#8217;t wait to see this thing in my shop. It will help the daily standup so much, and the overhead of making out physical cards will be a thing of the past.</p>
<p>I took a picture of it with my cell phone, but I don&#8217;t think I was supposed to do that. Oh, what the hell. Here it is. </p>
<p>You can actually drag the cards around and they change state and work remaining. If Colin weren&#8217;t English I would have hugged him. And then tickled him.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scaling Scrum With Epics</title>
		<link>http://elegantcode.com/2008/06/03/scaling-scrum-with-epics/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scaling-scrum-with-epics</link>
		<comments>http://elegantcode.com/2008/06/03/scaling-scrum-with-epics/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 01:05:54 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/03/scaling-scrum-with-epics/</guid>
		<description><![CDATA[Scrum is an incredibly effective project management tool and has great success within small teams and large companies alike. As organizations move from one or two teams using Scrum to adopting an more enterprise-wide implementation, typical questions occur. One such question goes like this: How does a Project Manager or Product Owner coordinate work across [...]]]></description>
			<content:encoded><![CDATA[<p>Scrum is an incredibly effective project management tool and has great success within small teams and large companies alike. As organizations move from one or two teams using Scrum to adopting an more enterprise-wide implementation, typical questions occur. One such question goes like this:</p>
<blockquote><p>How does a Project Manager or Product Owner coordinate work across multiple Scrum teams? </p>
</blockquote>
<p>There is a prescribed set of practices and techniques we can bring to bear to make scaling Scrum easier and more formulaic to answer this question.</p>
<h3>Don&#8217;t Get Caught up on &#8220;Product&#8221;</h3>
<p>The more I work with Scrum across the enterprise, the more I loath the word &#8220;product&#8221; in the Scrum vernacular. The Product Backlog is an essential part of Scrum and other Agile techniques. Although we use the term product, any significant internal system, strategic initiative, or product needs a roadmap and backlog. Since the word product elicits particular pre-conceived ideas , it is important to find a word that can be used in its place. Some people suggest Epic as a reasonable term and I have found great success with it.</p>
<p>Some possible Epics include:</p>
<ul>
<li>An internal resume tracking system
<li>A sales initiative to capture a particular share of a given market
<li>Moving to another platform for your Internet Data Center
<li>A MOSS 2007 rollout
<li>An internal CRM
<li>A new version of a flagship product
<li>A major services contract with a long term commitment </li>
</ul>
<p>Get it? Any really big deal that will be around for a long time and generate a big piles of code, work, or revenue can be an Epic. Now that we can see what our Epics are, what do we do with them?</p>
<h3>Start With a Roadmap</h3>
<p>An Epic Roadmap is a clear, concise, and ubiquitously available document that provides a guidance for general features or accomplishments over the course of time. A good roadmap is essential to scaling Scrum, providing long to medium term direction, and communicating with stakeholders and clients.</p>
<p>Here is a fictitious Epic Roadmap for a year in the life of MOSS at a major organization.</p>
<table cellspacing="0" cellpadding="2" width="378" border="1">
<tbody>
<tr>
<td valign="top" width="107">2008 Q1</td>
<td valign="top" width="104">2008 Q2</td>
<td valign="top" width="89">2008 Q4</td>
<td valign="top" width="76">2008 Q4</td>
</tr>
<tr>
<td valign="top" width="112">Release initial team sites</td>
<td valign="top" width="108">Institute corporate blogging</td>
<td valign="top" width="93">Automate HR resume tracking with workflow</td>
<td valign="top" width="79">Enterprise Scrum backlog site</td>
</tr>
<tr>
<td valign="top" width="112">Release initial My Sites</td>
<td valign="top" width="109">Simple defect management site</td>
<td valign="top" width="95">Automated expense reports with InfoPath forms</td>
<td valign="top" width="81">Implement time tracking for professional services engagements</td>
</tr>
<tr>
<td valign="top" width="111">&nbsp;</td>
<td valign="top" width="108">Implement&nbsp; <br />enterprise search with the BDC</td>
<td valign="top" width="96">&nbsp;</td>
<td valign="top" width="83">&nbsp;</td>
</tr>
</tbody>
</table>
<h3>And Then Create a Backlog that Supports the Roadmap</h3>
<p>The collection of Epic Backlog Items can be written in sets, each set directly supporting one of the significant areas of work in the roadmap. For example, if we look at just 2008 Q1 of the above roadmap, there will be some work around introducing the My Sites feature of MOSS to the company. A backlog of work for this feature rollout may look similar to this:</p>
<ul>
<li>Configure sustainable authentication and roles based security model for My Sites features.
<li>Train the company on the My Sites feature.
<li>Disable personal blog sites capability in Share Point.</li>
</ul>
<p>Obviously, some of these backlog items are fine grained and some will need to be further decomposed into smaller items later. For example, in a larger organizations, there may be many training sessions for many different teams.</p>
<p><font size="4">Summary</font></p>
<p>Although Epics are needed to manage large systems or initiatives, they are really just a large scale backlog item. Epics still foster a very one dimensional, albeit hierarchical, representation of our backlog. This role that Epics play is important because without it, there would be not good way to talk about big systems, or to fund big initiatives.</p>
<p>Slicing through Epics with Themes is a subject we will explore in a later article.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/03/scaling-scrum-with-epics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backlog estimation photos</title>
		<link>http://elegantcode.com/2008/06/01/backlog-estimating-photos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=backlog-estimating-photos</link>
		<comments>http://elegantcode.com/2008/06/01/backlog-estimating-photos/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 05:23:57 +0000</pubDate>
		<dc:creator>Jarod Ferguson</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/01/backlog-estimating-photos/</guid>
		<description><![CDATA[Over the years my company has acquired several companies products which do the same thing, in different technologies. They are all aging and becoming very difficult to maintain (gross understatement here). My current project is taking &#8220;like&#8221; functionality out of the products and creating a new platform in order to migrate our customer base and [...]]]></description>
			<content:encoded><![CDATA[<p>Over the years my company has acquired several <strike>companies</strike> products which do the same thing, in different technologies. They are all aging and becoming very difficult to maintain (gross understatement here). My current project is taking &#8220;like&#8221; functionality out of the products and creating a new platform in order to migrate our customer base and deprecate the old applications.</p>
<p><span id="more-1182"></span></p>
<p>Our organization is fairly new to Agile/SCRUM. We have always struggled to create the master backlog for this project. Along with adapting to a new process, it has been especially challenging for our product owners to consider the 60,000+ customers in which they proxy for. </p>
<p>The project is 16 iterations in (2 week), we are making great progress and are trying to finalize the vision of our first release. Over the past 3 weeks our product owners &amp; scrum masters took over a conference room and flushed out the remaining backlog items for our first delivery. As you can imagine it was a very tedious task, but I for one am extremely excited about the results. No it is not perfect, Yes there will be changes, but its great to visualize what we are trying to do in its entirety. </p>
<p>This last week the teams were brought in to do estimations and tweak stories (combine/split) to complete the backlog. Here are a few photos from the last 15 minutes on Friday as we were finishing up. </p>
<p>Chickens!</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211743984133.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211743984133" src="http://elegantcode.com/wp-content/uploads/2008/06/211743984133-thumb.jpg" width="184" border="0"></a> </p>
<p>Here is our awesome Scrum Master John P in action</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211746898949.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211746898949" src="http://elegantcode.com/wp-content/uploads/2008/06/211746898949-thumb.jpg" width="184" border="0"></a> </p>
<p>Windows are great with sticky cards</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211743621381.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211743621381" src="http://elegantcode.com/wp-content/uploads/2008/06/211743621381-thumb.jpg" width="184" border="0"></a> </p>
<p>We use planning poker (fibonacci seq) for estimations, here is my sweet deck. You also have to take note of the orange with the painted face in the coffee cup. He is our bad mojo orange, so anytime you are getting frustrated there is a big scene and you have to touch the orange to remove your evil thoughts. Though by the end of the week it was kind of getting gross. </p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211744660229.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211744660229" src="http://elegantcode.com/wp-content/uploads/2008/06/211744660229-thumb.jpg" width="184" border="0"></a> </p>
<p>And this is what happens when your test engineers are trapped in a room with markers for a long period of time</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211745007877.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211745007877" src="http://elegantcode.com/wp-content/uploads/2008/06/211745007877-thumb.jpg" width="184" border="0"></a> </p>
<p>And of course my favorite card, inspired by &#8220;doodle the developer&#8221; (Aka Steve J). It works nicely in place of the &#8216;Infinity&#8217; card.</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/211743264901.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="211743264901" src="http://elegantcode.com/wp-content/uploads/2008/06/211743264901-thumb.jpg" width="184" border="0"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/01/backlog-estimating-photos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Viewing Your Backlog</title>
		<link>http://elegantcode.com/2008/05/22/viewing-your-backlog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=viewing-your-backlog</link>
		<comments>http://elegantcode.com/2008/05/22/viewing-your-backlog/#comments</comments>
		<pubDate>Fri, 23 May 2008 03:39:12 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/05/22/viewing-your-backlog/</guid>
		<description><![CDATA[In many Agile development processes, there exists the idea of THE BACKLOG. This is particularly true in Scrum, the methodology that originated the idea. The recipe from Scrum is a Product Backlog which contains all the requirements or features desired in the software being created. The backlog items are organized in priority order, determined by [...]]]></description>
			<content:encoded><![CDATA[<p>In many Agile development processes, there exists the idea of THE BACKLOG. This is particularly true in Scrum, the methodology that originated the idea. The recipe from Scrum is a Product Backlog which contains all the requirements or features desired in the software being created. </p>
<p>The backlog items are organized in priority order, determined by the Product Owner (PO). The PO can use any criteria to prioritize the backlog items. Priorities may be driven by risk, return on investment, or client demand. No matter what technique is used, this prioritization is crucial to the use and effectiveness of the backlog. </p>
<p>This all works quite well in a&#160; situation of a single team creating a single product. It even works well when we scale up a bit and have one team working on several products. It just becomes necessary for the two product owners to strike a bargain on how to share team capacity.</p>
<p>It turns out that scaling to even bigger scenarios with an Enterprise Backlog and many teams working from it presents some new challenges. In this model you manage all work in the enterprise in a single backlog. This immediately draws into question what the &quot;real&quot; backlog is. Backlog managers may be interested in a view of the backlog that shows the prioritized list of items for a particular system, a team, a product, a release, or some other grouping.It becomes quickly apparent there are many ways to &quot;see&quot; the backlog.</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/05/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="239" alt="image" src="http://elegantcode.com/wp-content/uploads/2008/05/image-thumb.png" width="404" border="0" /></a> </p>
<h2>Which Backlog View Wins?</h2>
<p>Obviously, a PO is primarily interested in the view that shows the backlog for a particular product. For a release manager, coordinating the overall release of a product suite, the view of items to be included across many products in a big release is the perfect view. If you are a project manager, interested in a theme of work that will affect many products (think the Smart Art feature in Office 2007), you are looking for the theme view. We can think of this problem as dimensions in a multidimensional cube if it helps you BI types.</p>
<p>With all these views of the backlog going on, and each one of theme prioritized from 1-n, which one is the actual backlog? </p>
<ul>
<li>Theme View </li>
<li>System View </li>
<li>Release Cycle View </li>
<li>Scrum Team View </li>
<li>Product View </li>
</ul>
<p>The easy answer is, &quot;They are all important, depending on who you are and what you are interested in.&quot; It is true, though, that two of these view are closer to reality than all the others. While most of these views represent what we hope will get done, 2 of them are just a bit closer to what will get done, or has been done.</p>
<h3>The Scrum Team View</h3>
<p>This view aggregates the work items into a collection that actually represents what the team will be doing. This is the backlog the team will use in Sprint planning as they plan an iteration of work. If you are a theme owner and your work items aren&#8217;t showing up in the Scrum Team View, you&#8217;re in trouble.</p>
<h3>The Release Cycle View</h3>
<p>This view (and an associated burndown chart) helps us see the reality of features that are scheduled for release and those that have been completed. This view represents the absolute reality of what we can tell the clients will be in the next release.</p>
<h2>Just Get Them</h2>
<p>The real truth is that all of the views really are important. The real challenge is in deriving the views in the first place. If you are trying to work with an Enterprise Backlog and haven&#8217;t got a good model for segmenting it, you may soon find it unwieldy. Find the right view to help you interact with the requirements and make sure your backlog items provide the data needed to see it. Just remember the 2 views that live closer to where the rubber meets the road.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/05/22/viewing-your-backlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who is a Product Owner?</title>
		<link>http://elegantcode.com/2008/03/28/who-is-a-product-owner/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=who-is-a-product-owner</link>
		<comments>http://elegantcode.com/2008/03/28/who-is-a-product-owner/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 14:43:47 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/28/who-is-a-product-owner/</guid>
		<description><![CDATA[Because of the decentralized control model of Agile software development methodologies, there is a living debate on the role of a Product Owner, particularly in Scrum which defines the term. Here are links to sufficiently ambiguous definitions from some trusted sources, all saying effectively the same thing. http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1122 http://www.mountaingoatsoftware.com/product_owner More informative is this course description [...]]]></description>
			<content:encoded><![CDATA[<p>Because of the decentralized control model of Agile software development methodologies, there is a living debate on the role of a Product Owner, particularly in Scrum which defines the term. </p>
<p>Here are links to sufficiently ambiguous definitions from some trusted sources, all saying effectively the same thing.</p>
<blockquote><p><a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1122" target="_blank">http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1122</a></p>
<p><a href="http://www.mountaingoatsoftware.com/product_owner" target="_blank">http://www.mountaingoatsoftware.com/product_owner</a></p>
</blockquote>
<p>More informative is this course description from the Ken Schwaber for his Certified Product Owner Course.</p>
<blockquote><p><a href="http://www.controlchaos.com/certification/cspo.php" target="_blank">http://www.controlchaos.com/certification/cspo.php</a></p>
</blockquote>
<p>and this course description from Mike Cohn:</p>
<blockquote><p><a href="http://www.mountaingoatsoftware.com/product_owner_training" target="_blank">http://www.mountaingoatsoftware.com/product_owner_training</a></p>
</blockquote>
<p>There is another question commonly asked in this discussion, though. &#8220;Who writes the requirements?&#8221;</p>
<p>The idea behind Agile product development is that requirements DO exist, typically in the form of a backlog. The next point is that they are expected to change. In this regard, the Product Owner has the responsibility to continuously and actively manage the requirements. It is easily seen that the only way for a Product Owner to effectively do this is through intimate familiarity with the requirements. While the Product Owner may not have been the person to initially place an item on the Product Backlog, they are accountable to the team for maturing that requirement into an executable state. </p>
<p>Therefore, who is responsible for requirements? Clearly, the Product Owner.</p>
<p>Lastly, if you are still having trouble identifying the Product Owner for a given system, product, project, or initiative, remember this one thing:</p>
<blockquote><p>&quot;The Product Owner is the one person in an organization responsible for P&amp;L (Profit and Loss) of the work.&quot; &#8212; Jeff Sutherland</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/28/who-is-a-product-owner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Training Companies</title>
		<link>http://elegantcode.com/2008/03/26/agile-training-companies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile-training-companies</link>
		<comments>http://elegantcode.com/2008/03/26/agile-training-companies/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 20:08:46 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/03/26/agile-training-companies/</guid>
		<description><![CDATA[There are tons of companies out there referring to themselves as Agile training organizations. When I was asked recently for recommendations on specific silos of expertise, here were my recommendations. Lean / Agile Net Objectives EMS Strategies Scrum Ken Schwaber Mountain Goat Software (Mike Cohn) Danube Software Development Practices Object Mentor Net Objectives]]></description>
			<content:encoded><![CDATA[<p>There are tons of companies out there referring to themselves as Agile training organizations. When I was asked recently for recommendations on specific silos of expertise, here were my recommendations.</p>
<p><b>Lean / Agile</b></p>
<ul>
<li><a href="http://www.netobjectives.com/" target="_blank">Net Objectives</a> </li>
<li><a href="http://www.emsstrategies.com/trainingservices.html" target="_blank">EMS Strategies</a> </li>
</ul>
<p><b>Scrum</b></p>
</p>
<ul>
<li><a href="http://www.controlchaos.com/" target="_blank">Ken Schwaber</a> </li>
<li><a href="http://www.mountaingoatsoftware.com" target="_blank">Mountain Goat Software</a> (Mike Cohn) </li>
<li><a href="http://www.danube.com" target="_blank">Danube</a> </li>
</ul>
<p><b>Software Development Practices</b></p>
<ul>
<li><a href="http://www.objectmentor.com/" target="_blank">Object Mentor</a> </li>
<li><a href="http://www.netobjectives.com/" target="_blank">Net Objectives</a> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/03/26/agile-training-companies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It Hurts When I Do That</title>
		<link>http://elegantcode.com/2008/02/09/it-hurts-when-i-do-that/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=it-hurts-when-i-do-that</link>
		<comments>http://elegantcode.com/2008/02/09/it-hurts-when-i-do-that/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 20:51:03 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/02/09/it-hurts-when-i-do-that/</guid>
		<description><![CDATA[One of the most curious things I encounter when meeting people new to Agile are long time veterans of the software development game who all agree that up-front design doesn&#8217;t work and also think Agile is not valuable. See the contradiction? These folks (and I have met many over the years) are quick to point [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most curious things I encounter when meeting people new to Agile are long time veterans of the software development game who all agree that up-front design doesn&#8217;t work and also think Agile is not valuable.</p>
<p>See the contradiction? </p>
<p>These folks (and I have met many over the years) are quick to point out the flaws, inconsistencies, and downright disfunction of their current waterfall process. </p>
<p>&#8220;We get the requirements from the Business Analysts,&#8221; they say, &#8220;and they are never right.&#8221;</p>
<p>&#8220;We build an deliver to QA and move on to the next project,&#8221; they say, &#8220;and it always comes back with defects.&#8221;</p>
<p>&#8220;There is no such thing as defect-free software,&#8221; they say, &#8220;an in their world they are right.&#8221;</p>
<p>&#8220;It hurts when I hit my finger with the hammer,&#8221; they say while placing their index finger atop the next nail.</p>
<p>These same folks will dismiss Agile and iterative development practices in the next breath with words like &#8220;impractical&#8221;, &#8220;unrealistic&#8221;, or &#8220;chaotic&#8221;. Is this fear of change? Is it threatening to have the system you hate so much be threatened by an up-and-coming idea? This seems to me a bit like hating the king and leaving him in power for fear of who might will replace him.</p>
<p>This is one of the reasons I find it terribly important to discuss not just the benefits of all things Agile like Scrum and TDD, but to also introduce the history and practices of failed engineering projects that caused these things to emerge. This provides a pathway to enlightenment for the most diehard anti-Agilista. Once we can establish the history, theory, demonstrated success, and techniques, engineering minded folks are more able to see these Agile practices as real tools for their toolbox.</p>
<p>Another useful technique is to start these folks off with engineering process first, not methodology changes. Almost everyone can agree to the demonstrated value of TDD. Once a surly developer sees TDD as a small, iterative feedback loop, we can start asking why the next level of the feedback loop isnt&#8217;t happening with automated builds. Then Continuous Integration. Then iterative delivery to a product owner. Then Agile because by now they are already there without knowing it.</p>
<p>Leading with process in a top down implementation can be ineffective when selling to grizzled engineers. Let&#8217;s help people stop hitting their fingers before we try to get them to build something beautiful.</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e2e1dbff-ca7c-4d3b-a896-2e39d65ac4e3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Agile" rel="tag">Agile</a>,<a href="http://technorati.com/tags/TDD" rel="tag">TDD</a>,<a href="http://technorati.com/tags/Scrum" rel="tag">Scrum</a></div>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/02/09/it-hurts-when-i-do-that/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

