<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>the 'bee log</title><link>http://codebetter.com/blogs/david_laribee/default.aspx</link><description>Dave Laribee's thoughts on software development.</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><geo:lat>40.727093</geo:lat><geo:long>-73.978644</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/thebeelog" type="application/rss+xml" /><item><title>Hallway Conversations</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/277682184/hallway-conversations.aspx</link><pubDate>Fri, 25 Apr 2008 15:03:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:177124</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=177124</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/25/hallway-conversations.aspx#comments</comments><description>&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler_180a83bc" height="351" width="545"&gt;&lt;param name="movie" value="http://www.viddler.com/player/180a83bc/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/180a83bc/" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler_180a83bc" height="351" width="545"&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;One of the cool things about ALT.NET events and Open Spaces in general is that you encounter interesting hallway conversations at every turn.&lt;/p&gt;

&lt;p&gt;Take this video as a good example. We&amp;#39;ve got &lt;a href="http://udidahan.weblogs.us/2008/04/23/visual-cobol-enterprise-processes-and-soa/"&gt;Udi Dahan&lt;/a&gt;, &lt;a href="http://www.lostechies.com/blogs/chad_myers/archive/2008/04/21/engaging-microsoft.aspx"&gt;Chad Myers&lt;/a&gt;, and &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/04/16/asp-net-mvc-source-refresh-preview.aspx"&gt;ScottGu&lt;/a&gt; discussing issues around Microsoft and Open Source from varying perspectives.&lt;/p&gt;

&lt;p&gt;How can conversations like this not lead to shared understanding when we multiply this conversation by a hundred or thousand times?&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=177124" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=5v2OdCG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=5v2OdCG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=IUnr9dG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=IUnr9dG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=4kwFseg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=4kwFseg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=tvAP47g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=tvAP47g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/277682184" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/conferences/default.aspx">conferences</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/microsoft/default.aspx">microsoft</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/25/hallway-conversations.aspx</feedburner:origLink></item><item><title>Audio/Podcast Help!</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/277200357/audio-podcast-help.aspx</link><pubDate>Thu, 24 Apr 2008 21:48:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:177059</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=177059</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/24/audio-podcast-help.aspx#comments</comments><description>&lt;p&gt;File this one under housekeeping and crowd-sourcing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.troyd.net/"&gt;Troy DeMonbreun&lt;/a&gt; asks in a comment on one of my video posts:&lt;/p&gt;
&lt;blockquote&gt;
Will there be an MP3 version available -- for those that like to listen on work commutes?
&lt;/blockquote&gt;

&lt;p&gt;Great idea and I&amp;#39;m totally up for it. My concern is that the audio quality is pretty poor. That and I don&amp;#39;t know where to host this stuff. &lt;i&gt;Can anyone recommend a simple (key) audio cleaning tool? Does such a thing exist? Where is a good place to host an audio that produces an RSS feed so I can syndicate this easily?&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;If you wouldn&amp;#39;t mind, leave a comment below! Thanks very much in advance.&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=177059" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=DHJKcBG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=DHJKcBG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=yJOz5uG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=yJOz5uG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=DCkEoyg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=DCkEoyg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=FBcH75g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=FBcH75g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/277200357" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/help/default.aspx">help</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/housekeeping/default.aspx">housekeeping</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/podcasts/default.aspx">podcasts</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/24/audio-podcast-help.aspx</feedburner:origLink></item><item><title>John Lam on IronRuby</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/277118784/john-lam-on-ironruby.aspx</link><pubDate>Thu, 24 Apr 2008 19:23:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:177044</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=177044</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/24/john-lam-on-ironruby.aspx#comments</comments><description>&lt;p&gt;Time for another salvo of moving pictures!&lt;/p&gt;
&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler" height="370" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/856b2b4/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/856b2b4/" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler" height="370" width="437"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;John catches us up on the IronRuby and shows some under-the-covers
architecture of the DLR at the ALT.NET Open Spaces, Seattle event. I didn&amp;#39;t get the whole thing, but there&amp;#39;s some good stuff especially for folks that may have fallen out of touch with the project. &lt;/p&gt;
&lt;p&gt;So, yeah, get to commitin&amp;#39;, cowboy!&lt;br /&gt;&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=177044" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=02L8pmG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=02L8pmG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=40aulCG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=40aulCG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=KLOFq9g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=KLOFq9g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=cf4FV0g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=cf4FV0g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/277118784" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Featured/default.aspx">Featured</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ironruby/default.aspx">ironruby</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/24/john-lam-on-ironruby.aspx</feedburner:origLink></item><item><title>Future Architectures Fishbowl</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/276564431/future-architectures-fishbowl.aspx</link><pubDate>Thu, 24 Apr 2008 01:37:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:176995</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=176995</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/23/future-architectures-fishbowl.aspx#comments</comments><description>&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler" height="370" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/7c74b61/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/7c74b61/" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler" height="370" width="437"&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://codebetter.com/blogs/gregyoung/archive/2008/04/22/dddd-7-wow.aspx"&gt;Greg Young&lt;/a&gt; convened an interesting fishbowl about moving architectures into the future. A number of &amp;quot;-ilities&amp;quot; are brought up in the course of this varied and good discussion.&lt;/p&gt;

&lt;p&gt;Watching this I wonder if there is an architectural future or if it&amp;#39;s the case that we&amp;#39;re only in the ever-extending now. Messaging systems are a very old concept. Domain models and object systems are old concepts. Maybe the synthesis of these concepts are new ideas. Maybe it just takes a load of experience and knowledge...&lt;/p&gt;

