<?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>2008-11-19T05:16:41Z</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:typepad.com,2003:post-58687432</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/457725618/misconceptions-with-test-driven-development.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/misconceptions-with-test-driven-development.html" rel="replies" type="text/html" />
    <title>Misconceptions with Test Driven Development</title>
    <summary>In the past few weeks I've heard several misconceptions raised about Test Driven Development: Does TDD really work? I've written about this before: Advantages of TDD; In addition George Dinwiddie maintains a list of case studies (including one from IBM)....</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://testdriven.com/" target="_blank" title="I'm test-driven!"><img align="right" alt="I'm test-driven!" src="http://testdriven.com/programs/logo100.png" style="margin: 5px 0px 0px 5px;" /></a> In the past few weeks I've heard several misconceptions raised about Test Driven Development:</p> <ul> <li>Does TDD really work? I've written about this before: <a href="http://www.notesfromatooluser.com/www.notesfromatooluser.com/2008/10/advantages-of-tdd.html" target="_blank">Advantages of TDD</a>; In addition <a href="http://biblio.gdinwiddie.com/biblio/StudiesOfTestDrivenDevelopment" target="_blank">George Dinwiddie maintains a list</a> of case studies (including one from IBM). Finally Keith Braithwaite has recently done some research on measuring the benefit of TDD. Currently the results are buried in a presentation (<a href="http://www.keithbraithwaite.demon.co.uk/professional/presentations/2008/qcon/MeasureForMeasure.pdf" target="_blank">pdf</a>). Key message: "measuring a over 20 projects: if you have a large number of unit tests your code will be <strong>an order of magnitude</strong> less complex."  </li><li>Writing the tests <strong>after</strong> the code has been written is the same as Test Driven Development. Its not, there are significant benefits to TDD that I outlined in: "<a href="http://www.notesfromatooluser.com/2008/02/test-driven-dev.html" target="_blank">Test Driven Development vs Plain Old Unit Testing</a>".  </li><li>TDD isn't useful for helping to design the architecture of programs. </li></ul> <p />  <table align="left" cellpadding="5" height="250" unselectable="on" width="320"> <tbody> <tr> <td style="padding-bottom: 10px; width: 300px; height: 250px;"> &lt;&gt;  </td><td> </td></tr></tbody></table>
<p>The later is an interesting question. You can find voices on the net that say TDD <strong>by itself</strong> (with no thought given to the architecture is bad). The best example of this is "<a href="http://www.infoq.com/interviews/coplien-martin-tdd" target="_blank">Coplien and Martin Debate TDD, CDD and Professionalism</a>" (with some excellent comments) and a few blog posts that follow: "<a href="http://community.ative.dk/blogs/ative/archive/2007/09/28/the-tdd-controversy-jaoo-2007.aspx" target="_blank">The TDD Controversy - JAOO 2007</a> " and "<a href="http://blog.xebia.com/2008/05/01/tdd-vs-good-designarchitecture-principles/">TDD vs good design/architecture principles</a>" - outline the debate.</p> <p>If we accept that TDD isn't entirely sufficient for design, then the question becomes how much architecture is required and what would a good project designed with TDD look like?</p> <p>The real trick is balancing upfront design with the principle of <a href="http://en.wikipedia.org/wiki/YAGNI%20" target="_blank">YAGNI</a>. Since like most developers I'm tempted to over design ("I know I will need this method/class later on"), I force myself to wait until the last responsible moment (typically just before I would need the code) to do my design work (saving a lot of waste - in the form of unused code). In the case of the larger architecture I discourage people from thinking more than one iteration ahead, any further ahead and the requirements are likely change. On rare occasions this means missing a big issue that forces a lot of rework. Since I have a rock solid tests I'm not all that upset and I believe I've still saved a lot of time with the architecture I didn't build.</p> <p>So if TDD can be used on a large scale and to help drive architecture there must be examples. The leading members of the community (JB Rainsberger, Nat Pryce and Lasse Koskela) all have clients with products built and architected using TDD. Unfortunately these are all closed source or clients that don't want to be talked about publicly.</p> <p>In the open source world there are a number of applications and libraries developed using TDD:</p> <ul> <li>Obviously all of the Agile related tools (<a href="http://sourceforge.net/project/showfiles.php?group_id=15278&amp;package_id=12472" target="_blank">JUnit</a>, <a href="http://nunit.org/index.php?p=download" target="_blank">NUnit</a>, <a href="http://code.google.com/p/mb-unit/" target="_blank">MbUnit</a>, <a href="http://www.gallio.org/" target="_blank">Gallio</a>, <a href="http://www.jmock.org/repository.html" target="_blank">JMock</a>, <a href="http://sourceforge.net/project/showfiles.php?group_id=139732&amp;package_id=153265&amp;release_id=494590" target="_blank">RMock</a>, <a href="http://cruisecontrol.sourceforge.net/svn.html" target="_blank">CruiseControl</a>, <a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET" target="_blank">CruiseControl.NET</a> and <a href="https://hudson.dev.java.net/source/browse/hudson/" target="_blank">Hudson</a>) were developed using TDD. However this is just a bit self referential  </li><li><a href="http://bazaar-vcs.org/" target="_blank">Bazaar</a> - a distributed version control system, used by: LaunchPad, MySQL and Mailman (<strong>Python</strong>)  </li><li><a href="http://code.google.com/p/allelogram/" target="_blank">Allelogram</a> - a program for normalizing and binning microsatellite genotypes. (<strong>Java</strong>)  </li><li><a href="http://jena.sourceforge.net/" target="_blank">Jena</a> - a framework for building <a href="http://www.w3.org/2001/SW/">Semantic Web</a> applications. It provides a programmatic environment for <a href="http://www.w3.org/RDF/">RDF</a>, <a href="http://www.w3.org/TR/rdf-schema/">RDFS</a> and <a href="http://www.w3.org/2001/sw/WebOnt/">OWL</a>, <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> and includes a rule-based inference engine. (<strong>Java</strong>) Related: <a href="http://jena.sourceforge.net/Eyeball/" target="_blank">Eyeball</a> - lint for RDF/OWL  </li><li><a href="http://sourceforge.net/project/showfiles.php?group_id=109641" target="_blank">Helium</a> - (He) is a lightweight and extremely useful templating engine based entirely on XML. He is 100% Java and 100% TDD (Test Driven Development) (<strong>Java</strong>)  </li><li>http.net - a dirt simple HTTP server written in C#. It supports minimal functionality and is primarily intended as example code for TDD et al. (<strong>C#)</strong>  </li><li><a href="http://joda-time.sourceforge.net/" target="_blank">Joda</a> - provides a quality replacement for the Java <em>date</em> and <em>time</em> classes. (<strong>Java</strong>)  </li><li><a href="http://joyent.com/connector/collaboration-suite" target="_blank">Joyent Connector</a> (<a href="http://dev.joyent.com/projects/connector/browse/trunk" target="_blank">source</a>) - The Connector suite of applications provide cool features such as search, tagging, and RSS feeds that we believe will make your life easier on a day to day basis. (<strong>ruby</strong>)  </li><li><a href="http://www.taskcoach.org/" target="_blank">Task Coach</a> - a task manager written in <strong>Python</strong>.  </li><li><a href="http://ezcomponents.org/download" target="_blank">eZComponents</a>: a library of independent <a href="http://ezcomponents.org/introduction/overview">components</a> that aid in the development of Web-centric applications. (<strong>php</strong>)  </li><li>In addition the <a href="http://www.blogger.com/profile/13007875026671863834" target="_blank">Google Chrome</a> browser was developed in part with TDD: Chromium has used a combination of test-driven and other development processes. Sometimes we write tests first and then implement features to pass them, sometimes we use existing tests as a guide to what to work on next, and sometimes we implement first and test afterward. It depends on the subject at hand, and on the individual developer.  </li><li><a href="http://www.markshuttleworth.com/archives/150" target="_blank">Mark Shuttleworth</a> remarks TDD is used in developing Ubuntu. </li></ul> <p>Undoubtedly there are a number of open source projects that are Test Driven, please let me know if you're aware of some I missed. In addition to proving its possible these projects also act as examples as to the sort of architecture that TDD can help build.</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=Izbo6L"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=Izbo6L" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/457590204" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/457725618" height="1" width="1" /></div></content>
    <updated>2008-11-19T02:09:40Z</updated>
    <published>2008-11-18T20:34:13Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/misconceptions-with-test-driven-development.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/457590204/misconceptions-with-test-driven-development.html</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-58689524</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/457725619/agile-ottawa-meetup---monday-nov-24th---7-9pm.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/agile-ottawa-meetup---monday-nov-24th---7-9pm.html" rel="replies" type="text/html" />
    <title>Agile Ottawa Meetup - Monday Nov 24th - 7-9pm</title>
    <summary>The Agile Ottawa group is getting going again after disappearing for the last year. The event is at: The Code Factory, 2nd Floor - 246 Queen Street, Ottawa, ON. Dave Rooney has kindly picked up the fees for using the...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>The Agile Ottawa group is getting going again after disappearing for the last year. </p> <p>The event is at: <a href="http://www.thecodefactory.ca/">The Code Factory</a>, <a href="http://maps.google.com/maps?q=246+queen+st,+ottawa&amp;ie=UTF8&amp;ll=45.421422,-75.70153&amp;spn=0.006868,0.013261&amp;z=16&amp;g=246+queen+st,+ottawa">2nd Floor - 246 Queen Street, Ottawa, ON</a>. <a href="http://www.mayford.ca/" target="_blank">Dave Rooney</a> has kindly picked up the fees for using the space. </p> <p>Glenn Waters has outline an <a href="http://agileottawa.wordpress.com/2008/11/14/agile-agenda-for-the-agile-first-meetup/" target="_blank">initial agenda</a>:</p> <blockquote> <p>For the first meeting, we’ll do some short introductions including understanding what brought you to this meeting. Then we will kick right into the meeting. </p><p>My proposal is to run the first meeting like a Scrum Sprint. This meeting will be <a href="http://www.ddj.com/architect/209902719">Iteration -1</a>, where we make sure that the strategy is right and we start to form the <a href="http://www.mountaingoatsoftware.com/product-backlog">product backlog</a>. We’ll take ideas on what form this group would like to take, rank the ideas by the highest <a href="http://www.controlchaos.com/about/value.php">business value</a>, and use the information for following iterations.</p></blockquote> <p>Sadly I will miss the first event - as my Monday nights are booked for sometime to come. I have black belt pre tests every Monday night from now until early May (when I might test for my black belt).</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></div>

