<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Industrial Logic</title>
	
	<link>http://www.industriallogic.com</link>
	<description>Develop greatness</description>
	<lastBuildDate>Fri, 24 May 2013 17:39:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/IndustrialBlogic" /><feedburner:info uri="industrialblogic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>IndustrialBlogic</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>eCoaching: A new kind of coaching service</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/bdGhnFiMySk/</link>
		<comments>http://www.industriallogic.com/blog/ecoaching-blog/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 01:02:39 +0000</pubDate>
		<dc:creator>Curtis Cooley</dc:creator>
				<category><![CDATA[Coaching]]></category>

		<guid isPermaLink="false">http://www.industriallogic.com/?p=6641</guid>
		<description><![CDATA[<p>eCoaching eCoaching is a new way to deliver best in class lean and agile coaching. A way for companies to access world class agile coaches in smaller and timelier chunks. eCoaching provides access to the same great expertise as full time onsite coaching, but uses technology instead of air travel. You meet with the coach [...]</p><p>The post <a href="http://www.industriallogic.com/blog/ecoaching-blog/">eCoaching: A new kind of coaching service</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>eCoaching</h2>
<img src="http://www.industriallogic.com/wp-content/uploads/2013/03/USMC-13851.png" alt="USMC-13851" width="324" height="275" class="img-rounded alignright wp-image-6719 hidden-phone" />

<p>eCoaching is a new way to deliver best in class lean and agile coaching.</p>

<p>A way for companies to access world class agile coaches in smaller and timelier chunks.</p>

<p>eCoaching provides access to the same great expertise as full time onsite coaching, but uses technology instead of air travel.</p> 
<ul>
<li>You meet with the coach via video conferencing.</li>
<li>The coach trains the team via webinar tools.</li>
<li>Developers pair with the coach via screen sharing software.</li>
</ul>

<p>Teams also have the option to access coaches via discussion forums or chat rooms. Posting questions and getting responses from experts.</p>

<div class="img">
<img src="http://www.industriallogic.com/wp-content/uploads/2013/03/basecamp1.png" alt="ecoaching discussion example" title="eCoaching discussion forum" width="550" height="611" class="img-polaroid alignnone size-full wp-image-6737 hidden-phone" />
  <div>
    Sample discussion
  </div>
</div>

<h3>Advantages</h3>

<p>More than just lower cost of entry:</p>

<ul>
<li><strong>Short Coaching Sessions</strong>
<p>Short coaching sessions and more time between sessions allow time to digest the content.</p>
<p>Practicing on your own without the coach aids absorption and enables you to find topics to discuss at the next session</p>

<li><strong>Fine tune the engagement</strong></li>
<p>The coaching sessions become like iterations with you and the coach fine tuning the engagement.</p>

<li><strong>Change at your pace</strong></li>
<p>By scheduling sessions around your needs, you can match the rate of training to the rate you can absorb it.<p>
<p>You control the rate of your adoption since you don't have to squeeze every ounce of knowledge from a full time coach.</p>
</ul>

<h3>How is it delivered?</h3>
<p>eCoaching can be combined with an onsite engagement or delivered on its own.</p>

<p>Meet with the coach in person then engage remotely or engage remotely from the beginning. </p>

<p>Schedule group sessions for training, one on one or pair coaching sessions, or video conference for live help.</p>

<p>The key is to tailor the coaching engagement to your needs, time and budget.</p>

<p>Find out more about <a href="/ecoaching">Industrial Logic's eCoaching service</a>.<p>The post <a href="http://www.industriallogic.com/blog/ecoaching-blog/">eCoaching: A new kind of coaching service</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/bdGhnFiMySk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/ecoaching-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/ecoaching-blog/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ecoaching-blog</feedburner:origLink></item>
		<item>
		<title>“As a Developer…” Is Not a User Story</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/LKldUn9LFxc/</link>
		<comments>http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 05:46:03 +0000</pubDate>
		<dc:creator>Bill Wake</dc:creator>
				<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[user stories]]></category>

		<guid isPermaLink="false">http://www.industriallogic.com/?p=6120</guid>
		<description><![CDATA[<p>Look at these "user stories" I recently encountered: As a developer, I want to refactor the BarSplat module so that it has less duplication As a developer, I want to configure Jenkins so that we have continuous integration As a product owner, I want to have the stories estimated so that we can make a [...]</p><p>The post <a href="http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/">&#8220;As a Developer&#8230;&#8221; Is Not a User Story</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Look at these "user stories" I recently encountered:</p>

<div class="well" style="font-size: 130%; font-family:'Arial Black', Gadget, sans-serif;">
As a developer, I want to refactor the BarSplat module so that it has less duplication
</div>

<div class="well"  style="font-size: 130%; font-family:'Arial Black', Gadget, sans-serif;">
As a developer, I want to configure Jenkins so that we have continuous integration
</div>

<div class="well" style="font-size: 130%; font-family:'Arial Black', Gadget, sans-serif;">
As a product owner, I want to have the stories estimated so that we can make a good plan
</div>

<div class="well" style="font-size: 130%; font-family: 'Arial Black', Gadget, sans-serif;">
As a tester, I want the test cases defined so I can test the system
</div>

<p>In <i>Planning Extreme Programming</i>, Kent Beck and Martin Fowler described a user story as "a chunk of functionality that is of value to the customer."</p>

<p>Where is the <i>customer value</i> in those stories?</p>

<p>Note: My argument is not that those activities are not good or important things to do (they are for this team), 
but that thinking of them as user stories misleads the team and its customers.

<div class="callout">Writing something in the <i>form</i> of a user story when it's not about <i>users</i> of the system misses the point.</div>

<h3>The Connextra Style of User Stories</h3>

<p>One popular format for user stories, prominent in Mike Cohn's book <i>User Stories Applied</i>, is a template originally developed at Connextra years ago:</p>
<pre>
    As a <i>[role]</i>, I want to <i>[do something]</i> so that <i>[reason/benefit]</i>
</pre>

<p>The above stories fit the template, but the roles are about the <i>creators</i> of the system, not its <i>users</i>.

<p>Users of a system don't care about the problems of the system's creators; such stories are not Valuable to them (in the sense of the <a href="http://www.youtube.com/watch?v=L_NyCczp0Fk">INVEST</a> model for user stories).

<h3>Where Do Poor Stories Come From?</h3>
<p>"Stories" addressing the creators of the system seem to have several sources:
<ul>
<li>Useful high-level stories (aka epics) that the team has split in a technical way rather than a user-focused way. The team divided them by <i>how</i> (technical tasks) or <i>who</i> will implement them (creator roles). (Splitting stories is a good tool, but splits work best when they take a customer's point of view.)</li>
<li>Cargo-cult splitting: The team may have heard that stories should be smaller than a sprint, or a week, or a day, but the team doesn't really understand why or how. So they fall back to doing what they've always done: dividing features into technical tasks.
<li>"Busyness accounting": Tim Ottinger notes that some teams have become focused on the desire to claim velocity "credit" for any activity. In effect, they're counting <i>effort</i> rather than <i>results</i>.</li>
<li>Tools: The tools we use (mental or electronic) can push us in the direction of just calling everything a story. This sloppiness can lead to a muddled view of the project's real state. </li>
</ul>

<h3>Tasks Are (Necessary) Waste</h3>
<p>Lean thinking distinguishes between value and waste: <i>value</i> is what the customer wants, and anything else is <i>waste</i>.

<p>From that perspective, many of the activities teams do can be regarded as a type of waste, but we don't know how to develop software effectively without doing them. 

<p>Lean teams talk about this kind of waste as "Non-Value-Added But Necessary": work we do because we have to. 

<p>Consider this conversation:<br/>
<b>Customer</b>: How long will it take to add feature xyz?<br/>
<b>Programmer</b>: Five days, including a day to refactor the frobble, and a day to test. <br/>
<b>Customer</b>: Then let's skip the refactoring and testing, and call it three days.<br/>
<b>Programmer</b>: No, if we skip those it will end up taking us even longer.

<p>Even in this short dialog, we can see that the customer isn't confused: they just want their feature, as soon as possible. Customers value tasks instrumentally, as required steps on the way to getting what they really want.

<p>It's not fun to think of what we do as waste, and this is <i>not</i> a call to skip doing the tasks that we need to develop software effectively. 

<p>Remember the "But Necessary" part: these activities might go away in a better world, but we still have to do them in this world. 

<p>We have to do technical tasks for our projects, but <b>let's report progress in terms of value</b>: delivering what customers want. 

<h3>Tool: Context Diagrams</h3>
<p>One tool we use to keep our stories honest is an old one: the context diagram. It shows the system in the middle, and the users or systems it communicates with around the edges. 

<p>
<img src="http://www.industriallogic.com/wp-content/uploads/2012/11/contextDiagramSmall.png" alt="Context Diagram" title="Context Diagram" width="400" height="239" class="aligncenter size-full wp-image-6530" />

<div class="callout">The goal of a system is to affect things <i>outside</i> the system.</div>

<p>Real stories go from outside the system boundary to inside the system, or vice versa. 

<p>If we see a story focused only on things happening inside the system, it's a sign that this is an implementation detail, not something the user regards as a system behavior. 

<h3>Tool: The Role-Action-Context Template</h3>
<p>We also default to a different template to write the <i>headline</i> of a story: Role-Action-Context.</p>

<table>
<tr>
<th>Role</td>
<td>Something or someone that sends a stimulus into the system boundary</td>
</tr>
<tr>
<th>Action</th>
<td>How the role triggers the stimulus; usually verb+object</td>
</tr>
<tr>
<th>Context</th>
<td>Optional: where or when the action applies</td>
</tr>
</table>

<p>For example, the story "Buyer purchases items using credit card" tells us <i>who</i> is using the system&mdash;the buyer, <i>what</i> they're doing&mdash;purchasing items, and (optionally) in <i>what context</i> or approach they're doing it &mdash;using a credit card. </p>

<p>
This template helps reduce the problem of tasks masquerading as stories, and keeps stories focused on accomplishing something for a user of the system. </p>

<h3>So What Should We Do?</h3>
<p>First, look suspiciously at any story whose role sounds like a person involved in development, rather than a user (human, hardware, or another system) that interacts with the software at runtime.</p>

<p>Second, see if any of those tasks can be framed as a functional behavior or a quality characteristic of the running system; if so, rephrase them.</p>
		
<div class="callout">Tasks are for the development team. <br/>Focus on stories as progress, not tasks.</div>

<p>Finally, recognize that your team will sometimes just have tasks. You may decide to track tasks internally, but don't treat them or track them as direct progress on the developed system. </p>

<p>Let's write stories that provide direct benefits to our users and customers!</p>

<div class="well" style="font-size: 110%;">
<img src="http://www.industriallogic.com/wp-content/uploads/2012/10/composingUserStories.png" alt="Composing User Stories" title="composingUserStories" width="100" height="100" class="alignleft size-full wp-image-6263" />
<br/>&nbsp;<br/>
If you want to learn to write great user stories, check out our eLearning course "<a href="https://elearning.industriallogic.com/gh/submit?Action=AlbumContentsAction&#038;album=composingUserStories&#038;devLanguage=None">Composing User Stories</a>".
<br/>&nbsp;<br/>
</div><p>The post <a href="http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/">&#8220;As a Developer&#8230;&#8221; Is Not a User Story</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/LKldUn9LFxc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/as-a-developer-is-not-a-user-story/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=as-a-developer-is-not-a-user-story</feedburner:origLink></item>
		<item>
		<title>Stop Using Story Points</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/kUp504ZpwrA/</link>
		<comments>http://www.industriallogic.com/blog/stop-using-story-points/#comments</comments>
		<pubDate>Fri, 12 Oct 2012 19:37:05 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Agile Transition]]></category>
		<category><![CDATA[Coaching]]></category>
		<category><![CDATA[Extreme Programming]]></category>

		<guid isPermaLink="false">http://blog.industriallogic.com/?p=2442</guid>
		<description><![CDATA[<p>Sprints, standups and story points have come to symbolize Agile methods much like burgers, fries and cola symbolize fast food. Ready for your Agile Happy Meal? I hope not. Like researchers of fast food, we now know that the Agile Happy Meal contains unnatural ingredients that decrease agility and cause process indigestion. In 2007, a [...]</p><p>The post <a href="http://www.industriallogic.com/blog/stop-using-story-points/">Stop Using Story Points</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<a href="http://www.industriallogic.com/blog/agility-sans-story-points/agilehappymeal/" rel="attachment wp-att-2996"><img class="alignright size-full wp-image-2996" title="agileHappyMeal" src="http://www.industriallogic.com/wp-content/uploads/2012/06/agileHappyMeal.jpg" alt="" width="360" height="270" /></a>

<p>Sprints, standups and story points have come to symbolize Agile methods much like burgers, fries and cola symbolize fast food.</p>

<p>Ready for your Agile Happy Meal?</p>

<p>I hope not.</p>
<!--more-->

<p>Like researchers of fast food, we now know that the Agile Happy Meal contains unnatural ingredients that decrease agility and cause process indigestion.</p>

<p>In 2007, a series of experiments led my colleagues and me to increase our agility by dropping story points and velocity calculations.</p>

<p>Those same experiments led us to replace fixed-length sprints with a flow-based workflow, and move from standup meetings to frequent team huddles.</p>

<p>Our process today looks nothing like a by-the-book, mainstream Agile method largely because we actively look for process waste and experiment to discover better ways of working.</p>

<p>In this blog, I'll explain why we dropped story points and velocity calculations and what you can do to work successfully without them.</p>

<h3>My Early Days with Story Points</h3>
<p>I started using story points on an Extreme Programming team in a San Francisco startup in 1999.</p>

<p>I loved how story points helped identify a team's work capacity.</p>

<p>That capacity, calculated as velocity (number of story points completed per timebox), helped people on teams (especially product managers, product owners or internal customers) learn to work within their means.</p>

<p>If the work to be done in a timebox didn't add up to the team's velocity, it was time for some critical thinking and decision making about must-haves vs. nice-to-haves.</p>

<p>Story points and velocity helped teams save time by identifying essential functionality and removing anything unnecessary (or "maximizing the work not done", an often-repeated mantra).</p>

<p>I used story points and velocity for another 8 years, both on internal projects and on client projects around the globe.</p>

<p>During that time, I noticed many misunderstandings and misuses of story points and velocity calculations.</p>

<p>At first, I interpreted these problems as a sign that we needed to do a better job of educating people.</p>

<p>But as the years passed, it became clear that story points and velocity calculations contain deep flaws.</p>

<h3>Irrational Story Point Inflation</h3>
<p>One of first big problems I noticed happened in a large, famous corporation headquartered near Tampa, Florida.</p>

<p>We first got to know this company in 2002, when a Director (I'll call him Jim) came out to San Francisco to experience our intensive <a href="http://industriallogic.com/xpw">Extreme Programming Workshop.</a></p>

<p>Jim loved what he experienced and wanted to immediately bring it back to his teams in Florida.</p>

<p>We went on to have a 4.5 year relationship with hundreds of people within Jim's company, including 2 of the 3 major corporate divisions.</p>

<p>For the first team, Jim bought a complete agile transition package, including our readiness assessment, training and coaching services.</p>

<p>He took our advice and designed a fantastic open-space for the 25-person team (big by agile standards at the time).</p>

<p>He had his entire team study and discuss Patrick Lencioni's <a href="http://www.amazon.com/Five-Dysfunctions-Team-Leadership-Fable/dp/0787960756">Five Dysfunctions of a Team</a> prior to us working with them.</p>

<p>When we landed in warm, sunny Tampa, we met one of the best-prepared teams we had ever encountered.</p>

<p>Fast forward 2 years and this team had shipped a great deal of excellent software ahead of schedule, received healthy bonuses for their work and won the parent company's prestigious process improvement award.</p>

<p>Executives who visited the company would routinely tour this team's open workspace and learn about their process.</p>

<p>We were proud of this team and completely unprepared for what was about to happen to them.</p>

<p>One day in 2004 Jim exhorted the team to go faster.</p>

<p>He used the term "sprint" even though he wasn't familiar with Scrum.</p>

<p>This team had an average velocity around 52 points per iteration.</p>

<p>Their velocity would flunctuate by a few points, but generally remained steady.</p>

<p>Yet just weeks after Jim asked the team to "sprint", the team's velocity jumped up into the high 80s!</p>

<a href="http://www.industriallogic.com/blog/agility-sans-story-points/sneezing/" rel="attachment wp-att-5704"><img src="http://www.industriallogic.com/wp-content/uploads/2012/09/sneezing.png" alt="" title="sneezing" width="420" height="286" class="alignright size-full wp-image-5704" /></a>

<p>I asked someone what happened.</p>

<p>She looked at me funny and said "These days around here if you sneeze, you get a story point."</p>

<p>I shook my head, amazed at how a mature agile team, a team that had been assessed, trained and coached by myself and two excellent Industrial Logic coaches, could so suddenly inflate their story point estimates to appear like they were going faster.</p>

<p>My confidence in story points and velocity calculations began to erode after that experience.</p>

<p>Yet perhaps the problem had been due to insufficient education?</p>

<p>Rather than abandoning story points in 2004, my colleagues and I redoubled our efforts to better educate our clients, especially management, about the misuses of story points.</p>

<h3>Sacrificing Quality For Predictability</h3>

<p>Technical practices like test-driven development and refactoring are often the first things to be dropped when someone is trying to "make their estimate."

<p>We see this behavior emerge from the outset, starting in training: a team that completes all work at the end of a timebox (say, two hours) often does so by sacrificing quality.</p>

<p>For years, we addressed this common problem by helping students experience what it was like to deliver on commitments while also producing quality code.</p>

<p>We explained how great teams ultimately learned to maintain technical excellence while also sustaining a consistent velocity (the same number of story points completed per sprint).</p>

<p>Yet the fact is, such teams are rare and their consistency is often fleeting as their team size changes or other pressures take hold.</p>

<p>For too many years, I thought it was important to maintain a consistent velocity, since it was supposed to be helpful in planning and predicting when a product/system could be completed.</p>

<p>Yet I've seen too many teams sacrifice quality and face compounding technical debt solely to make or exceed their estimates and keep their burndown charts looking pretty.</p>

<h3>Comparing Teams By Points</h3>

<p>Over the years I've heard several managers at different companies ask, "Why is team X getting 24 story points done per sprint, while team Y is only getting 12 story points done?  Those teams are roughly the same size, so why the discrepancy?"</p>

<p>Instead of treating velocity as a team-specific, capacity indicator, such managers fall into the trap of thinking of velocity as a performance measurement (as Jim Highsmith described in <a href="http://jimhighsmith.com/2011/11/02/velocity-is-killing-agility/">Velocity Is Killing Agility!</a>).

<p>We can educate people to not compare teams by their velocities, yet it is a real problem that so many people naturally reason that such comparisons are legitimate.</p>

<a href="http://www.industriallogic.com/blog/agility-sans-story-points/fruits/" rel="attachment wp-att-5694"><img src="http://www.industriallogic.com/wp-content/uploads/2012/09/fruits.png" alt="" title="fruits" width="347" height="346" class="alignright size-full wp-image-5694" /></a>

<p>Starting around 2005, I tried to deal with this problem by having teams name their story points after favorite types of fruit.</p>

<p>One team woud measure velocity in oranges, another would measure it in apples, another in kiwis, etc.</p>

<p>Then, when management invariably tried to compare the velocities of teams, I would tell them that "You can't compare apples to oranges."</p>

<p>While this approach helped to point out the fruitlessness (pun intended) of comparing team velocities, it led me on a path of doing more and more work to stop people from misusing story points rather than shift to a simpler and less error-prone method.</p>

<h3>Story Point Confusion: Are We NUTs?</h3>

<p>Many justify the use of story points because they say that humans aren't good at estimating using actual time.</p>

<p>They say that story points make us better at estimating because we're estimating the size of work, rather than the time it takes to complete it.</p>

<p>In fact, humans aren't very good at estimating in general, regardless of what measure is used.</p>

<p>As I will show later, teams get better estimates when they re-estimate frequently.</p>

<p>Story points just further muddle the issue.</p>

<p>While we grow up estimating using time (e.g. "When will you be ready to go?" or "How long before you arrive home?"), the same cannot be said of story points.</p>

<p>To use them, we must learn:</p>
<ul>
	<li>what they are,</li>
	<li>how to use them,</li>
	<li>the many ways to not misuse them.</li>
</ul>

<p>A typical education in story points contains a good deal of friction.</p>

<p>Newbies are confused and uncomfortable estimating with story points and frequently compensate by consistently translating story points back to actual time estimates.</p>

<p>Well-meaning agile experts do their best to educate the uninitiated.</p>

<a href="http://www.industriallogic.com/blog/agility-sans-story-points/nut/" rel="attachment wp-att-5699"><img src="http://www.industriallogic.com/wp-content/uploads/2012/09/nut.png" alt="" title="nut" width="165" height="167" class="alignright size-full wp-image-5699" /></a>

<p>They explain how story points are like t-shirts sizes or Fibonacci sequences.</p>

<p>In 2005, one of our customers found story points to be so confusing that he renamed them NUTs (Nebulous Units of Time).</p>

<p>Misunderstandings and misuses of story points generally multiply over time, especially as a process scales from team to department to enterprise.</p>

<p>Fixing those misunderstandings and misuses costs time and energy.</p>

<p>Story points and velocity calculations are unnatural techniques that unnecessarily confuse teams at the beginning of their agile journey.

<h3>Busy-Ness Accounting</h3>

<p>I visited a company the other day that had giant kanban boards filled with technical tasks in various stages of completion.</p>

<p>I couldn't tell from these physical boards if the teams were working on valuable user stories.</p>

<p>I couldn't see progress on release plans and looking at their web-based Agile planning tool didn't provide much help either.</p>

<p>Instead, the tool was ready to show me pretty velocity charts and report on how many hours tasks took to complete.</p>

<p>So many Agile shops seem to be stuck in this mode of tracking busy work.</p>

<p>My colleague Tim Ottinger calls it "busy-ness accounting."

<p>Breaking down a user story into tasks is fine to understand what will be involved in completing it, but spending loads of time estimating tasks
and tracking the tasks on agile planning boards/tools is a lot of wasted energy and a relic of waterfall-based planning schemes.</p>

<p>Being agile means moving with quick, easy grace.</p>

<p>That means releasing useful, quality software frequently.</p>

<p>It doesn't mean being busy accounting for how every hour is spent doing technical tasks.</p>

<h3>A Simpler Way</h3>
<p>In 2001, I remember being struck by a simple planning approach mentioned by <a href="http://www.extremeprogramming.org/donwells.html">Don Wells</a>, an early Extreme Programmer who worked on the <a href="http://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System" target="_blank">Chrysler Comprehensive Compensation System</a> project (the birthplace of XP).</p>

<p>Don said (in this <a href="http://tech.groups.yahoo.com/group/extremeprogramming/message/39252">email</a> from the Extreme Programming email list):</p>

<div class="well">
<p>We have been counting items done. Each week we just choose the most important items and sign up for them up to the number from last week. It turns out that we get about the same number of them done regardless of estimated effort. We have 1 week iterations so we tend to break things down a bit at the iteration planning meeting.</p>

<p>Perhaps the effect is that we have learned how to break things down to the right size. I don't know yet, but the point is <strong>we get about 8 things done each week</strong>, no estimation required.</p>
</div>

<p>While I wasn't ready at the time to try Don's simple planning approach, he had whet my appetite for a simpler planning formula.</p>

<h3>Experimenting With Alternatives</h3>

<p>By the Spring of 2007, my colleagues and I had seen enough problems associated with story points and velocity calculations that we began experimenting with simpler solutions.</p>

<p>Our first experiment within Industrial Logic failed badly.</p>

<p>We tracked real-time hours instead of story points, but we were essentially doing the same thing with hours as we had done with story points: carefully accounting for estimated hours, completed hours and a new budget of hours available for the next fixed-length timebox.</p>

<p>This project lasted approximately 6 months and afterwards, more than half of the people on the project said they disliked using real-time estimates with hours.</p>

<p>That Summer I attended the Agile2007 conference in Washington, DC and heard David Anderson speak about his Kanban method during an open space, birds-of-a-feather session.</p>

<p>I loved what David had described and it inspired me to continue searching for a process that better fit my company's needs and culture.</p>

<p>In the Fall of 2007, we stopped using story points or hours and started working in what I called (at the time) "variable length iterations."</p>

<a href="http://www.industriallogic.com/blog/agility-sans-story-points/variablelengthmicroreleases/" rel="attachment wp-att-5778"><img src="http://www.industriallogic.com/wp-content/uploads/2012/10/variableLengthMicroreleases.gif" alt="" title="variableLengthMicroreleases" width="385" height="198" class="aligncenter size-full wp-image-5778" /></a>

<p>No longer happy to work in fixed-length timeboxes, we would simply pick a small amount of important work to do, complete that work, ship it and repeat.</p>

<p>In general, we didn't care if it took 1 day or 4 days to get the work done.</p>

<div class="callout">Our focus was on shipping, not working in a fixed timebox or tracking the number of story points completed.</div>

<p>Using the new process, we shipped (on average) 1-2 times per week.</p>

<p>Our agility had increased by removing once-sacred pieces from our process.</p>

<p>We were now even better at delivering on the promise of the Agile Manifesto's first principle: 

<div class="well"><p>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.</p></div>

<p>If we had a deadline, we would make it by either getting everything done or finding work that could be safely deferred until a later release</p>

<p>Our planning sessions were much shorter and we judged ourselves on whether we had shipped valuable software, not whether we had maintained a consistent velocity.</p>

<p>I learned that what I had called "variable-length iterations" was actually more like a flow-based workflow in lean development.</p>

<p>And in lean terms, I started describing story points as waste, like the empty calories in cola.</p>

<h3>Gut Feel</h3>
<p>In 2008, Industrial Logic was asked by a Silicon Valley startup (now owned by I.B.M.) to help one team inside their company become agile.</p>

<p>One of our coaches worked with that team for several weeks, teaching and coaching them in traditional agile practices, including the use of story points.</p>

<p>At the time, we were not yet comfortable teaching our story point-free approach to our customers.</p>

<p>A few months after this first project completed, the company asked if we could now help them spread agile across the whole company.</p>

<p>We worked out a transition plan which included having me interview the first team that had already gone through the process change.</p>

<p>When I walked into that team's open workspace, I saw the walls covered with posters showing burn-down charts, release plans, iteration plans and charts tracking the team's velocity over time.</p>

<p>I sat down with a woman who had a reputation for being the company's best product manager.</p>

<p>After a few minutes of talking, I pointed to some of the posters on the walls and asked how things were going with planning and estimation.</p>

<p>For a brief moment she looked at me funny.</p>

<p>Then she said that everything was just fine, that they were tracking velocity with story points and using their velocity to schedule just the right amount of work for their iterations and releases.</p>

<p>Something about her expression suggested that something was amiss.</p>

<p>"Are you sure?" I asked.</p>

<p>She paused for several seconds, then said, "Do you want to know the real answer?"</p>

<p>I said yes.</p>

<p>She then said "You see those posters with the velocity numbers?  We made all of those up because we knew you were coming to visit us and we wanted you to say nice things about us to our management."</p>

<p>"Really?!?", I said, rather surprised.  "So what do you actually do?"</p>

<p>She explained that she and her team simply used gut feel to choose the right amount of work for a 2 week iteration or 2 month release.</p>

<p>If they needed to adjust the plan, they did so, always keeping stakeholders informed.</p>

<p>She said that this gut feel approach to estimation and planning had been working just fine and that they had no need for story points or velocity calculations.</p>

<p>I complimented her on the simplicity of her approach and assured her that what she was doing was perfectly agile, that using story points wasn't necessary to be agile.</p>

<p>And then I explained how Industrial Logic had stopped using story points for our own product development a year earlier.</p>

<h3>Periodic Release Planning</h3>

<p>Many of us estimate in order to know when we can release software to our users and what it will roughly cost.</p>

<p>At the beginning of a project, most release plans and dates are a nice fantasy.</p>

<p>You could spend days or weeks attempting to get more accurate estimates, yet I find it is better to just make rough estimates for each user story based on 10-15 minutes of analysis and discussion per story.</p>

<p>To get higher value for less cost, I coach teams to do <a href="http://www.industriallogic.com/blog/bargain-hunting/">Bargain Hunting</a>.</p> 

<p>To get more accurate estimates, I coach teams to periodically (say, every 2 weeks) re-estimate the user stories on their release plans.</p>

<a href="http://www.industriallogic.com/?attachment_id=5735" rel="attachment wp-att-5735"><img src="http://www.industriallogic.com/wp-content/uploads/2012/10/cadencedReleasePlanning.png" alt="" title="cadencedReleasePlanning" width="417" height="292" class="aligncenter size-full wp-image-5735" /></a>

<p>As time marches on, teams that regularly re-estimate their release plans get faster at it and provide time-based estimates that become increasingly accurate as the release date approaches.</p>

<p>That gives management what they needed all along: a decent way to predict the scope, schedule and cost of a release.</p>

<p>With this approach, there is no gaming of velocity numbers and the focus repeatedly returns to scoping discussions and what will/won't be released.</p>

<p>I coach teams to write user stories for their releases and estimate them using "team weeks": the amount of time it will take the whole team to complete the work.</p>

<p>It doesn't matter if only 2 people on a team of 10 can do the work: just provide the estimate as either .5, 1, 1.5 or 2 team weeks</p>

<p>If the estimate for a user story exceeds 2 team weeks, I ask the team to split the story so that it can be estimated at or below 2 team weeks.</p>

<p>To better manage risk, it's useful to combine evolutionary design with release planning.</p>

<p>Your first embryonic version of the product/system should include high value features and address your highest risks.</p>

<p>That release (which could take 1-3 months to produce) may be an internal milestone rather than something released to customers.</p>

<p>The next release will add further sophistication to the emerging software by adding functionality to existing features or producing new features.</p>

<p>And so it continues until you are ready to release to your customers.</p>

<a href="http://www.industriallogic.com/?attachment_id=5732" rel="attachment wp-att-5732"><img src="http://www.industriallogic.com/wp-content/uploads/2012/10/evolutionaryReleasePlanning.png" alt="" title="evolutionaryReleasePlanning" width="518" height="291" class="aligncenter size-full wp-image-5732" /></a>

<p>All along the way, a team must make sure that the number of estimated team weeks on their release plan fits with the number of calendar weeks left for the release.</p>

<p>If there is a discrepancy, it's time to re-scope, re-think and re-plan the release so it fits with the team's work capacity.</p>

<p>I've found that this style of planning is simpler and yields better results than estimating with story points and feeling bad that you didn't hit your estimated velocity for a given sprint.</p>

<p>Periodic release planning helps people manage risk by repeatedly focusing on what valuable functionality can be delivered.</p>

<h3>What's the Point of Story Points?</h3>

<p>Story points and velocity calculations are now seen as defacto parts of Agile, legitimized by popular books, embedded in planning tools, verified in certifications and widely practiced in the industry.</p>

<p>Yet nearly all of the veteran agile practitioners I know haven't used story points or velocity calculations in years.</p>

<p>In the early days of Agile we thought there was a point to story points.</p>

<p>Yet we were careful to not let our ideas and practices ossify: to become set in a rigidly conventional pattern.</p> 

<p>Today, we have simpler, less defective agile estimation and planning approaches.</p>

<p>Some now do what Don Wells once recommended in 2001: to work on the same number of similarly-sized stories each sprint.</p>

<p>Others work without sprints in a flow-based model that includes periodic release planning.</p>

<p>While there will never be one right way to be agile about estimation and planning, you would do well to avoid yesterday's outmoded and highly defective techniques.</p>

<p>Or in other words, be careful of what's inside your Agile Happy Meal.</p><p>The post <a href="http://www.industriallogic.com/blog/stop-using-story-points/">Stop Using Story Points</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/kUp504ZpwrA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/stop-using-story-points/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/stop-using-story-points/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=stop-using-story-points</feedburner:origLink></item>
		<item>
		<title>Halloween in April?!</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/xqoBLryDhkQ/</link>
		<comments>http://www.industriallogic.com/blog/halloween-in-april/#comments</comments>
		<pubDate>Thu, 10 May 2012 23:06:11 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Lean Startup]]></category>
		<category><![CDATA[Simulation and Games]]></category>
		<category><![CDATA[faking]]></category>
		<category><![CDATA[lean-startup]]></category>
		<category><![CDATA[simulation]]></category>

		<guid isPermaLink="false">http://blog.industriallogic.com/?p=2230</guid>
		<description><![CDATA[<p>These days, thanks to Lean Startup and Lean UX, I&#39;m fairly obsessed with the idea of faking things. Faking product ideas, faking product features (see Fast, Frugal Learning with a Feature Fake), faking whatever is necessary to help us rapidly and economically learn about customer needs. So I was extremely impressed the other day with [...]</p><p>The post <a href="http://www.industriallogic.com/blog/halloween-in-april/">Halloween in April?!</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>These days, thanks to <a href="http://theleanstartup.com/">Lean Startup</a> and Lean UX, I&#39;m fairly obsessed with the idea of faking things.</p>
<p>Faking product ideas, faking product features (see <a href="http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/">Fast, Frugal Learning with a Feature Fake</a>), faking whatever is necessary to help us rapidly and economically learn about customer needs.</p>
<p>So I was extremely impressed the other day with a fake that came courtesy of my daughter Eva. &nbsp;&nbsp;</p>
<p><!--more--><a href="http://www.industriallogic.com/blog/halloween-in-april/halloweeninapril/" rel="attachment wp-att-2231"><img alt="" class="aligncenter size-full wp-image-2231" height="300" src="http://www.industriallogic.com/wp-content/uploads/2012/05/halloweenInApril.jpg" title="halloweenInApril" width="400" /></a></p>
<p>Eva (pictured in the dalmatian costume above) has a friend who was having a birthday. &nbsp; The boy&#39;s parents know that their son loves Halloween. &nbsp;But his birthday happens to be in April, not October. &nbsp;</p>
<p>Showstopper right? &nbsp;</p>
<p>Nope.</p>
<div class="callout">The boy&#39;s parents simply decided to fake Halloween</div>
<p>They bought lots of candy, distributed it to 4 neighbors who kindly agreed to go along with the fun and presto, six 4-year-olds trick-or-treating in April!</p>
<p>In the 12 years that I&#39;ve been in and around kid birthday parties, I&#39;ve yet to encounter such an ingenious fake! &nbsp;</p>
<p>What are you faking these days? &nbsp;</p>
<p>The post <a href="http://www.industriallogic.com/blog/halloween-in-april/">Halloween in April?!</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/xqoBLryDhkQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/halloween-in-april/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/halloween-in-april/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=halloween-in-april</feedburner:origLink></item>
		<item>
		<title>Muscling It</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/1mxZY0c8KKs/</link>
		<comments>http://www.industriallogic.com/blog/muscling-it/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 17:20:58 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=564</guid>
		<description><![CDATA[<p>There are moments in software development when ordinary or common usage of an API, library, language or tool won&#39;t&#160;solve a programming problem. At such times, some programmers retreat and consider alternative solutions that rely on simple, ordinary code. Other programmers refuse to give up and push forward to find whatever uncommon or arcane parts of [...]</p><p>The post <a href="http://www.industriallogic.com/blog/muscling-it/">Muscling It</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>There are moments in software development when ordinary or common usage of an API, library, language or tool won&#39;t&nbsp;solve a programming problem.</p>
<p>At such times, some programmers retreat and consider alternative solutions that rely on simple, ordinary code.<br />
	<!--more--><br />
	Other programmers refuse to give up and push forward to find whatever uncommon or arcane parts of the API, library, language or tool&nbsp;will yield a solution.<br />
	<!--more--><br />
	<img alt="Muscle Flexing" class="size-full wp-image-565 alignright" height="211" src="http://www.industriallogic.com/wp-content/uploads/2012/02/musclingItSmaller.png" style="" title="muscleFlexing" width="206"/></p>
<div class="callout">Producing a solution that relies on non-ordinary or arcane parts of other code&nbsp;is a sign that you may be muscling your design.</div>
<p>After <em>muscling it</em>, lesser programmers are often proud of their handiwork.</p>
<p>&quot;Look at how brilliant I am! While mere mortals would have given up, I found a way to&nbsp;write this code using sophisticated, seldom-used techniques.&quot;</p>
<h3>A Muscled Design</h3>
<p>Ten years ago, a colleague and I programmed Industrial Logic&#39;s services catalog.</p>
<p>We were using Java, XML and XSLT to transform our company&#39;s training/coaching catalog into HTML.</p>
<p>I had a good deal of XSLT experience from previous client work and knew that&nbsp;the best way to work with XSLT was to keep it simple.</p>
<p>I explained that to my colleague who had less experience than me.</p>
<p>I said &quot;if we ever have to dig really deep into the XSLT documentation to&nbsp;figure out how to do something hard, chances are there is an easier way to get it done by simply producing&nbsp;XML that is easier to transform.&quot;</p>
<p>He agreed.</p>
<p>At the time, I was traveling a fair bit, so my colleague had some solo programming time.</p>
<p>When I got back from one trip, he had managed to dig very deep into the XSLT library to&nbsp;find a way to format dates so that they looked pretty in our catalog.</p>
<p>The resulting XSLT was hard to read and used some arcane XSLT techniques that were buried in the XSLT documentation.</p>
<p>As I studied the solution, it was abundantly clear that he could have performed&nbsp;the date formatting logic quite easily in Java, output that formatted date as XML and then used simple XSLT to transform it&nbsp;into HTML.</p>
<p>Such Java code would not have been hard to write and it would have resulted in simple, ordinary&nbsp;Java, XML and XLST.</p>
<p>Instead we had a complicated XSLT routine.</p>
<div class="callout">Whenever possible, avoid muscling a design by considering ways to solve the problem using simple, ordinary code.</div>
<p>The post <a href="http://www.industriallogic.com/blog/muscling-it/">Muscling It</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/1mxZY0c8KKs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/muscling-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/muscling-it/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=muscling-it</feedburner:origLink></item>
		<item>
		<title>Replace Badass Query With Simple Loop</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/RvOw8wB3atA/</link>
		<comments>http://www.industriallogic.com/blog/replace-badass-query-with-simple-loop/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 21:39:50 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=577</guid>
		<description><![CDATA[<p>× Warning: this blog contains ugly code requiring horizontal scroll bars. Viewer discretion advised. Yesterday, we found the following badass&#160;query in our CompletionStatusRepository class: We looked at the above code and said huh? So many joins! WTF? Could it really be that hard to get this information? WTF!! No, there had to be an easier [...]</p><p>The post <a href="http://www.industriallogic.com/blog/replace-badass-query-with-simple-loop/">Replace Badass Query With Simple Loop</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="alert alert-block">
  <button type="button" class="close" data-dismiss="alert">×</button>
  <strong>Warning</strong>: this blog contains ugly code requiring horizontal scroll bars. <strong>Viewer discretion advised</strong>.
</div>

<p>Yesterday, we found the following <strong>badass</strong>&nbsp;query in our <code><strong>CompletionStatusRepository</strong></code> class:<!--more--></p>
<pre></pre>
<p>We looked at the above code and said huh?</p>
<p>So many joins!</p>
<p>WTF?</p>
<p>Could it really be that hard to get this information?</p>
<p>WTF!!</p>
<p>No, there had to be an easier way.</p>
<p>My pair programmer that afternoon, Adam Sroka, and I puzzled our way into this logic and the code that calls it.</p>
<p>For a while, we just went in circles.</p>
<p>Then we got somewhere.</p>
<p>We sketched out some pseudo-code and agreed that it could work.</p>
<p>We already had good test coverage for this code, so we felt free to refactor.</p>
<p>We did not start by refactoring the badass query.</p>
<p>We began by working on the code that calls the query.</p>
<p>That code looked like this:</p>
<pre lang="Java"></pre>
<p>The problem with the <code>uniqueIdsFor(...)</code> method is that it relied heavily on the badass query in the <code>keysOfCompletedPagesFor(...)</code> method.</p>
<p>We reasoned that <code>ViewableAlbum</code> already knew the information that the code was working so hard to re-acquire via the query&#39;s joins.</p>
<p>To try out our experiment, we first test-drove a new method on the <code>CompletionStatusRepository</code> class:</p>
<pre lang="java"></pre>
<p>That new method reused the existing <code>getPageCompletionFor(...)</code> method, which itself uses simple HQL (Hibernate Query Language) based criteria methods:</p>
<pre lang="java"></pre>
<p>Now we were ready to try our experiment. So we went back to the <code>uniqueIdsFor(...)</code> method and rewrote it to use a simple loop:</p>
<pre lang="java"></pre>
<p>That worked!</p>
<p>Yes, it performs a query for every page, yet we reasoned that since our albums have less than 150 pages, the performance would be fine (and if not, we could optimize later).</p>
<p>This refactoring positioned us to make some deeper design changes that were needed to continue developing this new feature we&#39;re working on.</p>
<p>It felt extremely good to kill off a badass query that reeked of Conditional Complexity. Now we&#39;ve just got a simple loop, calling a simple query.</p>

<div class="callout">What&#39;s the moral of this story? Don&#39;t be afraid to get rid of big hairy badass queries that someone else wrote some time ago. <strong>You are smart enough to produce simpler code!</strong></div><p>The post <a href="http://www.industriallogic.com/blog/replace-badass-query-with-simple-loop/">Replace Badass Query With Simple Loop</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/RvOw8wB3atA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/replace-badass-query-with-simple-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/replace-badass-query-with-simple-loop/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=replace-badass-query-with-simple-loop</feedburner:origLink></item>
		<item>
		<title>Agile Vs. Lean Startup</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/KQz-tZEE9sQ/</link>
		<comments>http://www.industriallogic.com/blog/agile-vs-lean-startup/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 18:24:26 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Agile Transition]]></category>
		<category><![CDATA[Lean Startup]]></category>
		<category><![CDATA[lean-startup]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=527</guid>
		<description><![CDATA[<p>Lean Startup is a disciplined, scientific and capital efficient method for discovering and building products and services that people love. It rocks. It rocks far more than Agile. Here's a table to illustrate some differences (sorry for not defining each term, I'll leave that as an exercise for you): AgileLean Startup Product RoadmapBusiness Model Canvas [...]</p><p>The post <a href="http://www.industriallogic.com/blog/agile-vs-lean-startup/">Agile Vs. Lean Startup</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<div class="callout">
Lean Startup is a disciplined, scientific and capital efficient method for discovering and building products and services that people love.
</div>

<p/> It rocks.  

<p/> It rocks far more than Agile.

<!--more-->

<p/> Here's a table to illustrate some differences (sorry for not defining each term, I'll leave that as an exercise for you):

<table>
<tr><th>Agile</th><th>Lean Startup</th></tr>
<tr><td>Product Roadmap</td><td>Business Model Canvas</td></tr>
<tr><td>Product Vision</td><td>Product Market Fit</td></tr>
<tr><td>Release Plan</td><td>Minimal Viable Product</td></tr>
<tr><td>Sprint</td><td>Kanban</td></tr>
<tr><td>Sprint Review</td><td>Pivot or Persevere Decision</td></tr>
<tr><td>On-Site Customer</td><td>"Get Out Of The Building"</td></tr>
<tr><td>User Story</td><td>Hypothesis</td></tr>
<tr><td>Backlog</td><td>"To Learn" List</td></tr>
<tr><td>Definition of Done</td><td>Validated Learning</td></tr>
<tr><td>Red-Green-Refactor</td><td>Learn-Measure-Build</td></tr>
<tr><td>Customer Feedback</td><td>Customer Validation</td></tr>
<tr><td>Acceptance Test</td><td>Split Test</td></tr>
<tr><td>Velocity</td><td>AARRR</td></tr>
<tr><td>Mock Object</td><td>Feature Fake</td></tr>
<tr><td>Continuous Integration</td><td>Continuous Deployment</td></tr>
<tr><td>Certified Scrum Master</td><td>Customer Success Manager</td></tr>
</table>

<br/>
<div class="callout">
Lean Startup makes the best parts of Agile more lean and combines them with the brilliant Customer Development process.
</div>

<p/> I suggest that you start learning about Lean Startup right away and go buy Eric's <a href="http://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous-Innovation/dp/0307887898" target="_blank">book</a>.<p>The post <a href="http://www.industriallogic.com/blog/agile-vs-lean-startup/">Agile Vs. Lean Startup</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/KQz-tZEE9sQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/agile-vs-lean-startup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/agile-vs-lean-startup/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=agile-vs-lean-startup</feedburner:origLink></item>
		<item>
		<title>VersionOne &amp; Industrial Logic Partner to Deliver World-Class Agile eLearning</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/xa6amYI2liw/</link>
		<comments>http://www.industriallogic.com/blog/versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 18:13:58 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Training]]></category>
		<category><![CDATA[announcements]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=523</guid>
		<description><![CDATA[<p>Read the Businesswire story about this new partnership... Industrial Logic is very pleased to announce our partnership with VersionOne. We are excited to offer our innovative Agile eLearning to a broader market to ensure the overall success of enterprise agile adoption. This partnership will address the needs of VersionOne's enterprise customers, who find it difficult [...]</p><p>The post <a href="http://www.industriallogic.com/blog/versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning/">VersionOne &#038; Industrial Logic Partner to Deliver World-Class Agile eLearning</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<img src="http://www.industriallogic.com/wp-content/uploads/2011/09/v1logo.gif" alt="VersionOne logo" title="VersionOne logo" width="234" height="81" class="aligncenter size-full wp-image-524 logo"/>

<p/> Read the <a href="http://bit.ly/nNbMMW" target="_blank">Businesswire story</a> about this new partnership...

<p/> Industrial Logic is very pleased to announce our partnership with <a href="http://versionone.com/" target="_blank">VersionOne</a>. We are excited to offer our <a href="http://industriallogic.com/shop" target="_blank">innovative Agile eLearning</a> to a broader market to ensure the overall success of enterprise agile adoption.

<!--more-->

<p/> This partnership will address the needs of VersionOne's enterprise customers, who find it difficult and financially impractical to properly train their development teams in Test-Driven Development, Refactoring, Composing User Stories and other critical practices with traditional classroom training methods.
 
<p/> VersionOne gets it! Their developers use TDD, Refactoring and other agile practices every day as part of their core development process. They instantly connected with our eLearning, loved the hands-on programming exercises and the personalized feedback from our automated critique.

<p/> We are committed to producing <a href="http://industriallogic.com/shop" target="_blank">innovative, self-paced, on-demand learning experiences</a> that allow organizations to scale their engineering training efforts rapidly and cost effectively.

<p/> We look forward to offering our <a href="http://industriallogic.com/shop" target="_blank">Agile eLearning</a> products to VersionOne's global Agile community.<p>The post <a href="http://www.industriallogic.com/blog/versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning/">VersionOne &#038; Industrial Logic Partner to Deliver World-Class Agile eLearning</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/xa6amYI2liw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=versionone-industrial-logic-partner-to-deliver-world-class-agile-elearning</feedburner:origLink></item>
		<item>
		<title>Songs: Smaller Batches in eLearning</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/ZGQ29QI0Aic/</link>
		<comments>http://www.industriallogic.com/blog/songs-smaller-batches-in-elearning/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 17:58:18 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Training]]></category>
		<category><![CDATA[metaphor]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=516</guid>
		<description><![CDATA[<p>As you may know, our online learning (http://industriallogic.com/shop) uses a music metaphor in which our content is organized into albums, box sets, playlists, compilations, etc. Every album we have is composed of tracks. We've recently been measuring how long it takes people to get through our tracks. Some of our tracks take, on average, about [...]</p><p>The post <a href="http://www.industriallogic.com/blog/songs-smaller-batches-in-elearning/">Songs: Smaller Batches in eLearning</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[As you may know, our online learning (<a href="http://industriallogic.com/shop">http://industriallogic.com/shop</a>) uses a music metaphor in which our content is organized into albums, box sets, playlists, compilations, etc.

Every album we have is composed of tracks.

We've recently been measuring how long it takes people to get through our tracks.<!--more-->

Some of our tracks take, on average, about 20 minutes while others (especially the ones with programming exercises) can take up to two hours.

When was the last time you listened to a 20 minute song?
<h3>Listening To The Metaphor</h3>
If popular songs are 2-5 minutes in length, what could we do to make our tracks more like songs?

<img class="alignright size-full wp-image-517" title="45 RPM Single" alt="45 RPM Single" src="http://www.industriallogic.com/wp-content/uploads/2011/07/45rpmNew.png" width="300" height="297" />

I started to answer that question by looking at our popular Code Smells album.

In that album, we had a track called Common Code Smells, which contained <strong>20 pages</strong> of information, quizzes and videos on the following smells:
<ul>
	<li>Dead Code</li>
	<li>Duplicated Code</li>
	<li>Comment</li>
	<li>Long Method</li>
	<li>Large Class</li>
</ul>
5 out of the 20 pages were on the Long Method smell.

I wondered what it would be like if Long Method was its own track?

But just calling the track "Long Method" sounded boring.

What would make it feel more like a song?

Then it hit me: "The Long and Winding Code" (based of the popular Beatles song, <em>The Long and Winding Road</em>).

I liked that so much that I went on a search for song titles for every smell in our Code Smells album.

Here is the result of that work:
<table>
<tbody>
<tr>
<th>Smell</th>
<th>Song</th>
<th>Artist</th>
</tr>
<tr>
<td>Dead Code</td>
<td>This Is The End, Beautiful Friend</td>
<td>The Doors</td>
</tr>
<tr>
<td>Duplicated Code</td>
<td>Oops!...I Did It Again</td>
<td>Britney Spears</td>
</tr>
<tr>
<td>Comment</td>
<td>Communication Breakdown</td>
<td>Lez Zeppelin</td>
</tr>
<tr>
<td>Long Method</td>
<td>The Long and Winding Code</td>
<td>The Beatles</td>
</tr>
<tr>
<td>Large Class</td>
<td>Welcome to the Jungle</td>
<td>Guns N' Roses</td>
</tr>
<tr>
<td>Oddball Solution</td>
<td>When You're Strange</td>
<td>The Doors</td>
</tr>
<tr>
<td>Primitive Obsession</td>
<td>If I Had A Hammer</td>
<td>Lee Hays and Pete Seeger</td>
</tr>
<tr>
<td>Switch Statememt</td>
<td>The Choice Remains The Same</td>
<td>Led Zeppelin</td>
</tr>
<tr>
<td>Speculative Generality</td>
<td>You Can't Always Guess What They Want</td>
<td>Rolling Stones</td>
</tr>
<tr>
<td>Long Parameter List</td>
<td>Too Much Information</td>
<td>The Police</td>
</tr>
<tr>
<td>Conditional Complexity</td>
<td>Tangled Up In Blue</td>
<td>Bob Dylan</td>
</tr>
<tr>
<td>Combinatorial Explosion</td>
<td>Here, There and Everywhere</td>
<td>The Beatles</td>
</tr>
<tr>
<td>Alternative Classes With Different Interfaces</td>
<td>You Say Tomato, I Say Tomhato</td>
<td>Louis Armstrong</td>
</tr>
<tr>
<td>Inappropriate Intimacy</td>
<td>Don't Stand So Close To Me</td>
<td>The Police</td>
</tr>
<tr>
<td>Indecent Exposure</td>
<td>Hello, I Love You</td>
<td>The Doors</td>
</tr>
<tr>
<td>Refused Bequest</td>
<td>Don't Pass Me By</td>
<td>The Beatles</td>
</tr>
<tr>
<td>Black Sheep</td>
<td>Should I Stay Or Should I Go?</td>
<td>The Clash</td>
</tr>
<tr>
<td>Data Class</td>
<td>Still Haven't Found What I'm Looking For</td>
<td>U2</td>
</tr>
<tr>
<td>Solution Sprawl</td>
<td>Across The Universe</td>
<td>The Beatles</td>
</tr>
<tr>
<td>Feature Envy</td>
<td>I Wanna Hold Your Hand</td>
<td>The Beatles</td>
</tr>
<tr>
<td>Temporary Field</td>
<td>Every Little Thing You Do Is Tragic</td>
<td>The Police</td>
</tr>
<tr>
<td>Side Effect</td>
<td>Dust In The Wind</td>
<td>Kansas</td>
</tr>
</tbody>
</table>
&nbsp;
<h3>Smaller Learning Batches</h3>
Since around 2007, my colleagues and I at Industrial Logic have been heavily influenced by Lean Software Development.

We've been reducing our own batch sizes of work to smaller and smaller amounts, which has led us (during the past year) to Continuous Deployment (i.e. every checkin to version control goes live to our site).

But what about our students?

We had not applied Lean thinking to the experience our students have, especially when they go through our online training.

Smaller tracks are small batches of learning.

So the song metaphor has helped us discover a way to make learning easier and more enjoyable for our students.
<h3>Testing, Testing, Testing</h3>
Since adopting the Lean Startup process, we are not content to just "hope" that students will like our shorter-length tracks (i.e. songs) better than the longer ones we used to have.

We have to measure it.

So in the following week we will be carefully measuring track completion rates and interviewing students to understand whether the song metaphor is helping or hurting their learning.<p>The post <a href="http://www.industriallogic.com/blog/songs-smaller-batches-in-elearning/">Songs: Smaller Batches in eLearning</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/ZGQ29QI0Aic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/songs-smaller-batches-in-elearning/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/songs-smaller-batches-in-elearning/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=songs-smaller-batches-in-elearning</feedburner:origLink></item>
		<item>
		<title>Fast, Frugal Learning with a Feature Fake</title>
		<link>http://feedproxy.google.com/~r/IndustrialBlogic/~3/wsSAXRreavk/</link>
		<comments>http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 17:35:27 +0000</pubDate>
		<dc:creator>Joshua Kerievsky</dc:creator>
				<category><![CDATA[Lean Startup]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[lean-startup]]></category>

		<guid isPermaLink="false">https://dev.industriallogic.com/wordpress/?p=501</guid>
		<description><![CDATA[<p>My colleagues and I recently developed and deployed our first Feature Fake, a fast, frugal way to learn whether users are interested in a feature before actually building it. I learned this excellent technique from Laura Klein, a Lean UX guru from UsersKnow, who was one of the distinguished mentors at the recent Lean Startup [...]</p><p>The post <a href="http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/">Fast, Frugal Learning with a Feature Fake</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>My colleagues and I recently developed and deployed our first Feature Fake, a fast, frugal way to learn whether users are interested in a feature before actually building it.<br />
	<!--more--><br />
	I learned this excellent technique from Laura Klein, a Lean UX guru from <a href="http://usersknow.blogspot.com/" target="_blank&quot;">UsersKnow</a>, who was one of the distinguished mentors at the recent <a href="http://www.facebook.com/leanstartupmachine" target="_blank">Lean Startup Machine</a> in San Francisco.</p>
<p>Laura plans to write a detailed blog about Feature Fakes, but until that happens, I can&#39;t help sharing my excitement about this technique.</p>
<h3>Group Chat Anyone?</h3>
<p>At the recent <a href="http://www.sllconf.com/" target="_blank">Startup Lessons Learned</a> conference, Brad Smith of Intuit told a great story about how Quicken users were helping each other via their product&#39;s Live Chat feature.</p>
<p>After the conference, I mentioned this story to my colleague, John Tangney, who quickly responded, &quot;Yes, I love that feature! I used it the other day and someone in the chat helped me with a tax question.&quot;</p>
<p>I had visions of creating a similar feature in our <a href="http://industriallogic.com/shop" target="_blank">Agile eLearning</a>, yet I wanted to know whether our users would be interested in such a feature before investing in it.</p>
<p>Within three hours, John and I had developed and deployed a fake Group Chat feature on our site, along with a report to help us measure user interest.</p>
<p>Our fake, which sits at the top of every eLearning page users see, looks like this:</p>
<p><img alt="Group Chat Fake" class="aligncenter size-full wp-image-504" height="20" src="http://www.industriallogic.com/wp-content/uploads/2011/06/groupChatFake.png" title="Group Chat Fake" width="386" /></p>
<p>When a user clicks &quot;Join the group chat,&quot; they see this little survey popup:</p>
<p><img alt="Group Chat Fake Survey" class="aligncenter size-full wp-image-505" height="154" src="http://www.industriallogic.com/wp-content/uploads/2011/06/groupChatFakeSurvey.png" title="Group Chat Fake Survey" width="350" /></p>

<p>Users can close the popup or choose to answer our survey.</p>
<p>Here are statistics after 100 unique users saw the fake:</p>
<table border="1">
	<tbody>
		<tr>
			<th>Unique Logins with Feature Present</th>
			<th>User who tried the feature</th>
			<th>Users who Took Survey</th>
			<th>Users who clicked &quot;Unlikely&quot;</th>
			<th>Users who clicked &quot;Neutral&quot;</th>
			<th>Users who clicked &quot;Likely&quot;</th>
		</tr>
		<tr>
			<td>100</td>
			<td>22 (22%)</td>
			<td>14</td>
			<td>1 (7%)</td>
			<td>7 (50%)</td>
			<td>6 (43%)</td>
		</tr>
	</tbody>
</table>
<h3>More Experimentation Required</h3>
<p>Our fake was live for 3 business days, during which 100 unique users saw it.</p>
<p>I did not find the data to be compelling proof that we ought to build the real group chat feature.</p>
<p>I do wish we had done a proper A/B test of the fake feature so that we could&#39;ve learned how two, differently-worded versions of the fake would&#39;ve impacted the statistics.</p>
<p>Since we did not do that, we may run another experiment with a different Group Chat message and write some code to ensure that people who saw our previous fake will not see the new one.</p>
<h3>Fear of Fakes</h3>
<p>When I first heard about Feature Fakes, I was a bit worried that if we produced too many of them, our users would eventually tire of these phantom features and be afraid to click.</p>
<p>So I raised my concern to Laura Klein, who said:</p>
<div class="story">
	<p>In my experience, feature fakes do have to be used carefully. For example, I wouldn&#39;t have several going at once, and I wouldn&#39;t leave them in place for very long - just long enough to get the information you need to make a decision.</p>
	<p>Remember, if a lot of users are clicking on the feature, that means they&#39;re excited about it, and you should probably build it pretty quickly. If very few users are clicking on it, you&#39;re not going to disappoint that many users when you don&#39;t build it. If you stick a stub out there for a few days, get great feedback on it, and then prioritize building the feature immediately, people may actually be more excited once it gets built because they&#39;ve been anticipating it.</p>
</div>
<h3>Lessons Learned</h3>
<p>Feature Fakes are:</p>
<ul>
	<li>an excellent technique from the Lean UX community (thanks to Laura Klein for introducing them!)</li>
	<li>an invitation to your users to try a feature</li>
	<li>a fast way to validate interest or non-interest in a feature</li>
	<li>not meant to live for very long</li>
	<li>not proof that the feature itself will be popular (you&#39;re only testing the fake version)</li>
</ul>
<p>I&#39;m delighted with the speed at which we learned from our Group Chat feature fake and I definitely see us using this fast, frugal user-research technique in the future.</p>
<p>I&#39;m also looking forward to learning more about this technique from Laura herself.</p>
<p>The post <a href="http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/">Fast, Frugal Learning with a Feature Fake</a> appeared first on <a href="http://www.industriallogic.com">Industrial Logic</a>.</p><img src="http://feeds.feedburner.com/~r/IndustrialBlogic/~4/wsSAXRreavk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.industriallogic.com/blog/fast-frugal-learning-with-a-feature-fake/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fast-frugal-learning-with-a-feature-fake</feedburner:origLink></item>
	</channel>
</rss>