&lt;p&gt;&lt;i&gt;What can we do to make our architectures more flexible? &lt;/i&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;I went with a higher resolution this time. It was a pain in the @$$ but downloads should be higher quality and full screen seems to be a better experience. Next up: part (only got the first 1/3, it&amp;#39;s good though) of John Lam&amp;#39;s IronRuby chat!&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176995" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=oiAvALG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=oiAvALG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=7lzV0wG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=7lzV0wG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=DvOHLNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=DvOHLNg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=48Ubm6g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=48Ubm6g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/276564431" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/architecture/default.aspx">architecture</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/23/future-architectures-fishbowl.aspx</feedburner:origLink></item><item><title>Polyglot Programmer Fishbowl</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/275714297/polyglot-programmer-fishbowl.aspx</link><pubDate>Tue, 22 Apr 2008 21:54:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:176912</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>20</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=176912</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/22/polyglot-programmer-fishbowl.aspx#comments</comments><description>&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler" height="370" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/7a0a088a/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/7a0a088a/" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler" height="370" width="437"&gt;&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;I recorded the Polyglot Programmer Fishbowl opening session from ALT.NET Open Spaces, Seattle last weekend. It&amp;#39;s pretty interesting with a variety of well-known &amp;#39;glots weighing in. &lt;a href="http://blogs.tedneward.com/2008/04/16/Do+You+Fall+Prey+To+Technical+Folk+Etymology.aspx"&gt;Ted Neward&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/charlie/"&gt;Charlie Calvert&lt;/a&gt;, and our very own &lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/04/22/rightsizing-your-approach.aspx"&gt;Jeremy Miller&lt;/a&gt; open the discussion with a definition.&lt;/p&gt;

&lt;p&gt;Personally, &lt;a href="http://codebetter.com/blogs/david_laribee/archive/2007/11/07/our-100-language-future.aspx"&gt;I&amp;#39;m a big believer in this Polyglot Future&lt;/a&gt;. I think, not uncommonly, we&amp;#39;re facing a reality where we&amp;#39;ll need one trusty language from each paradigm (static, dynamic, functional, etc.) with a number of DSLs internal and external.&lt;/p&gt;

&lt;p&gt;I have a &lt;i&gt;ton&lt;/i&gt; of video. These things take a long time to upload and encode and I&amp;#39;m a video novice so you&amp;#39;ll see things trickle out over a few days. &lt;/p&gt;

&lt;p&gt;Oh! I&amp;#39;d love any feedback as I&amp;#39;m trending toward more video content lately. Should I invest more time here? What can I change? Should I get a Steady-Cam®?&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176912" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=yO1y7gG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=yO1y7gG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=H1MkOkG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=H1MkOkG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=Py3cWwg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=Py3cWwg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=N0HgsDg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=N0HgsDg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/275714297" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/DSLs/default.aspx">DSLs</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Polyglot+Programmer/default.aspx">Polyglot Programmer</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/22/polyglot-programmer-fishbowl.aspx</feedburner:origLink></item><item><title>Iterations vs. Flow</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/275588111/iterations-vs-flow.aspx</link><pubDate>Tue, 22 Apr 2008 18:15:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:176900</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=176900</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/22/iterations-vs-flow.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m drilling pretty deeply into Lean these days. Scott Bellware turned me on to some of the more primary sources about lean manufacturing (Ben Scheirman does a good job of &lt;a href="http://flux88.com/ALTNETDay3.aspx"&gt;summarizing these books&lt;/a&gt; based on a recent conversation at ALT.NET). Since then we&amp;#39;ve had a bit of an &amp;quot;asynchronous book club&amp;quot; conversation in voice chat forms.&lt;/p&gt;&lt;p&gt;One of the ideas that&amp;#39;s starting to crystallize is that we&amp;#39;re not treating iterations appropriately. There&amp;#39;s too much emphasis on &amp;quot;weekly&amp;quot; or &amp;quot;bi-weekly&amp;quot; work cycles. In DDD terms we&amp;#39;re treating iterations as an entity when, in reality, iterations or sprints are better modeled as value objects.&lt;/p&gt;&lt;p&gt;Ok, here&amp;#39;s a story for you:&lt;/p&gt;&lt;p&gt;As a product owner, I want to see the team&amp;#39;s velocity over any arbitrary time range, so that I can see how many features a team can deliver in the future.&lt;/p&gt;&lt;p&gt;&lt;i&gt;or...&lt;/i&gt;&lt;/p&gt;&lt;p&gt;As a product owner, I want to compare the velocity of any two time ranges, so that I can determine if our velocity is increasing because it should.&lt;/p&gt;&lt;p&gt;So why just the same time range every week? It&amp;#39;s a bitch to have to content with time off and federal holidays. And, sure, I know you can&amp;#39;t treat any individual iteration&amp;#39;s velocity as reliable as velocity is more a trendline over a number of successive iterations, but it seems arbitrary to me that we&amp;#39;d lock the iteration down. We&amp;#39;re back to a batch and queue mentality and the batches only get bigger when we move up to the release level.&lt;/p&gt;&lt;p&gt;Lean would have us pursue &lt;a href="http://en.wikipedia.org/wiki/Lean_manufacturing#Overview"&gt;the concept of &amp;quot;flow.&amp;quot;&lt;/a&gt; That is, we want a single part or component (analog in software: feature/story) to flow through the system continuously. The customer pulls this feature via priority, developers pull the feature via backlog, testers pull the feature via &amp;quot;development complete,&amp;quot; etc. Right now customers can only truly pull at the release level. Now it&amp;#39;s true that you can modify a release but keep a known schedule with a reliable average velocity and a fixed set of points (swap out stories that are stale, etc.), but this seems more than a little anathemas to the competitive advantages purported by a lean approach: chiefly a competitive advantage in demand satisfaction.&lt;/p&gt;&lt;p&gt;I&amp;#39;d love for us to pursue the concept of &amp;quot;feature = release.&amp;quot; Truth is we&amp;#39;re a bit far off from this vision. A number of issues quickly crop up:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;How can customers cope with regular (say weekly) releases?&lt;/li&gt;&lt;li&gt;How do we structure our teams in this world view?&lt;/li&gt;&lt;li&gt;How do we get around the need to deliver a minimal set of functionality?&lt;/li&gt;&lt;li&gt;How does this work with &amp;quot;the big rewrite&amp;quot; as there&amp;#39;s just a ton of features that need to be done for acceptable parity?&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As far as #3 and #4 go, I think we need to challenge the scope of projects. When working in a rewrite or brownfield scenario, maybe we should get creative about introducing an anti-corruption layer and pinching off areas of improvement as services rather than waiting for the whole thing to be finished. We can also, in a rewrite situation, create an acceptance environment where the customer team can use the application. This is exactly what we&amp;#39;re doing at Xclaim (where we&amp;#39;re doing &amp;quot;the big rewrite&amp;quot; slowly) and it takes some upfront thought (more on that later), but the approach certainly works.&lt;/p&gt;&lt;p&gt;When we start thinking of features as releases we might need to dig a little deeper and find a solution that marries the desire to release early and often with the realities of a tidal wave of new software delivered regularly. I&amp;#39;m keeping an eye on things like SOA and Composite Applications and OSGi as a means of hitting this goal in enterprise software. I think it goes quite a bit deeper, though. For example, how are users going to cope with new menu items / screens / options / etc. on a regular basis. &lt;/p&gt;&lt;p&gt;First you&amp;#39;ll need an environment, &lt;i&gt;an assembly line&lt;/i&gt;, that permits fast introduction of new features. This assembly line will need to allow customers to &amp;quot;mix-and-match&amp;quot; the features delivered so they can determine when and how to release. The user experience will also need strong consideration. We&amp;#39;ll need to find UI metaphors that lend themselves to consistency and discoverability. The bar for this is much, much higher than a product with, say, quarterly releases.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Like anything in Lean or Agile it&amp;#39;ll take a village and a whole lot of cohesive thoughts. I&amp;#39;ll have more to say on this subject as this idea of &amp;quot;flow&amp;quot; is leading me down the path of segmenting product design from feature delivery. This is a slippery slope with pitfalls of BDUF accusation waiting around every corner, so I&amp;#39;ll appreciate a little patience as I experiment and theorize about these ideas.&lt;/p&gt;&lt;p&gt;Is anyone out there truly doing single part flow on their project? Anyone doing release-per-feature or even release-per-iteration? How long are your average releases?&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176900" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=iFNerjG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=iFNerjG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=V81n7aG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=V81n7aG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=cqShpBg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=cqShpBg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=A17U28g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=A17U28g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/275588111" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Agile/default.aspx">Agile</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/flow/default.aspx">flow</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/iterations/default.aspx">iterations</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/lean/default.aspx">lean</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/22/iterations-vs-flow.aspx</feedburner:origLink></item><item><title>Metastones</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/275461737/metastones.aspx</link><pubDate>Tue, 22 Apr 2008 15:03:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:176885</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler" height="370" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/f4d5fd39/"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.viddler.com/player/f4d5fd39/" type="application/x-shockwave-flash" allowscriptaccess="always" name="viddler" height="370" width="437"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;A ridiculous game that was created during the MVP Summit and ALT.NET Open Spaces, Seattle. Is Metastones the new Werewolf? Only you can decide.&lt;/p&gt;
&lt;p&gt;I captured a lot of video during my brief, 7-day time in Seattle/Redmond. I promise to be back with some serious stuff in a bit.&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176885" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=RLw4eeG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=RLw4eeG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=CXHzZSG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=CXHzZSG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=qlMf1zg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=qlMf1zg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=CWEDX3g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=CWEDX3g" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/275461737" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/conferences/default.aspx">conferences</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/fun/default.aspx">fun</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/22/metastones.aspx</feedburner:origLink></item><item><title>Early Tool Theory</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/263694888/early-tool-theory.aspx</link><pubDate>Fri, 04 Apr 2008 01:38:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:176289</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=176289</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/04/03/early-tool-theory.aspx#comments</comments><description>&lt;p&gt;I got into a series of interesting conversations with the &lt;a href="http://twitter.com/sbellware"&gt;usual suspects&lt;/a&gt;, &lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/04/02/i-m-a-free-agent.aspx"&gt;Austin edition&lt;/a&gt;, &lt;a href="http://www.chadmyers.com/blog/"&gt;about&lt;/a&gt; &lt;a href="http://lostechies.com/blogs/rhouston/archive/2008/04/03/influence-change.aspx"&gt;tools&lt;/a&gt;. I wouldn&amp;#39;t say we covered what I&amp;#39;m about to outline here in totality; these snippets are only starting to coalesce and firm up in my mind. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What&amp;#39;s a Tool?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It seems to me that a tool can start out as a thought construct, an observation leading to a human activity or operation. A practice, such as BDD, is a tool driven from a value system (quality, efficiency, etc.) that may manifest itself in a &amp;quot;hard&amp;quot; tool such as RSpec or NBehave. The hard tools are often used to streamline and satisfy an entire practice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Lean_manufacturing"&gt;Lean Manufacturing&lt;/a&gt; calls these tools &amp;quot;monuments.&amp;quot; That might not be a totally fair comparison, but I hope we can agree that you can install a practice tool (such as BDD) with a series of smaller hard tools such as MBUnit/NUnit/xUnit.NET, NCover, and &lt;a href="http://codebetter.com/blogs/david_laribee/archive/2007/12/17/approaching-bdd.aspx"&gt;a nice base class&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Lean has a very negative view on these monster tools, or monuments, because they create waste. The concept &amp;quot;right-sizing&amp;quot; is used by lean people to indicate that a tool should be exactly the size needed to allow a part or product to flow through a cell that adds value. How can you right-size a monster? You can&amp;#39;t. &lt;/p&gt;&lt;p&gt;This leads me to question whether or not the tools we&amp;#39;re using or developing aren&amp;#39;t just the right size. I&amp;#39;m certainly looking at what we&amp;#39;re doing at Xclaim with a critical eye. I&amp;#39;ll say that we use small tools (e.g. we&amp;#39;re not using NBehave) that are assembled/automated with a larger substrate (NAnt). The more I learn about the benefits of lean, the more I&amp;#39;m not into the bells-and-whistles approach to software tooling.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;One Tool to Rule Them All&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Why are we pursuing this IDE business? Ok, ok, so they make good &amp;quot;product.&amp;quot; And, yeah, sure, I understand the powers of static analysis now we can have an HUD hovering over our code giving us some quasi-futuristic view on the code we&amp;#39;re writing. &lt;/p&gt;&lt;p&gt;Snowcrash IDE anyone? This is a vision that appeals to the science fiction reader in me, but I think we might be off on a bit of a fool&amp;#39;s errand here. Let&amp;#39;s get pragmatic, shall we?&lt;br /&gt;&lt;br /&gt;We have a perfect substrate for integrating a series of small tools: &lt;a href="http://www.cryptonomicon.com/beginning.html"&gt;the command line&lt;/a&gt;. No doubt when working with C# or Java it&amp;#39;s nice to have refactoring and analysis support in our editor, but &lt;i&gt;it&amp;#39;s an editor folks&lt;/i&gt;. Too much focus is put on making this our only touch point, our only tool in craft. It&amp;#39;s as if some day in the not-too-distant future we&amp;#39;ll boot right into Visual Studio. When that&amp;#39;s the case there goes my flexibility. In this future on the .NET stack I have a single trickle into my value stream: Microsoft. Should I want to extend the value of that environment, I&amp;#39;ll have to go VSIP or accept their tributary as input to my value stream. Limiting factors abound and I&amp;#39;m not bullish on the future of &amp;quot;value stream operator&amp;quot; as a tenable business model.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tool Evolution&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We should, as an industry, evolve focused tools (think: a surgeon&amp;#39;s scalpel) from larger conceptual tools. NAnt or Rake are perfect examples. These are specific tools that &amp;quot;pull&amp;quot; (another lean idea) a larger tool of continuous integration into possibility. We&amp;#39;d of course need a version control tool to satisfy CI and we&amp;#39;ve got a number of those. Notice how there&amp;#39;s not one thing doing it. Take note that Victronix doesn&amp;#39;t have the &amp;quot;Swiss Army Knife: Surgical Edition&amp;quot; in their product line.&lt;br /&gt;&lt;br /&gt;What&amp;#39;s the advantage of this approach? Chiefly: we can tweak our production lines to product design. We can tailor our process to match the pain we feel and the quality/productivity demands we&amp;#39;re after.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;A tool should start large as a practice. A practice should satisfy a number of values. From there we should build/buy/introduce the necessary automation (and only the necessary automation) to satisfy a particular project. These small component tools should be flexible and easy to patch into a bespoke and context-driven orchestra aimed at &lt;a href="http://en.wikipedia.org/wiki/Lean_software_development#Eliminate_waste"&gt;eliminating wastes&lt;/a&gt; common to every or, key point coming up, &lt;i&gt;unique to each project&lt;/i&gt;. &lt;/p&gt;&lt;p&gt;What&amp;#39;s thrilling and cool about the right-sizing approach to tools is now you&amp;#39;re better able to improve at the systemic level. I&amp;#39;m going to make damn sure, while keeping an open eye, I don&amp;#39;t get suckered into software gadget culture. &lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=176289" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=DVvLtvG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=DVvLtvG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=ZXQWJxG"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=ZXQWJxG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=Wf9Oh2g"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=Wf9Oh2g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=jPsMBeg"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=jPsMBeg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/263694888" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/lean/default.aspx">lean</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/opinion/default.aspx">opinion</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/tools/default.aspx">tools</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/04/03/early-tool-theory.aspx</feedburner:origLink></item><item><title>Welcome to CodeBetter, Aaron and Jacob</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/254373742/welcome-to-codebetter-aaron-and-jacob.aspx</link><pubDate>Wed, 19 Mar 2008 15:41:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:175602</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=175602</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/03/19/welcome-to-codebetter-aaron-and-jacob.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m happy to announce that we&amp;#39;ve snagged up &lt;a href="http://codebetter.com/blogs/aaron.jensen/default.aspx"&gt;Aaron Jensen&lt;/a&gt; and &lt;a href="http://codebetter.com/blogs/jacob.lewallen/default.aspx"&gt;Jacob Lewallen&lt;/a&gt;. You might know them from as &amp;quot;The Eleutian Guys&amp;quot; from &lt;a href="http://blog.eleutian.com/2007/02/23/TestsAutoMockingIoCContainer.aspx"&gt;their already-popular blog&lt;/a&gt;. You might also know them as the inventors of the &lt;a href="http://blog.eleutian.com/2007/02/23/TestsAutoMockingIoCContainer.aspx"&gt;AutoMockingContainer&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Then again you might not know them. If you don&amp;#39;t, you really ought to.&lt;/p&gt;&lt;p&gt;I&amp;#39;d also like to make it clear that Jacob and Aaron will go by their individual names instead of &amp;quot;The Eleutian Guys,&amp;quot; &amp;quot;The Eleutian Boys,&amp;quot; &amp;quot;The Eluetian Squad,&amp;quot; or &amp;quot;Los Hombres de Eleutian.&amp;quot; We should now refer to them as Jacob or Aaron as context demands.&lt;/p&gt;&lt;p&gt;If you&amp;#39;d like to group them into a single entity, please use the term &amp;quot;smart bastards&amp;quot; henceforward.&lt;/p&gt;&lt;p&gt;Thank you.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175602" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=YvyhMjF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=YvyhMjF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=q47x9aF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=q47x9aF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=tYvt5Lf"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=tYvt5Lf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=F7KO7Kf"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=F7KO7Kf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/254373742" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/blogging/default.aspx">blogging</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/meta/default.aspx">meta</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/03/19/welcome-to-codebetter-aaron-and-jacob.aspx</feedburner:origLink></item><item><title>An ALT.NET Media Blitz!</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/251991702/an-alt-net-media-blitz.aspx</link><pubDate>Sat, 15 Mar 2008 14:27:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:175416</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=175416</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/03/15/an-alt-net-media-blitz.aspx#comments</comments><description>&lt;p&gt;It&amp;#39;s been a busy couple of weeks on &lt;a href="http://altdotnet.org/"&gt;the ALT.NET front&lt;/a&gt;. Here&amp;#39;s the run-down:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://codebetter.com/blogs/jeremy.miller/archive/2008/03/14/alt-net-on-msdn-magazine.aspx#comments"&gt;Jeremy Miller&lt;/a&gt; has the back page of this month&amp;#39;s MSDN magazine where he does a &lt;a href="http://msdn2.microsoft.com/en-us/magazine/cc337902.aspx"&gt;great job of describing ALT.NET&lt;/a&gt; and filling in some of the background for people that might be new to the idea. Oh, and, thanks for the shout out, Jeremy!&lt;/p&gt;&lt;p&gt;While at MIX08 I had the opportunity to &lt;a href="http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx"&gt;sit down with Scott Hanselman&lt;/a&gt; and record an episode of Hanselminutes. &lt;a href="http://www.hanselminutes.com/default.aspx?showID=122"&gt;It&amp;#39;s episode #104&lt;/a&gt; and it&amp;#39;s available right now! We start the chat with a discussion of ALT.NET, typical meta-stuff such as what we&amp;#39;re all about, the relationship to other movements like Agile, Web 2.0, and Open Source. It&amp;#39;s nice how we ended up drilling into dependency injection containers one example of how principles (inversion of control) drive tools and technologies. &lt;/p&gt;&lt;p&gt;I was pleased with the outcome. Scott&amp;#39;s an easy guy to talk to and obviously an experienced interviewer. Perhaps he should interview Mark Zuckerberg at next year&amp;#39;s SxSW? ;)&lt;/p&gt;&lt;p&gt;At this point I&amp;#39;m turning most of my extra-curricular attention to getting everything in order for a great event in Seattle and making some requested refinements to the community site at &lt;a href="http://altdotnet.org/"&gt;http://altdotnet.org/&lt;/a&gt;. If you have any suggestions or ideas for either I&amp;#39;d love to hear them. Email me (my last name at gmail) or get a conversation going on Twitter, &lt;a href="http://twitter.com/laribee"&gt;http://twitter.com/laribee&lt;/a&gt;.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175416" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=vY2wk2F"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=vY2wk2F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=4invqmF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=4invqmF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=P60of8f"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=P60of8f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=a9QDKqf"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=a9QDKqf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/251991702" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Community/default.aspx">Community</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/meta/default.aspx">meta</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/03/15/an-alt-net-media-blitz.aspx</feedburner:origLink></item><item><title>Mapping BDD</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/249889430/mapping-bdd.aspx</link><pubDate>Wed, 12 Mar 2008 02:41:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:175231</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>24</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=175231</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/03/11/mapping-bdd.aspx#comments</comments><description>&lt;p&gt;In my last post I offered a concise snapshot of how I&amp;#39;m practicing Behavior-Driven Development. Based on feedback, it was probably &lt;i&gt;a little too concise and meta&lt;/i&gt; to provide any kind of valuable takeaways or discussion points, so I&amp;#39;m going to unpack what I said there over a few, more-specific posts.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Iteration I/O&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve experienced success with BDD as an integrated component of a larger suite of Agile practices. Specifically I see BDD as a mapping activity between user stories and code. Think of an iteration or sprint as a pipeline: you put stories in at the beginning and the necessary code comes out at the end. The BDD process starts before you put stories into an iteration; you provide acceptance criteria (in many forms, more on that later) in order to understand the nature and implications of the story. These acceptance criteria then serve as a context for the developer in modifying a codebase. &lt;/p&gt;

&lt;p&gt;To be clear: &lt;i&gt;specifications describe code&lt;/i&gt; and &lt;i&gt;a developer specifies the code&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;Think of story structure, in this light, as an aggregate root. One story has zero-or-more acceptance criteria. Acceptance criteria come in many flavors. Falling back on the object oriented metaphor we can say that a specialization (or subclass) of a criterion is a &amp;quot;User Interface Prototype.&amp;quot; We can define another specialization as the &amp;quot;Scenario.&amp;quot;&lt;/p&gt;

&lt;p&gt;Now we&amp;#39;re all probably familiar with these scenarios. They&amp;#39;re the ones given in Dan North&amp;#39;s introduction (and many others), something like:&lt;/p&gt;

&lt;blockquote&gt;After depositing $100 dollars into an Account with a balance of $0, the balance should be $100.&lt;/blockquote&gt;

&lt;p&gt;&lt;i&gt;&lt;font color="dimgray"&gt;Sidebar: you&amp;#39;ll note that I&amp;#39;m not a big fan of the Given/When/Expect formalism or even the less restrictive when/then format. Story scenarios should read like Plain Old English (POE). Well maybe not plain OLD ENGLISH: whence ye olde account hath taken deposit.&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;d contend that these are bad examples, the plague of our industry. You might find this exact scenario appear in an executable class specification several times. It might surface as a specification of an Account entity in a model. It might also match a specification of a controller pattern in a presentation layer. Are the two the same? Nope. Would you express that surface duplicity in the story. Surely, no.&lt;/p&gt;

&lt;p&gt;Furthermore we&amp;#39;ll have a number of technical or infrastructure things we need to do. Our end user won&amp;#39;t care about that. Sorry, you can try to make them, but they won&amp;#39;t. They certainly won&amp;#39;t author those specifications. It&amp;#39;s up to the developer, when working on a story as a vertical slice through a system or through multiple components in a non-monolithic application to author specifications while working. The process of writing specifications continues past the process of estimation and admitting a story into an iteration.&lt;/p&gt;&lt;p&gt;So, yes, mapping is what we&amp;#39;re doing here. Mapping and continually adding specifications. We&amp;#39;re mapping specifications that came in to an iteration to things like the presentation layer and the domain model. We&amp;#39;re developing specifications and subsequently mapping them to infrastructure bits to fulfill a complete, working feature and we constrain ourselves to just doing enough to make that feature &amp;quot;potentially shippable.&amp;quot; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Define: &amp;quot;Behavior&amp;quot; and &amp;quot;Specification&amp;quot;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;What exactly is a behavior? Is a behavior a feature? I vote no. I like to think of a behavior as the smallest possible expression of one (and only one) thing that a code artifact accomplishes. Sometimes that&amp;#39;s a state change in a single object and sometimes that&amp;#39;s a collaboration between multiple objects. Sometimes a behavior will be technical, sometimes domain-specific or business oriented.&lt;/p&gt;&lt;p&gt;Features, on the other hand, are closer to stories. A feature (not always, but usually) will require a family of behaviors be present to work. And not all features are created equally. Users tend to think of features as larger workflows. These larger features, epics or I&amp;#39;ve taken to calling them &lt;i&gt;narratives&lt;/i&gt;, are sometimes a little big for a small, tight iteration so I try to break them down to the smallest possible story that&amp;#39;s still readable, understandable, and able to be prioritized by an end user.&lt;br /&gt;&lt;br /&gt;For me specifications describe behavior and &lt;i&gt;behavior is a description of code&lt;/i&gt;: classes in an object system. It&amp;#39;s a happy side-effect that sometimes our domain model behaviors mean something to an end user, but an Account entity with a fully functional deposit method does not a feature make.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Where&amp;#39;s the value?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The flavor of BDD I&amp;#39;m talking about are class specifications. That&amp;#39;s to say that I had the best outcome by trying to derive value from BDD on a technical front. We take a story, provide enough acceptance criteria in the form of scenarios to estimate, and use those scenarios to create executable specifications that prove our code&amp;#39;s behavior. &lt;/p&gt;&lt;p&gt;It&amp;#39;s a little software value chain.&lt;br /&gt; &lt;/p&gt;&lt;p&gt;The value from this process is tremendous. First we get our refactoring safety net. By having a well specified codebase we can make changes with aplomb. We now have a nice regression suite and we get all of the quality benefits of unit testing and the design discipline of TDD. &lt;/p&gt;&lt;p&gt;What sets BDD (and specifically this class specification style of BDD) apart from TDD or unit testing is the fact that our specifications are now documentation. The create a localized codebase that can be entered by any developer: we&amp;#39;re closer to collective ownership. It does it in a way, however, where we can now start talking in a kind of mapping language. That mapping language involves both the ubiquitous language of the domain model(s) we have and the vocabulary around recipes a team will evolve for infrastructure (&amp;quot;oh, hey, use the Logger&amp;quot;).&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;It&amp;#39;s Not Over (Sorry)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This is a huge topic. I&amp;#39;m afraid I have more to say on the subject but in the interest of getting this out there I&amp;#39;m hitting the publish button. As a final sum-up, I&amp;#39;ll say that in my experience class specifications are the way to go. &lt;/p&gt;&lt;p&gt;Viewing BDD in this light has immediate benefits. I&amp;#39;m not throwing out the possibility that executable acceptance tests, &amp;quot;story runners,&amp;quot; or FIT-hybrids are a bad way to go, but I think they&amp;#39;re much more toward research and development. Class specifications done in a BDD style are the real deal. They work in the hear and now, so that&amp;#39;s where my enthusiasm and effort is directed.&lt;/p&gt;&lt;p&gt;I&amp;#39;ll unpack my &lt;i&gt;theories&lt;/i&gt; about story runners in a future post. I&amp;#39;ll also talk a little bit about working vertically with BDD and this concept of Iteration I/O. We&amp;#39;re trying a few new things at my company that should provide some empirical basis for how we&amp;#39;re tackling questions around user documentation, acceptance testing, etc.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175231" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=zxp9NKF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=zxp9NKF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=RaFuqHF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=RaFuqHF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=6GqN51f"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=6GqN51f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=kd827Vf"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=kd827Vf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/249889430" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Agile/default.aspx">Agile</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/BDD/default.aspx">BDD</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/collective+ownership/default.aspx">collective ownership</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/opinion/default.aspx">opinion</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/TDD/default.aspx">TDD</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/03/11/mapping-bdd.aspx</feedburner:origLink></item><item><title>A Brief Statement on BDD </title><link>http://feeds.feedburner.com/~r/thebeelog/~3/248628033/a-brief-statement-on-bdd.aspx</link><pubDate>Mon, 10 Mar 2008 02:20:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:175132</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=175132</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/03/09/a-brief-statement-on-bdd.aspx#comments</comments><description>&lt;p&gt;Scott Bellware posed a question on &lt;a href="http://groups.google.com/group/behaviordrivendevelopment?hl=en"&gt;the newly formed BDD list&lt;/a&gt; asking people&amp;#39;s background. The list is concerned with Behavior-Driven Development but seems to have a heavy bias toward the .NET developer. This bias seems to bend the conversation towards tools, where tools mean a kind of language/platform specific technique.&lt;/p&gt;&lt;p&gt;So, as a BDD user, what&amp;#39;s my platform background?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In the near past I&amp;#39;ve been pretty much 100% C# on the CLR. Lately I have some contemporary work in RoR/RSpec and Python of the Iron variety.&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;My BDD world view on Sunday, March 9, 2008&lt;/b&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;I see specs as &amp;quot;class specifications&amp;quot; and behaviors are
story/feature-to-code mappings that teeter on the line of business
readability depending on the particular object collaboration they
describe and, as such, are best expressed in the same language. This
belief echoes that of the construction of virtual machines, see:
&lt;a href="http://rubini.us/"&gt;the argument for Rubinius&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I think it&amp;#39;s hard to talk about BDD in the abstract. Hard in the sense that, from the bottom up, it&amp;#39;s hard to divorce BDD from the implementation as specifications, well, &lt;i&gt;specify &lt;/i&gt;the implementation. For me, behaviors are &lt;i&gt;provided&lt;/i&gt; by the code in response to how the stories modify a system&amp;#39;s present state.&lt;/p&gt;&lt;p&gt;I think there&amp;#39;s a flip-side of BDD that says iteration-level stories end up as some kind of executable specification. For me, this isn&amp;#39;t a specification it&amp;#39;s a feature. I tend to look at features as a larger expression of how a user approaches as system to accomplish a piece of work. In my experience it works well (on a certain class of business application) to divorce these expressions from the BDD process. We assemble stories on the opposite side of an iteration into a kind of sequential story or &amp;quot;narrative&amp;quot; that expresses an atomic or composite workflow.&lt;/p&gt;&lt;p&gt;Loose thoughts to be sure. While I&amp;#39;m always interested in growing and extending our practice, I&amp;#39;m finding this definition and set of constraints handy and successful in applying a BDD process across languages/platforms. &amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=175132" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=zDKckBF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=zDKckBF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=7OjpX3F"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=7OjpX3F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=HjdL3Ff"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=HjdL3Ff" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=ZdLCHDf"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=ZdLCHDf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/248628033" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/.net/default.aspx">.net</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/BDD/default.aspx">BDD</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/python/default.aspx">python</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Rails/default.aspx">Rails</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Ruby/default.aspx">Ruby</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/03/09/a-brief-statement-on-bdd.aspx</feedburner:origLink></item><item><title>The Separated Interface Pattern</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/243536805/the-separated-interface-pattern.aspx</link><pubDate>Fri, 29 Feb 2008 20:47:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:174805</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=174805</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/02/29/the-separated-interface-pattern.aspx#comments</comments><description>&lt;p&gt;I did a quick streaming video today with &lt;a href="http://martinfowler.com/eaaCatalog/separatedInterface.html"&gt;the Separated Interface design&lt;/a&gt; pattern as our topic du jour. I wanted to see if the whiteboard would show up on video and if this was something people thought was valuable. It&amp;#39;s certainly easy to pick a design pattern and talk about it fairly loosely with a few examples on the dry erase. It&amp;#39;s a little shaky, so next time I&amp;#39;ll try to keep the camera still and focused on the right thing. &lt;/p&gt;

&lt;p&gt;
&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="thumbnail" style="position:relative;" align="middle" height="280" width="320"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="swLiveConnect" value="true"&gt;&lt;param name="movie" value="http://qik.com/player.swf?streamname=d9526d207e574f0e93e245acd487c828&amp;amp;vid=28577&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://qik.com/player.swf?streamname=d9526d207e574f0e93e245acd487c828&amp;amp;vid=28577&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous" quality="high" wmode="transparent" name="thumbnail" allowscriptaccess="always" swliveconnect="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="280" width="320"&gt;&lt;/object&gt;
&lt;/p&gt;

&lt;p&gt;The second installment is just a short introduction to two resources from &lt;a href="http://www.se-radio.net/"&gt;Software Engineering Radio&lt;/a&gt;, a podcast I&amp;#39;m a big fan of that tackles issues in software architecture including languages, object systems, processes, patterns, etc. The first is an interview with one of the minds behind the &lt;a href="http://www.se-radio.net/podcast/2008-01/episode-82-organization-large-code-bases-juergen-hoeller"&gt;Spring component framework&lt;/a&gt;, Juergen Hoeller, in which he talks about some strategies for managing large codebases. The second has the se-radio guys &lt;a href="http://www.se-radio.net/podcast/2008-02/episode-87-software-components"&gt;chatting about what components mean&lt;/a&gt; to a software architect, their main attributes, and conceptual design principles. Separated Interface is a key enabler in both topics when developing an object system.
&lt;/p&gt;

&lt;p&gt;
&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="thumbnail" style="position:relative;" align="middle" height="280" width="320"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;param name="swLiveConnect" value="true"&gt;
&lt;param name="movie" value="http://qik.com/player.swf?streamname=fe0ab61fc1a84f609628f722e0d5af89&amp;amp;vid=28588&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous"&gt;
&lt;param name="quality" value="high"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://qik.com/player.swf?streamname=fe0ab61fc1a84f609628f722e0d5af89&amp;amp;vid=28588&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous" quality="high" wmode="transparent" name="thumbnail" allowscriptaccess="always" swliveconnect="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="280" width="320"&gt;&lt;/object&gt;
&lt;/p&gt;
&lt;img src="http://codebetter.com/aggbug.aspx?PostID=174805" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=6PDl6VF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=6PDl6VF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=3wbJrKE"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=3wbJrKE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=dVrsfve"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=dVrsfve" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=3osbpEe"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=3osbpEe" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/243536805" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/architecture/default.aspx">architecture</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/design/default.aspx">design</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Featured/default.aspx">Featured</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/oo/default.aspx">oo</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/patterns/default.aspx">patterns</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/02/29/the-separated-interface-pattern.aspx</feedburner:origLink></item><item><title>The Ten-penny Tour of My Office</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/243001694/the-ten-penny-tour-of-my-office.aspx</link><pubDate>Thu, 28 Feb 2008 23:25:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:174779</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=174779</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/02/28/the-ten-penny-tour-of-my-office.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://codebetter.com/blogs/brendan.tompkins/"&gt;Brendan&lt;/a&gt; (Chief Nerd Herder at CodeBetter) sent me a nice little gadget, &lt;a href="http://www.nseries.com/index.html#l=products,n82"&gt;a Nokia N82&lt;/a&gt; hooked up to the &lt;a href="http://qik.com/codebetter"&gt;Qik video streaming service&lt;/a&gt;. With this I&amp;#39;ll be able to assault various people at various events with the real-world questions you all deserve to see answered.&lt;/p&gt;

&lt;p&gt;As a prototype I took a tour of my (messy) NYC office. That&amp;#39;s right, folks, this is exactly the kind of high quality, in your face, take no prisoners journalism you can expect going forward! &lt;a href="http://qik.com/video/27886"&gt;Take the tour, get on the bus, right here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;

&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="thumbnail" style="position:relative;" align="middle" height="280" width="320"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;param name="swLiveConnect" value="true"&gt;
&lt;param name="movie" value="http://qik.com/player.swf?streamname=704ee27b94af48f29add21088ede6e3d&amp;amp;vid=27886&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous"&gt;
&lt;param name="quality" value="high"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://qik.com/player.swf?streamname=704ee27b94af48f29add21088ede6e3d&amp;amp;vid=27886&amp;amp;playback=false&amp;amp;polling=false&amp;amp;user=codebetter&amp;amp;userlock=true&amp;amp;islive=&amp;amp;username=anonymous" quality="high" wmode="transparent" name="thumbnail" allowscriptaccess="always" swliveconnect="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="280" width="320"&gt;

&lt;/object&gt;&lt;/p&gt;

&lt;p&gt;On a serious note, &lt;a href="http://www.visitmix.com/"&gt;I&amp;#39;m taking this rig out to MIX08&lt;/a&gt;. If there&amp;#39;s anyone you want me to hunt down, post a comment and I&amp;#39;ll do my very best. I&amp;#39;ll have the device for a week or two, so maybe there&amp;#39;s some whiteboarding I can do for you all? I&amp;#39;m open to any and all ideas, let &amp;#39;em fly. We need to fatten up the catalog of &lt;a href="http://qik.com/codebetter"&gt;CodeBetter videos&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We&amp;#39;ll be rotating the device in and out of the grubby paws of various CodeBetter blogger over the next few months as we roll out this fun little experience, so look for good things! You&amp;#39;ll receive a twitter announcement from &lt;a href="http://twitter.com/codebetter/"&gt;@codebetter&lt;/a&gt; right before we start taping (LIVE!) and you can join in the comments, etc. It&amp;#39;s pretty cool, actually; the comments show right up on the handset so viewers can ask questions, be snarky, fire it up, all that.&lt;/p&gt;

&lt;img src="http://codebetter.com/aggbug.aspx?PostID=174779" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=q0YvAAF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=q0YvAAF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=hOnTgrE"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=hOnTgrE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=M83qyze"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=M83qyze" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=EuAeEde"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=EuAeEde" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/243001694" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/video/default.aspx">video</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/workspace/default.aspx">workspace</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/blogging/default.aspx">blogging</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/fun/default.aspx">fun</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/meta/default.aspx">meta</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/office/default.aspx">office</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/02/28/the-ten-penny-tour-of-my-office.aspx</feedburner:origLink></item><item><title>Speaking and Conference Schedule</title><link>http://feeds.feedburner.com/~r/thebeelog/~3/242207609/speaking-and-conference-schedule.aspx</link><pubDate>Wed, 27 Feb 2008 16:40:00 GMT</pubDate><guid isPermaLink="false">d21fbbc9-c112-4f32-ad14-95939a2c53d4:174754</guid><dc:creator>Dave Laribee</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://codebetter.com/blogs/david_laribee/rsscomments.aspx?PostID=174754</wfw:commentRss><comments>http://codebetter.com/blogs/david_laribee/archive/2008/02/27/speaking-and-conference-schedule.aspx#comments</comments><description>Things are loading up for 2008, so it&amp;#39;s time for everyone&amp;#39;s favorite &amp;quot;where I&amp;#39;ll be over the next six months post.&amp;quot;&amp;nbsp;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Tonight (yeah, &lt;/span&gt;&lt;i style="font-weight:bold;"&gt;tonight&lt;/i&gt;&lt;span style="font-weight:bold;"&gt;)&lt;/span&gt; I&amp;#39;m going to be given a very early version of a new talk called &lt;b&gt;Planned Agility?! at the Philly ALT.NET group&lt;/b&gt;. If you&amp;#39;re in town, come on down. I&amp;#39;m hoping this will be more like a facilitated discussion with lots of feedback. I&amp;#39;ve been working on this as more of a seminar or class than a 70-90 minute stand-and-deliver kind of talk.&lt;/p&gt;&lt;p&gt;&lt;a href="http://codebetter.com/blogs/david_laribee/planned-agility.002.png"&gt;&lt;img src="http://codebetter.com/blogs/david_laribee/planned-agility.002.png" style="width:472px;height:353px;" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I see Philly is the ideal place to bring raw materials for this kind of thing as there&amp;#39;s an unusually high Agile IQ there. Brian Donahue &lt;a href="http://phillyalt.net/"&gt;has a page up&lt;/a&gt; so you can read more there. ALT.NET events, in general, create a highly interactive expectation. I&amp;#39;m getting out there early with this one as I sharpen it to a fine point for DevTeach, Toronto.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;I&amp;#39;m going to MIX08 next week.&lt;/b&gt; There&amp;#39;s going to be an &amp;quot;open spaces&amp;quot; area that I&amp;#39;ll be a part of and I&amp;#39;m looking forward to seeing what&amp;#39;s happening with Silverlight and the DLR along with -- let&amp;#39;s hope -- some fun, new surprises. If you&amp;#39;re going, let&amp;#39;s grab a cocktail, how about it?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Next up? Let&amp;#39;s see. &lt;span style="font-weight:bold;"&gt;On April 8th I&amp;#39;m speaking at the Northern New Jersey User Group on Behavior-Driven Design&lt;/span&gt;. It&amp;#39;s going to be an intro focused toward writing lean and mean class specifications. There will be &lt;span style="font-style:italic;"&gt;some&lt;/span&gt; tool talk but it&amp;#39;s going to be mostly focused on coming up with a workable solution using the AutoMockingContainer, a base class, and Rhino Mocks. &lt;a href="http://www.n3ug.org/n3ug_upcoming.aspx"&gt;Check out their event page&lt;/a&gt; for more details.&amp;nbsp;&lt;/p&gt;&lt;p&gt;After that I&amp;#39;m headed to Seattle for an epic stay. &lt;span style="font-weight:bold;"&gt;Going to the MVP Summit (April 14-17)&lt;/span&gt; this year which should be fun. &lt;/p&gt;&lt;p&gt;I&amp;#39;m really looking forward to &lt;span style="font-weight:bold;"&gt;ALT.NET Open Spaces, Seattle on April 18-20th&lt;/span&gt;. Registration for that one is closed, but the list of participants is &lt;a href="http://altdotnet.org/events/seattle"&gt;out of this world&lt;/a&gt;. I&amp;#39;m looking forward to a good mind stretch, meeting new people, and hanging out with some of the friends I&amp;#39;ve made over the last year-and-a-half. &amp;nbsp;&lt;/p&gt;&lt;p&gt;The last thing on near-term radar is &lt;span style="font-weight:bold;"&gt;DevTeach Toronto on May 12-16th&lt;/span&gt;. I&amp;#39;m doing &lt;a href="http://www.devteach.com/Session.aspx"&gt;four sessions&lt;/a&gt; there:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;BDD Installed - You&amp;#39;ll know everything I know about BDD, theories, how we&amp;#39;re practicing it at Xclaim, etc. Code focused&lt;/li&gt;&lt;li&gt;Planned Agility?! - How do we plan in an Agile context. It&amp;#39;s both necessary and possible.&lt;/li&gt;&lt;li&gt;Agile Q&amp;amp;A with Friends - A reprise of the free-form, free-wheelin&amp;#39; fishbowl from Vancouver. Should be fun!&lt;/li&gt;&lt;li&gt;Strategic DDD - Ratcheting our discourse on Domain-Driven Design up a notch to talk about complex modeling issues, multiple models, etc. This is, at it&amp;#39;s heart, a session for Agile Architects.&lt;/li&gt;&lt;/ol&gt;That&amp;#39;s it in a nutshell. Scheming, cooking-up, and plotting a few other things that may or may not happen and I&amp;#39;ll be sure to announce here if there&amp;#39;s a change in plans. Come on out and get involved in the discussion! Looking forward to seeing some fresh faces out there (yeah, &lt;span style="font-style:italic;"&gt;you!&lt;/span&gt;)...&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=174754" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=qGEn1QF"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=qGEn1QF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=og8smlE"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=og8smlE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=9WJcene"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=9WJcene" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/thebeelog?a=QUDMZre"&gt;&lt;img src="http://feeds.feedburner.com/~f/thebeelog?i=QUDMZre" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/thebeelog/~4/242207609" height="1" width="1"/&gt;</description><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Community/default.aspx">Community</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/conferences/default.aspx">conferences</category><category domain="http://codebetter.com/blogs/david_laribee/archive/tags/Speaking/default.aspx">Speaking</category><feedburner:origLink>http://codebetter.com/blogs/david_laribee/archive/2008/02/27/speaking-and-conference-schedule.aspx</feedburner:origLink></item></channel></rss>
