<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny" />
  <title>Agile Planet</title>
  <updated>2009-01-06T01:16:55Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Ian Davis</name>
    <email>iand@internetalchemy.org</email>
  </author>
  <id>http://www.agileplanet.org/atom.xml</id>
  
  <link href="http://www.agileplanet.org/" rel="alternate" />

  <link rel="self" href="http://feeds.feedburner.com/agileplanetorg" type="application/atom+xml" /><entry>
    <id>tag:blogger.com,1999:blog-5056996.post-1360068169423037207</id>
    <link href="http://www.blogger.com/feeds/5056996/posts/default/1360068169423037207" rel="edit" type="application/atom+xml" />
    <link href="http://www.blogger.com/feeds/5056996/posts/default/1360068169423037207" rel="self" type="application/atom+xml" />
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/503805460/conversation-with-glen-alleman.html" rel="alternate" type="text/html" />
    <title>A Conversation with Glen Alleman</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">'twas the night before Christmas, and all through the house, not a creature was stirring, not even a mouse...<br /><br />But Glen Alleman and I were <a href="http://herdingcats.typepad.com/my_weblog/2008/12/self-organized-does-not-mean-self-directed.html">chatting via his blog</a> about the difference between self-organizing and self-directed teams, and how failing to recognize the difference gets people in trouble from time to time.  <br /><br />A (slightly) edited form of the conversation:<br /><br /><span style="font-weight: bold;">Esther</span>: I'd agree that self-organizing teams are not the same as self-directed teams. I specifically reference self-organizing teams, not self-directed teams. Self-organizing teams exist within an organization context and serve the needs of that organization.<br /><br />I agree there is still a strong role for management in organizations that have self-organizing teams. <br /><br /><span style="font-weight: bold;">Glen</span>: My experience has been whenever the term "self organizing team" is used it is taken to be "self directed." In the absence of a specific statement about the differences in the first sentence of any article the listener jumps to the end with "we're going to run our team in the absence of management." The next step is usually the cancellation of the project ;&gt;)<br /><br /><span style="font-weight: bold;">Esther</span>: As often as I see teams reject guidance from management "because we are self-organizing," I see *managers* abdicate any responsibility to the team or for the team. Neither stance is very productive.<br /><br />But it does take both managers and team members time to figure out new roles and how to work in a new relationship. That's part of the reason I wrote the article.<br /><br /><span style="font-weight: bold;">Glen</span>: It does take both side of the "team" to understand their individual and combined roles. <br /><br />I've moved back into defense system for many reasons, but one is the continuous questioning of "how can this benefit the program as a whole - the entire business operation?" Management in this environment are the leaders of the subject matter experts, rather than the "supervisors" of the labor. We are working managers, rather than observers. <br /><br />The article provides a wonderful starting point for the conversation about how each role contributes to the successful completion of the project. <br /><br />###<br /><br />My entire article (referenced earlier in this blog) seems not to be online right now :-(<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/503805460" height="1" width="1" /></div></content>
    <updated>2009-01-05T22:57:22Z</updated>
    <published>2009-01-05T22:47:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="agile" />
    <category scheme="http://www.blogger.com/atom/ns#" term="teams" />
    <category scheme="http://www.blogger.com/atom/ns#" term="self-organizing" />
    <category scheme="http://www.blogger.com/atom/ns#" term="management" />
    <author>
      <name>Esther Derby</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06729210899814816620</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5056996</id>
      <author>
        <name>Esther Derby</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06729210899814816620</uri>
      </author>
      <link href="http://www.blogger.com/feeds/5056996/posts/default" rel="self" type="application/atom+xml" />
      <link href="http://www.estherderby.com/weblog/blogger.html" rel="alternate" type="text/html" />
      <link href="http://www.blogger.com/feeds/5056996/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml" />
      <link href="http://www11.pair.com/estherd/weblog/RSS/blogger_rss.xml" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" />
      <subtitle>"Poor management can increase software costs more rapidly than any other factor." (Barry Boehm)</subtitle>
      <title>insights you can use</title>
      <updated>2009-01-05T22:57:22Z</updated>
    </source>
  <feedburner:origLink>http://www.estherderby.com/weblog/2009/01/conversation-with-glen-alleman.html</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-59925216</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/482873745/agile-for-hardware-and-embedded-systems.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/12/agile-for-hardware-and-embedded-systems.html" rel="replies" type="text/html" />
    <title>Agile for Hardware and Embedded Systems</title>
    <summary>I've never done either Hardware or Embedded Systems, but a number of my friends have and I've always been fascinated by what it would take to extend the reach of Agile to their world. To me it seems the obvious...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>I've never done either Hardware or Embedded Systems, but a number of my friends have and I've always been fascinated by what it would take to extend the reach of Agile to their world. To me it seems the obvious problem is the long cycle times and the cost of getting new hardware fabbed.</p> <p>There have been several interesting articles and conversations recently that have sparked some digging on my part.</p> <h3>The Players</h3> <p>The people/organizations that I know who seem to be making contributions in this space:</p> <ul> <li><a href="http://www.agilerules.com/publications.phtml" target="_blank">Nancy Van Schooenderwoert</a> - Agile Rules  </li><li><a href="http://www.renaissancesoftware.net/embedded-renaissance.html" target="_blank">James Greening</a> - Renaissance Software Consulting  </li><li><a href="http://www.jrothman.com/" target="_blank">Johanna Rothmann</a>  </li><li><a href="http://www.atomicobject.com/pages/Embedded+Software" target="_blank">Atomic Objects</a></li></ul> <h3>Articles</h3> <ul> <li><a href="http://www.ddj.com/architect/193501924" target="_blank">Embedded Agile: A Case Study In Numbers</a> by <em>Nancy Van Schooenderwoert</em>  </li><li><a href="http://www.agilerules.com/articles/Taming_Embedded_Tiger.pdf">Taming the Embedded Tiger: Agile Test Techniques for Embedded Software</a> (pdf) by <em>Nancy Van Schooenderwoert</em>  </li><li><a href="http://www.agilerules.com/articles/Embedded_Extreme_Programming_Experience_Report.pdf">Embedded Extreme Programming Experience Report</a> (pdf) by <em>Nancy Van Schooenderwoert</em> </li><li><a href="http://www.cutter.com/research/2002/edge020528.html" target="_blank">PRODUCT DEVELOPMENT AND AGILE METHODS</a> by Jim Highsmith </li><li><a href="http://www.jrothman.com/Papers/Cutter/whatlifecycle.html" target="_blank">What Lifecycle? Selecting the Right Model for Your Project</a> by Johanna Rothman </li><li><a href="http://www.renaissancesoftware.net/files/articles/ESC-206Slides_Grenning-v1r1.pdf" target="_blank">Agile Embedded Software Development (Oct 2008)</a> (pdf) by James Grenning </li><li><a href="http://www.renaissancesoftware.net/papers/14-papers/39-test-driven-development-for-embedded-software.html" target="_blank">Test Driven Development for Embedded Software</a> by James Grenning </li><li><a href="http://www.renaissancesoftware.net/papers/14-papers/42-agile-times-containing-progress-before-hardware.html" target="_blank">Agile Times - Containing Progress Before Hardware</a> - "This issue has many intersting articles to embedded teams and Agile Development topics in general." </li><li><a href="http://www.atomicobject.com/pages/Embedded+Software" target="_blank">Atomic Objects Best Practices in Embedded Software</a> </li><li><a href="http://danube.com/docs/case_studies/Intel_case_study.pdf" target="_blank">Danube Case Study with Intel</a></li></ul> <h3>Quotes and Conversations</h3> <p><a href="http://tech.groups.yahoo.com/group/leanagilescrum/message/1807" target="_blank">James Grenning</a>:</p> <blockquote> <p>My focus has mainly been on the software side of the hardware. One of my early aha moments had to do with freeing the software from target availability, as well as the difficulties in test and debug on hardware. Something I call DOH! Hardware is scarce, not yet developed, expensive, slow to download, etc. Getting the software working independently of the hardware is important to making visible progress without the usual impediments.</p> <p><br />For example, client target systems are quite expensive ($1M+), so developers don't each get one. In that environment you would like to have your code in good working order before running it in the hardware. Of course you won't find all problems, but instead of finding and fixing all problems in the challenging target environment, the code is well exercised and tested off-target first. Then the kinds of problems found when in the target are integration problems. The target is a good place to look for integration problems and a bad place to look for application problems. I do have one client that has applied some of the agile ideas to hardware development. They have changed their hardware development process so they could do an over-night circuit board build if they needed it.</p></blockquote> <p><a href="http://finance.groups.yahoo.com/group/agileprojectmanagement/message/10444" target="_blank">Johanna Rothmann</a>:</p> <blockquote> <p>The key is to have each supplier have a rhythm to their builds/drops to the system integrator. (You have just one supplier? An you're a supplier to an integrator?) As long as everyone is attempting to build feature-by-feature, and that the hardware people simulate before they go to fab, you can make it.</p></blockquote> <p><a href="http://finance.groups.yahoo.com/group/agileprojectmanagement/message/10502" target="_blank">Robin Dymond</a>: </p><blockquote> <p>King Circuit <a href="http://www.kingcircuit.com/">www.kingcircuit.com</a> offers 24 hour turn around on PCBs. Most of the physical constraints we worried about 15 years ago when I was building various embedded DSP solutions are gone. The fast turn cycles of PC motherboards has driven the industry to turn designs into populated hardware quickly.</p> <p><br />Great hardware designs are modular. With a bit of thinking H/W engineers can build testable demoable components of the system that can be quickly (days) fabricated. BUT(T) they have to think differently about how they work. That is your challenge, to get them to try it.</p> <p><br />There are other solutions too. They have Field Programmable Gate Arrays (FPGAs) that can instantiate a chip design with a download. We loved these things because of the risk they removed and the fact that you could play/test with the design. At the time the # of gates you could get was often smaller than we needed. Now they have huge FPGAs and you can test big designs with them long before taping out to an ASIC. In fact the ASIC guys can just hard code the gate array. Its not as efficient on the gate count but you get a tested design.</p></blockquote> <p><a href="http://finance.groups.yahoo.com/group/agileprojectmanagement/message/10524" target="_blank">James again</a>:</p> <blockquote> <p>One thing you should strive for is getting as much confidence in your software as possible before the hardware arrives.  You can reduce potential problems at integration.  The kinds of problems at integration are: 1)software does not work, 2)hardware does not work, 3)software and hardware do not talk properly, 4) application does not work.   </p><p>With TDD and ATDD, along with keeping as much of your code testable independent of the hardware, you should be able to minimize the first and the last problem with this approach.  problem 2 can be lessened through programmable devices, prototyping and fast turn hardware builds like Robyn suggests.  You may also want to build a automated test or partially automated test that looks out to the hardware.  Finding and addressing problem 3 is natural at HW/SW integration time, it goes more smoothly if you are not finding problems you could have found earlier in the software and hardware development cycles.</p></blockquote> <p><a href="http://finance.groups.yahoo.com/group/agileprojectmanagement/message/10506" target="_blank">Jeanne Petrangelo</a>: </p><blockquote> <p>I'm an embedded software/firmware engineer and my previous employer made ASICS. Before I left there, I explored ways we could adopt some of the agile practices. I'm sure you do chip simulations; those should be done all along instead of waiting for the end, and you probably already know that. Now, testing the software plus the ASIC together as total end-to-end system testing when the chip hasn't even gone to fab is a different matter, of course. As Robin pointed out, some of the logic could possibly be put on FPGAs or a group of FPGAs. Another approach could be to use a chip simulator which makes a cycle accurate linkable C object, like one we saw from a startup called Carbon Design, but it's not cheap. And if the system controls mechanicals then you can't really automate a total end-to-end system test anyway. If not, you're in luck; most of Carbon Design's customers seemed to fall into that category, like network fabrics/processors. A more practical approach may be to just handle the ASIC development and software development separately. Have the software employ a good hardware abstraction layer where the chip can be modeled. And be sure to define "unit" when you talk about unit testing, as the term already has a meaning to an ASIC team. Testing a chip "unit" is not the same as "unit testing" in the software sense.</p></blockquote> <p><a href="http://tech.groups.yahoo.com/group/leanagilescrum/message/1884" target="_blank">John Baker</a>:  </p><blockquote> <p>I have been investigating how to use Agile for embedded systems that concurrently develop electo-mechanicals, controllers, and software. So far the best advice I have gotten is to use a product like Simulink from Mathworks as a tool to allow the HW engineers to follow a model driven development approach. SW can be concurrently developed and tested against the simulator. </p><p>When the HW design is stable it is sent off from prototypic fab. Then keep the HW simulation current and allow testing of the SW against both the real HW and newer versions of simulated HW.</p></blockquote> <p>Sorry there isn't really any of my own content here - this stuff is more than a bit outside my experience so I have nothing useful to add. Do you have any experience trying to make Agile work for Embedded Software/Hardware? Please share. </p></div>

<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=sDjoSK"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=sDjoSK" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/482860200" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/482873745" height="1" width="1" /></div></content>
    <updated>2009-01-05T14:05:14Z</updated>
    <published>2008-12-12T16:56:47Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/12/agile-for-hardware-and-embedded-systems.html</feedburner:origLink>
    <author>
      <name>Mark Levison</name>
    </author>
    <source>
      <id>tag:typepad.com,2003:weblog-502306</id>
      <link href="http://www.notesfromatooluser.com/" rel="alternate" type="text/html" />
      <link href="http://feeds.feedburner.com/NotesFromAToolUser" rel="self" type="application/atom+xml" />
      <subtitle>Thoughts about photography, scrum, agile software development, reading, food, wine and the world around us. By Mark Levison, Located in Ottawa, Canada</subtitle>
      <title>Notes from a Tool User</title>
      <updated>2008-12-19T17:29:58Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/482860200/agile-for-hardware-and-embedded-systems.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/141</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/503032804/141" rel="alternate" type="text/html" />
    <title>Buccaneer-Scholar Site is Up</title>
    <summary>My book “Secrets of a Buccaneer-Scholar” will be published in September by Simon and Schuster. It’s a book about how I approach self-education, personal branding, and original thinking. It’s the story of how I got started and how I got along all these years without any formal education or certification. It’s not a book about [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>My book “<a href="http://www.amazon.com/exec/obidos/ASIN/1439109087/satisin" target="_blank">Secrets of a Buccaneer-Scholar</a>” will be published in September by Simon and Schuster. It’s a book about how I approach self-education, personal branding, and original thinking. It’s the story of how I got started and how I got along all these years without any formal education or certification. It’s not a book about testing, but it will be highly relevant to testers. It will be relevant to any knowledge worker who wants to compete better in a down economy.</p>
<p>The book is finished and delivered, it just takes a long time to get through production and sell into book stores. While I’m waiting and writing the next buccaneer book in the series, I’ve started a new site at <a href="http://www.buccaneerscholar.com" target="_blank">buccaneerscholar.com</a> and a <a href="http://www.buccaneerscholar.com/blog" target="_blank">new blog</a>. There I will talk about the more general topics of thinking and learning that are not specific to testing.</p>
<p>I’m also creating a class to teach self-education (not as ironic as it sounds… but it does sound ironic, eh?).</p>
<p>This blog will continue to deal exclusively with testing and issues directly related to the software development industry.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/503032804" height="1" width="1" /></div></content>
    <updated>2009-01-05T02:28:39Z</updated>
    <category term="Software Testing and Quality" />
    <author>
      <name>james</name>
    </author>
    <source>
      <id>http://www.satisfice.com/blog</id>
      <link href="http://www.satisfice.com/blog" rel="alternate" type="text/html" />
      <link href="http://blackbox.cs.fit.edu/blog/james/archives/categories/software_testing_and_quality/index.xml" rel="self" type="application/rss+xml" />
      <subtitle>The Consulting Software Tester</subtitle>
      <title>James Bach's Blog</title>
      <updated>2009-01-05T02:28:39Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/141</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/140</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/502949423/140" rel="alternate" type="text/html" />
    <title>The Great Implication of Context-Driven Methodology</title>
    <summary>Sometimes I hear people react to context-driven methodology with a shrug. “Yeah, everything depends on context. So what?”
Here’s the so what: If all practice depends upon context, then the competent practitioner must know how to invent, evaluate, criticize, and modify practices. In other words, focus must shift from merely copying and memorizing practices to developing [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Sometimes I hear people react to <a href="http://www.satisfice.com/kaner/?p=45">context-driven methodology</a> with a shrug. “Yeah, everything depends on context. So what?”</p>
<p>Here’s the so what: <strong>If all practice depends upon context, then the competent practitioner must know how to invent, evaluate, criticize, and modify practices.</strong> In other words, focus must shift from merely copying and memorizing practices to <em>developing skill in the craft</em>.This is a profoundly different focus.</p>
<p>Wouldn’t it be absurd for someone to claim that the best way to commute to work, for everyone in the software industry, is to take a horse and buggy? Wouldn’t it still be absurd even if they added the words “but you should take context into account and do what’s right for you” at the end of such a strange claim? When consultants talk to people from different practical contexts, and they treat context variables as a trivial concern, they do their audience little service. That’s the trouble with “best practices.”</p>
<p>To say that context matters but that “almost always X is the right thing to do” is to speak like a parent dictating to a child. I fear that many testing bloggers and consultants are happy to do just that. But if what we want is a meeting of minds and sharing of wisdom, we need to practice talking about context-dynamics and the dynamics of practices that serve those contexts.</p>
<p>The most recent time I practiced this, myself, was in writing the previous paragraph. I almost wrote that you should not, as a methodologist, speak to your clients as a parent dictating to children. But then I noticed that very statement is just such a dictum. I don’t want to be like that. So I had to add “But if what we want is…” to at least acknowledge that even here there are different ways to be, depending on context.</p>
<h2>A Suggestion</h2>
<p>A great way to automatically avoid the perils of best practice talk is simply to talk about your own experiences and preferences, rather than make general prescriptions. This is why, in peer conferences such as LAWST, we focus on experience reports (actually we called them “war stories” until our terminology was attacked by bloodthirsty pacifists) rather than advertisments for good practice.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/502949423" height="1" width="1" /></div></content>
    <updated>2009-01-05T00:31:16Z</updated>
    <category term="Software Testing and Quality" />
    <author>
      <name>james</name>
    </author>
    <source>
      <id>http://www.satisfice.com/blog</id>
      <link href="http://www.satisfice.com/blog" rel="alternate" type="text/html" />
      <link href="http://blackbox.cs.fit.edu/blog/james/archives/categories/software_testing_and_quality/index.xml" rel="self" type="application/rss+xml" />
      <subtitle>The Consulting Software Tester</subtitle>
      <title>James Bach's Blog</title>
      <updated>2009-01-05T02:28:39Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/140</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/139</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/502377238/139" rel="alternate" type="text/html" />
    <title>Context-Driven Testing Clarified</title>
    <summary>Cem Kaner has just posted a clarification of context-driven testing. I contributed to it, and it also represents my point of view.
One reason we’ve come up with this new description is that several people (we don’t really know who) have posted or copied descriptions of context-driven testing that bear little resemblance to the vision of [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Cem Kaner has just posted a <a href="http://www.satisfice.com/kaner/?p=45" target="_blank">clarification of context-driven testing</a>. I contributed to it, and it also represents my point of view.</p>
<p>One reason we’ve come up with this new description is that several people (we don’t really know who) have posted or copied descriptions of context-driven testing that bear little resemblance to the vision of the founders of the school. These descriptions typically claim that context-driven is a flavor of Agile. No, no, no, no, no, it isn’t. If context-driven testing is a flavor of anything, it’s a flavor of problem-solving.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/502377238" height="1" width="1" /></div></content>
    <updated>2009-01-04T07:22:48Z</updated>
    <category term="Software Testing and Quality" />
    <author>
      <name>james</name>
    </author>
    <source>
      <id>http://www.satisfice.com/blog</id>
      <link href="http://www.satisfice.com/blog" rel="alternate" type="text/html" />
      <link href="http://blackbox.cs.fit.edu/blog/james/archives/categories/software_testing_and_quality/index.xml" rel="self" type="application/rss+xml" />
      <subtitle>The Consulting Software Tester</subtitle>
      <title>James Bach's Blog</title>
      <updated>2009-01-05T02:28:39Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/139</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-59040888</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/465560968/unit-testing-in-javascript.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/unit-testing-in-javascript.html" rel="replies" type="text/html" />
    <title>Unit Testing in JavaScript</title>
    <summary>Last week a colleague asked for my help finding better unit test tools for Java Script. He's done some digging on the state of the art with JavaScript unit tests and finds the whole lot wanting. His discoveries: Tool Pros...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>Last week a colleague asked for my help finding better unit test tools for Java Script. He's done some digging on the state of the art with JavaScript unit tests and finds the whole lot wanting. His discoveries: </p>  <br /> <table border="2" cellpadding="2" cellspacing="0" width="736"> <tbody> <tr> <td valign="top" width="133"><strong>Tool</strong></td> <td valign="top" width="233"><strong>Pros</strong></td> <td valign="top" width="367"><strong>Cons</strong></td></tr> <tr> <td valign="top" width="133"><strong><a href="http://www.jsunit.net/">Jsunit</a></strong>: we already use it for some of our js code. </td> <td valign="top" width="233"> <li>can be invoked from an ant build file </li>
<li>launches browser to run the tests </li>
<li>eclipse plug-in </li>
<li><a href="http://tech.groups.yahoo.com/group/jsunit/" target="_blank">Mailing list</a> is still active</li>
</td> <td valign="top" width="367"> <li>launches browser to run the tests </li>
<li>Does not support js file to write the unit test code: it has to embedded inside a html file </li>
<li>it has not be updated for a couple of years<em>  - while there hasn't been a release changes have been made to the source repository (perhaps minor) in the past year.</em></li>
</td></tr> <tr> <td valign="top" width="133"><a href="http://code.google.com/p/rhinounit/">rhinounit</a> </td> <td valign="top" width="233"> <li>ant driven </li>
<li>supports js file </li>
<li>very simple to use </li>
</td> <td valign="top" width="367"> <li>Simulation of JavaScript engine: not advanced enough to support our code: I tried to run test code working with jsunit: I encountered issue when loading our common JavaScript files.</li>
</td></tr> <tr> <td valign="top" width="134"><a href="http://www.thefrontside.net/crosscheck">crosscheck</a>: Note: Crosscheck wasn't tested with any code.</td> <td valign="top" width="233"> <li>Can invoked from ant build file </li>
<li>Simulates real browser behaviour </li>
</td> <td valign="top" width="367"> <li>Simulation of JavaScript engine from a limited number of browser versions. </li>
<li>No activity for 2 years: it does not support versions 2.x nor 3.x from Firefox.</li>
</td></tr> <tr> <td valign="top" width="134"><a href="http://code.google.com/p/jsspec/">jsspec</a> </td> <td valign="top" width="233"> <li>Runs on actual browser</li>
</td> <td valign="top" width="367"> <li>JavaScript only framework: cannot be called from ant build file</li>
</td></tr> <tr> <td valign="top" width="134"><a href="http://github.com/visionmedia/jspec/tree/master" target="_blank">jspec</a> (no website - just a source tree) </td> <td valign="top" width="233"> <li>Runs on actual browser</li>
</td> <td valign="top" width="367"> <li>Does not seem to support our code:  I tried to run test code running with js unit: I encountered issue when loading our common JavaScript files. </li>
<li>JavaScript only framework: cannot be called from ant build file</li>
</td></tr> <tr> <td valign="top" width="134"><a href="http://pivotallabs.com/users/nick/blog/articles/455-better-javascript-testing-through-screwunit">Screw.unit</a> (<a href="http://github.com/nkallen/screw-unit/tree/master">docs</a>) Note: Not tested but it is very similar to jsspec and jspec.</td> <td valign="top" width="233"> <li>Runs on actual browser </li>
</td> <td valign="top" width="367"> <li>JavaScript only framework: cannot be called from ant build file </li>
</td></tr></tbody></table> <p><a href="http://tooluser.typepad.com/.a/6a00d8341cc2cf53ef01053622bad4970c-pi"><img align="right" alt="image" border="0" height="186" src="http://tooluser.typepad.com/.a/6a00d8341cc2cf53ef0105361a2ea0970b-pi" style="border: 0px none ; margin: 0px 0px 5px 5px;" width="240" /></a>So it seems to him that Jsunit is the only choice we have. It is not perfect though because it does not provide an easy way to apply  the TDD process for the following reasons: </p><ul>
 <li>It does not provide a simple and integrated way to run JavaScript unit test </li>
<li>It forces you to write the unit tests in a html file instead of a .js file. </li>
<li>It forces you to have a local installation of the jsunit framework in order to avoid absolute hard coded path to reference js unit files. </li>
</ul>
 <p>As a consequence, you have to switch back and forth from you IDE and all the browsers we want to support while "TDDing" in JavaScript. It is feasible but doesn't seem very effective.</p> <p>I tried asking about this on <a href="http://stackoverflow.com/questions/300855/looking-for-a-better-unit-test-tool-for-javascript" target="_blank">StackOverflow</a> generated some interesting answers:</p> <ul>
 <li>Look at <a href="http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/d-o-h-unit-testing">the Dojo Object Harness (DOH) unit test framework</a> which is pretty much framework independent harness for JavaScript unit testing and doesn't have any Dojo dependencies. I found a very good description of it at <a href="http://blog.medryx.org/2008/06/08/dojo-doh-unit-testing/">Medrix Observations: Dojo D.O.H. Unit Testing</a>. Interestingly we have at least one team (Yvon's) that is experimenting with Dojo. (<em>got several recommendations for this</em>) </li>
<li>Apparently <a href="http://mochikit.com/" target="_blank">MochiKit</a> - yet another library has a framework called <a href="http://blog.leosoto.com/2008/10/interesting-open-source-surprises.html" target="_blank">SimpleTest</a> buried inside it. </li>
<li><a href="http://developer.yahoo.com/yui/yuitest/" target="_blank">Yahoo Unit</a> - a standalone tool from Yahoo. </li>
</ul>
 <p>Asking on the <a href="http://tech.groups.yahoo.com/group/testdrivendevelopment" target="_blank">Test Driven Mailing</a> List got another batch of answers:</p> <ul>
 <li><a href="http://docs.jquery.com/QUnit" target="_blank">QUnit</a> from jQuery (<em>got several recommendations for this</em>) </li>
<li><a href="http://jsmock.sourceforge.net/" target="_blank">Mocking tool</a> for JavaScript </li>
<li>Use GWT and do all your work in Java</li>
</ul>
 <p>In addition two people didn't answer the question directly but instead sent my in the direction of some books:</p> <ul>
 <li><a href="http://www.manning.com/resig/" target="_blank">Secrets of the JavaScript Ninja</a> by the project lead for jQuery (which will have a chapter on Unit Testing)</li>
</ul>
 <h4>Conclusions</h4> <p>There isn't one good place to ask JavaScript/Unit Testing questions. The best so far seems <a href="http://stackoverflow.com/questions/tagged/javascript" target="_blank">StackOverflow.com</a> seems to be the only real option.</p> <p>Of the Unit Test Frameworks the real options seem to be:</p> <ul>
 <li><a href="http://www.jsunit.net/" target="_blank">JSunit</a> </li>
<li><a href="http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/d-o-h-unit-testing">The Dojo Object Harness (DOH) unit test framework</a> </li>
<li><a href="http://docs.jquery.com/QUnit" target="_blank">QUnit</a> from jQuery </li>
<li>YUI Test: see <a href="http://sites.google.com/site/tedhusted/posts/yui-test---the-new-kid-on-block" target="_blank">YUI Test - The New Kid on Block</a></li>
</ul>
 <p>I also did some digging for Mock Frameworks and have only come up with a list of tools:</p> <ul>
 <li><a href="http://jsmock.sourceforge.net/" target="_blank">JSMock</a> - JSMock provides expectation recording and matching, and has the ability to return, throw, and stub on object method calls </li>
<li><a href="http://boss.bekk.no/display/BOSS/Jack" target="_blank">Jack</a> - The project aims to help developers write short and readable JavaScript tests. </li>
<li><a href="http://johanneslink.net/projects/mockme.html" target="_blank">MockMe</a> - written because of <a href="http://blog.johanneslink.net/2008/08/08/ajax-travelogue-part-6-mocking-in-javascript/" target="_blank">Johanne's</a> <a href="http://blog.johanneslink.net/2008/08/09/ajax-travelogue-part-7-mockme/" target="_blank">dissatisfaction</a> with other JavaScript Mock tools. </li>
<li><a href="http://code.google.com/p/qmock/" target="_blank">QMock</a> - very new</li>
</ul>
 <p>There is some good writing that will give you a flavour of TDD with Javascript:</p> <ul>
 <li><a href="http://www.slideshare.net/jlink/agile08-test-driven-ajax" target="_blank">Test Driven AJAX</a> a presentation from Agile 2008 (long but through) </li>
<li><a href="http://www.pathf.com/blogs/2006/11/tdd_and_javascr/">TDD and Javascript with JsMock</a> </li>
<li><a href="http://www.testdrivenjavascript.com/Practice/5.aspx" target="_blank">Test Driven Javascript</a> </li>
<li><a href="http://ajaxian.com/archives/tdd-and-javascript-with-jsmock">TDD and Javascript with JsMock</a></li>
</ul>
 <p>Best ongoing sources: <a href="http://www.pathf.com/blogs/tag/test-driven-development/" target="_blank">Pathfinder Blog</a> and <a href="http://ajaxian.com/by/topic/testing" target="_blank">Ajaxian</a> seem to be good reading.</p> <p>What tools did I miss? Are there any good JavaScript mailing lists where the participants discuss TDD?</p> <p>If you enjoyed this post, <a href="http://www.notesfromatooluser.com/2006/01/get_notes_from_.html">subscribe</a> now to get free updates.</p> <p><!--
google_ad_client = "pub-5369880749076561";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel = "";
//--> </p> </div>

<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=R2c6Cv"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=R2c6Cv" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/465518932" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/465560968" height="1" width="1" /></div></content>
    <updated>2009-01-02T16:08:46Z</updated>
    <published>2008-11-25T22:11:25Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" />
    <category scheme="http://www.sixapart.com/ns/types#category" term="TDD" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/unit-testing-in-javascript.html</feedburner:origLink>
    <author>
      <name>Mark Levison</name>
    </author>
    <source>
      <id>tag:typepad.com,2003:weblog-502306</id>
      <link href="http://www.notesfromatooluser.com/" rel="alternate" type="text/html" />
      <link href="http://feeds.feedburner.com/NotesFromAToolUser" rel="self" type="application/atom+xml" />
      <subtitle>Thoughts about photography, scrum, agile software development, reading, food, wine and the world around us. By Mark Levison, Located in Ottawa, Canada</subtitle>
      <title>Notes from a Tool User</title>
      <updated>2008-12-19T17:29:58Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/465518932/unit-testing-in-javascript.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.m3p.co.uk/blog/2009/01/02/some-things-l-need-to-know-about-programming-i-learned-in-music-college/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/501078296/" rel="alternate" type="text/html" />
    <title xml:lang="en">Some Things l Need to Know about Programming I Learned In Music College</title>
    <summary xml:lang="en">In a previous life I took a music degree in Bass Trombone, which is a discipline that’s even more geeky and with a worse gender balance than Software (see this meeting if you don’t believe that’s possible). Over the course of the degree, I raised my bar from Enthusiastic to Not-too-embarrasing-to-appear-in-public. In the spirit of [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>In a previous life I took a music degree in Bass Trombone, which is a discipline that’s even more geeky and with a worse gender balance than Software (see <a href="http://www.dbto.nl/intro/intro_english/intro_english.html">this meeting</a> if you don’t believe that’s possible). Over the course of the degree, I raised my bar from Enthusiastic to Not-too-embarrasing-to-appear-in-public. In the spirit of <a href="http://collaboration.csc.ncsu.edu/laurie/Papers/Kindergarten.PDF">this famous article</a> on Pair Programming, here are a few things I learned there that (if I squint) seem to apply to software.</p>

<p><em>Quality follows a power law</em> Every time I practiced and got to play with better ensembles, the next level up was an order of magnitude improvement, not just linear. I could imagine being as good as the players one level above me, but two levels was a huge jump. The standard of serious professionals nowadays is just astonishing. As an example, one of our ensembles worked on an <a href="http://en.wikipedia.org/wiki/Edgard_Var&amp;egrave;se">Edgar Varèse</a> (obscure but influential modernist composer) piece. For the première in the 1920s, Varèse complained bitterly that he only had 100 rehearsals, we did it in about 10 rehearsals, our conductor performed it with a group of freelancers after working on it for an afternoon.</p>

<p><em>Quality is fractal</em> To put it another way, good performances requires attention to detail at all levels: from the conductor’s management of the overall structure, to players’ phrasing of their individual lines. The better the ensemble, the more levels just work. It was quite a shift for me when I started joining groups that played in tune, a whole area of insecurity just disappeared and I could now use the effort I’d spent on compensating for inaccurate tuning for something more important.</p>

<p><em>Play for the audience</em> They’ve paid to hear you. They don’t want to hear your technique, they want to hear music. One of my teachers liked to point out that anyone can make great music work, but good players can make bad music sound better. At the other end of the scale, I once heard a scaled-down version of The Rite of Spring where the Bass Trombonist dominated the orchestra; as a practitioner, I was impressed but it was ugly and self-indulgent.</p>

<p><em>Don’t take it up unless you mean it</em> The perfoming arts are tremendously rewarding <em>if that’s what you want do</em>. If not, it’s a hard trade involving lots of stress and effort—and there’s a limit to how long you can stand discussing mouthpiece diameters. I met several older professionals who hated the business but had nowhere else to go, and the story goes that one of the trombonists in Toscanini’s <span class="caps">NBC </span>orchestra wrapped his instrument around his music stand at the end of his last day before retirement.</p>

<p><em>The section takes the blame (and credit) together</em> Brass playing, particularly at the low frequency end, is a collaborative activity. You spend much of your time playing chords, so no-one can tell that you’re better than the rest of the section. Your best hope is to try to raise everyone’s standard. When it works, it’s just fantastic.</p>

<p><em>Some people’s abilities are just obvious</em> I met a few players who were clearly here on Earth to play their instrument, that’s just who they were. These are the kind of people who get top-rank jobs before they’ve finished college. Our Head of Brass had been a child virtuoso, he didn’t understand why people played wrong notes. Why would they want to do that? At the other end, there were some who should have had their instruments confiscated.</p>

<p><em>Sometimes people take a while to shine</em> Other players are not so obvious. I was lucky enough to meet Ed Anderson (Cleveland Orchestra) who was one of the best. He told me that at college, he’d played in the opera orchestra because he didn’t get enough sessions with the (higher prestige) concert orchestra.
</p>

<p><em>Reality, deal with it</em> In a performing discipline there is nowhere to hide, everyone knows how good you are all the time. I had a bit of a crisis in my second year when a new Tuba student took the time to point out my shortcomings; the message wasn’t pleasant to hear but it worked, I was much better by the end of the year. Later a one-off lesson with <a href="http://en.wikipedia.org/wiki/Arnold_Jacobs">Arnold Jacobs</a>, who spent a lifetime researching the mechanics of wind playing, changed my playing life because he could <em>show</em> me what was happening to my breathing and how it needed fixing. </p>

<p><em>How do you get to Carnegie Hall? Practice!</em> It turns out that this topic has <a href="http://radar.oreilly.com/2008/12/hard-work-and-practice-in-programming.html">just come up</a> on Tim O”Reilly’s blog.
</p><p><em>What’s the dynamic range of a bass trombone?</em> On or off</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/501078296" height="1" width="1" /></div></content>
    <updated>2009-01-02T15:55:42Z</updated>
    <published>2009-01-02T15:55:42Z</published>
    <category scheme="http://www.m3p.co.uk" term="IT industry" />
    <category scheme="http://www.m3p.co.uk" term="Software culture" />
    <author>
      <name>steve.freeman</name>
      <uri>http://www.m3p.co.uk</uri>
    </author>
    <source>
      <id>http://www.m3p.co.uk/feed/atom/</id>
      <link href="http://www.m3p.co.uk" rel="alternate" type="text/html" />
      <link href="http://www.m3p.co.uk/feed/atom/" rel="self" type="application/atom+xml" />
      <subtitle xml:lang="en">Working software daily</subtitle>
      <title xml:lang="en">Steve Freeman</title>
      <updated>2009-01-02T19:12:30Z</updated>
    </source>
  <feedburner:origLink>http://www.m3p.co.uk/blog/2009/01/02/some-things-l-need-to-know-about-programming-i-learned-in-music-college/</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.m3p.co.uk/blog/2008/12/31/never-was-my-favourite-metaphor/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/499958728/" rel="alternate" type="text/html" />
    <title xml:lang="en">Never was my favourite metaphor…</title>
    <summary xml:lang="en">Copied wholesale from D-Squared

In business circles, particularly among a certain kind of aggressive American businessman (or consultant, or banker, or politician, they’re fairly interchangeable), there is a favourite proverb about a pig:

“When you have bacon and eggs for breakfast, you’ve got your breakfast from a chicken and a pig. The difference between them is that [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>Copied wholesale from <a href="http://d-squareddigest.blogspot.com/2008/09/parable-in-place-of-proper-post-because.html">D-Squared</a></p>

<blockquote>In business circles, particularly among a certain kind of aggressive American businessman (or consultant, or banker, or politician, they’re fairly interchangeable), there is a favourite proverb about a pig:</blockquote>

<blockquote><em>“When you have bacon and eggs for breakfast, you’ve got your breakfast from a chicken and a pig. The difference between them is that the chicken is ‘involved’ but the pig is <span style="font-weight: bold;">committed</span>“</em></blockquote>

<blockquote>which is of course, true. It should also be noted, however, that when you go out to get your next few breakfasts over the course of the rest of the month, the chicken will have laid another egg every day, but the pig will eventually run out of bacon</blockquote><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/499958728" height="1" width="1" /></div></content>
    <updated>2008-12-31T15:56:31Z</updated>
    <published>2008-12-31T15:56:31Z</published>
    <category scheme="http://www.m3p.co.uk" term="IT industry" />
    <category scheme="http://www.m3p.co.uk" term="Grumpy Old Man" />
    <author>
      <name>steve.freeman</name>
      <uri>http://www.m3p.co.uk</uri>
    </author>
    <source>
      <id>http://www.m3p.co.uk/feed/atom/</id>
      <link href="http://www.m3p.co.uk" rel="alternate" type="text/html" />
      <link href="http://www.m3p.co.uk/feed/atom/" rel="self" type="application/atom+xml" />
      <subtitle xml:lang="en">Working software daily</subtitle>
      <title xml:lang="en">Steve Freeman</title>
      <updated>2009-01-02T19:12:30Z</updated>
    </source>
  <feedburner:origLink>http://www.m3p.co.uk/blog/2008/12/31/never-was-my-favourite-metaphor/</feedburner:origLink></entry>

  <entry xml:lang="en-US">
    <id>urn:uuid:8e4a9466-0be3-46dd-b2da-fa96b795fef6</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/497244274/managing-your-life-the-agile-way-in-2009" rel="alternate" type="text/html" />
    <title xml:lang="en-US">Managing your Life the Agile Way in 2009</title>
    <summary type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>We’re just a few days away from 2009 and it’s that time when we all start looking back at the last year and set goals for the coming new year. I felt like sharing some of my thoughts on how I’m aiming to approach the new year.</p>


	<p>Historically, I’ve never been a huge fan of <a href="http://en.wikipedia.org/wiki/New_Year%27s_resolution">New Years Resolutions</a> because my attempts were always too big to successfully measure. The goals themselves weren’t poorly thought-out, it’s just that it’s really easy to make a list of personal targets, without putting a lot of emphasis on how you’re going to achieve them. The biggest trouble that I’ve had with goals is allocating enough mental energy for implementation planning. (if only I had someone to and wireframe my life…)</p>


	<p>Due to this, New Years Resolutions haven’t been a huge success for me. I’ve found it much too easy to pass the buck onto the usual suspects, which consist of: lack of time, energy, too much work, general life changes, health, etc.</p>


	<p>So, for 2009… I’m going to try something different by focusing on a set of best practices that I can use on a daily-basis. I suppose that my main goal is to not place too much emphasis on any specific targets and instead place the responsibility on myself to follow these best-practices and see what good (or bad) comes of it.</p>


	<p>By rephrasing my internal conversation from, “What did I achieve this last year?” to “Am I doing things the best that I can?” I am confident that the answer will usually be, “not likely.” I do believe that through this subtle change in context, I’ll be better apt to self-evaluate how (and why) I am doing the things that I do and refactor accordingly. If we’re not consistently Refactoring ourselves (as we do with our code), we’re going to retain a lot inefficiencies in our personal and work lives, which make it difficult for us to quickly respond to changes and opportunities.</p>


	<p>Our life (personal and work) is just another project that we manage. Much of methodologies that we spend learning about and adopting can easily be translated to these other areas of our lives.</p>


	<p>So as I brace myself for 2009, I find myself asking, <em><strong>How can I lead a more Agile life?</strong></em></p>


	<p>I’d love to hear how you’re adopting best-practices inspired by Agile methodologies in your life and I promise to share mine over the coming year.</p>


	<h3>Related Posts</h3>


	<ul>
	<li><a href="http://www.robbyonrails.com/articles/2006/04/21/agile-development-begins-within">Agile development begins within…</a></li>
		<li><a href="http://www.robbyonrails.com/articles/2006/04/26/agile-development-begins-within-continued">Agile development begins within… continued</a></li>
		<li><a href="http://www.robbyonrails.com/articles/2007/01/04/those-that-tend-the-store-need-dialogue">Those that Tend the Store need Dialogue</a></li>
	</ul></div>
    </summary>
    <content type="xhtml" xml:lang="en-US"><div xmlns="http://www.w3.org/1999/xhtml"><p>We’re just a few days away from 2009 and it’s that time when we all start looking back at the last year and set goals for the coming new year. I felt like sharing some of my thoughts on how I’m aiming to approach the new year.</p>


	<p>Historically, I’ve never been a huge fan of <a href="http://en.wikipedia.org/wiki/New_Year%27s_resolution">New Years Resolutions</a> because my attempts were always too big to successfully measure. The goals themselves weren’t poorly thought-out, it’s just that it’s really easy to make a list of personal targets, without putting a lot of emphasis on how you’re going to achieve them. The biggest trouble that I’ve had with goals is allocating enough mental energy for implementation planning. (if only I had someone to and wireframe my life…)</p>


	<p>Due to this, New Years Resolutions haven’t been a huge success for me. I’ve found it much too easy to pass the buck onto the usual suspects, which consist of: lack of time, energy, too much work, general life changes, health, etc.</p>


	<p>So, for 2009… I’m going to try something different by focusing on a set of best practices that I can use on a daily-basis. I suppose that my main goal is to not place too much emphasis on any specific targets and instead place the responsibility on myself to follow these best-practices and see what good (or bad) comes of it.</p>


	<p>By rephrasing my internal conversation from, “What did I achieve this last year?” to “Am I doing things the best that I can?” I am confident that the answer will usually be, “not likely.” I do believe that through this subtle change in context, I’ll be better apt to self-evaluate how (and why) I am doing the things that I do and refactor accordingly. If we’re not consistently Refactoring ourselves (as we do with our code), we’re going to retain a lot inefficiencies in our personal and work lives, which make it difficult for us to quickly respond to changes and opportunities.</p>


	<p>Our life (personal and work) is just another project that we manage. Much of methodologies that we spend learning about and adopting can easily be translated to these other areas of our lives.</p>


	<p>So as I brace myself for 2009, I find myself asking, <em><strong>How can I lead a more Agile life?</strong></em></p>


	<p>I’d love to hear how you’re adopting best-practices inspired by Agile methodologies in your life and I promise to share mine over the coming year.</p>


	<h3>Related Posts</h3>


	<ul>
	<li><a href="http://www.robbyonrails.com/articles/2006/04/21/agile-development-begins-within">Agile development begins within…</a></li>
		<li><a href="http://www.robbyonrails.com/articles/2006/04/26/agile-development-begins-within-continued">Agile development begins within… continued</a></li>
		<li><a href="http://www.robbyonrails.com/articles/2007/01/04/those-that-tend-the-store-need-dialogue">Those that Tend the Store need Dialogue</a></li>
	</ul><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/497244274" height="1" width="1" /></div></content>
    <updated>2008-12-28T21:31:57Z</updated>
    <published>2008-12-28T21:20:00Z</published>
    <category label="Off-Topic" scheme="http://www.robbyonrails.com/articles/category/off-topic" term="off-topic" />
    <category scheme="http://www.robbyonrails.com/articles/tag/agile" term="agile" />
    <category scheme="http://www.robbyonrails.com/articles/tag/personal" term="personal" />
    <category scheme="http://www.robbyonrails.com/articles/tag/life" term="life" />
    <category scheme="http://www.robbyonrails.com/articles/tag/lifehacks" term="lifehacks" />
    <category scheme="http://www.robbyonrails.com/articles/tag/people" term="people" />
    <category scheme="http://www.robbyonrails.com/articles/tag/newyears" term="newyears" />
    <category scheme="http://www.robbyonrails.com/articles/tag/resolutions" term="resolutions" />
    <category scheme="http://www.robbyonrails.com/articles/tag/goals" term="goals" />
    <author>
      <name>Robby Russell</name>
    </author>
    <source>
      <id>tag:www.robbyonrails.com,2005:Typo</id>
      <link href="http://www.robbyonrails.com/xml/atom10/tag/agile/feed.xml" rel="self" type="application/atom+xml" />
      <link href="http://www.robbyonrails.com/articles/tag/agile" rel="alternate" type="text/html" />
      <subtitle xml:lang="en-US">thoughts.sort_by{|t| t[:topic]}.collect</subtitle>
      <title xml:lang="en-US">Robby on Rails: Tag agile</title>
      <updated>2008-12-28T21:31:57Z</updated>
    </source>
  <feedburner:origLink>http://www.robbyonrails.com/articles/2008/12/28/managing-your-life-the-agile-way-in-2009</feedburner:origLink></entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5056996.post-6167344469188265315</id>
    <link href="http://www.blogger.com/feeds/5056996/posts/default/6167344469188265315" rel="edit" type="application/atom+xml" />
    <link href="http://www.blogger.com/feeds/5056996/posts/default/6167344469188265315" rel="self" type="application/atom+xml" />
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/494574684/remember-this-for-new-years-resolutions.html" rel="alternate" type="text/html" />
    <title>Remember This for New Years Resolutions: Good Work Habits</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">From a CNN article:<br /><blockquote><span style="font-style: italic;">We've all heard the conventional wisdom about good work habits. Many of us have attended time management classes, participated in workshops and have been advised to "work smarter, not harder."<br /><br /><br />Work habits that might seem less productive will make you more effective, say experts.<br /><br />Some ideas, however, appear at first glance to be unusual or even counterintuitive.</span></blockquote><br /><br /><a href="http://www.cnn.com/2008/LIVING/worklife/12/22/cb.7.surprising.work.habits/index.html">Goof off at work, read a book, ignore e-mail.</a> (Read the <a href="http://www.cnn.com/2008/LIVING/worklife/12/22/cb.7.surprising.work.habits/index.html">article</a>.)<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/494574684" height="1" width="1" /></div></content>
    <updated>2008-12-25T04:05:53Z</updated>
    <published>2008-12-25T04:00:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="personal effectiveness" />
    <category scheme="http://www.blogger.com/atom/ns#" term="management" />
    <author>
      <name>Esther Derby</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06729210899814816620</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5056996</id>
      <author>
        <name>Esther Derby</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06729210899814816620</uri>
      </author>
      <link href="http://www.blogger.com/feeds/5056996/posts/default" rel="self" type="application/atom+xml" />
      <link href="http://www.estherderby.com/weblog/blogger.html" rel="alternate" type="text/html" />
      <link href="http://www.blogger.com/feeds/5056996/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml" />
      <link href="http://www11.pair.com/estherd/weblog/RSS/blogger_rss.xml" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" />
      <subtitle>"Poor management can increase software costs more rapidly than any other factor." (Barry Boehm)</subtitle>
      <title>insights you can use</title>
      <updated>2009-01-05T22:57:22Z</updated>
    </source>
  <feedburner:origLink>http://www.estherderby.com/weblog/2008/12/remember-this-for-new-years-resolutions.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/138</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/493866862/138" rel="alternate" type="text/html" />
    <title>Interview on Video</title>
    <summary>I gave an interview at the STAR West 2008 conference about agile testing. They’ve just put it online. Here it is! Once again I give answers that are too long. I’ll never make it as soundbite artist.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I gave an interview at the STAR West 2008 conference about agile testing. They’ve just put it online. <a href="http://www.youtube.com/watch?v=bgRBoOOY3A4">Here it is!</a> Once again I give answers that are too long. I’ll never make it as soundbite artist.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/493866862" height="1" width="1" /></div></content>
    <updated>2008-12-24T07:52:40Z</updated>
    <category term="Software Testing and Quality" />
    <author>
      <name>james</name>
    </author>
    <source>
      <id>http://www.satisfice.com/blog</id>
      <link href="http://www.satisfice.com/blog" rel="alternate" type="text/html" />
      <link href="http://blackbox.cs.fit.edu/blog/james/archives/categories/software_testing_and_quality/index.xml" rel="self" type="application/rss+xml" />
      <subtitle>The Consulting Software Tester</subtitle>
      <title>James Bach's Blog</title>
      <updated>2009-01-05T02:28:39Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/138</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://me.andering.com/?p=347</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/493270279/" rel="alternate" type="text/html" />
    <title>Refactoring in Paris</title>
    <summary>In other news today:
Emmanuel Gaillot just blogged about our upcoming French Refactoring Training.
January 28 and 29 at the office of Octo Technology in Paris. This training will be in French. We ran it together in-house (also in Paris) and it worked quite well  . The training was good fun, we did even more things [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In other news today:</p>
<p>Emmanuel Gaillot just <a href="http://blog.octo.com/index.php/2008/12/23/213-formation-excursion-dans-le-remaniement-continu-28-et-29-janvier-2009">blogged about our upcoming French Refactoring Training</a>.</p>
<p>January 28 and 29 at the office of Octo Technology in Paris. This training will be in French. We ran it together in-house (also in Paris) and it worked quite well <img alt=":)" class="wp-smiley" src="http://me.andering.com/wp-includes/images/smilies/icon_smile.gif" /> . The training was good fun, we did even more things dojo-style (including demos) than I normally would, and we made time for hands-on systems thinking. I think with the experiments we’ve done this year, that we’ve finally found a good way to do systems thinking with programmers. It seems to be a bit more intuitive for managers and coaches,  but presented in the right way, it turns out developers find it eXtremely valuable. Surprisingly (not <img alt=";)" class="wp-smiley" src="http://me.andering.com/wp-includes/images/smilies/icon_wink.gif" /> ) the topic the developers chose for their diagram was not entirely technical: how too much labour turnover was hindering their productivity and maintenance.</p>
<p>In other other news: the <a href="http://www.qwan.it/en/qwan-newsletter" target="_blank">QWAN newsletter</a> is out. It has some instruction on how to do your own <a href="http://www.satirworkshops.com/files/SatirTemperatureReading.pdf" target="_blank">Temperature Reading</a>, conference reports and the public courses agenda. Enjoy!</p>
<p>Now it is time to relax after a  busy and period. Maybe I’ll finally get around to posting photos from all the conferences we’ve been to since october…</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/493270279" height="1" width="1" /></div></content>
    <updated>2008-12-23T15:30:20Z</updated>
    <category term="people &amp;#038; systems" />
    <category term="agile" />
    <category term="course" />
    <category term="refactoring" />
    <category term="systems-thinking" />
    <author>
      <name>Willem van den Ende</name>
    </author>
    <source>
      <id>http://me.andering.com</id>
      <link href="http://me.andering.com/feed/" rel="self" type="application/atom+xml" />
      <link href="http://me.andering.com" rel="alternate" type="text/html" />
      <subtitle>Flowing slowly through the lowlands</subtitle>
      <title>me.andering</title>
      <updated>2008-12-23T15:30:20Z</updated>
    </source>
  <feedburner:origLink>http://me.andering.com/2008/12/23/refactoring-in-paris/</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://blog.gdinwiddie.com/?p=98</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/492788032/" rel="alternate" type="text/html" />
    <link href="http://blog.gdinwiddie.com/2008/12/22/should-it-really-take-that-long/#comments" rel="replies" type="text/html" />
    <link href="http://blog.gdinwiddie.com/2008/12/22/should-it-really-take-that-long/feed/atom/" rel="replies" type="application/atom+xml" />
    <title xml:lang="en">Should it really take that long?</title>
    <summary xml:lang="en">In my previous post, Working Hard, or Hardly Working?, I mentioned how it was possible to tell the wheat from the chaff by observing.  Alistair Cockburn rightly suggested that the manner of observing that I suggested was more appropriate for a team leader than for upper management.  Yes, he’s quite right about that.  He had [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>In my previous post, <a href="http://blog.gdinwiddie.com/2008/12/21/working-hard-or-hardly-working/"><em>Working Hard, or Hardly Working?</em></a>, I mentioned how it was possible to tell the wheat from the chaff by observing.  Alistair Cockburn rightly suggested that the manner of observing that I suggested was more appropriate for a team leader than for upper management.  Yes, he’s quite right about that.  He had in mind a Vice President who, when told that the development team had estimated something would take two weeks, asked him,</p>
<blockquote><p>How can I tell if it really should take that long, or they’re just padding to make their life easier?</p></blockquote>
<p>How would you answer that question?<span id="more-98" />Alistair says he had no answer.  I have a question.  What does “<em>should</em>” mean?</p>
<p>At one level, it’s a tautology.  If they’ve already done the work and it took two weeks, then “<a href="http://blog.gdinwiddie.com/2007/03/03/bearing-in-mind-that-there-are-many-factors-of-which-i-am-unaware/">bearing in mind that there are many factors of which I am unaware</a>, <span style="text-decoration: none;"><em>since the event has already occurred</em>, it is obvious that” this work <em>should</em> have taken two weeks.</span></p>
<p>Or it’s a self-fulfilling prophecy.  For these developers in this situation, it’s going to take at least two weeks if they’ve decided that.</p>
<p>Now it could be they’ve estimated poorly, and they’ll deliver it in one week to everyone’s surprise.  So it shouldn’t take that long and it didn’t.  If there’s padding, it’s probably to prevent disappointment rather than to avoid work, else they’d have stretched the work out for the full two weeks.  You’re likely to see this behavior where estimates are treated as commitments.  You’re also likely to see this when developers have become accustomed to such treatment elsewhere.</p>
<p>It could be that some other set of developers could easily do this work in one week, but the best that this set can do is two weeks.  Does that mean this set of developers <em>should</em> be able to do it in one week?  <em>Should</em> they have the experience with this sort of problem, with this language, or the skills to work faster?</p>
<p>It could be that these developers could do the work in one week if it weren’t for all the impediments in the environment.  Maybe the computers are old and slow and have too little memory.  Maybe there are delays waiting for information or confirmation or projects on which this one depends.  The developers <em>should</em> be able to do it in one week, but due to circumstances beyond their control they can’t.  <em>Should</em> the circumstances be different?</p>
<p>It could be that these developers could do the work in one week, but they think it implies other work that isn’t part of what’s being asked of them.  If it were discovered that they thought this extra work were part of the request, then they could be disabused of this notion and complete the work in one week.  But it’s not discovered, so the developers do some unwanted speculative work and it takes two weeks.  <em>Should</em> they have noticed and done it in one week by doing just what was wanted?</p>
<p>It could be the developers feel that they’re treated poorly.  They feel demoralized and it’s hard to get out of bed to come to work, much less to focus on the work they have to do.  If they weren’t so depressed and disorganized, perhaps they could get it done in a week or less.  But everything seems so hopeless to them that it actually takes two weeks.  <em>Should</em> they be able to shake off their depression and get it done more quickly?</p>
<p>It could be the developers are lazy SOBs who are out to do as little work as possible while drawing their salary.  They take frequent coffee breaks where they talk about sports.  When at their desks, they spend hours playing Quake or surfing random websites.  <em>Should</em> they work harder on the company’s business when on the clock?</p>
<p>These are all quite different scenarios.  The world <em>“should</em>” seems to mean very different things in each of them.</p>
<p><em>Should</em> someone who has risen to the level of VP be about to tell the difference between these scenarios?  Well, of course.  But this use of “<em>should</em>” has as many meanings as the one concerning the developers.</p>
<p><em>Should</em> she have some comparable experience to use as a sanity check?  This would also be nice.  But maybe it’s a new industry.  And given all the possible situations listed above, how can she now if it’s comparable?</p>
<p><em>Should</em> she take the time to talk with each developer, one on one, to learn how they view their work and the company?  If the question is important to her, then I think this is the way to go.  Having these conversations can, if handled well, contribute to mutual trust.  And the very wording in the question indicates to me that in this situation, trust is not as strong as it might be.</p>
<p>But the direct benefit is insight.  Some of the questions in my head would be</p>
<ul>
<li>What is it about this job that makes it take two weeks?</li>
<li>How sure are you that it will take two weeks?  What are the chances it might take one week?  Or three weeks?</li>
<li>What are the unknowns about this work?</li>
<li>What similar work has been done by this team?  How long did that take?  How does this work differ?</li>
</ul>
<p>I might not ask these questions directly, but instead talk with each developer until the answers seemed clear to me (or that the answer would never be clear).  If Ms. VP hasn’t practiced this, she might benefit from something like the <a href="http://blog.gdinwiddie.com/2008/11/09/aye-2008-unearthing-the-data-you-need/"><em>Unearthing the Data You Need</em></a> session I attended at AYE 2008.</p>
<p>And, if it really is just a case of a <a href="http://www.worldwidewords.org/qa/qa-gol2.htm" target="_blank" title="the origin of the term goldbricking">goldbricking</a> team, then it’s unlikely that <em>all</em> of them are equally skilled at <a href="http://www.word-detective.com/021605.html#pull%20wool%20hoodwink" target="_blank" title="origin of pulling the wool over one's eyes">pulling the wool</a> over our VP’s eyes.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/492788032" height="1" width="1" /></div></content>
    <updated>2008-12-23T02:20:11Z</updated>
    <published>2008-12-23T02:20:11Z</published>
    <category scheme="http://blog.gdinwiddie.com" term="Individuals and Interactions" />
    <author>
      <name>George Dinwiddie</name>
      <uri>http://blog.gdinwiddie.com/</uri>
    </author>
    <source>
      <id>http://blog.gdinwiddie.com/feed/atom/</id>
      <link href="http://blog.gdinwiddie.com" rel="alternate" type="text/html" />
      <link href="http://blog.gdinwiddie.com/feed/atom/" rel="self" type="application/atom+xml" />
      <subtitle xml:lang="en">Effective software development</subtitle>
      <title xml:lang="en">George Dinwiddie's blog</title>
      <updated>2008-12-23T02:20:11Z</updated>
    </source>
  <feedburner:origLink>http://blog.gdinwiddie.com/2008/12/22/should-it-really-take-that-long/</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/DslExceptionalism.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/492604978/DslExceptionalism.html" rel="alternate" type="text/html" />
    <title>DslExceptionalism</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>One of the tricky things about writing about external
  <a href="http://martinfowler.com/bliki/DomainSpecificLanguage.html">DomainSpecificLanguages</a> is that I'm walking through
  territory already heavily tracked by the programming languages
  community. Programming language research has always been a popular
  area of academic activity, and I'm the first to admit that I don't
  have anywhere near the depth in this topic as many people who've
  been studying in this space for years. So inevitably the question
  comes up as to why such a noob as me thinks he can write a book in
  this well trodden ground?</p><p>The primary reason is that nobody else has written a
  practitioner-oriented book on DSLs. I like topics like this that are
  well-trodden but not well written about. However as I've spent time
  walking these pathways I think there's another factor in the
  works.</p><p>There's a lot of work on programming languages out there, but
  almost all of it has concentrated on general purpose programming
  languages. DSLs are seen as a small and simple subset of general
  purpose programming thinking. As a result people think that what's
  true for general purpose languages is also true for DSLs (with the
  implication that DSLs are too small to be worth thinking much about).</p><p>I'm increasingly of the opposite conclusion. The rules for DSLs
  are different to the rules for general purpose languages - and this
  applies on multiple dimensions.</p><p>The first is in language design. I was talking with a language
  designer who I have a lot of respect for, and he stressed that a key
  feature of languages was the ability to define new
  abstractions. With DSLs I don't think this is the case. In most DSLs
  the DSL chooses the abstraction you work with, if you want different
  abstractions you use a different DSL (or maybe extend the DSL you're
  using). Sometimes there's a role for new abstractions, but those
  cases are the minority and when they do happen the abstractions are
  limited. Indeed I think the lack of ability to define new
  abstractions is one of the things that distinguishes DSLs from
  general purpose languages.</p><p>Differences also occur in the approach that you use for
   implementing the tools that go with languages. A constant issue for
   general purpose languages is dealing with large inputs, since
   realistic programs will have thousands or millions of lines of
   code. As a result many tools and techniques for using them involve
   aspects that make parsing harder to follow but support these large
   inputs. DSL scripts tend to be much smaller, so these trade-offs
   work differently.</p><p>In my work I've put a lot of emphasis on using a DSL to populate
   a <a href="http://martinfowler.com/dslwip/SemanticModel.html">Semantic
   Model</a>, using that model as the basis for any further
   processing: interpretation, visualization, or code generation. Lots
   of language writing I've seen tend to emphasize code generation,
   often generating code directly from the grammar file. Intermediate
   representations are not talked about much, and when they do appear
   they more in the form of an Abstract Syntax Tree rather than a
   semantic model. Serious compilers do use intermediate
   representations, such as program dependence graphs, but these are
   seen (rightly) as advanced topics. I think Semantic Models are a
   really valuable tool in simplifying the use of a DSL, allowing you
   to separate the parsing from the semantics.</p><p>Since DSLs are less expressive, you can
  design a simpler language for them.  Much of the language community's writing
  talks about how to handle the difficulties of a complex general
  purpose language, while the challenge of DSLS is to write a language
  that is readable to the intended audience (which may well include
  non-programmers) and also should be easy to parse (to simplify the
  maintenance of the parser). Not just does this lead to different
  decisions on the design of a language, it also means that you only
  really need a subset of the features of parser generators.</p><p>A consequence of this is DSLs are written with the expectation
  that each individual DSL won't solve the whole problem at hand and
  often you need to combine DSLs. Traditional language thinking hasn't
  explored the idea of composable languages that much, but I think
  this topic is very important as DSLs develop. Thinking about
  composable languages should have significant effects on both language
  design and language tools.</p><p>So I'm increasingly coming around to the thinking that DSLs
  inspire some seriously different ways of thinking about programming
  languages. It may also lead to developing different kinds of parsing
  tools that are more suited for DSL work - usually tools that are
  simpler. I hope the increased attention that DSLs are getting these
  days will lead to more people treating DSLs as first class subjects
  of study rather than a simplistic form of general purpose languages. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/492604978" height="1" width="1" /></div></content>
    <updated>2008-12-22T21:52:00Z</updated>
    <category term="dsl" />
    <source>
      <id>http://martinfowler.com/bliki/bliki.atom</id>
      <author>
        <name>Martin Fowler</name>
        <email>fowler@acm.org</email>
        <uri>http://martinfowler.com</uri>
      </author>
      <link href="http://martinfowler.com/bliki/bliki.atom" rel="self" type="application/atom+xml" />
      <link href="http://martinfowler.com/bliki" rel="alternate" type="text/html" />
      <subtitle>A cross between a blog and wiki of my partly-formed ideas on software development</subtitle>
      <title>Martin Fowler's Bliki</title>
      <updated>2008-12-22T21:52:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/DslExceptionalism.html</feedburner:origLink></entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5056996.post-8943548595775407457</id>
    <link href="http://www.blogger.com/feeds/5056996/posts/default/8943548595775407457" rel="edit" type="application/atom+xml" />
    <link href="http://www.blogger.com/feeds/5056996/posts/default/8943548595775407457" rel="self" type="application/atom+xml" />
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/492604979/working-hard-or-hardly-working.html" rel="alternate" type="text/html" />
    <title>Working Hard or Hardly Working</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://blog.gdinwiddie.com/">George Dinwiddie</a> is <a href="http://blog.gdinwiddie.com/2008/12/21/working-hard-or-hardly-working/#more-88">considering a discussion about velocity as a performance measure and how to tell whether people are working hard</a> that started on the scrumdevelopment yahoo list.<br /><br />Here's the original question, posted by <a href="http://scruminfo.com/wp/about-me/">Graeme Matthew</a>. <br /><br /><blockquote><span style="font-style: italic;">The unknown in all of this is that if a team have a velocity of 6 how do you tell if they should have a velocity of 8 i.e. they are underperforming. It gets complex. If they have a velocity of 16 are they doing well or have they estimated at the higher scale of story points.</span></blockquote><br /><br />0. Using velocity as a performance measure is wrong, wrong, wrong.  Velocity just is, and you work to improve it over time by improving engineering practices, the work process, working relationships, and skills.<br /><br />The assumption behind the questions is that people might be slacking off, not working as hard as they can.<br /><br />I don’t want people to work as hard as they can. I want them to work hard, but at a pace where they aren’t making themselves more error prone, and aren’t exhausting themselves.  <br /><br />[aside]<br />If the team seems to lack a sense of urgency, it might be because they are missing information about why the project is urgent. The fact that a senior manager made a bet on the golf course doesn't make the project urgent. That some sales person promised the moon and stars without any knowledge of the development effort is not urgent--for the development team.  Making a once-a-year sales window...that's urgent.)<br />[/aside]<br /><br />Some managers seem to want to know who is working hard, and how isn't.<br /><br />My experience is that some people have to work harder to accomplish the same results that another person can accomplish easily. Some people look like the are working mighty hard, but are not accomplishing much.<br /><br />Thinking that we have to have everyone working equally hard doesn’t make sense to me…Why would you want to punish the person who gets his work done quickly by piling more on?<br /><br />Further, there’s almost always someone how isn’t the best programmer, but things just go better when he/she is on the team. They may not look like they are working hard, but take them off the team, and everyone's performance goes down.<br /><br />Perhaps some different questions:<br /><br />Are the conditions present for every member of the team to do his or her best? <br /><br />Have the managers put together people with the mix of skills and expertise needed to do the work the company needs done?<br /><br />Are individuals performing to the expectations of their pay level?<br /><br />If there’s a perception that people are not working hard, what might the reasons for that be? (Systems, policies, procedures that dis-incent performance; work they don’t care for; disenchantment with direct managers?)<br /><br />As a manager, I'm more interested in who is struggling and/or who doesn't have the skills or interest in doing the job they've been hired to do.  In a manager-led team, that pretty easy to notice if you meeting with people on a regular basis.  <br /><br />On a self-organizing team, it's harder, but not impossible.  First, there has to be enough trust to support transparency. When there's visibility into the work, then a manager can see where things are binding up, and investigate the source of the problem.  The source might be a person, but might also be the process or some other factor.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/492604979" height="1" width="1" /></div></content>
    <updated>2008-12-22T21:26:14Z</updated>
    <published>2008-12-22T19:56:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="agile" />
    <category scheme="http://www.blogger.com/atom/ns#" term="management" />
    <author>
      <name>Esther Derby</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/06729210899814816620</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5056996</id>
      <author>
        <name>Esther Derby</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/06729210899814816620</uri>
      </author>
      <link href="http://www.blogger.com/feeds/5056996/posts/default" rel="self" type="application/atom+xml" />
      <link href="http://www.estherderby.com/weblog/blogger.html" rel="alternate" type="text/html" />
      <link href="http://www.blogger.com/feeds/5056996/posts/default?start-index=26&amp;max-results=25" rel="next" type="application/atom+xml" />
      <link href="http://www11.pair.com/estherd/weblog/RSS/blogger_rss.xml" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" />
      <subtitle>"Poor management can increase software costs more rapidly than any other factor." (Barry Boehm)</subtitle>
      <title>insights you can use</title>
      <updated>2009-01-05T22:57:22Z</updated>
    </source>
  <feedburner:origLink>http://www.estherderby.com/weblog/2008/12/working-hard-or-hardly-working.html</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.codeodor.com/index.cfm/2008/12/22/A-Whirlwind-Tour-Through-Rails-and-ActiveRecord/2679</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/492222031/2679" rel="alternate" type="text/html" />
    <title xml:lang="en-US">A Whirlwind Tour Through Rails and ActiveRecord</title>
    <summary xml:lang="en-US" type="html">This post might be better titled, "How (and how not) to help yourself when 
Google doesn't have the answer: A whirlwind tour through Rails' source" if only I wasn't 
too lazy to change the max length of the database field for titles to my blog entries.
 
Google sometimes seems as if it has the sum of all human knowledge within the confines of its search index. 
It might even be the case that it does. Even if you prefer to think that's true, 
there may come a time when humanity does not yet have the knowledge you are seeking.
 
How ...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/492222031" height="1" width="1"/&gt;</summary>
    <updated>2008-12-22T12:43:06Z</updated>
    <category term="Rails" />
    <category term="Programming" />
    <category term="Web Development" />
    <author>
      <name>Sammy Larbi</name>
    </author>
    <source>
      <id>http://www.codeodor.com/</id>
      <link href="http://www.codeodor.com/" rel="alternate" type="text/html" />
      <link href="http://www.codeodor.com/rss/" rel="self" type="application/rss+xml" />
      <subtitle xml:lang="en-US">Posts about Ruby, Java, Coldfusion, OOAD, TDD, DSLs, and more (some not TLAs!)...</subtitle>
      <title xml:lang="en-US">My Secret Life as a Spaghetti Coder</title>
      <updated>2009-01-06T01:16:07Z</updated>
    </source>
  <feedburner:origLink>http://www.codeodor.com/index.cfm/2008/12/22/A-Whirlwind-Tour-Through-Rails-and-ActiveRecord/2679</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://blog.gdinwiddie.com/?p=88</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/491203207/" rel="alternate" type="text/html" />
    <link href="http://blog.gdinwiddie.com/2008/12/21/working-hard-or-hardly-working/#comments" rel="replies" type="text/html" />
    <link href="http://blog.gdinwiddie.com/2008/12/21/working-hard-or-hardly-working/feed/atom/" rel="replies" type="application/atom+xml" />
    <title xml:lang="en">Working Hard, or Hardly Working?</title>
    <summary xml:lang="en">I first heard this joke way back when, at my first real job–I was a TV repairman when I was 14.  It may generate a polite chuckle when asked between peers, but it’s serious business when the boss asks the worker.  It’s also been a topic of conversation over on the Scrumdevelopment yahoogroup, where Graeme [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>I first heard this joke way back when, at my first real job–I was a TV repairman when I was 14.  It may generate a polite chuckle when asked between peers, but it’s serious business when the boss asks the worker.  It’s also been a topic of conversation over on the <a href="http://groups.yahoo.com/group/scrumdevelopment/message/35308?l=1" target="_blank" title="read the thread there">Scrumdevelopment yahoogroup</a>, where <a href="http://scruminfo.com/wp/about-me/" target="_blank" title="about Graeme Matthew">Graeme Matthew</a> described the difficulty of determining this using velocity.</p>
<blockquote><p>The unknown in all of this is that if a team have a velocity of 6 how do you tell if they should have a velocity of 8 i.e. they are underperforming. It gets complex. If they have a velocity of 16 are they doing well or have they estimated at the higher scale of story points.</p></blockquote>
<p>I agree with Graeme that this is one of the difficulties with using velocity to measure performance.  I agree with <a href="http://alistair.cockburn.us/Programmer+productivity" target="_blank" title="Alistair's collection of threads on Programmer Productivity">Alistair Cockburn</a> when he says</p>
<blockquote><p>There is NO good measure of “programmer productivity”.</p></blockquote>
<p>earlier in the same thread.  Yet when you work with people, you generally know who’s working hard and who isn’t.  It’s an interesting conundrum, isn’t it?<span id="more-88" /></p>
<p>Alistair challenged me on this statement, asking</p>
<blockquote><p>I guess I’m interested in the “who” in that sentence — what are your presuppositions about the “who” who is working with them. My son can’t tell, so there’s at least one constraint you are assuming.</p></blockquote>
<p>and I came up with this list:</p>
<ol>
<li> Being close to the observed subject for enough time.</li>
<li>The time when the subject is observed is time when the subject is doing the desired work, rather than time when the subject is engaged in creating a good impression on the observer.</li>
<li>The observer knows enough about the work to be able to tell good work from bad.</li>
<li>The observer knows enough about the work to be able to tell slow work or hasty work from an appropriate speed.</li>
</ol>
<p>Is this list sufficient?  Or have I missed something?</p>
<p>Alistair points out that this list is fairly easy for a technical lead, but more difficult for managers.  A manager has less time to spend working with the person being evaluated, and generally has moved away from technical competence, if he indeed came from that background.</p>
<p>The fact is, though, that there are managers who seem to keep their bogosity meters working pretty well, even though they’re no longer technically competent to do the work.  And there are others who immediately, or even sooner, buy every lie and distrust every truth.  Even though the vast majority are somewhere in between, it gives evidence that there is probably something that a manager can choose to do that will help them continue to make reasonably good value judgements.</p>
<p>I cannot articulate exactly how to determine who is wheat and who is chaff by observation, but I gave a list of some conditions I thought would be sufficient to enable one to do so.  It’s almost certainly not the only set of sufficient conditions, because there exist very good managers who manage to make sufficiently accurate observation apparently without meeting the conditions I listed.</p>
<p>What advice might we give these managers?  For the project manager, I would suggest reading <a href="http://jrothman.com/" target="_blank">Johanna Rothman</a>’s and <a href="http://www.estherderby.com/" target="_blank">Esther Derby</a>’s excellent book, <a href="http://www.amazon.com/exec/obidos/ISBN=0976694026/alberg30-20" target="_blank" title="&quot;Behind Closed Doors&quot; at Amazon"><em>Behind Closed Doors</em></a>.  What advice would you give?  How about for the upper manager, several levels removed from the software developer?</p>
<p>In any event, my point was that the determination of who’s working hard and who’s hardly working <em>can</em> be made without those troublesome productivity metrics.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/491203207" height="1" width="1" /></div></content>
    <updated>2008-12-21T06:33:55Z</updated>
    <published>2008-12-21T06:29:23Z</published>
    <category scheme="http://blog.gdinwiddie.com" term="Individuals and Interactions" />
    <author>
      <name>George Dinwiddie</name>
      <uri>http://blog.gdinwiddie.com/</uri>
    </author>
    <source>
      <id>http://blog.gdinwiddie.com/feed/atom/</id>
      <link href="http://blog.gdinwiddie.com" rel="alternate" type="text/html" />
      <link href="http://blog.gdinwiddie.com/feed/atom/" rel="self" type="application/atom+xml" />
      <subtitle xml:lang="en">Effective software development</subtitle>
      <title xml:lang="en">George Dinwiddie's blog</title>
      <updated>2008-12-23T02:20:11Z</updated>
    </source>
  <feedburner:origLink>http://blog.gdinwiddie.com/2008/12/21/working-hard-or-hardly-working/</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-60222336</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/489884362/top-ten-of-2008.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/12/top-ten-of-2008.html" rel="replies" type="text/html" />
    <title>Top Ten of 2008</title>
    <summary>Just for some fun I thought I would toss together a couple of top ten lists for 2008 (hey it works for Letterman, why not me?). There are three lists here: Top Ten Posts (my picks), Top ten items I...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><p>Just for some fun I thought I would toss together a couple of top ten lists for 2008 (hey it works for Letterman, why not me?). There are three lists here: Top Ten Posts (my picks), Top ten items I wrote for InfoQ and Top Ten by Traffic.</p> <h3>My Picks </h3> <p>in chronological order</p> <ul>
 <li><a href="http://www.notesfromatooluser.com/2008/01/tools-tools-too.html" target="_blank">Tools, Tools, Tools</a> As software developers we have this innate belief that another tool will solve all our  problem<a href="http://www.notesfromatooluser.com/WindowsLiveWriter/scrum-project-tracking-whiteboard.jpg"><img align="right" alt="scrum-project-tracking-whiteboard" border="0" height="180" src="http://www.notesfromatooluser.com/WindowsLiveWriter/scrum-project-tracking-whiteboard_thumb.jpg" width="240" /></a>s. To that end many agile practitioners search for a tool to track their projects for them.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/06/minimally-agile.html" target="_blank">Minimally Agile</a> What is the minimum it takes to be Agile?</li>
 <li><a href="http://www.notesfromatooluser.com/2008/06/agilescrum-smells.html" target="_blank">Agile/Scrum Smells</a> an initial catalog of common things that go wrong on Agile projects. It needs your help to make it better.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/07/minimalist-coding-style.html" target="_blank">Minimalist Coding Style</a> when I sit down with you to pair, I'm likely to make some comments about your code - now you know what is going on my brain.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/08/coaching-self-organizing-teams.html" target="_blank">Coaching Self Organizing Teams</a> - one of the best sessions I attended at Agile 2008</li>
 <li><a href="http://www.notesfromatooluser.com/2008/10/tdd-randori-session.html" target="_blank">TDD Coding Dojo (Randori Format)</a> our first attempt at a coding Dojo.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/10/advantages-of-tdd.html" target="_blank">Advantages of TDD</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/10/tdd-randori-workshop.html" target="_blank">TDD Coding Dojo</a> (Randori Format) Round II - where we apply the lessons applied the first time.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/11/scrum-case-studies.html" target="_blank">Scrum Case Studies</a> - given the frequent requests I hear for Scrum Case Studies I gathered a bunch up.</li>
 <li><a href="http://www.notesfromatooluser.com/2008/11/misconceptions-with-test-driven-development.html" target="_blank">Misconceptions with Test Driven Development</a> - sensing a theme? I hear a lot of objections saying TDD can't work in XXX case or it won't scale.</li>
</ul>
 <h3>InfoQ</h3> <p>In a random order</p> <ul>
 <li><a href="http://www.infoq.com/news/2008/12/scrum-master-product-owner" target="_blank">Can Product Owner and Scrum Master be Combined?</a></li>
 <li><a href="http://www.infoq.com/news/2008/11/scrum-certification-test" target="_blank">Scrum Certification Test</a></li>
 <li><a href="http://www.infoq.com/news/2008/10/kanban_agile" target="_blank">Kanban as Alternative Agile Implementation</a></li>
 <li><a href="http://www.infoq.com/news/2008/07/rewards-improve" target="_blank">Rewards to Improve Team Habits?</a></li>
 <li><a href="http://www.infoq.com/news/2008/10/performance_review" target="_blank">Performance Reviews Banished</a></li>
 <li><a href="http://www.infoq.com/news/2008/09/servant_leadership" target="_blank">Questioning Servant Leadership</a></li>
 <li><a href="http://www.infoq.com/news/2008/11/colocation-transition" target="_blank">Co-location Transition, Tips and Concerns</a></li>
 <li><a href="http://www.infoq.com/news/2008/10/qualities_good_test" target="_blank">What are the Qualities of a Good Test?</a></li>
 <li><a href="http://www.infoq.com/news/2008/03/well_formed_teams" target="_blank">Well Formed Teams: Helping Teams Thrive, not just Survive</a></li>
 <li><a href="http://www.infoq.com/news/2008/08/agile_impediments" target="_blank">Touchy Feely Impediments to Agile Adoption</a></li>
</ul>
 <h3>Google Analytics Picks</h3> <p>These prove that the world cares more about photography and vista woes than Agile Software Development. Obviously a list like this will favour older posts.</p> <ol>
 <li><a href="http://www.notesfromatooluser.com/2007/02/aperture_vs_lig.html" target="_blank">Aperture vs. Lightroom - best comparisons</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/06/agilescrum-smells.html" target="_blank">Agile/Scrum Smells</a></li>
 <li><a href="http://www.notesfromatooluser.com/2007/10/nikon-d3-vs-d30.html" target="_blank">Nikon D3 vs D300</a></li>
 <li><a href="http://www.notesfromatooluser.com/2007/04/driver_woes_on_.html" target="_blank">Driver woes on Vista? Sonic Solutions DLA problem solved</a></li>
 <li><a href="http://www.notesfromatooluser.com/2006/11/scrum_in_a_nuts.html" target="_blank">Scrum in a Nutshell or 5 minutes to learn scrum</a> BTW the presentation here is a little dated, it needs a good rewrite based on what I'm learning about changing brains.</li>
 <li><a href="http://www.notesfromatooluser.com/2007/06/customer_retent.html" target="_blank">Customer Retention Department - Vonage Customer Service Sucks</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/11/scrum-case-studies.html" target="_blank">Scrum Case Studies</a></li>
 <li><a href="http://www.notesfromatooluser.com/2007/03/lightroom_tip_h.html" target="_blank">Lightroom Tip: How to Successfully Import your Photoshop Elements Catalog</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/07/minimalist-coding-style.html" target="_blank">Minimalist Coding Style</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/11/writing-clean-testable-code.html" target="_blank">Writing Clean Testable Code</a></li>
 <li><a href="http://www.notesfromatooluser.com/2008/08/multiple-returns-from-a-single-method.html" target="_blank">Multiple Returns from a Single Method</a></li>
</ol>
 <p>Because 11 is better than 10.</p> <p>Finally just for pure ego's sake some stats for the year:</p> <ul>
 <li>70,000+ page views this year</li>
 <li>42,000+ visitors with half the visitors from three countries: US, UK and Canada</li>
 <li>1250+ readers (according to feedburner and that doesn't the readers who found me through Agile Planet), up from ~450 on Jan 1.</li>
</ul>
 <p>Thanks for reading in 2008.</p> <p>If you enjoyed this post, <a href="http://www.notesfromatooluser.com/2006/01/get_notes_from_.html">subscribe</a> now to get free updates.</p>
<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=qBq8uk"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=qBq8uk" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/489859261" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/489884362" height="1" width="1" /></div></content>
    <updated>2008-12-19T17:35:48Z</updated>
    <published>2008-12-19T17:29:58Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/12/top-ten-of-2008.html</feedburner:origLink>
    <author>
      <name>Mark Levison</name>
    </author>
    <source>
      <id>tag:typepad.com,2003:weblog-502306</id>
      <link href="http://www.notesfromatooluser.com/" rel="alternate" type="text/html" />
      <link href="http://feeds.feedburner.com/NotesFromAToolUser" rel="self" type="application/atom+xml" />
      <subtitle>Thoughts about photography, scrum, agile software development, reading, food, wine and the world around us. By Mark Levison, Located in Ottawa, Canada</subtitle>
      <title>Notes from a Tool User</title>
      <updated>2008-12-19T17:29:58Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/489859261/top-ten-of-2008.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-8882974.post-970985092593578886</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/489851266/simons-voice.html" rel="alternate" type="text/html" />
    <title>Simon's voice</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">My old friend Simon Voice at <a href="http://www.connectionsrecruit.co.uk">Connections Recruitment</a> now has <a href="http://theagilevoice.co.uk/">a voice of his own</a>.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/489851266" height="1" width="1" /></div></summary>
    <updated>2008-12-19T16:49:51Z</updated><feedburner:origLink>http://www.think-box.co.uk/blog/2008/12/simons-voice.html</feedburner:origLink>
    <author>
      <name>Simon Baker</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>http://www.think-box.co.uk/blog/</id>
      <logo>http://creativecommons.org/images/public/somerights20.gif</logo>
      <author>
        <name>Simon Baker</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://www.think-box.co.uk/blog/" rel="alternate" type="text/html" />
      <link href="http://creativecommons.org/licenses/by/2.0/" rel="license" />
      <link href="http://feeds.feedburner.com/AgileInAction" rel="self" type="application/rss+xml" />
      <title>AGILE IN ACTION</title>
      <updated>2009-01-04T19:16:49Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/AgileInAction/~3/489817958/simons-voice.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://me.andering.com/?p=336</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/489750680/" rel="alternate" type="text/html" />
    <title>A QWAN year :)</title>
    <summary>I wrote a teaser post about iterative and incremental rebranding of eXperience Agile in September… It’s been four months and almost as many newsletters since then  . So time to de-tease the blog…
Marc suggested to do part of the upcoming newsletter as a Temperature Reading, so besides getting some information, our readers also  [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I wrote a teaser post about<a href="http://me.andering.com/2008/09/12/iterative-and-incremental-rebranding/" title="Quality Without A Name"> iterative and incremental rebranding</a> of eXperience Agile in September… It’s been four months and almost as many newsletters since then <img alt=":)" class="wp-smiley" src="http://me.andering.com/wp-includes/images/smilies/icon_smile.gif" /> . So time to de-tease the blog…</p>
<p>Marc suggested to do part of the upcoming newsletter as a <a href="http://www.satirworkshops.com/files/SatirTemperatureReading.pdf" target="_blank">Temperature Reading</a>, so besides getting some information, our readers also  learn a technique, and it helps us structuring our  own reflection over the past year. It’s been about a year since Marc, Rob and yours truly sat together after <a href="http://www.xpday.org" target="_blank">xp days london</a> to discuss closer collaboration with courses and coaching (but still as loosely coupled as possible, because we like our independence).</p>
<p>A <a href="http://www.satirworkshops.com/files/SatirTemperatureReading.pdf" target="_blank">Temperature Reading</a> has five questions, the order of which you can vary, depending on the <a href="http://www.satirworkshops.com/en/congruent-action" target="_blank">context</a> (see <a href="http://www.satirworkshops.com/files/SatirTemperatureReading.pdf" target="_blank">Temperature Reading</a> for  explanation and the default order, I’m going to do something different here).</p>
<h3>1 New Information</h3>
<p>We proudly presented <a href="http://www.qwan.it" title="Quality Without A Name">QWAN</a> = <a href="http://www.qwan.it" title="QWAN">Quality Without A Name<br />
</a></p>
<p><a href="http://www.qwan.it"><img alt="Talk to me - it might help" class="aligncenter size-full wp-image-337" height="332" src="http://me.andering.com/wp-content/uploads/2008/12/qwan_duck_450.jpg" title="Talk to me - it might help" width="450" /></a></p>
<p>We started handing out these rubber ducks at CITCON Amsterdam, for those cases when we are not around to pair (program, brainstorm, reflect, be innovative) with.  Talking out loud helps, and ‘rubber ducking’ is a well known technique for this (e.g. <a href="http://headrush.typepad.com/creating_passionate_users/" target="_blank">Kathy Sierra</a> writes that <a href="http://headrush.typepad.com/creating_passionate_users/2005/01/rubberducking_a.html">talking to pets works even better</a>. We came across it the first time in <a href="http://www.pragprog.com/the-pragmatic-programmer" target="_blank">the Pragmatic Programmer</a> ). We chose QWAN as a name, because we are still inspired by  Christopher Alexander’s  early work on patterns (Timeless Way Of Building) most notably. QWAN is a label for stuff done by Rob Westgeest, <a href="http://blog.piecemealgrowth.net" target="_blank">Marc Evers</a> and yours truly, often in co-operation with others.</p>
<p>QWAN co-created a bunch of new courses and workshops in 2008: <a href="http://www.experienceagile.eu/en/refactoring" target="_blank">eXperience Refactoring</a> (also with Octos’ Emmanuel Gaillot), <a href="http://www.experienceagile.eu/en/utm" target="_blank">Unit Testing Masterclass</a>, responsibility driven design with mock objects, dirty jobs (with Tjakko Kleinhuis), pimp my retrospective (with Topic’s Nicole Belilos), political games (with Emmanuel Gaillot),  story testing with Rspec, and a revamped rightsizing your unit tests (and then some that I forgot. This collaboration seems productive, many more than last year it seems. We  supported conferences in one form or another, e.g. by sponsoring, as co-organizers or ‘just’ running a session: CITCON Amsterdam, several Agile Opens, XP Days Benelux and London, ESSAP summerschool, Agile2009, AgileHolland.</p>
<h3>2 Appreciations</h3>
<p>We’d like to thank everyone who participated in our courses, conferences and workshops. Your enthusiasm and feedback helps us to improve and, not least, have fun in our jobs. Everybody who provided encouraging feedback when we published our brochure earlier this year. Especially <a href="http://www.moebius.nl" target="_blank">Nynke Fokma</a>, Becky Winant and other keys for giving detailed suggestions for improvement. We’ve had several great customers (you know who you are), who created amazing conditions for us to focus on our work. Thank you!</p>
<h3>3 Complaints with recommendations</h3>
<p>We’ve made some progress in supporting ourselves with a Customer Relationship Management system. There are still some improvements that would make our work easier (usability) and that of our customers (sign-up and notification of new courses). (Marc wishes for a more sustainable pace. I’m careful what I wish for - a more sustainable pace would be nice, but I’m also quite happy with our productivity, passion and income at the moment)</p>
<h3>4 Puzzles</h3>
<p>We made progress in selling open enrollment courses, and are still puzzling on better ways of selling those (as well as making it easier on our customers to plan and buy participation). The <a href="http://www.satirworkshops.com/en/congruent-action" target="_blank">context</a> for courses seems to be shifting at the moment - working more effectively has value, but many large corporations have the knee-jerk reaction of putting all training on hold when sales slow. At these corporations people have little time for training when things are good - too busy, and no budget for training when things are bad. Luckily we also have customers with a long term perspective, who invest in training, education and hiring continuously.</p>
<h3>5 Hopes and wishes</h3>
<p>We hope the ‘interesting’ economy will mark the breakthrough of lean and agile ways of working in more places. We hope to carry out more integrated on-site coaching  …  With integrated we mean doing whatever works best in a given <a href="http://www.satirworkshops.com/en/congruent-action" target="_blank">context</a> : a whole systems approach using combinations of  lean, scrum, extreme programming with ’soft’ skills inspired by  Satir and systems thinking.</p>
<p>We wish you a healthy, fun and prosperous 2009, and look forward to collaborating with many of you.</p>
<p>(meta-appreciation: thanks to Marc for coming up with the idea for a <a href="http://www.satirworkshops.com/files/SatirTemperatureReading.pdf" target="_blank">Temperature Reading</a>, and giving feedback while listening to the items while writing them. Thanks to Marc &amp; Maroesja’s kids Maris, Marden and Marijn for providing the necessary distractions <img alt=":)" class="wp-smiley" src="http://me.andering.com/wp-includes/images/smilies/icon_smile.gif" /> )</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/489750680" height="1" width="1" /></div></content>
    <updated>2008-12-19T14:50:59Z</updated>
    <category term="people &amp;#038; systems" />
    <category term="agile" />
    <category term="branding" />
    <category term="business_value" />
    <category term="change" />
    <category term="passion" />
    <category term="people" />
    <category term="qwan" />
    <category term="retrospective" />
    <category term="satir" />
    <category term="systems-thinking" />
    <category term="tools" />
    <author>
      <name>Willem van den Ende</name>
    </author>
    <source>
      <id>http://me.andering.com</id>
      <link href="http://me.andering.com/feed/" rel="self" type="application/atom+xml" />
      <link href="http://me.andering.com" rel="alternate" type="text/html" />
      <subtitle>Flowing slowly through the lowlands</subtitle>
      <title>me.andering</title>
      <updated>2008-12-23T15:30:20Z</updated>
    </source>
  <feedburner:origLink>http://me.andering.com/2008/12/19/a-qwan-year/</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.m3p.co.uk/blog/2008/12/17/expressiveness-makes-the-difference/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/489089464/" rel="alternate" type="text/html" />
    <title xml:lang="en">Expressiveness makes the difference</title>
    <summary xml:lang="en">I was chatting with Keith about what the Software Craftsmanship event should really be about, in the context of a discussion of whether some of Jason Gorman’s list of guitar heroes are actually worth listening to (you still with me?) 1.

The next obscure piece of evidence is Maurice Murphy’s YouTube masterclass. For those who don’t [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>I was chatting with <a href="http://peripateticaxiom.blogspot.com/">Keith</a> about what the <a href="http://parlezuml.com/softwarecraftsmanship/">Software Craftsmanship</a> event should really be about, in the context of a discussion of whether some of Jason Gorman’s <a href="http://parlezuml.com/blog/?postid=592">list of guitar heroes</a> are actually worth listening to (you still with me?) <sup>1</sup>.</p>

<p>The next obscure piece of evidence is Maurice Murphy’s <a href="http://uk.youtube.com/watch?v=cINXfDwRj0c">YouTube masterclass</a>. For those who don’t know, Maurice Murphy has been Principal Trumpet in the London Symphony Orchestra for years (nerds without an interest in orchestral music will nonetheless have heard him on the Star Wars sound tracks). What’s interesting about the video is that what they emphasise most is being musical, making sense of the melody. They have no interest in pyrotechnics and assume that the student knows the basics.</p>

<p>The (barely sustainable) link with master-level coding and performance, we realised, is that both are about being expressive. The master coder/performer has a point of view and they use their considerable technical skills to get it across. The code that really impresses me is almost entirely about the domain, it just reads well. Most of the code most of us see, however,  is stuck a level below, I have to read <em>through</em> the implementation to get to the meaning.</p>

<p>Years ago an <a href="http://people.cs.vt.edu/dtatar/">old friend of mine</a> said that when she first started going to conferences she wouldn’t be impressed by some of the big names because what they said was obvious. Later, she learned that being obvious can be really hard.</p>

<p /><hr /><br />
<span style="text-indent: 2em;">1) <i>Disclaimer</i> I never was into rock guitar heroes, so Jason’s post was a bit academic for me.</span><p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/489089464" height="1" width="1" /></div></content>
    <updated>2008-12-17T21:44:12Z</updated>
    <published>2008-12-17T21:44:12Z</published>
    <category scheme="http://www.m3p.co.uk" term="Coding" />
    <category scheme="http://www.m3p.co.uk" term="Software culture" />
    <author>
      <name>steve.freeman</name>
      <uri>http://www.m3p.co.uk</uri>
    </author>
    <source>
      <id>http://www.m3p.co.uk/feed/atom/</id>
      <link href="http://www.m3p.co.uk" rel="alternate" type="text/html" />
      <link href="http://www.m3p.co.uk/feed/atom/" rel="self" type="application/atom+xml" />
      <subtitle xml:lang="en">Working software daily</subtitle>
      <title xml:lang="en">Steve Freeman</title>
      <updated>2009-01-02T19:12:30Z</updated>
    </source>
  <feedburner:origLink>http://www.m3p.co.uk/blog/2008/12/17/expressiveness-makes-the-difference/</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/AcademicRotation.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/487961621/AcademicRotation.html" rel="alternate" type="text/html" />
    <title>AcademicRotation</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>A while ago I was chatting with a post-doc on his way to an
  academic career. He was asking me about research topics wanting my
  input as he felt I could inform him on what would be research of
  practical use. I wasn't very helpful, but I did mention that the
  best way to do this would be to spend some time in industry to get a
  feel of how software development works in the wild and what problems
  could do with some research effort.</p><p>His answer to this thought was very troubling. He said he'd be up
  to do that, but if he spent time in industry that would ruin his
  chances of getting a job in academia. Competition for academic jobs
  is high, and what they look it is your publication history. A year
  or two in industry would create a gap in your publication history
  that would be lethal to your job prospects.</p><p>The divide between academia and industry has always been an
  awkward one for software (as indeed for other professions). My
  contacts with academia have been stilted at best. The academics I
  respect are, I'm told, not highly regarded within academia because
  the things that I count as useful are usually dismissed by the
  academic community.</p><p>A good example of where this came to a head is the patterns
  community. Those involved in the patterns world were keen to look
  at practice to discover, package, and document techniques that had
  been proved through experience. But this is in direct opposition to
  academic standards which consider value to lie in novel things. My
  work, for example, is generally dismissed because all I do is write
  about stuff that is old hat (at least to some).</p><p>I think this is a terrible shame, not because I'm looking for an
  academic post, but because I think there is huge value in mining
  effective techniques from the experience of software development. To
  me it seems that trying to draw lessons from our experience is a very
  worthwhile academic activity. By devaluing it the academic world is
  ignoring a fruitful avenue to improve the capabilities of our profession.</p><p>If my opinion counted, I'd argue that any academic department
  worthy of note should include a group of faculty with a long
  experience of the day-to-day of industrial software
  development. They would be valued on how they had reflected on this
  experience and drew from the lessons to inform their teaching and
  research. I'd like to see a regular rotation of people from the
  academic to the industrial world, where it's common to see people
  spend several years in industry, then academia, then industry again,
  and so on.</p><p>This problem isn't only in software. A friend of mine had the
  chief engineer role in one of the most challenging engineering
  projects in the world. He fancied a stint in academia, but was only
  able to get a second-class position reserved for people who weren't
  considered to be real academics, certainly not something that was
  tenured or would lead to tenure. I find it hard to believe that
  students wouldn't gain an enormous amount from being taught by
  people with a long and thoughtful experience in the profession they
  are entering.</p><p>It's always frustrating to see communication gaps between
  different groups within the same profession. I've become a big fan
  using <a href="http://martinfowler.com/bliki/Rotation.html">Rotation</a> to help open up communication channels, as
  people are the key to good knowledge transfer. Being tolerant of academic
  rotation, indeed encouraging it, could do a great deal to make
  academia more aware of where industry needs help and industry more
  aware of where academics can improve practice.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/487961621" height="1" width="1" /></div></content>
    <updated>2008-12-17T19:28:00Z</updated>
    <category term="design" />
    <source>
      <id>http://martinfowler.com/bliki/bliki.atom</id>
      <author>
        <name>Martin Fowler</name>
        <email>fowler@acm.org</email>
        <uri>http://martinfowler.com</uri>
      </author>
      <link href="http://martinfowler.com/bliki/bliki.atom" rel="self" type="application/atom+xml" />
      <link href="http://martinfowler.com/bliki" rel="alternate" type="text/html" />
      <subtitle>A cross between a blog and wiki of my partly-formed ideas on software development</subtitle>
      <title>Martin Fowler's Bliki</title>
      <updated>2008-12-22T21:52:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/AcademicRotation.html</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/UpcomingTalks.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/245976884/UpcomingTalks.html" rel="alternate" type="text/html" />
    <title>UpcomingTalks</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div class="photo" style="width: 249px;"><img height="250px" src="http://martinfowler.com/bliki/pramod.jpg" width="249px" />
<p>Pramod Sadalage is
  one of the leading innovators of evolutionary database
  design.</p>
</div>
<p>Our profession seems to be constantly hampered by the
  communication barriers we
  erect for ourselves. For enterprise systems one of the most annoying
  barriers is the one between application developers and database
  people. Although much of my early years involved 
  databases and data modeling, my involvement with
  object-orientation cast me firmly into the application
  development side. As a consequence I haven't spent much time talking
  to people from the database community.</p><p>On January 9 I get a rare opportunity to fix that as I'll be
  <a href="http://www.geocities.com/BostonDama/jan092009.html">speaking at my local chapter of DAMA</a> with my colleague Pramod
  Sadalage. Pramod played a central role in the development of
  evolutionary database design techniques in ThoughtWorks as a DBA who
  closely works with development teams. His also written valuable
  books on <a href="http://martinfowler.com/books.html#refactoringDatabases">Refactoring
  Databases</a> and <a href="http://my.safaribooksonline.com/9780321502063?portal=oreilly">Continuous
  Database Integration</a>. So, as you might have gathered, he knows
  all the material backwards and I'm glad to be invited along for the
  ride.</p><p>We'll be talking about database refactoring and techniques for
  evolutionary database design. It will be interesting to see how this
  talk is received. I'm told that these topics are still seen as highly
  controversial in many parts of the data community, yet these are
  techniques that are so usual for ThoughtWorks that they are just
  part of the furniture of our development projects. </p><p>Looking further out - I'll be appearing in London again for <a href="http://jaoo.dk/london-2009/conference/">QCon</a>. I'll
  update this page later with more details about what I'll be doing
  there.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/245976884" height="1" width="1" /></div></content>
    <updated>2008-12-15T22:53:00Z</updated>
    <category term="writing" />
    <source>
      <id>http://martinfowler.com/bliki/bliki.atom</id>
      <author>
        <name>Martin Fowler</name>
        <email>fowler@acm.org</email>
        <uri>http://martinfowler.com</uri>
      </author>
      <link href="http://martinfowler.com/bliki/bliki.atom" rel="self" type="application/atom+xml" />
      <link href="http://martinfowler.com/bliki" rel="alternate" type="text/html" />
      <subtitle>A cross between a blog and wiki of my partly-formed ideas on software development</subtitle>
      <title>Martin Fowler's Bliki</title>
      <updated>2008-12-22T21:52:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/UpcomingTalks.html</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/BusinessReadableDSL.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/486013521/BusinessReadableDSL.html" rel="alternate" type="text/html" />
    <title>BusinessReadableDSL</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><b>Will DSLs allow business people to write software rules
  without involving programmers?</b></p>
<p>When people talk about DSLs it's common to raise the question of
  business people writing code for themselves. I like to apply the
  COBOL inference to this line of thought. That is that one of the
  original aims of COBOL was to allow people to write software without
  programmers, and we know how that worked out. So when any scheme is
  hatched to write code without programmers, I have to ask what's
  special this time that would make it succeed where COBOL (and so
  many other things) have failed.</p><p>I do think that programming involves a particular mind-set, an
  ability to both give precise instructions to a machine and the
  ability to structure a large amount of such instructions to make a
  comprehensible program. That talent, and the time involved to
  understand and build a program, is why programming has resisted
  being disintermediated for so long. It's also why many
  "non-programming" environments end up breeding their own class of
  programmers-in-fact.</p><p>That said, I do think that the greatest potential benefit of DSLs
  comes when business people participate directly in the writing of
  the DSL code. The sweet spot, however is in making DSLs
  business-<i>readable</i> rather than business-<i>writeable</i>. If
  business people are able to look at the DSL code and understand it,
  then we can build a deep and rich communication channel between
  software development and the underlying domain. Since this is the <a href="http://www.infoq.com/news/2008/08/Fowler-North-Crevasse-of-Doom">Yawning
  Crevasse of Doom</a> in software, DSLs have great value if they can
  help address it. </p><p>With a business-readable DSL, programmers write the code but they
  show that code frequently to business people who can understand what
  it means. These customers can then make changes, maybe draft some
  code, but it's the programmers who make it solid and do the
  debugging and testing.</p><p>This isn't to say that there's no benefit in a business-writable
  DSL. Indeed a couple of years ago some colleagues of mine built a
  system that included just that, and it was much
  appreciated by the business. It's just that the effort in creating a
  decent editing environment, meaningful error messages, debugging and
  testing tools raises the cost significantly.</p><p>While I'm quick to use the COBOL inference to diss many tools
  that seek to avoid programmers, I also have to acknowledge the big
  exception: spreadsheets. All over the world suprisingly big business
  functions are run off the back of Excel. Serious programmers tend to
  look down their noses at these, but we need to take them more
  seriously and try to understand why they have been as successful as
  they are. It's certainly part of the reason that drives many
  <a href="http://martinfowler.com/bliki/LanguageWorkbench.html">LanguageWorkbench</a> developers to provide a different
  vision of software development. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/486013521" height="1" width="1" /></div></content>
    <updated>2008-12-15T21:17:00Z</updated>
    <category term="dsl" />
    <source>
      <id>http://martinfowler.com/bliki/bliki.atom</id>
      <author>
        <name>Martin Fowler</name>
        <email>fowler@acm.org</email>
        <uri>http://martinfowler.com</uri>
      </author>
      <link href="http://martinfowler.com/bliki/bliki.atom" rel="self" type="application/atom+xml" />
      <link href="http://martinfowler.com/bliki" rel="alternate" type="text/html" />
      <subtitle>A cross between a blog and wiki of my partly-formed ideas on software development</subtitle>
      <title>Martin Fowler's Bliki</title>
      <updated>2008-12-22T21:52:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/BusinessReadableDSL.html</feedburner:origLink></entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5056996.post-5157031720054727347</id>
    <link href="http://www.blogger.com/feeds/5056996/posts/default/5157031720054727347" rel="edit" type="application/atom+xml" />
    <link href="http://www.blogger.com/feeds/5056996/posts/default/5157031720054727347" rel="self" type="application/atom+xml" />
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/485630942/whats-manager-to-do.html" rel="alternate" type="text/html" />
    <title>What's a Manager to Do?</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">When the team self-organizes, the manager needs to step back, but not too far back; she needs to step in, but not to quickly.<br /><br />My article on the manager's role in self-organizing teams is on the cover of <a href="http://www.stickyminds.com/BetterSoftware/Magazine.asp">Better Software Magazine</a> and available on-line <a href="http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea">here</a>.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/485630942" height="1" width="1" /></div></content>
    <updated>2008-12-15T14:44:51Z</updated>
    <published>2008-12-15T14:39:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="agile" />
    <cate