<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
  <channel>
    <title>
      James Shore
      
    </title>
    <link>http://jamesshore.com</link>
    <description>Successful Software</description>
    <language>en</language>
    <copyright>Copyright 2000-2006, James Shore</copyright>
    <generator>Blosxom v2.0</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    
<item>
  <title>Email Troubles (Please Resend)</title>
  <link>http://jamesshore.com/Blog/Email-Troubles-Please-Resend.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;07 Jul 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;I returned from the long weekend to discover that my ISP, Comcast, is blocking all emails forwarded from &lt;a href=&quot;http://www.domaindiscover.com&quot;&gt;Domain Discover&lt;/a&gt;, who hosts jamesshore.com.  This means that any email you sent me went to the great bit bucket in the sky.  (It probably explains the intermittent email failures I've been experiencing over the past month, too.)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So...&lt;/em&gt; if you have emailed me in the last month and didn't get a reply, &lt;strong&gt;please email me again&lt;/strong&gt;.  I've responded to all of the emails I have.&lt;/p&gt;

&lt;p&gt;I apologize for the inconvenience, and I've taken steps to prevent this from happening again.  Domain Discover now archives my email before forwarding it to Comcast, so I won't lose anything if this happens again.&lt;/p&gt;

&lt;p class=&quot;postscript&quot;&gt;(To top it all off, Domain Discover inadvertently turned off my domain name when they added archiving to my email forward.  Sigh... it's fixed now.)&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;update&quot;&gt;Update, 8 July 2008: Mark Casem of Comcast just called me to make sure my problem was resolved.  Apparently, Comcast uses Google Alerts to follow up on blog posts like this one.  Impressive.  I've heard that Comcast has a reputation for poor customer service, but my experience has always been positive, and this was certainly above and beyond.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Email-Troubles-Please-Resend.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Email-Troubles-Please-Resend.html</guid>
</item>
<item>
  <title>Book Piracy</title>
  <link>http://jamesshore.com/Blog/Book-Piracy.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;03 Jul 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;I recently discovered that &lt;a href=&quot;http://jamesshore.com/Agile-Book/&quot;&gt;our book&lt;/a&gt; is available on a popular textbook torrent tracker.  This isn't the first time I've seen it pop up on a pirate site; given the nature of digital files, it's both inevitable and unsurprising.&lt;/p&gt;

&lt;p&gt;What amused me, though, was the hypocrisy displayed.  The front page of the tracker says, &quot;We're fighting the high price of textbooks.&quot;  They actually might have a point, considering what textbooks go for.  But we wrote our book for professionals, not a captive student audience, and it's priced accordingly.  The cover price is a reasonable $40 and &lt;a href=&quot;http://www.amazon.com/dp/0596527675&quot;&gt;Amazon has it&lt;/a&gt; for $34.50.  There's no price gouging here.&lt;sup&gt;*&lt;/sup&gt;  If you're fighting the evils of price-gouging publishers, why is &lt;em&gt;our&lt;/em&gt; book on your site?&lt;/p&gt;

&lt;p class=&quot;footnote&quot;&gt;(&lt;sup&gt;*&lt;/sup&gt;Yes, even at $40 we're more expensive than a paperback, but it's not price gouging.  Computer books have very low sales compared to mass-market books and I'd bet they have higher production costs.)&lt;/p&gt;

&lt;p&gt;Look, guys.  You're taking something without paying for it.  You're doing it because you don't want to pay, or because it's more convenient than paying.  Current law calls that &quot;stealing,&quot; the vernacular calls it &quot;piracy.&quot;  Whatever.  I'm not going to lecture you--duplication of digital content is unstoppable and us content creators have to figure out other revenue streams.  (Hey, &lt;a href=&quot;http://jamesshore.com/Consulting/Services.html&quot;&gt;hire me&lt;/a&gt;!)  I lose more sleep over the RIAA's lobbyists and thugs than I do over lost sales.  But please... don't pretend you have some high-minded aim here.  You're pirates.  You're not being noble, you're being cheap.  Or lazy.  Just admit it, already.&lt;/p&gt;

&lt;p class=&quot;aside&quot;&gt;PS: I'm glad you like the book.  36 seeders and 257 downloads?  That makes us the second-most popular by seed and seventh-most popular by download at the time I checked.  Yay us!&lt;/p&gt;

&lt;p class=&quot;aside&quot;&gt;PPS: To &lt;em&gt;really&lt;/em&gt; show your appreciation, &lt;a href=&quot;http://slashdot.org/book.review.guidelines.shtml&quot;&gt;review the book&lt;/a&gt; for Slashdot.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Book-Piracy.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Book-Piracy.html</guid>
</item>
<item>
  <title>Agile Release Planning Webinar Online</title>
  <link>http://jamesshore.com/Blog/Agile-Release-Planning-Webinar-Online.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;13 Jun 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;The Project Management View blog has put their recording of my Wednesday webinar, &quot;Maximizing Value with Agile Release Planning,&quot; up &lt;a href=&quot;http://community.featureplan.com/community/2008/06/webinar_june_11_1200pm_edt_max.php&quot;&gt;on their site&lt;/a&gt;.  I thought it turned out really well.  If you were interested but couldn't attend for some reason, now's your chance.&lt;/p&gt;

&lt;p&gt;Thanks to Chelsea Woodhead and Ryma Technologies for putting together such a well-organized session.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Agile-Release-Planning-Webinar-Online.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Agile-Release-Planning-Webinar-Online.html</guid>
</item>
<item>
  <title>The Art of Agile Development: Reporting</title>
  <link>http://jamesshore.com/Agile-Book/reporting.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;11 Jun 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Agile-Book/"&gt;James Shore/Agile-Book&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;h3&gt;in 99 words&lt;/h3&gt;

&lt;blockquote class=&quot;ninetynine_words&quot;&gt;

&lt;p&gt;A vision statement, weekly product demos, release and iteration plans, and a burn-up chart are a normal byproduct of your work.  Share them as a matter of course.&lt;/p&gt;

&lt;p&gt;Other reports take extra time.  They're technically waste, but may be necessary to help build trust in your team.  Roadmap and status emails summarize your release plan and demos.  Productivity, throughput, and defect reports help management understand your effectiveness.  Time usage reports help explain your velocity.&lt;/p&gt;

&lt;p&gt;Avoid reporting lines of code, numbers of stories, and velocity.  They're misleading at best.  Avoid sharing code quality metrics, too: they require expert interpretation.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;!--

&lt;h3&gt;as haiku&lt;/h3&gt;

&lt;blockquote class=&quot;haiku&quot;&gt;
	&lt;p&gt;&lt;/p&gt;
	
&lt;/blockquote&gt;

--&gt;

&lt;h3&gt;Inside The Book&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Reporting&lt;/li&gt;
	&lt;li&gt;Types of Reports&lt;/li&gt;
	&lt;li&gt;Progress Reports to Provide
		&lt;ul&gt;
			&lt;li&gt;Vision statement&lt;/li&gt;
			&lt;li&gt;Weekly demo&lt;/li&gt;
			&lt;li&gt;Release and iteration plans&lt;/li&gt;
			&lt;li&gt;Burn-up chart&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Progress Reports to Consider
		&lt;ul&gt;
			&lt;li&gt;Roadmap&lt;/li&gt;
			&lt;li&gt;Status email&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Management Reports to Consider
		&lt;ul&gt;
			&lt;li&gt;Productivity&lt;/li&gt;
			&lt;li&gt;Throughput&lt;/li&gt;
			&lt;li&gt;Defects&lt;/li&gt;
			&lt;li&gt;Time usage&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Reports to Avoid
		&lt;ul&gt;
			&lt;li&gt;Source lines of code (SLOC) and function points&lt;/li&gt;
			&lt;li&gt;Number of stories&lt;/li&gt;
			&lt;li&gt;Velocity&lt;/li&gt;
			&lt;li&gt;Code quality&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Questions
		&lt;ul&gt;
			&lt;li&gt;What do you mean, &quot;Progress reports are for stakeholder trust&quot;?  Shouldn't we also report when we need help with something?&lt;/li&gt;
			&lt;li&gt;What if some of our stakeholders want to micromanage us?&lt;/li&gt;
			&lt;li&gt;Isn't this just busywork?  We have an informative workspace, stand-up meetings, and iteration demos.  Stakeholders and managers can visit any time.  Why do they need reports?&lt;/li&gt;
			&lt;li&gt;What if programmers don't want to track their time for the time usage report?  They say they have better things to do.&lt;/li&gt;
			&lt;li&gt;Why should the project manager do all the grunt work for the reports?  Shouldn't he delegate that work?&lt;/li&gt;
			&lt;li&gt;Our organization measures employees individually based on the contents of certain reports.  What do we do?&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Results&lt;/li&gt;
	&lt;li&gt;Contraindications&lt;/li&gt;
	&lt;li&gt;Alternatives&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Work In Progress&lt;/h3&gt;

&lt;p&gt;As my career has progressed, I've spent more and more time with senior software managers.  One thing my younger self would have been surprised to learn is that executives aren't really out to get you.  Instead, they're generally interested in seeing individuals grow and succeed.&lt;/p&gt;

&lt;p&gt;At the same time, executives have a lot to keep track of.  There's no way for them to have the same insight into your work that your team does.  And yet the people doing the work--the ones in the know--are often uncomfortable sharing their opinions with senior managers.  Information gets transmogrified, and sometimes whitewashed, on its way to the executives' ears.&lt;/p&gt;

&lt;p&gt;So one of the common things I'm seeing in executives is an interest in software metrics.  They want to know how their teams are performing.  Not so they can punish and reward people, necessarily, but so they can know where to direct resources for improvement.&lt;/p&gt;

&lt;p&gt;This is a challenge.  For one thing, it's really hard to measure productivity.  Martin Fowler has said it &lt;a href=&quot;http://www.martinfowler.com/bliki/CannotMeasureProductivity.html&quot;&gt;can't be done&lt;/a&gt;.  I've said &lt;a href=&quot;http://jamesshore.com/Blog/The-Productivity-Metric.html&quot;&gt;it can be&lt;/a&gt;, but the metric I proposed is very difficult to measure.  I'm &lt;a href=&quot;http://jamesshore.com/Blog/Value-Velocity-A-Better-Productivity-Metric.html&quot;&gt;experimenting with an alternative&lt;/a&gt; that's easier to measure, but the jury's still out on how well it will work.&lt;/p&gt;

&lt;p&gt;To make things even more challenging, some people say that measurements, no matter how accurate, risk dysfunction.  In &quot;Mad About Measurement,&quot; Tom DeMarco writes:&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;Encouraging people to work to the numbers is what the 1960s called Management By Objectives (or MBO).  MBO had a brief history as the fad du jour through the early 1970s, and then largely disappeared from the popular business press, though unfortunately not from all our organizations.  The problem was that MBO didn't work very well.  Companies that tried it didn't prosper; most people who used the scheme were clearly aware of the growing dysfunction it caused.&lt;/p&gt;

&lt;p&gt;I think you can see where I'm heading: directly toward my third Disquieting Thought About Software Metrics:&lt;/p&gt;

&lt;blockquote class=&quot;notetip&quot;&gt;
	&lt;p&gt;DT #3: Have we in the software industry through the use of our software metrics programs inadvertently rediscovered Management By Objectives?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I suspect we have.  We've stumbled upon a bankrupt concept from the past, and tried to make it work without ever understanding why it didn't work before.&lt;/p&gt;

&lt;p class=&quot;sig&quot;&gt;Tom DeMarco, &quot;Mad About Measurement,&quot; &lt;cite&gt;Why Does Software Cost So Much?&lt;/cite&gt; (Dorset House, 1995)&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;Robert Austin agrees.  He's the author of &lt;cite&gt;Measuring and Managing Performance in Organizations&lt;/cite&gt;, based on an economic model developed in his Ph.D. thesis.  The book's a bit dry, but it makes a compelling case for the problems of measurement-based management.

&lt;blockquote&gt;

&lt;p&gt;[O]ften the best that can be [achieved] through measurement, even after job redesign, is partial supervision [that is, only some aspects of the work can be measured], which generates relatively weak improvements in value to the customer compared to [the alternatives].  In addition, partial supervision produces significant distortion of incentives.  If motivation theorists are correct in their conclusions, distorted incentives obscure inclinations [a worker] may have toward doing the job right for internal reasons, like pride in his work.  Worse, if targets are set badly, distortion may become significant enough to produce dysfunction.&lt;/p&gt;

&lt;p class=&quot;sig&quot;&gt;Robert Austin, &lt;cite&gt;Measuring and Managing Performance in Organizations&lt;/cite&gt; (Dorset House, 1996)&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;And, as Robert Austin mentions, there's the problems that arise from &lt;a href=&quot;http://jamesshore.com/Blog/The-Stunning-Truth.html&quot;&gt;using extrinsic motivators&lt;/a&gt; rather than intrinsic motivators.&lt;/p&gt;

&lt;p&gt;It's a pickle.  Executives have a real need for good performance measurements.  But there's compelling arguments that say good performance measurements don't exist... and even if they did, they could lead to dysfunction and decreased motivation.&lt;/p&gt;

&lt;p&gt;A tough situation.  I don't have any answers yet, and I'm not ready to give up.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Agile-Book/reporting.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Agile-Book</category>
  <guid isPermaLink="true">http://jamesshore.com/Agile-Book/reporting.html</guid>
</item>
<item>
  <title>Watch Out For These Common Problems</title>
  <link>http://jamesshore.com/Blog/Watch-Out-For-These-Common-Problems.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;05 Jun 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;A client in Poland recently emailed me about his new branch office.  They're applying agile development from day one.  Here's my response:&lt;/p&gt;

&lt;p&gt;Thanks for the update, P----.  I'm glad things are working well.&lt;/p&gt;

&lt;p&gt;Here's some things to keep an eye on as you go forward:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The team should be able to make and meet iteration/Sprint commitments almost every time.  If they don't, it reflects planning problems or engineering problems.&lt;/li&gt;
	&lt;li&gt;Your QA/testing burden should not grow over time.  If it does, it reflects engineering problems.&lt;/li&gt;
	&lt;li&gt;Bugs and incorrect features should be rare in iteration/Sprint demos.  If you see them, it reflects communication problems or engineering problems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the most common issues I see new teams struggle with.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Watch-Out-For-These-Common-Problems.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Watch-Out-For-These-Common-Problems.html</guid>
</item>
<item>
  <title>The Art of Agile Development: Iteration Demo</title>
  <link>http://jamesshore.com/Agile-Book/iteration_demo.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;04 Jun 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Agile-Book/"&gt;James Shore/Agile-Book&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;h3&gt;in 99 words&lt;/h3&gt;

&lt;blockquote class=&quot;ninetynine_words&quot;&gt;

&lt;p&gt;Produce working software every week, and demonstrate to stakeholders that you have done so.&lt;/p&gt;

&lt;p&gt;Invite anyone who's interested to the demo.  It should take about ten minutes.  The product manager often conducts the session.  Briefly describe the features scheduled, their value, and any unexpected changes.  Build trust by being honest, not defensive, about changes.&lt;/p&gt;

&lt;p&gt;At the end of each demo, ask your executive sponsor two questions: &quot;Is our work to date satisfactory?&quot; and &quot;May we continue?&quot;&lt;/p&gt;

&lt;p&gt;Conduct demos at the same place and time each week.  When schedule problems occur, a regular demo makes it easier to face reality.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;!--

&lt;h3&gt;as haiku&lt;/h3&gt;

&lt;blockquote class=&quot;haiku&quot;&gt;
	&lt;p&gt;&lt;/p&gt;
	
	noon sun
	cicadas
	illuminate
	truth
	no shadows
	
&lt;/blockquote&gt;

--&gt;

&lt;h3&gt;Inside This Section&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Iteration Demo&lt;/li&gt;
	&lt;li&gt;How to Conduct an Iteration Demo&lt;/li&gt;
	&lt;li&gt;Two Key Questions&lt;/li&gt;
	&lt;li&gt;Weekly Deployment is Essential&lt;/li&gt;
	&lt;li&gt;Questions
		&lt;ul&gt;
			&lt;li&gt;What do we do if stakeholders keep interrupting and asking questions during the demo?&lt;/li&gt;
			&lt;li&gt;What do we do if stakeholders keep nitpicking our choices?&lt;/li&gt;
			&lt;li&gt;The stakeholders are excited by what they see and want to add a bunch of features.  They're good ideas, but we don't have time for them--we need to move on to another part of the product.  What should we do?&lt;/li&gt;
			&lt;li&gt;We completely blew this iteration and don't have anything to show.  What do we do?&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Results&lt;/li&gt;
	&lt;li&gt;Contraindications&lt;/li&gt;
	&lt;li&gt;Alternatives&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Commentary&lt;/h3&gt;

&lt;p&gt;One of the most common problems I'm seeing with agile teams these days is trouble making and meeting iteration commitments.  In other words, these teams often have half-done stories at the end of each iteration.  As a result, their iteration demo is often disappointing.&lt;/p&gt;

&lt;p&gt;The causes of this failure can be complex and varied... actually, wait.  That's baloney.  I'm trying to be honest here, not sell you &quot;everybody's right&quot; pablum.  It happens when you take the easy way out.  That road looks easy and simple, but it's strewn with traps.  (Call it &lt;a href=&quot;http://www.itsatrap.net/&quot;&gt;Ackbar Way&lt;/a&gt;.)&lt;/p&gt;

&lt;h4&gt;Trap #1: The Ever-Increasing QA Burden&lt;/h4&gt;

&lt;p&gt;Many agile teams I know have adopted short iterations, daily stand-up meetings, and the planning game, but they haven't taken a serious approach to agile engineering.  Their iterations look like mini-waterfalls.  Programmers design and code, then hand the results off to QA for testing.  (These teams struggle with requirements analysis, too, but that's a topic for another day.)&lt;/p&gt;

&lt;div class=&quot;figure&quot;&gt;
&lt;embed style=&quot;width:400px; height:326px;&quot; id=&quot;VideoPlayback&quot; type=&quot;application/x-shockwave-flash&quot; src=&quot;http://video.google.com/googleplayer.swf?docId=-3256499677006040213&amp;amp;hl=en&quot; flashvars=&quot;&quot;&gt;&lt;/embed&gt;
&lt;p&gt;Context and transcript &lt;a href=&quot;http://jamesshore.com/Blog/Does-It-Work-Are-We-Done.html&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;QA ends up with an ever-increasing test burden.  Even if QA creates automated tests, those tests tend to be integration-style tests, which are slow and fragile (see video at right).  They're a maintenance burden.  More often, though, the testing is done manually, which is an even bigger burden.&lt;/p&gt;

&lt;p&gt;Worse, this burden scales proportionally with the size of the software, and is repeated with every iteration.  Before long, testers are running out of time to test the developers' work, bugs are spilling over into the next iteration, and the team's ability to plan reliability goes to hell in a rather uncomfortable handbasket.&lt;/p&gt;

&lt;p&gt;End result: buggy iteration demos.  Fix: &lt;a href=&quot;http://jamesshore.com/Agile-Book/no_bugs.html&quot;&gt;prevent bugs&lt;/a&gt; using agile engineering techniques and involving customers rather than trying to test the bugs out.&lt;/p&gt;

&lt;h4&gt;Trap #2: Wishful Thinking&lt;/h4&gt;

&lt;p&gt;The other big cause of disappointing iteration demos is quite simple: teams sign up for more than they can do.  They often blame this on poor estimation, but that's not really the problem.  The real problem is that, for whatever reason--eagerness to please on the part of developers, or pressure on the part of customers and managers--the team ignores or inflates their velocity when planning the iteration.&lt;/p&gt;

&lt;p&gt;Velocity is quite simple, of course.  You take all of the stories from the previous iteration, set aside those that weren't &lt;a href=&quot;http://jamesshore.com/Agile-Book/done_done.html&quot;&gt;&quot;done done&quot;&lt;/a&gt;, and add up their estimates.  That's your velocity, and you aren't allowed to include &lt;em&gt;any&lt;/em&gt; stories that were partially done, untested, or otherwise unacceptable to your on-site customers.  Those stories have to be ready to ship.  (There's some nuances, but teams having trouble meeting commitments need to go with the straight-and-narrow approach.)&lt;/p&gt;

&lt;p&gt;The &quot;done done&quot; requirement is quite strict and can lead to disappointing velocity numbers.  So people fudge.  Rather than calculating velocity from completed work, they estimate it with &quot;capacity&quot; by counting developer-hours and multiplying by an arbitrary percentage.  Or they take partially-done stories and award themselves part of the story's estimate.  This adds enough subjectivity to the mix that the team can now &lt;em&gt;set&lt;/em&gt; their velocity to the number  they wanted, while maintaining the illusion that it's based on real facts and calculations.&lt;/p&gt;

&lt;p&gt;Part of the problem here is a macho desire to improve velocity, based on the misguided belief that higher velocity leads to higher productivity.  (It's the other way around.  Sorry.)  Whatever the reason, making up a pleasant velocity figure does not change your ability to actually deliver software.  

&lt;p&gt;End result?  When the iteration demo rolls around, the team hasn't finished everything.  In fact, they don't even finish as much they were capable of finishing, because rather than getting half of the work all the way done, they get most of the work partway done.  Very little is &lt;em&gt;done&lt;/em&gt; done.  This, of course, leads to a crappy velocity and increases the desire to make up a happier number.&lt;/p&gt;

&lt;p&gt;The fix?  It's the easiest thing in the world, and the hardest.  Just stop making up your velocity.  Calculate it based on what's &quot;done done,&quot; and be cautious about increasing it.  This may not yield a number you like.  Actually, it probably won't yield a number you'll like.  But you will be more productive and you will be able to make commitments.  You'll probably spend less time fighting fires, too, and you'll finally be able to start tackling your underlying productivity problems rather than playing games with numbers and staring uncomfortably at your feet during your iteration demos.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Agile-Book/iteration_demo.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Agile-Book</category>
  <guid isPermaLink="true">http://jamesshore.com/Agile-Book/iteration_demo.html</guid>
</item>
<item>
  <title>Anybody in Toronto This Weekend?</title>
  <link>http://jamesshore.com/Blog/Anybody-in-Toronto-This-Weekend.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;27 May 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;I'm going to be in Toronto, with some time free, this Friday and Saturday (May 30th &amp;amp; 31st).  Is anybody interested in getting together for beer and/or food?  I'm available Friday evening and Saturday morning with no other plans, and I can drive anywhere in the Toronto area.&lt;/p&gt;

&lt;p&gt;If you're interested, &lt;a href=&quot;mailto:jshore@jamesshore.com&quot;&gt;email me&lt;/a&gt; and we'll make some plans.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Anybody-in-Toronto-This-Weekend.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Anybody-in-Toronto-This-Weekend.html</guid>
</item>
<item>
  <title>Secrets of Agile Success--Summary</title>
  <link>http://jamesshore.com/Blog/Secrets-of-Agile-Success-Summary.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;27 May 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Blog/"&gt;James Shore/Blog&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;p&gt;In case you don't feel like listening to all ninety minutes of my &lt;a href=&quot;http://jamesshore.com/Blog/Secrets-of-Agile-Success-Live-Recording.html&quot;&gt;Secrets of Agile Success&lt;/a&gt; presentation, &lt;a href=&quot;http://mwpolen.blogspot.com&quot;&gt;Mike Polen&lt;/a&gt; has a nice &lt;a href=&quot;http://mwpolen.blogspot.com/2008/05/jim-shore-on-what-seperates-high.html&quot;&gt;summary of the talk&lt;/a&gt; on his blog.  He also links some of the papers I mentioned.  Thanks, Mike!&lt;/p&gt;

&lt;p&gt;I do want to make one correction: I wasn't trying to beat up on Scrum.  I state my position on Scrum better in my post, &quot;&lt;a href=&quot;http://jamesshore.com/Blog/Should-We-Adopt-Scrum-or-XP.html&quot;&gt;Should We Adopt Scrum or XP?&lt;/a&gt;&quot;&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Blog/Secrets-of-Agile-Success-Summary.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Blog</category>
  <guid isPermaLink="true">http://jamesshore.com/Blog/Secrets-of-Agile-Success-Summary.html</guid>
</item>
<item>
  <title>The Art of Agile Development: Coding Standards</title>
  <link>http://jamesshore.com/Agile-Book/coding_standards.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;21 May 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Agile-Book/"&gt;James Shore/Agile-Book&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    
    
      
&lt;h3&gt;in 99 words&lt;/h3&gt;

&lt;blockquote class=&quot;ninetynine_words&quot;&gt;

&lt;p&gt;In team software development, we create a collective work that is greater than any individual could create on his own.  Arguing about style gets in the way.&lt;/p&gt;

&lt;p&gt;When creating a coding standard, your most important achievement will be learning how to disagree constructively.  To succeed, create the minimal set of standards you can live with.  Focus on consistency and consensus over perfection.  Remember that few decisions are irrevocable in agile development.&lt;/p&gt;

&lt;p&gt;Assume your colleagues are professional and well-meaning.  If they deviate from the standard, discuss reasons rather than placing blame.  No coding standard can substitute for professional judgement.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;h3&gt;as haiku&lt;/h3&gt;

&lt;blockquote class=&quot;haiku&quot;&gt;
	&lt;p&gt;Fists fly, dust billows--
	&lt;br /&gt;Tomatoes die, peas cry, as
	&lt;br /&gt;we choose rose's hue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Inside This Section&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;Coding Standards&lt;/li&gt;
	&lt;li&gt;Beyond Formatting&lt;/li&gt;
	&lt;li&gt;How to Create a Coding Standard&lt;/li&gt;
	&lt;li&gt;Dealing with Disagreement&lt;/li&gt;
	&lt;li&gt;Adhering to the Standard&lt;/li&gt;
	&lt;li&gt;Questions
		&lt;ul&gt;
			&lt;li&gt;We have legacy code that doesn't fit our standard.  Should we fix it?&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Results&lt;/li&gt;
	&lt;li&gt;Contraindications&lt;/li&gt;
	&lt;li&gt;Alternatives&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Rant&lt;/h3&gt;

&lt;p&gt;Sometimes it's hard to figure out what to write in these weekly updates.  Coding standards--what can I say about coding standards that we didn't already say in the book?  Oh, I know.  In the immortal words of William Shatner...&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Get a Life!&quot; src=&quot;http://jamesshore.com/images/art-of-agile/get-a-life.jpg&quot; width=&quot;322&quot; height=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;People get really worked up over coding standards.  I mean &lt;em&gt;really&lt;/em&gt; worked up.  But they're actually not that important.  The choices are more style than substance.  I like exceptions; you like error codes.  I like camelCase; you like words_with_underscores.  It's programmers' equivalent of the fashion industry: different styles evoke disgust; the thought of having to actually &lt;em&gt;use&lt;/em&gt; that style generates outright loathing.&lt;/p&gt;

&lt;p&gt;If you're one of those people, it's time to get over yourself.  It's good to be consistent, sure.  But it doesn't matter &lt;em&gt;which&lt;/em&gt; consistent you choose.  Just pick one already.  And if you're constantly arguing about coding standards, here's a sure-fire way to win the arguments: give in.&lt;/p&gt;

&lt;p&gt;That's right--give in.  Either you're right, and the other guy's standard will lead to pain and suffering, in which case you'll be vindicated, everybody will agree to follow your coding standard, &lt;em&gt;and&lt;/em&gt; you'll get to say &quot;I told you so&quot;...&lt;/p&gt;

&lt;p&gt;Or it won't really matter, nothing bad will happen, in which case you've won because people will stop thinking of you as that jerk who always argues about coding standards.&lt;/p&gt;

&lt;p&gt;Either way, it's a net positive.&lt;/p&gt;

    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Agile-Book/coding_standards.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Agile-Book</category>
  <guid isPermaLink="true">http://jamesshore.com/Agile-Book/coding_standards.html</guid>
</item>
<item>
  <title>August 7th at Agile 2008: Agile Planning in Action</title>
  <link>http://jamesshore.com/Calendar/2008-08-07.html</link>
  <description>

    

    &lt;table width="100%" border="0" padding="0" spacing="0"&gt;
      &lt;tr&gt;
        &lt;td align="left"&gt;
          &lt;b&gt;21 May 2008&lt;/b&gt;
        &lt;/td&gt;
        &lt;td align="right"&gt;
          &lt;i&gt; &lt;a href="http://jamesshore.com/Calendar/"&gt;James Shore/Calendar&lt;/a&gt; &lt;/i&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
  
    &lt;p&gt;I'm presenting one of my favorite sessions at Agile 2008 this year.  It's one of my favorites because it's highly interactive, with very little lecture, and yet it always succeeds at getting right to the heart of Agile planning.&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href='http://jamesshore.com/Calendar/2008-08-07.html'&gt;Read More...&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
    
    
    &lt;p&gt;&lt;a href="http://jamesshore.com/Calendar/2008-08-07.html#comments"&gt;Comments&lt;a&gt;&lt;p&gt;
  </description>
  <category>/Calendar</category>
  <guid isPermaLink="true">http://jamesshore.com/Calendar/2008-08-07.html</guid>
</item>
  </channel>
</rss>