<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=RPdZJb"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=RPdZJb" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/457648552" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/457725619" height="1" width="1" /></div></content>
    <updated>2008-11-18T21:20:42Z</updated>
    <published>2008-11-18T21:18:15Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/agile-ottawa-meetup---monday-nov-24th---7-9pm.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/457648552/agile-ottawa-meetup---monday-nov-24th---7-9pm.html</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-58017674</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/442598007/scrum-case-studies.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/scrum-case-studies.html" rel="replies" type="text/html" />
    <title>Scrum Case Studies</title>
    <summary>I'v e recently been asked by one team to provide them with case studies/success stories about Scrum to prove scrum works. It is striking that the people ask for case studies about agile - but didn't before adopting their existing...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><p>I'v<a href="http://tooluser.typepad.com/.a/6a00d8341cc2cf53ef010535d91075970c-pi"><img align="right" alt="image" border="0" height="145" src="http://tooluser.typepad.com/.a/6a00d8341cc2cf53ef010535d2a7fa970b-pi" style="border: 0px none ; margin: 5px 0px 0px 5px;" width="240" /></a> e recently been asked by one team to provide them with case studies/success stories about Scrum to prove scrum works. It is striking that the people ask for case studies about agile - but didn't before adopting their existing process.</p>  <p /> <p>Ken Schwaber co-creator of Scrum has: <a href="http://www.controlchaos.com/download/Primavera%20White%20Paper.pdf">Primavera Success Story</a> (pdf) a paper that describes Primavera's struggles with waterfall and then their transition to Scrum (with XP engineering practices). Key message: Scrum works for Primavera, but changing the process isn't easy.</p> <p><a href="http://blog.namics.com/2008/05/scrum_breakfast_3.html" target="_blank">Stuart Read</a>, Professor of Marketing at IMD in Lausanne Switzerland has written a <a href="http://www.effectuation.org/ftp/IMD-3-1833%20Guidewire%20_A_.pdf" target="_blank">case study about Guidewire</a> (pdf) - a insurance billing company that is built <strong>entirely</strong> around Scrum.</p> <p>On InfoQ (<em>caveat emptor I'm an InfoQ editor</em>) there are a number of case studies:</p> <ul>
 <li><a href="http://www.infoq.com/presentations/Scrum-bbc-newmedia" target="_blank">Scrum Boosts Effectiveness at the BBC</a> (presentation), "In this conference talk Andrew Scotland tells how BBC's New Media division, characterized by a lot of uncertainty and emergent software process, decided to use Scrum to more effectively deliver software amidst all that change and uncertainty. Three years later - the difference is significant, and the journey was worthwhile." </li>
<li><a href="http://www.infoq.com/articles/dutch-railway-scrum" target="_blank">Case study: Distributed Scrum Project for Dutch Railways</a> - focused on how one group has made a necessary evil (distributed teams) work, this case study is also a good example of how Scrum works </li>
<li><a href="http://www.infoq.com/articles/Agile-adoption-study-china" target="_blank">Improvement, Success and Failure: Scrum Adoption in China</a> - an interesting Q&amp;A. The questions around failures are very interesting: Training is critical and doing Scrum-but will eventually kill. </li>
<li>Henrik Kniberg's famous "<a href="http://www.infoq.com/minibooks/scrum-xp-from-the-trenches" target="_blank">Scrum an XP from the Trenches</a>" a 168 page ebook (free) that describes how one team does scrum.</li>
</ul>
 <p>UIE a usability website has: <a href="http://www.uie.com/articles/fast_iterations/" target="_blank">The Freedom of Fast Iterations: How Netflix Designs a Winning Web Site</a> - while not strictly a Scrum case study Netflix does use Agile methods.</p> <p>Obviously Ken's book <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAgile-Project-Management-Microsoft-Professional%2Fdp%2F073561993X&amp;tag=notesfromatoo-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Agile Project Management with Scrum</a> is a series of case studies.</p> <p>DDJ has <a href="http://www.ddj.com/architect/193501924" target="_blank">Embedded Agile: A Case Study In Numbers</a> an article that demonstrates Agile working in the embedded environment. <a href="http://users.tkk.fi/%7Etpunkka/papers/taming%20the%20big%20animal%20-%20final%20-%20Punkka080906.pdf">Timo Punkka documents Schneider-Electric's</a>
adoption of Scrum for embedded software development.</p><p>Mishkin Berteig has one called: <a href="http://www.agileadvice.com/2007/08/09/agile-case-studies/a-cautionary-tale-delaying-agile-adoption/">A Cautionary Tale</a>.It looks an Agile Adoption delayed and what the delay cost the organisation.</p><p><a href="http://www.magneticreason.com/information/articles/agiletrench.html" target="_blank">Agile From The Trenches - A real world example </a>- Keith Sterling's (BTW Keith can you stop moving this article :-)) story of Agile adoption in a UK telco to help it build and rollout a broadband provisioning platform.</p><p>Rally has a number of <a href="http://www.rallydev.com/company/customers/case_studies/" target="_blank">Customer Case Studies </a>- Caveat Emptor while interesting they were written to prove that Rally can help you transition to Agile - so they tend to be slick and focused on Rally benefits. Net result - they're a wee bit light on specifics. They also have <a href="http://www.rallydev.com/downloads/document/103-the-agile-impact-report-proven-performance-metrics-from-the-agile-enterprise.html" target="_blank">Agile Impact Paper </a>written by IDC - good paper about the impact - but what a pain to download - I'm surprised I wasn't asked how many children I have.</p><p>Danube also have <a href="http://danube.com/customers" target="_blank">Customer Case Studies </a>- same caveat as Rally applies.</p> <p>Finally Frank Maurer, a professor at U Calgary has: <a href="http://fc-md.umd.edu/projects/Agile/Maurer.htm" target="_blank">Agile Software Development: An Industrial Case Study</a> with data showing increased productivity.</p> <p>Google reveals many more case studies - but if the above weren't sufficient then no case study will help convince. Finally I suggest stop reading case studies, take action. Get some training, find a mentor and start. Your first few iterations will not be your best but you will improve with time.</p><p>As a counter point some of you may recall my <a href="http://www.notesfromatooluser.com/2008/07/journal-of-agilescrum-failure.html" target="_blank">Journal of Agile/Scrum Failure </a>- which is still looking for contributions.</p><p><em>Update: Added Case Studies from Mishkin and Rally. Latest additions Keith's efforts and Timo's embedded paper. Added samples from Danube.<br /></em></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 /><p />&lt;&gt; &amp;
<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=bwTUHN"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=bwTUHN" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/442539434" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/442598007" height="1" width="1" /></div></content>
    <updated>2008-11-17T17:09:21Z</updated>
    <published>2008-11-04T21:15:13Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/scrum-case-studies.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/442539434/scrum-case-studies.html</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://jimmynilsson.com/blog/posts/Oredev2008.htm</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/455354863/Oredev2008.htm" rel="alternate" type="text/html" />
    <title>Oredev 2008</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>
There is going to be a DDD-track at <a href="http://www.oredev.org">Oredev</a> this year - the first time this has happened at a conference. I'm going to be giving a presentation in 
that track, which I have also been given the honor of hosting. The other speakers are Randy Stafford, Dan Bergh Johnsson, Einar Landre and Eric Evans.

Of course there are more DDD people around, such as my factor10 colleague <a href="http://aslamkhan.net/">Aslam Khan</a> from South Africa. I'm pretty 
sure he will be DDD-centric in his talks as well as in his workshop. Other DDD-centric presentations will be given by 
<a href="http://www.lowendahl.net/">Patrik Löwendahl</a>, <a href="http://www.jroller.com/rickard/">Rickard Öberg</a> and <a href="http://www.claudioperrone.com/">Claudio Perrone</a>.
</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/455354863" height="1" width="1" /></div></summary>
    <updated>2008-11-16T23:58:00Z</updated>
    <source>
      <id>http://jimmynilsson.com/blog/</id>
      <author>
        <name>Jimmy Nilsson</name>
      </author>
      <link href="http://jimmynilsson.com/blog/" rel="alternate" type="text/html" />
      <link href="http://www.jnsk.se/weblog/rss.xml" rel="self" type="application/rss+xml" />
      <rights>Copyright 2008 by Jimmy Nilsson</rights>
      <title>Jimmy Nilsson's weblog</title>
      <updated>2008-11-16T23:58:00Z</updated>
    </source>
  <feedburner:origLink>http://jimmynilsson.com/blog/posts/Oredev2008.htm</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-8882974.post-1609599727041356829</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/451216558/beer-helped.html" rel="alternate" type="text/html" />
    <title>Beer helped</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">When Energized Work turned <a href="http://www.think-box.co.uk/blog/2008/10/zsolt-dan-and-jeff.html">one year old</a> back in June we started to give a lot more attention to our ideas to develop the company. We decided it was time for action. While <a href="http://www.think-box.co.uk/blog/2008/08/energizing-toronto.html">attending Agile2008 in Toronto</a>, we talked and talked over <a href="http://www.rickardswhite.com/back/">beers</a> in the bar at the top of the <a href="http://www.cntower.ca/">CN Tower</a> and  talked some more in <a href="http://toronto.about.com/gi/dynamic/offsite.htm?zi=1/XJ&amp;sdn=toronto&amp;cdn=citiestowns&amp;tm=7&amp;f=00&amp;su=p284.9.336.ip_p554.12.336.ip_&amp;tt=3&amp;bt=1&amp;bts=1&amp;zu=http%3A//www.fynnstemplebar.com/">Fynn's of Temple Bar</a>. Since then we've been beavering away behind the scenes, occasionally alluding to progress in my <a href="http://twitter.com/energizr">Tweets</a>.<br /><br /><div style="margin: 0pt 0pt 10px 10px; float: right;"><img height="236" src="http://www.cntower.ca/portal/Secure/Community/417/PlanYourVisit/Restaurants/Horizons/200611_Horizons.jpg" width="315" /></div>Without saying too much too soon, the essence of our thoughts was to make Energized Work a personification of Gus and myself - our values, the principles we work and live our lives by, our attitude and the chemistry we create when we work together. We've acquired a bit of a reputation for our 'no compromise' approach to creating software. We've taken flak but we've also been commended for our determination and resolute belief in our values and principles. Each to their own, I say. I didn't always say that. Our 'own' is working our way and having ridiculous amounts of fun. I see 'no compromise' and a crazy-eyed focus on craftsmanship and quality as strengths and differentiators to be marketed.<br /><br />Recently, <a href="http://parlezuml.com/blog/">Jason Gorman</a> asked: <a href="http://parlezuml.com/blog/?postid=717/" style="font-style: italic;">Could a recession open up the market for high-quality 'boutique' software development</a><span style="font-style: italic;">, where customers might be more inclined to take a bet on a start-up with great talent (based on their track record) and a commitment to delivering demonstrably high-quality?</span> I hope he's onto something because it's exactly where we decided to take Energized Work when we were sitting up top in the <a href="http://www.cntower.ca/">CN Tower</a> in the Summer.<br /><br />Back in December 2007 following our <a href="http://www.think-box.co.uk/blog/2007/11/xpday7-have-you-compromised-your.html">session</a> at <a href="http://www.xpday.org/">XPDAY</a>, <a href="http://www.m3p.co.uk/blog">Steve Freeman</a> <a href="http://www.m3p.co.uk/blog/2007/12/30/potemkin-agile/">mentioned us</a> and said: [Energized Work] <span style="font-style: italic;">got the job because they don't compromise on the stuff they think is important and they managed to find a client that likes that. Is this every client in the world? No, but then it doesn't have to be.</span><br /><br />Exactly. We want to work with clients who actually recognise their software as an asset, want to improve how they work, and are prepared to invest. We want to work with clients who value the same things we do and we're resetting Energized Work to go find them. I'll talk a little more about this in my next post.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/451216558" height="1" width="1" /></div></summary>
    <updated>2008-11-16T16:22:51Z</updated>
    <category term="energizedwork values quality" /><feedburner:origLink>http://www.think-box.co.uk/blog/2008/11/beer-helped.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://www.think-box.co.uk/blog/images/logo-balanced.png</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>2008-11-19T05:16:34Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/AgileInAction/~3/451201345/beer-helped.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/453734081/The-Decline-and-Fall-of-Agile.html" rel="alternate" type="text/html" />
    <title>The Decline and Fall of Agile</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><table border="0" width="100%">
      <tbody><tr>
        <td align="left">
          <b>14 Nov 2008</b>
        </td>
        <td align="right">
          <i> <a href="http://jamesshore.com/Blog/">James Shore/Blog</a> </i>
        </td>
      </tr>
    </tbody></table>
  
    
    
      
<p>It's odd to talk about the decline and fall of the agile movement, especially now that it's so popular, but I actually think the agile movement has been in decline for several years now.</p>

<h3>The State of the Art</h3>

<p>I've seen a shift in my business over the last few years. In the beginning, people would call me to help them introduce Agile, and I would sell them a complete package that included agile planning, cross-functional teams, and agile engineering practices.</p>

<p>Now many people who call me already have Agile in place (they say), but they're struggling. They're having trouble meeting their iteration commitments, they're experiencing a lot of technical debt, and testing takes too long.  So they hire me to help them with one of these things.  When I go visit, I see a team that is nominally agile, but is suffering huge numbers of problems and is anything but the joyful, settled, smooth-running workplace I expect from an agile organization.</p>

<p>Other consultants I've talked to report the same experience.  "Rescuing Scrum teams keeps me in business," joked one colleague.  It's funny because it's true.</p>

<h3>The Role of Scrum</h3>

<p>Scrum is undeniably the winner of the agile method wars.  Thanks to the Scrum Alliance's vast (and lucrative) network of Certified Scrum Trainers and Certified ScrumMaster courses, when people say "Agile," they usually mean Scrum.  So when "Agile" fails, it's generally Scrum that's failing. And Scrum is incomplete, purposefully so.  "Scrum is like your mother-in-law," Ken Schwaber said at the recent Agile Vancouver conference. "It's constantly pointing out your shortcomings."  The trick is that you're supposed to learn from that feedback and fix your problems.</p>

<p>But because Scrum works in short cycles and doesn't include any engineering practices, it's very easy for teams using Scrum to throw out design. Up-front design doesn't work when you're using short cycles, and Scrum doesn't provide a replacement. Without continuous, incremental design, Scrum teams quickly dig themselves a gigantic hole of technical debt.  Two or three years later, I get a call--or one of my colleagues does.  "Changes take too long and cost too much!" I hear.  "Teach us about test-driven development, or pairing, or acceptance testing!"  By that time, fixing the real problems requires paying back a lot of technical debt, and could take years.</p>

<p>What frustrates me the most is that this situation is entirely avoidable. In a green-field environment, the solid agile engineering practices included in Extreme Programming pay for themselves within the first few months. Without XP's agile engineering practices, code quality and productivity asymptotically decreases over time.  With them, productivity starts lower, but then it asymptotically <em>increases</em>.  I can't prove it, but my sense is that the two curves cross at about the eight-week mark.  Maybe sooner.  Agile engineering practices aren't only important--they pay for themselves!  Doing anything else is pure negligence... if you understand your options.  Scrum is silent on the matter.</p>

<h3>Scrum, Misapplied</h3>

<p>It's not entirely Scrum's fault. Agile development isn't just about good engineering practices. It's also about acknowledging the importance of people in software development, forming cross-functional teams, obtaining high-bandwidth communication, constantly reflecting and improving, delivering value, and changing plans to take advantage of opportunities.</p>

<p>Scrum includes these other points. It says that the team should be cross-functional and recommends collocating the team in a shared workspace. It says the team should deliver a valuable, shippable product at the end of every Sprint, and that the team should self-organize, discover impediments, and remove them.</p>

<p>Oh, and it also has a few mechanical things about a monthly Sprint and daily Scrum.  Trivial stuff compared to the rest.  But guess which part people adopt?  That's right--Sprints and Scrums. Rapid cycles, but none of the good stuff that makes rapid cycles <em>sustainable</em>.</p>

<h3>You're Doing It Wrong</h3>

<p>There are a lot of teams right now failing with Agile. These teams are working in short cycles. The increased planning frequency has given them more control over their work and they're discovering and fixing some problems. They feel good, and they really are seeing more success than they were before.</p>

<p>But they aren't working in shared workspaces or emphasizing high-bandwidth communication. They're don't have on-site customers or work in cross-functional teams. They don't even finish all of their stories by the end of each Sprint, let alone deliver releasable software, and they certainly don't use good engineering practices.</p>

<p>These teams say they're Agile, but they're just planning (and replanning) frequently. Short cycles and the ability to re-plan are the <em>benefit</em> that Agile gives you. It's the <em>reward</em>, not the <em>method</em>. These psuedo-Agile teams are having dessert every night and skipping their vegetables. By leaving out all the other stuff--the stuff that's really Agile--they're setting themselves up for rotten teeth, an oversized waistline, and ultimate failure. They feel good now, but it won't last.</p>

<h3>Failures in the Midst</h3>

<p>It's human nature to only do the stuff that's familiar and fun, and that's what has happened with Agile. People look at agile methods as a chinese menu of practices, choose the few that look cool, and ditch the rest.  Unfortunately, the parts they leave out are the parts that make Agile work.  Scrum makes it worse by ignoring important (but hard) agile engineering practices, and the Scrum Alliance makes it worse still with their armies of trainers--some good, some not--issuing dubious "ScrumMaster" certificates to people who demonstrated competence in connecting butt to chair for two days.</p>

<p>So, unfortunately, a lot of self-described Agile projects are going to fail.  They're failing right now. And eventually Agile will take the blame, and it will pass, as all fads eventually do.</p>

<p>It's too bad. The good Agile--the real Agile--it really works. I've seen it. My colleagues have seen it. It's been repeated hundreds of times, and some of those projects have succeeded for years. But those hundreds of successes will be drowned out by the thousands of failures.</p>

<p>Can we prevent this trend? I don't know. Perhaps we should start by giving up on the "Agile" brand name. It's never been clearly defined, which has allowed a lot of dysfunctional projects to call themselves "Agile." </p>

<p>Or maybe we need to stop selling Agile. Maybe we need to say, "Agile is hard, and you can't master it by sitting through a two-day course." Maybe we need to be firm and say, "Sorry, if you don't use agile engineering practices, if you don't have high-bandwidth communication, and if you don't include a strong customer voice, you're not going to succeed. Try something else instead." Scrum is popular because it's easy--and that's part of the problem.</p>

<p>Whatever we do, we need to do it soon. Agile is failing all around us, and I'd hate for the failure of the fad to take down the truly useful ideas that we started with.</p>

    
    
    <p><a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html#comments">Comments</a><a /></p><p /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/453734081" height="1" width="1" /></div></summary>
    <updated>2008-11-15T06:16:46Z</updated>
    <category term="/Blog" />
    <source>
      <id>http://jamesshore.com</id>
      <author>
        <name>James Shore</name>
      </author>
      <link href="http://jamesshore.com" rel="alternate" type="text/html" />
      <link href="http://www.jamesshore.com/Blog/index.rss" rel="self" type="application/rss+xml" />
      <rights>Copyright 2000-2006, James Shore</rights>
      <subtitle>Successful Software</subtitle>
      <title>James Shore</title>
      <updated>2008-11-19T05:16:40Z</updated>
    </source>
  <feedburner:origLink>http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/ServiceCustodian.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/453473998/ServiceCustodian.html" rel="alternate" type="text/html" />
    <title>ServiceCustodian</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Let's imagine a pretty world of SOA-happiness where the computing
  needs of an enterprise are split into many small applications that
  provide services to each other to allow effective collaboration. One
  fine morning a consumer service needs some information from a supplier
  service. The twist is that although the supplier service has the
  necessary data and processing logic to get this information, it
  doesn't yet expose that information through a service interface. The
  supplier has a potential service, but it isn't actually there yet.</p><p>In an ideal world the developers of the consumer service just asks
  the supplier service to develop the potential service and all is
  dandy. But life is not ideal - the sticking point here is that the
  developers of the supplier service have other things to do, usually
  things that are more important to their customer and management than
  helping out the consumer service team. </p><p>Recently I was chatting with my colleague Erik Dörnenburg and he
  told me about an approach he saw a client use to deal with
  this problem. They took a leaf out of the open source play-book and
  made all their services into internal open source systems. This
  allows consumer service developers write the service themselves.</p><p>I'm sure many readers are rolling their eyes at the visions of
  chaos this would cause, but just as open source projects don't allow
  just anyone to edit anything; this client uses open-source-style control
  mechanisms. In particular each service has a couple of custodians -
  people whose responsibility it is to keep the service in a healthy
  state. In the normal course of events the consumer developer wouldn't
  actually commit changes to the supplier source tree directly,
  instead they send a patch to the custodian. Just like an open-source
  maintainer, the custodian receives the patch and reviews it to see
  if it's good enough to commit. If not there's a dialog with the
  consumer developer.</p><p>As Erik knows well from <a href="http://erik.doernenburg.com/open-source-projects/">his own open
  source work</a>, reviewing a patch is much less effort than making
  a change yourself. So although the custodian approach doesn't
  entirely eliminate the problem of consumer developers needing to wait
  on supplier developers, it does a lot to reduce the difficulty. And
  again following the open-source model, a consumer developer can be
  made a committer once the custodians are comfortable. This
  still means that commits can get reviewed by the custodians, but avoids
  the custodians becoming a bottleneck.</p><p>Related to this was their approach to a service registry. We've
  seen a lot of fancy products being sold to provide service registry
  capabilities so that people can lookup services and see how to use
  them. This client discarded them and used an approach that combined
  wikis with some interesting data mining (more on that soon).</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/453473998" height="1" width="1" /></div></content>
    <updated>2008-11-14T22:07: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-11-14T22:07:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/ServiceCustodian.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://blog.gdinwiddie.com/2008/11/13/aye-2008-congruent-coaching/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/452427624/" rel="alternate" type="text/html" />
    <title xml:lang="en">AYE 2008 - Congruent Coaching</title>
    <summary xml:lang="en">Continuing with my recap of the AYE Conference sessions I attended, I come to Johanna Rothman&amp;#8217;s session, Choosing the Right Coaching Approach: Congruent Coaching.  This was a time-slot where I wanted to attend every single session.  I chose this session because coaching is a big part of what I do, and Johanna is [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>Continuing with my recap of the <a href="http://www.ayeconference.com/" target="_blank">AYE Conference</a> sessions I attended, I come to <a href="http://www.jrothman.com/" target="_blank">Johanna Rothman</a>’s session, <em>Choosing the Right Coaching Approach: Congruent Coaching</em>.  This was a time-slot where I wanted to attend every single session.  I chose this session because coaching is a big part of what I do, and Johanna is one of the best people I know to learn to coach more effectively.<a id="more-75" /></p>
<p>My notes from the discussions are rather sparse.  We talked about why we wanted to coach, and whether or not we were ready for it.  We also noted the difference between coaching and teaching.  We discussed different ways you can coach someone.</p>
<p>The meat of the session was the coaching practice.  We broke into groups of three (except my group had four) and took turns with one of us coaching another on some problem the other had.  The third (and fourth) person observed the session.  After each such session we gathered in the larger group to debrief our experiences as coach, coachee, and observer.</p>
<p>Some of the coaching behaviors I observed:</p>
<ul>
<li>Repeating the problem statement</li>
<li>Asking what “success” means</li>
<li>Affirmation of the coachee’s statements</li>
<li>Open-ended questions about the problem context</li>
<li>Behavior description questions</li>
<li>Questions to validate understanding</li>
<li>Probing for more detail or precision</li>
<li>Prompting to think of other options</li>
<li>Non-verbal cues of attention</li>
<li>Suggestion of a plan of attack–to deal with a behavior change first, and the underlying problems later</li>
<li>Suggestion of a plan for a future session, and an action to undertake before then.</li>
</ul>
<p>And my favorite “sound bite” of the session was <a href="http://buildingthelifeyouwant.com/" target="_blank">Dee Fuellgrabe</a> saying, “The client can do with the problem what he wants.  He can also keep it.”  What a great reminder that we, as coaches, cannot solve the problem for the client.  We can only help the client become better prepared to solve the problem.
</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/452427624" height="1" width="1" /></div></content>
    <updated>2008-11-14T02:12:03Z</updated>
    <published>2008-11-14T02:12:03Z</published>
    <category term="Individuals and Interactions" />
    <category term="Tools and Techniques" />
    <author>
      <name>George Dinwiddie</name>
    </author>
    <source>
      <id>http://blog.gdinwiddie.com</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" />
      <rights xml:lang="en">Copyright 2008</rights>
      <subtitle xml:lang="en">Effective software development</subtitle>
      <title xml:lang="en">George Dinwiddie's blog</title>
      <updated>2008-11-14T03:42:31Z</updated>
    </source>
  <feedburner:origLink>http://blog.gdinwiddie.com/2008/11/13/aye-2008-congruent-coaching/</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-8882974.post-2182008431569032127</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/451951560/gardening-for-facilitators.html" rel="alternate" type="text/html" />
    <title>Gardening for Facilitators</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you're new to light-touch leadership you may find yourself focusing on the big events (<a href="http://www.think-box.co.uk/blog/2006/05/daily-stand-up-scrum-meeting.html">stand-up</a>s, <a href="http://www.think-box.co.uk/blog/2007/12/retrospective-using-appreciative.html">retrospective</a>s, planning games, <a href="http://www.think-box.co.uk/blog/2007/10/its-showtime.html">showcase</a>s, <a href="http://www.think-box.co.uk/blog/2008/10/ein-prosit.html">beer</a>). However it's the little-noticed <span style="font-style: italic;">gardening</span> work that happens over the course of an iteration that really helps a team work together and deliver effectively. Here's a few examples, some of which may be specific to our environment:<br /><br /><span style="font-weight: bold;">Pair-Programming:</span><br />Given that your team holds <a href="http://www.think-box.co.uk/blog/2007/02/my-take-on-perils-of-pair-programming.html">pair-programming</a> as a norm, look around and see if people are actually pairing, if not, why not? Are the pairs that are settled working well? Perhaps someone has disengaged and 'gone dark'. Maybe they need a break or maybe they haven't swapped around in a while (short-term marriage syndrome). Is a pair being disrupted by one party repeatedly fiddling with their PDA or mobile, taking calls, disappearing frequently, or floating back to their machine to IM or email? Perhaps there's an inexperienced pair that have reached a impasse and could do with a fresh pair of eyes.<br /><br /><span style="font-weight: bold;">Builds:</span><br />Is the build broken? Obvious I know, but you'd be surprised how often this is missed, even with lava lamps and flashing screens or audible alerts. If it is broken, <a href="http://www.think-box.co.uk/blog/2006/10/silly-hats-for-failing-build.html">can you tell who's fixing it</a>? If the build appears to be constantly failing, find out how many times it has failed so far today. Maybe the team could do with a <a href="http://www.think-box.co.uk/blog/2006/07/calling-timeout.html">timeout</a> to address it.<br /><br /><span style="font-weight: bold;">Cards:</span><br />Are the cards, <a href="http://www.think-box.co.uk/blog/2008/05/simplified-planning-board.html">boards</a> and other <a href="http://www.think-box.co.uk/blog/2005/08/informative-workspace.html">information radiators</a> clean and up-to-date? You'll probably find that quite a lot of your time will be spent maintaining them. Are cards in play being <a href="http://www.think-box.co.uk/blog/2007/10/vertical-slicing.html">sliced</a> as they're developed? Has the <a href="http://www.think-box.co.uk/blog/2005/08/being-effective-onsite-customer-or.html">customer</a> been in the <a href="http://www.think-box.co.uk/blog/2008/02/from-humble-beginnings.html">bullpen</a> for review at all today? Are QA involved and getting builds to test? Keep an eye out for typical scenarios that may need attention, for example a card that has been 'almost <a href="http://www.think-box.co.uk/blog/2006/02/knowing-when-youre-done.html">done</a>' for more than a day.<br /><br /><span style="font-weight: bold;">General Communication:</span><br />Is the office like a library, or worse, a morgue? Remember that as a faciliator one of your key roles is to protect the team from external interruptions so watch the flow of people in and out of your bullpen. What you really want to hear is the 'ambient noise of continuous conversation' as Simon 'walking thesaurus' Baker would say :)<br /><br />Gardening needs a <span style="font-style: italic;">light touch</span> to be effective. Be aware of what's going on with the team and intervene only when you notice something occuring that is either contrary to the agreed norms or disrupting the flow of cards to <a href="http://www.think-box.co.uk/blog/2006/02/knowing-when-youre-done.html">done</a>. When you do intervene make sure your delivery is well thought out, explain clearly what you have observed and why you think the team should take notice. From here you can faciliate the team to identify any root cause(s) and agree appropriate action. It's useful to keep a log of your observations. It will help you spot patterns over time that can be addressed more thoroughly in retrospectives.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/451951560" height="1" width="1" /></div></summary>
    <updated>2008-11-13T15:21:09Z</updated>
    <category term="facilitator" />
    <category term="pair-programming" />
    <category term="builds" />
    <category term="cards" />
    <category term="communication" />
    <category term="gardening" /><feedburner:origLink>http://www.think-box.co.uk/blog/2008/11/gardening-for-facilitators.html</feedburner:origLink>
    <author>
      <name>Gus Power</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>http://www.think-box.co.uk/blog/</id>
      <logo>http://www.think-box.co.uk/blog/images/logo-balanced.png</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>2008-11-19T05:16:34Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/AgileInAction/~3/451893765/gardening-for-facilitators.html</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.codeodor.com/index.cfm/2008/11/12/Adventures-in-Scaling-First-Identify-the-Bottleneck/2609</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/450685696/2609" rel="alternate" type="text/html" />
    <title xml:lang="en-US">Adventures in Scaling: First, Identify the Bottleneck</title>
    <summary xml:lang="en-US" type="html">In an effort to bring about a discussion (and hopefully diffuse some information on) scaling, last week I told the story of Origin Shabamtech and Gulfomatic's Solutioneers, bringing about an open question regarding the myth of how Gulfomatic solved Shabamtech's scaling woes .
 
After telling the story, I asked,
 
I want to figure out the mystery. Do you have any ideas? How would you determine what's causing the site to crash? What might you look at? What might you do to fix it?
 
 
 
 
A typical infrastructure diagram, from Force10 Networks .
 
 

Let's recount what we know ...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/450685696" height="1" width="1"/&gt;</summary>
    <updated>2008-11-12T12:25:37Z</updated>
    <category term="Miscellany" />
    <category term="Web Development" />
    <category term="Databases" />
    <category term="Hardware" />
    <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>2008-11-19T05:15:53Z</updated>
    </source>
  <feedburner:origLink>http://www.codeodor.com/index.cfm/2008/11/12/Adventures-in-Scaling-First-Identify-the-Bottleneck/2609</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.io.com/~wazmo/blog/288@http://www.io.com/~wazmo/blog/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/450002787/2008_11.html" rel="alternate" type="text/html" />
    <title>Watir Released with Improved Support for Firefox</title>
    <summary type="html">Last week we released Watir 1.6.2. This is a big release with a lot of new features and fixes, but the focus has been integrating the Watir and FireWatir code bases and improving our support for Firefox. Earlier this year...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/450002787" height="1" width="1"/&gt;</summary>
    <updated>2008-11-11T20:56:47Z</updated>
    <source>
      <id>http://www.io.com/~wazmo/blog/</id>
      <author>
        <name>Bret Pettichord</name>
        <email>bret@pettichord.com</email>
      </author>
      <link href="http://www.io.com/~wazmo/blog/" rel="alternate" type="text/html" />
      <link href="http://www.io.com/~wazmo/blog/index.xml" rel="self" type="application/rss+xml" />
      <subtitle>by Bret Pettichord</subtitle>
      <title>Testing Hotlist Update</title>
      <updated>2008-11-11T20:56:47Z</updated>
    </source>
  <feedburner:origLink>http://www.io.com/~wazmo/blog/archives/2008_11.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://blog.gdinwiddie.com/2008/11/10/aye-2008-remembering-your-resources-when-stressed/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/449052205/" rel="alternate" type="text/html" />
    <title xml:lang="en">AYE 2008 - Remembering Your Resources When Stressed</title>
    <summary xml:lang="en">On last Monday afternoon, I attended the session, Remembering Your Resources When Stressed: The Self Esteem Toolkit led by Jerry Weinberg.  This session dwelt on a idea Jerry borrowed from Virginia Satir.  We have the capability to do the things we need to do, but we often forget our powers when we&amp;#8217;re stressed. [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>On last Monday afternoon, I attended the session, <em>Remembering Your Resources When Stressed: The Self Esteem Toolkit</em> led by Jerry Weinberg.  This session dwelt on a idea Jerry borrowed from Virginia Satir.  We have the capability to do the things we need to do, but we often forget our powers when we’re stressed.  The toolkit is a set of reminders of the capabilities we have.  Jerry has added to Virginia’s original list, and published them in <a href="http://www.amazon.com/More-Secrets-Consulting-Consultants-Tool/dp/0932633528%3FSubscriptionId%3D0EMV44A9A5YT1RVDGZ82%26tag%3Dalberg30-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0932633528" target="_blank" title="See the book on Amazon.com">More Secrets of Consulting</a>.<a id="more-74" /></p>
<p>The book includes: <a href="http://www.amazon.com/More-Secrets-Consulting-Consultants-Tool/dp/0932633528%3FSubscriptionId%3D0EMV44A9A5YT1RVDGZ82%26tag%3Dalberg30-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0932633528" title="View product details at Amazon"><img alt="More Secrets of Consulting: The Consultant's Tool Kit" src="http://ecx.images-amazon.com/images/I/51GSYw%2B18bL._SL160_.jpg" /></a></p>
<ul>
<li>The Wisdom Box</li>
<li>The Golden Key</li>
<li>The Courage Stick</li>
<li>The Wishing Wand</li>
<li>The Detective Hat (and the Magnifying Glass)</li>
<li>The Yes/No Medallion</li>
<li>The Heart</li>
<li>The Mirror</li>
<li>The Telescope</li>
<li>The Fish-Eye Lens</li>
<li>The Gyroscope</li>
<li>The Egg, the Carabiner, and the Feather</li>
<li>The Hourglass</li>
<li>and The Oxygen Mask</li>
</ul>
<p>You  can read about them in the book.  I have; these are not new to me. I attended the session to remind myself more powerfully, so that I’ll remember these tools more readily when I need them.</p>
<p>And Jerry reminded us that we can add other tools to our toolbox, too.  So I suggested The Ear Trumpet.  This is to remind me to listen to what others have to say, and to really hear it.
</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/449052205" height="1" width="1" /></div></content>
    <updated>2008-11-11T01:44:08Z</updated>
    <published>2008-11-11T01:44:08Z</published>
    <category term="Tools and Techniques" />
    <author>
      <name>George Dinwiddie</name>
    </author>
    <source>
      <id>http://blog.gdinwiddie.com</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" />
      <rights xml:lang="en">Copyright 2008</rights>
      <subtitle xml:lang="en">Effective software development</subtitle>
      <title xml:lang="en">George Dinwiddie's blog</title>
      <updated>2008-11-14T03:42:31Z</updated>
    </source>
  <feedburner:origLink>http://blog.gdinwiddie.com/2008/11/10/aye-2008-remembering-your-resources-when-stressed/</feedburner:origLink></entry>

  <entry>
    <id>http://darrenhobbs.com/?p=528</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/448671370/" rel="alternate" type="text/html" />
    <title>The many dimensions of time in software</title>
    <summary>Here's a modelling scenario that crops up on many occasions in software systems.

Today is wednesday. The friendly neighbourhood HR person is updating the HR system. She needs to record the following information.

Last thursday, Bob from Treasury received a pay rise, commencing next friday.

It's now monday almost 2 weeks later, the ...</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Here’s a modelling scenario that crops up on many occasions in software systems.</p>
<p>Today is wednesday. The friendly neighbourhood HR person is updating the HR system. She needs to record the following information.</p>
<p>Last thursday, Bob from Treasury received a pay rise, commencing next friday.</p>
<p>It’s now monday almost 2 weeks later, the business day after next friday. Friendly neighbourhood HR person is told of a mistake with Bob’s pay rise. She needs to record the following information.</p>
<p>The pay rise recorded for Bob 2 wednesdays ago that he received 3 thursdays ago that commenced last friday was wrong. It should have been backdated to the beginning of the month, 5 fridays ago, not last friday.</p>
<p>Developers and their software can get in an awful mess if sufficient thought is not given to the many dimensions of time. In this example a robust system would have recorded the following:</p>
<ul>
<li>The time the initial entry was made by FNHRPerson.</li>
<li>The time the pay rise was given to Bob.</li>
<li>The time the pay rise took economic effect.</li>
<li>The time the entry was modified.</li>
<li>The new time the pay rise took economic effect.</li>
</ul>
<p>It might also need to answer questions like, ‘when does Bob’s pay rise take effect?’ and ‘as of the day before yesterday, when did you think Bob’s pay rise took effect?’.</p>
<p>There’s a whole other side to this story with respect to calculating how much money had changed hands and the correction required in light of the new date data. But that’s another dimension altogether.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/448671370" height="1" width="1" /></div></content>
    <updated>2008-11-10T17:49:21Z</updated>
    <category term="Uncategorized" />
    <author>
      <name>darren</name>
    </author>
    <source>
      <id>http://darrenhobbs.com</id>
      <link href="http://darrenhobbs.com" rel="alternate" type="text/html" />
      <link href="http://www.darrenhobbs.com/index.rdf" rel="self" type="application/rdf+xml" />
      <subtitle>Shameless self promotion</subtitle>
      <title>Darren Hobbs</title>
      <updated>2008-11-10T17:49:21Z</updated>
    </source>
  <feedburner:origLink>http://darrenhobbs.com/?p=528</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://blog.gdinwiddie.com/2008/11/09/aye-2008-unearthing-the-data-you-need/</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/448013510/" rel="alternate" type="text/html" />
    <title xml:lang="en">AYE 2008 - Unearthing the Data You Need</title>
    <summary xml:lang="en">The AYE 2008 (Amplifying Your Effectiveness Conference) is now history.  I never have time to blog about this conference during the conference&amp;#8211;I&amp;#8217;m always too busy.  Besides, it&amp;#8217;s so rich with learning that it takes me awhile to process it.  This year (my fourth at AYE), I&amp;#8217;m going to look back through my [...]</summary>
    <content type="xhtml" xml:lang="en"><div xmlns="http://www.w3.org/1999/xhtml"><p>The AYE 2008 (<a href="http://www.ayeconference.com/" target="_blank">Amplifying Your Effectiveness Conference</a>) is now history.  I never have time to blog about this conference during the conference–I’m always too busy.  Besides, it’s so rich with learning that it takes me awhile to process it.  This year (my fourth at AYE), I’m going to look back through my notes and blog a little about each session I attended.</p>
<p>The first session I attended was titled <em>First Steps for Organizational Change: Unearthing the Data You Need</em> and was presented by <a href="http://www.jrothman.com/" target="_blank">Johanna Rothman</a>.  I say presented, but like all the sessions at AYE, the word <em>“presented”</em> doesn’t convey the essence of the session.  Johanna presented a lot of information, to be sure.  (And you can find <a href="http://ayeconference.com/wiki/scribble.cgi?read=InterviewTipsandTrapsforAssessments" target="_blank" title="Interview Tips and Traps for Assessments">some of the same material on the AYE Wiki</a>.)  But the power of AYE lies in the fact that all the sessions are experiential.  In this session, we took turns, in small groups, interviewing each other, and observing each other interviewing.  And after each interview session, we examined the experience in a debrief.  The debrief is the heart of the experience, for it’s where we make our actions explicit to ourselves.  And it’s where we share our insights with others, and share theirs.</p>
<p>A few Johanna tidbits from my notes:</p>
<ul>
<li>Don’t be afraid to ask for quantitative data before starting an assessment, but don’t expect to get it.</li>
<li>I take notes [when interviewing people as part of an assessment], but everything is off the record.</li>
<li>Pay attention to differences between expectations and reality.</li>
</ul>
<p>Thanks, Johanna, for a wonderful and rewarding session!
</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/448013510" height="1" width="1" /></div></content>
    <updated>2008-11-10T04:12:36Z</updated>
    <published>2008-11-10T04:12:36Z</published>
    <category term="Tools and Techniques" />
    <author>
      <name>George Dinwiddie</name>
    </author>
    <source>
      <id>http://blog.gdinwiddie.com</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" />
      <rights xml:lang="en">Copyright 2008</rights>
      <subtitle xml:lang="en">Effective software development</subtitle>
      <title xml:lang="en">George Dinwiddie's blog</title>
      <updated>2008-11-14T03:42:31Z</updated>
    </source>
  <feedburner:origLink>http://blog.gdinwiddie.com/2008/11/09/aye-2008-unearthing-the-data-you-need/</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-8882974.post-6730708972803668047</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/447842568/ultimate-product-stream.html" rel="alternate" type="text/html" />
    <title>The ultimate Product Stream?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.m3p.co.uk/blog/">Steve Freeman</a> sent me a link to what I think could be <a href="http://www.evolvingexcellence.com/blog/2008/10/jke-day-2-saishunken-cosmetics---customer-care-trumps-a-factory.html">the ultimate product stream</a> arrangement. It's a long article but stick with it and look at the photos closely. Definitely very impressive stuff!<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/447842568" height="1" width="1" /></div></summary>
    <updated>2008-11-10T00:02:51Z</updated>
    <category term="lean productstream" /><feedburner:origLink>http://www.think-box.co.uk/blog/2008/11/ultimate-product-stream.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://www.think-box.co.uk/blog/images/logo-balanced.png</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>2008-11-19T05:16:33Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/AgileInAction/~3/447804453/ultimate-product-stream.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/133</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/445963342/133" rel="alternate" type="text/html" />
    <title>Hello, South Korea!</title>
    <summary>A couple of weeks ago, I taught Rapid Software Testing in Seoul, South Korea. I was there at the invitation of Wonil Kwon, executive director of STA Consulting. It was a professional operation in all respects. Mr. Kwon even brought in a team of translators to help. It was like the United Nations, [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a class="file-link image" href="javascript:void(0)" id="file-link-135" title="sany0073.JPG">  			<img alt="teaching in korea" height="212" src="http://www.satisfice.com/blog/wp-content/uploads/2008/11/sany0073.JPG" width="414" /></a></p>
<p>A couple of weeks ago, I taught Rapid Software Testing in Seoul, South Korea. I was there at the invitation of Wonil Kwon, executive director of STA Consulting. It was a professional operation in all respects. Mr. Kwon even brought in a team of translators to help. It was like the United Nations, with the translators in a small wooden booth and everyone wearing an earpiece. (I couldn’t resist saying “Dorsal Lateral Prefrontal Cortex” and “supercalifragilisticexpialidocious” a few times, just to give them a challenge. But the startling thing was to discover that there is no Korean word for “coverage” or “oracle.”)</p>
<p>Turns out there is a substantial South Korean testing community, and Mr. Kwon is a major player in it. Apart from outsourcing and consulting, he has written a few testing books, and teaches testing. Wonil also showed me some flashy online training. It was all in Korean, but done very professionally.  The most interesting part, to me, is that he runs testing <em>clinics</em>. Clinics are cool. We need more of them in our industry. As I understand it, in each clinic, someone brings test documentation from a real project. The class then analyzes and comments on it.</p>
<p><a class="file-link image" href="javascript:void(0)" id="file-link-136" title="sany0037.JPG">  			<img alt="Wonil showing me his online training videos" height="237" src="http://www.satisfice.com/blog/wp-content/uploads/2008/11/sany0037.JPG" width="313" /></a></p>
<p>I also discovered that he has organized an Asian testing alliance involving China, Japan, and Malaysia. Why haven’t we heard about any of this in the United States? Answer: <em>little of it is happening in English</em>. So, we in the U.S. and Europe must to work a little harder to discover the innovations and insights about testing that may arise in the Far East.</p>
<p>While talking to Wonil, I began to think that there may be distinctive schools of testing in the East (or styles within schools) that differ from the prevailing testing cultures in the West. I teach testing as a sort of mental martial art. Perhaps there is a “Tae Kwon Do” of testing practiced particularly in Korea? I want to look deeper into it.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/445963342" height="1" width="1" /></div></content>
    <updated>2008-11-07T21:11:00Z</updated>
    <category term="Software Testing and Quality" />
    <category term="http://www.satisfice.com/blog/?p=133&amp;amp;preview=true" />
    <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>2008-11-07T21:46:44Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/133</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-58170608</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/445740028/recent-readings-of-interest.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/recent-readings-of-interest.html" rel="replies" type="text/html" />
    <title>Recent Readings of Interest</title>
    <summary>At the suggestion of a friend, from time to time I'm going to post about Recent Agile (or related) articles that I've read and found interesting. Yet another misunderstanding of TDD, testing, and code coverage - In examining the failings...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>At the suggestion of a friend, from time to time I'm going to post about Recent Agile (or related) articles that I've read and found interesting.</p> <p><a href="http://www.agileadvice.com/2008/11/04/uncategorized/yet-another-misunderstanding-of-tdd-testing-and-code-coverage/#comment-2024" target="_blank">Yet another misunderstanding of TDD, testing, and code coverage</a> - In examining the failings of Kevin Pang's "<a href="http://www.kevinwilliampang.com/post/Is-Code-Coverage-Really-All-That-Useful.aspx">Is Code Coverage Really All That Useful?</a>" - Christian Gruber provides an excellent description of the real value of Code Coverage in Unit testing </p><p>At the Scrum Gathering in Stockholm, Bas Vodder presented: <a href="http://gatheringblog.scrumalliance.org/?p=63">Problems with component teams</a> - where he explains why Feature Teams are better than Component teams. Related from InfoQ: <a href="http://www.infoq.com/articles/scaling-lean-agile-feature-teams" target="_blank">Choose Feature Teams over Component Teams for Agility</a>. </p><p><a href="http://www.infoq.com/articles/pat-kua-onboarding-new" target="_blank">A Leaner Start: Reducing Team Setup Times</a> - from last year, Patrick Kua wrote about reducing the time and pain involved in introducing new members to the team. </p><p><a href="http://misko.hevery.com/2008/10/21/testability-explorer-measuring-testability/" target="_blank">Testability Explorer: Measuring Testability</a> from Misko Hervey - the tool itself is here: <a href="http://www.testabilityexplorer.org/report" target="_blank">Testability Explorer</a> - I'm not sure how I feel about this tool yet since some of Misko's claims in his talk don't sit well with me yet. Specifically he suggests no use of statics at all ever - never again calling Math.Abs() directly. Hmmmm. </p><p>Keith Braithwaite - has a interesting presentation on some measurement work he did. <a href="http://www.keithbraithwaite.demon.co.uk/professional/presentations/#measure4" target="_blank">Measure for Measure</a>. Its a bit hard to read by itself - but the key message for me: projects that have automated Unit tests have less complex code. </p><p>Mark Shuttleworth of Ubuntu fame mentions the use of <a href="http://www.markshuttleworth.com/archives/150" target="_blank">TDD</a> in the development of their distro. </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> </p><p><!--<br />
google_ad_client = "pub-5369880749076561";<br />
google_ad_width = 728;<br />
google_ad_height = 90;<br />
google_ad_format = "728x90_as";<br />
google_ad_type = "text_image";<br />
google_ad_channel = "";<br />
//--><br />  </p><p /></div>

<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=t7GBLd"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=t7GBLd" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/445715779" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/445740028" height="1" width="1" /></div></content>
    <updated>2008-11-07T17:45:27Z</updated>
    <published>2008-11-07T17:44:06Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Recent Reading" />
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/recent-readings-of-interest.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/445715779/recent-readings-of-interest.html</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.codeodor.com/index.cfm/2008/11/7/Adventures-in-Scaling/2600</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/445427250/2600" rel="alternate" type="text/html" />
    <title xml:lang="en-US">Adventures in Scaling</title>
    <summary xml:lang="en-US" type="html">It was a sunny day in October, and Origin Shabamtech's web site had crashed for 
the umpteen millionth time. Mr. Shabam, the company's 
 CSO , was desperate. 
 
The money they were making from the website was great - processing 
seven figures monthly - but it wouldn't continue if the application kept crashing. 
 
 
 
"We have to get this website to stay up," he said to himself. "But how?"
 
Mr. Shabam called on his company's hosting provider, Boomtastic Server Company (BSC) 
to see if they could help. 
 
They'd be glad to provide the servers and bandwidth, ...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/445427250" height="1" width="1"/&gt;</summary>
    <updated>2008-11-07T14:13:56Z</updated>
    <category term="Miscellany" />
    <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>2008-11-19T05:15:53Z</updated>
    </source>
  <feedburner:origLink>http://www.codeodor.com/index.cfm/2008/11/7/Adventures-in-Scaling/2600</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/EstimatedInterest.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/444520897/EstimatedInterest.html" rel="alternate" type="text/html" />
    <title>EstimatedInterest</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://martinfowler.com/bliki/TechnicalDebt.html">TechnicalDebt</a> is a very useful concept, but it raises
  the question of how do you measure it? Sadly technical debt isn't
  like financial debt, so it's not easy to tell how far you are in
  hock (although we seem to have had some trouble with measuring the
  financial kind recently).</p><p>Here's one idea to consider. When a team completes a feature ask
  them to tell you how long it took them (the actual effort) and how
  long they think it would have taken if the system were properly
  clean. The difference between the two is the interest of the
  technical debt. (So if it actually took them 5 days but they think
  it would have taken them 3 days with a clean system, then you paid 2
  days of effort as interest on your technical debt.)</p><p>There are certainly some serious flaws with this technique. The
  statement of how long it would have taken on a clean system is an
  estimate based on an imaginary state - so is difficult to make
  objective. There's the effort in capturing this information, which
  is easy to get out of hand. But the result may help project a
  picture of the state of the code-base in a way that's visible to
  non-technical staff.</p><p>Furthermore it may also help with decisions about whether to pay
  the principal. Some teams like to add technical debt stories to
  their product backlog - with estimates on how long it would take to
  remove them. Such technical debt stories are also estimates, but
  also provide a picture of how much debt has built up. You could get
  a bit more clever with the estimated interest payments by
  apportioning them to these debt stories (I spent an extra day on
  this feature because of the bad state of the flipper
  module). Comparing interest payments with the principal may help
  inform a decision about whether to pay off the principal.</p><p>I ran into someone recently who tried something a little like
  this and found it handy, but it's not something I've run into a
  lot. Certainly there are flaws with doing it - but it may be worth a
  try for a few iterations.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/444520897" height="1" width="1" /></div></content>
    <updated>2008-11-06T15:41:00Z</updated>
    <category term="agile" />
    <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-11-14T22:07:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/EstimatedInterest.html</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-58082386</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/443617256/writing-clean-testable-code.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/11/writing-clean-testable-code.html" rel="replies" type="text/html" />
    <title>Writing Clean Testable Code</title>
    <summary>Miško Hevery a Google Best Practices Coach gives an excellent talk what Clean Code. He's pitching writing testable code, pointing out problems that make code difficult to test. If you're already practicing TDD there will be very little new here....</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p><a href="http://misko.hevery.com/about/">Miško Hevery</a> a Google Best Practices Coach gives an excellent talk what Clean Code. He's pitching writing testable code, pointing out problems that make code difficult to test. If you're already practicing TDD there will be very little new here. But if you're struggling either not convinced that TDD is worth the learning curve or convinced that you design well without TDD, then this video is for you. In addition he provides one of the better arguments for and descriptions of dependency injection. </p> <p> </p><div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f312ab0d-89e4-4051-82ac-8ebaf11ad7a9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px;"><div id="04602954-0d0c-41e1-980b-5c690dd0bf65" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=wEhu57pih5w" target="_new"><img alt="" galleryimg="no" src="http://tooluser.typepad.com/.a/6a00d8341cc2cf53ef010535dbf696970c-pi" /></a></div></div></div><p /> <p> </p> <p>He also has an interesting blog, Interesting entries: <a href="http://misko.hevery.com/2008/10/21/testability-explorer-measuring-testability/">Testability Explorer: Measuring Testability</a>, <a href="http://misko.hevery.com/2008/10/21/dependency-injection-myth-reference-passing/">Dependency Injection Myth: Reference Passing</a>, <a href="http://misko.hevery.com/2008/09/30/to-new-or-not-to-new/">To “new” or not to “new”…</a> and <a href="http://misko.hevery.com/2008/09/24/application-wiring-on-auto-pilot/">Application Wiring on Auto-Pilot</a>.</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> </p><p><!--<br />
google_ad_client = "pub-5369880749076561";<br />
google_ad_width = 728;<br />
google_ad_height = 90;<br />
google_ad_format = "728x90_as";<br />
google_ad_type = "text_image";<br />
google_ad_channel = "";<br />
//--><br />  </p><p /></div>

<p><a href="http://feeds.feedburner.com/~a/NotesFromAToolUser?a=vtAOif"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=vtAOif" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/443611872" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/443617256" height="1" width="1" /></div></content>
    <updated>2008-11-05T19:59:45Z</updated>
    <published>2008-11-05T19:59:04Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Software Development" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/11/writing-clean-testable-code.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/443611872/writing-clean-testable-code.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>http://www.satisfice.com/blog/archives/134</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/443342988/134" rel="alternate" type="text/html" />
    <title>Schools of Testing… Here to Stay.</title>
    <summary>The world of testing is divided into camps. Those camps argue with each other, sometimes. Mostly they ignore each other.  These camps are like religions of software testing. They are determined and persistent patterns of belief, speech, and behavior. They could be called paradigms. In my community, we call them “schools.”
I didn’t create the [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>The world of testing is divided into camps. Those camps argue with each other, sometimes. Mostly they ignore each other.  These camps are like religions of software testing. They are determined and persistent patterns of belief, speech, and behavior. They could be called paradigms. In my community, we call them “schools.”</p>
<p>I didn’t create the schools (only the members of each school can do that) but I helped make labels for them. The labels represent these persistent patterns. <a href="http://uktmf.com/index.php?q=node/131">Paul Gerrard wants them to go away.</a> This puzzles me. It’s like trying to make culture go away. You can ignore cultural differences, of course, as long as you only work within one culture. You can ignore cultural differences if you wish to remain ignorant and provincial.</p>
<p>I’m a pluralist. I have my own testing religion (the Context-Driven School), but I recognize that there are others in the world. Besides Context-Driven, I share the world with adherents to the Factory School, Quality Control School, Analytical School, and Test-Driven Design School, and I share the world with people who form their own schools drawn from each of the other ones.</p>
<p>Paul suggests that no one wants to be a member of a school and that the schools don’t align to real-life testing. Paul’s wrong about that, and profoundly so. Actually the only people NOT a member of a school are those who have no beliefs or ideas about testing. But if you test, you <strong>must </strong>have beliefs about testing. You have a vocabulary and a sense of the tasks that are to be completed. As you gain experience and education, your beliefs (and consequently your actions) will exhibit an increasingly definite pattern and that can be observed and studied. It may be, as you learn, you change your beliefs. It may be that your beliefs are contradictory, at times. Still, as you get your head together about testing, a pattern emerges. That’s what it means to “know how to test.”</p>
<p>It’s true that the labels I use for schools are stereotypes– if that means a generic pattern. They are useful generic patterns, because they allow me to more efficiently characterize someone’s testing practices. I can say “that’s a factory approach except for this part, here.” People who study culture do use pattern languages to aid in discussing them. This is not some crazy idea of my own.</p>
<p>Paul Gerrard has written quite a bit about testing. He has expressed specific ideas and his ideas stand in contrast to alternative ideas. For instance, he has argued for quantitative risk analysis in test planning, independent of project context. That attitude is consistent with both the Factory and Analytical School ways of thinking, both of which extol the trappings of science (e.g. numbers). The Factory School way is to apply numbers without worrying about whether they have a rational scientific foundation (based on my arguments with Paul, he seems to be in that camp). Factory schoolers are keen to remove the icky human element from testing, wherever possible. They are annoyed by touchy feely things such as their own human infirmity. The Analytical School way is to limit themselves to laboratory contexts where the numbers apply or trying to change projects to ft the assumptions of the numbers. Analytical schoolers are generally academics.</p>
<p>I have debated quantitative risk analysis with Paul Gerrard. He certainly has different beliefs and ethics about numbers than I do. Without making a claim about who is right, isn’t it reasonable to say that he and I belong to different schools of thought?</p>
<p>People don’t necessarily sign up for these schools. Someone could describe himself as “spontaneous and care-free” without joining a club, or committing to that way of being for all time. Similarly, I could describe someone as “methodical and studious” even if he saw himself as spontaneous and care-free. I am not forcing anyone to join an organization by describing them according to a pattern of behavior. Schools are not necessarily communities or organizations.</p>
<p>In the case of the Context-Driven School, there is a community. At least one: mine. You can be context-driven without being in my community, but if you are context-driven in your behavior (meaning, in short, that you reject best practices and study skills and contexts instead) then you will probably be happy to join the software-testing forum at Yahoogroups.com. That’s the forum for our community.</p>
<p>When we began to declare testing schools, almost ten years ago, what we hoped to do was to foster a more scientific community. In science, the notion of schools is well-established. Since the time of the ancient Greeks, this has been so. By failing to establish this in the testing industry, we foster endless unproductive debate based on the assumption that we all share one foundation. In fact, our differences are very deep. There is not even a consensus, in the testing industry, about what “testing” means!</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/443342988" height="1" width="1" /></div></content>
    <updated>2008-11-05T14:37:03Z</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>2008-11-07T21:46:44Z</updated>
    </source>
  <feedburner:origLink>http://www.satisfice.com/blog/archives/134</feedburner:origLink></entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5056996.post-1876247114131170516</id>
    <link href="http://www.blogger.com/feeds/5056996/posts/default/1876247114131170516" rel="edit" type="application/atom+xml" />
    <link href="http://www.blogger.com/feeds/5056996/posts/default/1876247114131170516" rel="self" type="application/atom+xml" />
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/443296026/conditions-for-change.html" rel="alternate" type="text/html" />
    <title>Conditions for Change</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I attended an Organizational Change BoF last evening at the AYE conference.  Among other things, we talked about why it is that some managers fail to act when there are many signs of big problems.<br /><br /><br />I see three conditions that are prequisites for change (at any level):<br /><br /><strong>People have to recognize the situation.</strong>  One person at the group told a compnay that was losing billions, but kept cancelling projects that produced revenue, and funded projects that failed.  The problem was obvious to anyone who *could* see.  But the senior managers had a mental model of operating as a monopoly, and updated neither their mental models nor their corporate accounting systems.  So they didn't see it.<br /><br /><strong>People have to believe it is possible to change the situation in some way</strong>.  If people don't believe it's possible to change, they are paralyzed.  THere are some things can't be changed, that are out of the sphere of influence or control.  People often forget that even when they can't change external circumstances, they can change their response.<br /><br /><strong>People need to have some idea of how to shift the situation.</strong> WHen people have no earthly idea how to shift the situation, they become paralyzed.  So paralyzed that they don't seek help in the form of new ideas or expertise.  Or they grasp at the first silver bullet that's offered (which often makes the situation worse). Or they do nothing.<br /><br />So how do you create the conditions for change in your organization?  Stay tuned.  I'll be blogging about that in the next weeks.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/443296026" height="1" width="1" /></div></content>
    <updated>2008-11-05T13:30:45Z</updated>
    <published>2008-11-05T13:17:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="management" />
    <category scheme="http://www.blogger.com/atom/ns#" term="change" />
    <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>2008-11-05T13:30:45Z</updated>
    </source>
  <feedburner:origLink>http://www.estherderby.com/weblog/2008/11/conditions-for-change.html</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.codeodor.com/index.cfm/2008/11/5/Win-an-iPod-Nano-or-iPod-Touch-For-Learning-Something-New---Second-Annual/2596</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/443227059/2596" rel="alternate" type="text/html" />
    <title xml:lang="en-US">Win an iPod Nano or iPod Touch For Learning Something New - Second Annual</title>
    <summary xml:lang="en-US" type="html">It's that time of year again where you reach deep into your brains 
to learn something new, and I reach deep into my pockets to reward 
you with a toy for sending it to me.
 
Last year the contest got a fair amount of interest, with 
 Adrian Moreno claiming the prize .
 
This year it's back, and I'm giving you the choice between a 16GB iPod Nano, or 
an 8GB iPod Touch (the iPod that's funner than all previous iPods). 
 
 
 
 
 
So, with no further ado...
 
 The Contest 
For the next month, I'll be ...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/443227059" height="1" width="1"/&gt;</summary>
    <updated>2008-11-05T13:10:57Z</updated>
    <category term="Ruby" />
    <category term="ColdFusion" />
    <category term="Java" />
    <category term="OOAD" />
    <category term="Rails" />
    <category term="AI/Machine Learning" />
    <category term="Groovy/Grails" />
    <category term=".NET" />
    <category term="Programming" />
    <category term="JavaScript" />
    <category term="Games" />
    <category term="C++" />
    <category term="Save Your Job" />
    <category term="Web Development" />
    <category term="Lisp" />
    <category term="Mac OS" />
    <category term="Electronics" />
    <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>2008-11-19T05:15:53Z</updated>
    </source>
  <feedburner:origLink>http://www.codeodor.com/index.cfm/2008/11/5/Win-an-iPod-Nano-or-iPod-Touch-For-Learning-Something-New---Second-Annual/2596</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/EarlyPain.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/442632918/EarlyPain.html" rel="alternate" type="text/html" />
    <title>EarlyPain</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>A few years ago I was talking with a client who told me something
	he didn't like about the agile approach we were using: "it's
	doesn't feel right to have these difficulties this early in the
	project". Contrary to his reaction, in my mind this early pain is
	one of the great <i>benefits</i> of an agile or indeed any iterative
	development process.</p><p>I have many complaints about the waterfall process, but probably
	my greatest problem with it is how it tends to defer discovery of
	problems till late in the project, at which point there's little
	time or energy to deal with them effectively. Iterative cycles try
	to flush out as many problems as possible as early as possible. This
	gives you more time to cope, or at least raises the problems early
	enough to cancel before investing too much money and effort in a
	problematic project. </p><p>A useful exercise is to reflect on past projects and think about
	where problems cropped up late. Now ask yourself how you could make
	those problems crop up earlier. The more pain you get earlier, the
	better.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/442632918" height="1" width="1" /></div></content>
    <updated>2008-11-04T22:26:00Z</updated>
    <category term="agile" />
    <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-11-14T22:07:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/EarlyPain.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: 570px;"><img height="250px" src="http://martinfowler.com/bliki/neal-rebecca.jpg" width="570px" />
<p>Neal
  Ford and Rebecca Parsons will be working with me again on a DSL
  tutorial at QCon San Francisco. Rebecca and I will do a keynote.</p>
</div>
<p>My last scheduled talking arrangement this year is to return to
  <a href="http://qconsf.com/sf2008/conference/">QCon San Francisco</a>. QCon is a organized by the <a href="http://jaoo.dk/">JAOO</a> team and organized in collaboration with
  <a href="http://infoq.com">InfoQ</a>. It brings the conference
  formula that I like so well from JAOO to the US.</p><p>I've got two talks planned. One is an all day tutorial on DSLs with
  Neal Ford and Rebecca Parsons. This tutorial is the one we've done
  at a number of JAOO/QCon conferences in the last year. </p><p>The second
  talk is a keynote with Rebecca on the relationship between agile
  thinking and enterprise architecture groups. In our work we often
  have to bridge the gap between our approaches and somewhat
  traditional enterprise architecture teams - and Rebecca is usually
  working right on that boundary. So this talk brings our thoughts on
  how enterprise architecture fits in with an agile mind-set.</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-11-04T22:24: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-11-14T22:07:00Z</updated>
    </source>
  <feedburner:origLink>http://martinfowler.com/bliki/UpcomingTalks.html</feedburner:origLink></entry>

  <entry>
    <id>tag:typepad.com,2003:post-57146747</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/424032534/lightroom-2-book-recommendations.html" rel="alternate" type="text/html" />
    <link href="http://www.notesfromatooluser.com/2008/10/lightroom-2-book-recommendations.html" rel="replies" type="text/html" />
    <title>Lightroom 2 Book Recommendations?</title>
    <summary>I'm looking for one or two Lightroom 2 books. First I'm looking for a book (or even website) that provides a rock solid (fast, fast, fast) workflow. I'm reasonably proficient in Lightroom 1 - but am finding I have ever...</summary>
    <content type="xhtml" xml:lang="en-CA"><div xmlns="http://www.w3.org/1999/xhtml"><div><p>I'm looking for one or two Lightroom 2 books.</p> <p>First I'm looking for a book (or even website) that provides a rock solid (fast, fast, fast) workflow. I'm reasonably proficient in Lightroom 1 - but am finding I have ever shrinking quantities of time to spend working with my images. Anything that can help save me even a few minutes everytime would be a god send.</p> <p>The more difficult problem. I would like a book that gives me a deeper understanding of the develop module. I have got a fair understanding of the basic controls (white balance, exposure, fill, highlight recovery, vibrance, clarity etc.). But I get lost when I'm looking at the Curves, HSL controls, ... - 2.0 has just made my life more complicated (in a good way). For Lightroom 1 I bought the O'Reilly Lightroom Adventure and its a good book, but I found the section on the develop module focused only the what. What effect does each control have? Good to a point - but I struggled to figure out when and why I would want to use the Curves (etc). Are there better books for 2.0? <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdobe-Photoshop-Lightroom-Book-Photographers%2Fdp%2F0321555619%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1224266775%26sr%3D8-4&amp;tag=notesfromatoo-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Martin Evening's book</a> gets great reviews but I've no idea about the depth in this area.</p> <p>Other candidates include: </p> <ul> <li><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdobe-Photoshop-Lightroom-How-Tos-Techniques%2Fdp%2F0321526376%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1224266775%26sr%3D8-5&amp;tag=notesfromatoo-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Adobe Photoshop Lightroom 2 How-Tos: 100 Essential Techniques</a>: the table of contents doesn't not offer hope.  </li><li><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FLightroom-Professional-Shortcuts-Nathaniel-Coalson%2Fdp%2F0470400765%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1224267851%26sr%3D8-26&amp;tag=notesfromatoo-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Lightroom 2 Professional Shortcuts</a>: What are the contents?  </li><li><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdobe-Lightroom-Missing-Answers-Questions%2Fdp%2F0956003028%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1224266775%26sr%3D8-15&amp;tag=notesfromatoo-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Adobe Lightroom 2 - The Missing FAQ: Real Answers to Real Questions asked by Lightroom users</a>: What's in this book?  </li><li>...</li></ul> <p>What can you recommend? If you happen to be Martin can you tell me - does your book have alot of depth in the develop section?</p> <p><em>Caveat Emptor - if you buy any of the books after clicking on my link I get 4% of the price. In all likelihood that means I might be able to afford a coffee or two.</em> </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=8VpCnb"><img border="0" src="http://feeds.feedburner.com/~a/NotesFromAToolUser?i=8VpCnb" /></a></p><img height="1" src="http://feeds.feedburner.com/~r/NotesFromAToolUser/~4/424009499" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/424032534" height="1" width="1" /></div></content>
    <updated>2008-11-03T14:25:07Z</updated>
    <published>2008-10-17T19:44:32Z</published>
    <category scheme="http://www.sixapart.com/ns/types#category" term="Photography" /><feedburner:origLink>http://www.notesfromatooluser.com/2008/10/lightroom-2-book-recommendations.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-11-18T21:18:15Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/NotesFromAToolUser/~3/424009499/lightroom-2-book-recommendations.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6714432</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/438478838/screaming-yellow-duc.aspx" rel="alternate" type="text/html" />
    <title>Screaming Yellow Duc</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Yes another motorcycle post.</p>

<p>After riding the <a href="http://blogs.consultantsguild.com/index.php/wayne/2008/08/07/another-new-bike">other</a> <a href="http://blogs.consultantsguild.com/index.php/wayne/2008/03/17/new-bike">bikes</a> this summer there was just something missing from the KLX 250. Primarily my wife. We were both missing the enjoyment of heading out for an hour or two on the weekends or a warm evening riding tandem. We know this might be an issue we we purchased the KLX, but figured we'd save up some money and deal with it next summer.</p>

<p>Fast forward to the present. I'm hanging around the dealership waiting for the service department to put some new tires on the KLX. The showroom is completely dead and I didn't bring anything to occupy my time, so I'm wandering around admiring the bikes. One of the salesmen strikes up a conversation as they are likely to do. Eventually he gets around to asking me what kind of bike I'd be interested in if I was really looking.</p>

<p>I'm honest with him. I say I'd be interested in something for riding 2 up. I've been here a few times and know they don't really have much in that category, but I've got time to kill and salesmen always have a bunch of good stories. He takes me through their limited inventory - a <a href="http://www.yamaha-motor.com/sport/products/modelimagelib/180/1/1/0/image.aspx">FJR</a>, and a <a href="http://www.kawasaki.com/PRODUCTS/detail.aspx?id=220&amp;content=photos">Concours</a>. Both are nice bikes, but I'm not really into buying new off the showroom floor.</p>

<p>He detects my lack of real interest and asks what I'd really want. I say I'd be really interested in a <a href="http://www.ducati.com/bikes/my2005/ducatiModel.jhtml?family=sporttouring&amp;modelName=ST4S-05">Ducati ST4</a>, knowing that the local Ducati dealer has this market pretty wrapped up. To my amazement he says hesitantly I think we have one of those.</p>

<p>I'm stunned for a moment. Then I come back to my senses. Most Ducatis are sports bikes, not touring bikes, it is extremely doubtful they really have what I'm looking for. Nevertheless I follow him outside where some of the used bikes are on display.</p>

<p>We walk down the line of bikes and by this time I'm not expecting much, but then I see it. A 2001 Ducati ST2 in yellow! Now ideally I would love to have on in Ducati red, but at this point I don't really care to much. It has only 5,500 miles and the price is reasonable, but not amazing. I hem and haw. He asks me how much I'd be willing to pay. I tell him a ridiculously low number. At this point he reveals that it is a consignment bike and if I want we can write up an offed. What the heck, I've got time to spare and worse case I go home with nothing.</p>

<p>While we're writing up the offer my wife shows up (she was going to take the old, but still serviceable KLX tires home). I give her the tour and the salesguy finds the key so we can listen to it. It sounds fantastic with the Fast By Ferracci carbon fiber pipes on it. She is excited, I'm excited. We talk, we decide how much we'd really be willing to pay. The salesman comes back with a counter offer and is willing give up the consignment fees.</p>

<p>We now own a nice yellow 2001 Ducati ST2.</p>

<div class="image_block"><img alt="" height="353" src="http://blogs.consultantsguild.com/media/blogs/wayne/ScreamingYellowDuc.jpg" title="" width="600" /></div> 

<p>The next weekend wasn't so nice but a few of us went for a ride anyways. We got wet, but had fun just the same.</p>

<div class="image_block"><img alt="" height="480" src="http://blogs.consultantsguild.com/media/blogs/wayne/DucAndFriends.jpg" title="" width="640" /></div>

<p>Interestingly each one of us owns a different kind a bike, a standard, a cruiser, a dual sport and a sports bike.</p><img height="1" src="http://weblogs.asp.net/aggbug.aspx?PostID=6714432" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/438478838" height="1" width="1" /></div></summary>
    <updated>2008-10-31T20:29:00Z</updated>
    <category scheme="http://weblogs.asp.net/wallen/archive/tags/Personal/default.aspx" term="Personal" />
    <category scheme="http://weblogs.asp.net/wallen/archive/tags/motorcycle/default.aspx" term="motorcycle" />
    <author>
      <name>Wayne Allen</name>
    </author>
    <source>
      <id>http://weblogs.asp.net/wallen/default.aspx</id>
      <link href="http://weblogs.asp.net/wallen/default.aspx" rel="alternate" type="text/html" />
      <link href="http://weblogs.asp.net/wallen/Rss.aspx" rel="self" type="application/rss+xml" />
      <subtitle>pragmatic agility</subtitle>
      <title>Wayne Allen's Weblog</title>
      <updated>2008-11-19T05:16:14Z</updated>
    </source>
  <feedburner:origLink>http://weblogs.asp.net/wallen/archive/2008/10/31/screaming-yellow-duc.aspx</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>tag:blogger.com,1999:blog-8882974.post-8820976404623352160</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/407112243/talk-at-ggug.html" rel="alternate" type="text/html" />
    <title>Talk at GGUG</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Last night at <a href="http://skillsmatter.com/event/java-jee/ggug">GGUG</a>, Jerome Pimmel and Gus Power talked about <a href="http://skillsmatter.com/podcast/java-jee/the-jsecurity-plugin-beneath-the-surface">Effective Testing on Grails</a>.<br /><br /><a href="http://skillsmatter.com/custom/presentations/jeromepimmel-ggug01-10-2008grails-effective-testing-talkpdf.pdf">Slides</a> are available. Unfortunatley, the video recording was subject to 'technical difficulties', like the first half being recorded on mute.<xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/407112243" height="1" width="1" /></div></summary>
    <updated>2008-10-31T10:20:46Z</updated>
    <category term="grails testing" /><feedburner:origLink>http://www.think-box.co.uk/blog/2008/09/talk-at-ggug.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://www.think-box.co.uk/blog/images/logo-balanced.png</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>2008-11-19T05:16:33Z</updated>
    </source>
  <feedburner:origLink>http://feeds.feedburner.com/~r/AgileInAction/~3/407095576/talk-at-ggug.html</feedburner:origLink></entry>

  <entry xml:lang="en">
    <id>c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6712965</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/437452865/evolution-of-a-kanban-board.aspx" rel="alternate" type="text/html" />
    <title>Evolution of a Kanban board</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In <a href="http://blogs.consultantsguild.com/index.php/wayne/2008/02/01/no-more-iterations">No
More Iterations</a> I showed our 1<sup>st</sup> attempt at a <a href="http://geekswithblogs.net/appsguild/archive/2007/09/14/115372.aspx">kanban board</a>. Now that we have a little more experience I'd like to show you where we are now and where we stopped on the way.</p>


<table border="1" cellpadding="0" cellspacing="3">
 <tbody>
<tr>
  
<td valign="top">
  
<p>Here is where we started. Columns for backlog, blocked, in progress and done. Notice the large number of items "in-progress" even though there are only 7 people on the team (can you say multi-tasking?). In fact this was pointing to the fact that developers were building stuff faster than QA could consume it. One bottleneck identified.</p>

  </td>
  
<td>
<img align="middle" border="0" src="http://weblogs.asp.net/blogs/wallen/ekb/original.jpg" />
</td>
 </tr>
 
<tr>
  
<td>
<img border="0" src="http://weblogs.asp.net/blogs/wallen/ekb/board2.jpg" />
  </td>

<td valign="top">
  
<p>Here is the same board a few weeks later. Note the new  column for blocked work in process (WIP) and that the number of in process stories has been reduced significantly. The number of completed stories increased dramatically. </p>
  
<p>We accomplished this by focusing on getting stories done rather than just doing "work". That meant of course that programmers helped out with QA type tasks. It also meant that programmers had time to do some of the environmental cleanup activities that everyone always wants to do, but never has time to do them. Turns out we had time, we were just covering it up with other work</p>
  
<p>An interesting side effect was that developers were not used to having "idle" time and this was very disconcerting for many weeks. It seemed like they were waiting for the other shoe to drop - i.e. some manager was going to come in and yell at them for not working as hard as possible.</p>
  </td>
 </tr>
 
<tr>
  
<td valign="top">
  
<p>This is a task board the team put together to identify the tasks required to complete the stories in the WIP. The idea here was to let other people know what was remaining to be done so that team members could help each other out or at least not step all over each other.</p>
  
  </td>
  
<td>
<img border="0" src="http://weblogs.asp.net/blogs/wallen/ekb/taskboard1.jpg" />
</td>
 </tr>
 
<tr>
  <td>
<img border="0" src="http://weblogs.asp.net/blogs/wallen/ekb/taskboard2.jpg" />
</td>
  
<td valign="top">
  
<p>Here is the next evolution of the task board. The WIP stories are listed down the first column and the various internal states are the remainder of the columns. The sticky notes are the actual tasks that need to get done (color is meaningless).</p>
  </td>
 </tr>
 
<tr>
  
<td valign="top">
  
<p>Here is a combination story task board from a different team. They chose to run the stories across the top row with spots for Backlog, WIP, Blocked and Done.</p>
  
<p>The WIP stories get moved down to head the row just like the other team did. </p>
  
<p>For this team they did use color and sticky dots to indicate various items, but honestly I've forgotten what them meant.</p>
  </td>
  <td>
<img border="0" src="http://weblogs.asp.net/blogs/wallen/ekb/combo.jpg" />
</td>
 </tr>
</tbody></table>



<p>So where are we now? Interestingly things have been going smoothly for awhile so I had to wander over into the team spaces to be sure I remembered correctly. If you've followed along above you may have noticed that the boards got more complicated as we went. Since then we've been simplifying. Also we've gotten used to working this way and it turns out that if you work on a limited number of things, minimize multitasking and talk to each other there isn't much need to use up a big whiteboard with sticky notes.</p>



<p>That's right - we no longer have a kanban board. Now that isn't to say we've abandoned the concepts, we've just determined that we don't need the big visible board. </p>



<p>Currently tasks are being tracked in <a href="http://www.extremeplanner.com/">Extreme Planner</a> and stories are being tracked in a spreadsheet by the project manager.</p>



<p>I use a parallel spreadsheet without all the gory details to help the stakeholder prioritized work, see what is in process and what various releases might look like. </p><p>In a way I schedule the entire department on a single 8.5 x 11 piece of paper that has its roots in our very first kanban board.</p>
<img height="1" src="http://weblogs.asp.net/aggbug.aspx?PostID=6712965" width="1" /><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/agileplanetorg/~4/437452865" height="1" width="1" /></div></summary>
    <updated>2008-10-30T22:08:00Z</updated>
    <category scheme="http://weblogs.asp.net/wallen/archive/tags/Agile/default.aspx" term="Agile" />
    <category scheme="http://weblogs.asp.net/wallen/archive/tags/lean/default.aspx" term="lean" />
    <category scheme="http://weblogs.asp.net/wallen/archive/tags/kanban/default.aspx" term="kanban" />
    <author>
      <name>Wayne Allen</name>
    </author>
    <source>
      <id>http://weblogs.asp.net/wallen/default.aspx</id>
      <link href="http://weblogs.asp.net/wallen/default.aspx" rel="alternate" type="text/html" />
      <link href="http://weblogs.asp.net/wallen/Rss.aspx" rel="self" type="application/rss+xml" />
      <subtitle>pragmatic agility</subtitle>
      <title>Wayne Allen's Weblog</title>
      <updated>2008-11-19T05:16:15Z</updated>
    </source>
  <feedburner:origLink>http://weblogs.asp.net/wallen/archive/2008/10/30/evolution-of-a-kanban-board.aspx</feedburner:origLink></entry>

  <entry xml:lang="en-us">
    <id>http://www.codeodor.com/index.cfm/2008/10/29/Multi-Monitor-Enhancements/2587</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/435898146/2587" rel="alternate" type="text/html" />
    <title xml:lang="en-US">Multi-Monitor Enhancements</title>
    <summary xml:lang="en-US" type="html">With multiple monitors and mobile computing becoming the norm rather than the exception, 
applications need to start behaving in a way that makes operation under those conditions less abrasive.
We already see programs like Ultramon on Windows 
popping up to make the experience smoother (and for which I still have yet to find a suitable replacement 
on Mac OS), but I think we're going to have to do better. 
 
 
 
To some applications I say: I like that you remember which monitor you were open in 
when I last closed you. But I hate it when you open in ...&lt;img src="http://feeds.feedburner.com/~r/agileplanetorg/~4/435898146" height="1" width="1"/&gt;</summary>
    <updated>2008-10-29T13:19:55Z</updated>
    <category term="AI/Machine Learning" />
    <category term="Tools" />
    <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>2008-11-19T05:15:53Z</updated>
    </source>
  <feedburner:origLink>http://www.codeodor.com/index.cfm/2008/10/29/Multi-Monitor-Enhancements/2587</feedburner:origLink></entry>

  <entry>
    <id>http://martinfowler.com/bliki/Oslo.html</id>
    <link href="http://feeds.feedburner.com/~r/agileplanetorg/~3/435180580/Oslo.html" rel="alternate" type="text/html" />
    <title>Oslo</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Oslo is a project at Microsoft, of which various things have been
heard but with little details until this week's PDC conference. What we
have known is that it has something to do with
<a href="http://martinfowler.com/bliki/ModelDrivenSoftwareDevelopment.html">ModelDrivenSoftwareDevelopment</a> and <a href="http://martinfowler.com/bliki/DomainSpecificLanguage.html">DomainSpecificLanguages</a>.</p><p>A couple of weeks ago I got an early peek behind the curtain as I,
and my language-geek colleague Rebecca Parsons, went through a preview
of the PDC coming-out talks with <a href="http://www.pluralsight.com/community/blogs/dbox/">Don Box</a>, Gio
Della-Libera and <a href="http://www.vijaye.com/">Vijaye Raji.</a>
It was a very interesting presentation, enough to convince me that
Oslo is a technology to watch. It's broadly a <a href="http://martinfowler.com/articles/languageWorkbench.html">Language
Workbench</a>. I'm not going to attempt a comprehensive review of the
tool here, but just my scattered impressions from the walk-through. It
was certainly interesting enough that I thought I'd publish my
impressions here. With the public release at the PDC I'm sure you'll
be hearing a lot more about it in the coming weeks. As I describe my
thoughts I'll use a lot of the language I've been developing for <a href="http://martinfowler.com/dslwip/">my book</a>, so you may find
the terminology a little dense.</p><p>Oslo has three main components:</p><ul><li>a modeling language (currently code-named <b>M</b>) for textual
  DSLs</li><li>a design surface (named <b>Quadrant</b>) for graphical DSLs</li><li>a repository (without a name) that stores <a href="http://martinfowler.com/dslwip/SemanticModel.html">semantic
  models</a> in a relational database.</li></ul><p>(All of these names are current code names. The marketing
department will still use the same smarts that replaced "Avalon and
Indigo" with "WPF and WCF". I'm just hoping they'll rename "Windows"
to "Windows Technology Foundation".)</p><p>The textual language environment is bootstrapped and provides three base
languages:</p><ul><li><b>MGrammar:</b> defines grammars for Syntax
Directed Translation. </li><li><b>MSchema:</b> defines schemas for a Semantic Model</li><li><b>MGraph:</b> is a textual language for representing the
  population of a Semantic Model. So while MSchema represents types,
  MGraph represents instances. Lispers might think of MGraph as
  s-expressions with a ugly syntax.</li></ul><p>You can represent any model in MGraph, but the syntax is often not
too good. With MGrammar you can define a grammar for your own DSL
which allows you to write scripts in your own DSL and build a parser to
translate them into something more useful.</p><p>Using the state machine example from my book introduction, you
could define a state machine semantic model with MSchema. You could
then populate it (in an ugly way) with MGraph. You can build a decent
DSL to po