<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Robby on Rails: Tag clients</title>
    <link>http://www.robbyonrails.com/articles/tag/clients</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>thoughts.sort_by{|t| t[:topic]}.collect </description>
    <item>
      <title>Tip: Link to Unimplemented</title>
      <description>&lt;p&gt;Throughout our design and development process, we&amp;#8217;re working around areas of the site that are not yet implemented but we also want to be able to allow our clients to demo their application. In an effort to manage their expectations, we need to be careful about what we link to. If a page/widget isn&amp;#8217;t ready to be demo&amp;#8217;d yet, we should avoid providing pathways to get interact with or navigate there. However, when we&amp;#8217;re implementing &lt;span class="caps"&gt;HTML&lt;/span&gt;/CSS for pages, it&amp;#8217;s sometimes makes sense to not hide certain things on the screen.&lt;/p&gt;


	&lt;p&gt;For example, let&amp;#8217;s suppose that you&amp;#8217;re working on the primary navigation of an application. You know what the other sections are going to be, but you&amp;#8217;ve only implemented a few of them so far. Your &lt;span class="caps"&gt;HTML&lt;/span&gt;/CSS person is working on the design for the navigation and wants to have them be proper links&amp;#8230; even to pages that don&amp;#8217;t yet exist.&lt;/p&gt;


	&lt;p&gt;One option, which is quite common, is to provide a link with &lt;code&gt;href="#"&lt;/code&gt;. This works to some extent, but when people click on things, they naturally expect something to happen in response.&lt;/p&gt;


	&lt;p&gt;This approach doesn&amp;#8217;t mesh well with our team as we don&amp;#8217;t really want to field any questions like, &amp;#8220;the navigation links are all broken. Nothing happens!&amp;#8221;&lt;/p&gt;


	&lt;p&gt;So, a pattern that we&amp;#8217;ve been using for a while is to trigger a javascript alert for every link within an implemented area that is linking to something that isn&amp;#8217;t yet implemented.&lt;/p&gt;


	&lt;p&gt;Let&amp;#8217;s take a really basic javascript function like:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# public/javascripts/application.js
function unimplemented() {
  alert("NOTICE\n\nThis feature is not implemented yet. Please check back again soon!");
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This allows us to do the following:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  &amp;lt;a href="javascript:unimplemented();"&amp;gt;link text&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;When someone clicks the link, they&amp;#8217;ll see a typical javascript alert message. This informs our clients/beta testers that we&amp;#8217;re paying attention to what works and what doesn&amp;#8217;t.&lt;/p&gt;


&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/robbyrussell/ecx1/unimplemented"&gt;&lt;img src="http://img.skitch.com/20080327-pbcddnkj85bu6m9x7mspme5y6.preview.jpg" alt="unimplemented" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;

	&lt;p&gt;Let&amp;#8217;s take it a step further and push this into a view helper.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# app/helpers/application_helper.rb
def link_to_unimplemented( link_text, *args )
  link_to_function( link_text, 'unimplemented()', *args)
end
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now, we&amp;#8217;re able to use &lt;code&gt;link_to_unimplemented&lt;/code&gt; and pass any arguments that you&amp;#8217;d pass to the default &lt;code&gt;link_to&lt;/code&gt; view helper.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
&amp;lt;%= link_to_unimplemented( 'link text', { :class =&amp;gt; 'link_class_name' } ) -%&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Now our web designers can go about their work and use this helper as necessary.&lt;/p&gt;


	&lt;p&gt;An nice benefit for doing this is that we have a pattern that we follow so that we can rely upon to make sure that we don&amp;#8217;t forget anything. This is the equivalent of adding @TODO@s throughout our code base.&lt;/p&gt;


	&lt;p&gt;If we search through &lt;code&gt;app/views&lt;/code&gt; for &amp;#8216;&lt;strong&gt;&lt;code&gt;link_to_unimplemented&lt;/code&gt;&lt;/strong&gt;&amp;#8217; we should be able to prevent missing any broken links. In the next screenshot, I&amp;#8217;m using &lt;code&gt;grep&lt;/code&gt; with colorized matches.&lt;/p&gt;


&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/robbyrussell/ecxh/unimplemented-2"&gt;&lt;img src="http://img.skitch.com/20080327-eg83hqhgpspk4n71hquswjpasf.preview.jpg" alt="unimplemented 2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt; 

	&lt;p&gt;As you can see, we have something left to implement in that area of the application. :-)&lt;/p&gt;


	&lt;p&gt;This has been one of those lightweight patterns that we&amp;#8217;ve been able to adopt and it&amp;#8217;s definitely helped manage the expectations of our clients throughout our development process.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;d love to hear your thoughts on this. How does your team handle things like this?&lt;/p&gt;


	&lt;h2&gt;Related Posts&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2007/08/01/designers-developers-and-the-x_-factor"&gt;Designers, Developers, and the x_ Factor&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2007/10/06/spice-up-your-terminal-with-colored-grep-pattern-results"&gt;Spice up your Terminal with colored grep pattern results&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
</description>
      <pubDate>Thu, 27 Mar 2008 06:10:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f2aad3fb-9728-4db3-8504-a7bf2bd76b24</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2008/03/27/tip-link-to-unimplemented</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>Programming</category>
      <category>PLANET ARGON</category>
      <category>clients</category>
      <category>javascript</category>
      <category>helper</category>
      <category>development</category>
      <category>design</category>
      <category>html</category>
      <category>tip</category>
    </item>
    <item>
      <title>Embracing Chaos, part 1</title>
      <description>&lt;p&gt;Consider this part one of several posts on my thoughts of &lt;strong&gt;the art of embracing chaos&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;Don&amp;#8217;t let &lt;a href="http://www.amazon.com/Agile-Software-Development-SCRUM-Schwaber/dp/0130676349"&gt;the books&lt;/a&gt; fool you. The construction of custom software is an unmastered and volatile cesspool of chaos. I don&amp;#8217;t adhere to the belief that there is a perfect methodology or process that will work for every project&amp;#8230; as I&amp;#8217;m sure many of you don&amp;#8217;t.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://www.robbyonrails.com/files/usa_lebowski_hi.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Unlike bowling, you&amp;#8217;ll never achieve a perfect score. Even in bowling, It&amp;#8217;s unlikely that anybody will learn how to bowl a perfect score and do so on every game for the rest of their career.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll never meet &lt;em&gt;every&lt;/em&gt; expectation that a client has on every project.&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll never meet &lt;em&gt;every&lt;/em&gt; expectation that a user has when they interact with your application.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.mickipedia.com/?p=1007"&gt;Expectations are an interesting thing&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Your project might get widely adopted and embraced, but &lt;a href="http://istwitterdown.com/"&gt;you&amp;#8217;re still trying to control chaos&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robbyrussell/261845948/" title="chaos by Robby Russell, on Flickr"&gt;&lt;img src="http://farm1.static.flickr.com/88/261845948_5c6fc23e4f.jpg" width="500" height="333" alt="chaos" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s chaos. Pure chaos&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;


	&lt;p&gt;So, why do we bother? Why do we try so hard when the odds aren&amp;#8217;t in our favor?&lt;/p&gt;


	&lt;p&gt;To be continued&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Related Posts:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2007/04/10/embracing-failure-part-1"&gt;Embracing Failure&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2006/11/18/dont-over-promise"&gt;Don&amp;#8217;t Over Promise&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://en.wikipedia.org/wiki/Chaos_theory"&gt;Chaos Theory&lt;/a&gt;, Wikipedia&lt;/p&gt;
</description>
      <pubDate>Mon, 17 Dec 2007 22:21:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:b33dc953-4c4c-478b-9332-b0f58c09e214</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/12/17/embracing-chaos-part-1</link>
      <category>Business</category>
      <category>Programming</category>
      <category>d3</category>
      <category>agile</category>
      <category>development</category>
      <category>d3</category>
      <category>projectmanagmeent</category>
      <category>clients</category>
      <category>choas</category>
      <category>bowling</category>
      <category>expectations</category>
      <category>control</category>
    </item>
    <item>
      <title> Rails Business: &amp;quot;Weekly&amp;quot; Review #3</title>
      <description>&lt;p&gt;It&amp;#8217;s been about six weeks since the last Rails Business &amp;#8220;Weekly&amp;#8221; Review on here, so perhaps it&amp;#8217;s worth changing the name to cut me some slack on not being consistent. ;-)&lt;/p&gt;


	&lt;p&gt;Since the last post, we&amp;#8217;ve gone from around 400 members to 555 as of this morning. We&amp;#8217;ve had 562 messages as well, so there hasn&amp;#8217;t been a shortage of discussions taking place. I&amp;#8217;d like to take a few moments to highlight some of the discussions that have taken place and encourage you all to consider participating, if you&amp;#8217;re not already.&lt;/p&gt;


	&lt;h3&gt;Licensing and Client Agreements&lt;/h3&gt;


	&lt;p&gt;Tim Case writes,&lt;/p&gt;


&lt;blockquote&gt;&amp;#8220;My client sent me this agreement drawn up from their lawyer that
included the following:
&lt;br /&gt;&lt;br /&gt;
(c)     the Contractor shall not bundle with or incorporate into any Work
Product any third-party products, ideas, processes, software, codes,
data, techniques, names, images, or other items or properties without
the express, written prior approval of the Company;&amp;#8221; 
&lt;/blockquote&gt;

	&lt;p&gt;Tim then goes on to ask how his applies to using Ruby on Rails, which as a &lt;span class="caps"&gt;MIT&lt;/span&gt; license and how other consultancies are handling these types of situations. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/ec01cd3bdfece804/3477c340e01446ba#3477c340e01446ba"&gt;Follow the discussion&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Escrow&lt;/h3&gt;


	&lt;p&gt;Gustin writes, &amp;#8220;Does anyone have any escrow experience, legal and cost? I am dealing with a client that got burned bad and we are reducing their fear with escrow on the first two iterations.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/c70e5b7b0a63917a/b4fced25705ca24a#b4fced25705ca24a"&gt;Follow the discussion&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Project Planning tools&lt;/h3&gt;


	&lt;p&gt;Mike Pence writes, &amp;#8220;So, I used to use MS Project for the composition of those dreaded Gantt charts, but it has been a few years since I had to be so formal. Anything new and exciting &amp;#8211; and more robust than Basecamp &amp;#8211; happening in the world of project planning software?&amp;#8221;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/a5d56192aeb3b36f/ef7bd04df87927d3#ef7bd04df87927d3"&gt;Follow the discussion&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Not long after, Jim Mulholland started a new thread on the same topic and brought up the open source application, redMine. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/a8b57756ec338b9c/bc4611a37cd57e3b#bc4611a37cd57e3b"&gt;Follow this discussion&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Ruby on Rails versus .NET&lt;/h3&gt;


	&lt;p&gt;Michael Breen asked a big question on the list, which has sparked an going discussion about the benefits of using Rails versus .NET (and other platforms).&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;A couple of months ago I decided to stop actively pursuing .NET gigs to focus on Rails. Several of my existing .NET clients have learned of this through the grapevine and have contacted me to discuss.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/a3036352c84163a2/2b0c7904537b89d4#2b0c7904537b89d4"&gt;Follow the discussion&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Three things Tim&amp;#8217;s learned from Freelancing Rails&lt;/h3&gt;


	&lt;p&gt;Tim Case shared his experience of freelancing with Ruby on Rails and highlights three things that he&amp;#8217;s learned.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;The non-code business aspect of Freelancing is demanding. &lt;/li&gt;
		&lt;li&gt;It takes 10 hours to bill 6 to 8.&lt;/li&gt;
		&lt;li&gt;Figuring out your rate is hard.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Read the &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/85d38e8e613aad22/e40445bbae689249#e40445bbae689249"&gt;rest of Tim&amp;#8217;s observations and the discussion the followed&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;Client issue tracking and documentation&lt;/h3&gt;


	&lt;p&gt;Jeff Judge writes, &amp;#8220;Hello all! I was curious to here how people are handling client issue tracking and documentation.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;Several applications were mentioned for handling issue tracking and the general consensus was that there was still a lot to be desired that current options didn&amp;#8217;t provide. Be sure to &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/3219076d080c77a2/f7d09645b372cd08#f7d09645b372cd08"&gt;follow the discussions&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Join the Community&lt;/h3&gt;


	&lt;p&gt;These were just a small handfull of the discussions that have taken place over the past several weeks. If you&amp;#8217;re an aspiring Rails freelancer or business owner, be sure to &lt;a href="http://groups.google.com/group/rails-business/subscribe"&gt;join the community&lt;/a&gt; and share your experiences and learn from other members of the community that are willing to share theirs.&lt;/p&gt;


	&lt;p&gt;Until next time, have fun!&lt;/p&gt;
</description>
      <pubDate>Sun, 05 Aug 2007 10:37:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e4e3e478-abe8-484c-af51-09d7ebb19e96</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/08/05/rails-business-weekly-review-3</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>Programming</category>
      <category>business</category>
      <category>rails</category>
      <category>rubynrails</category>
      <category>clients</category>
      <category>group</category>
      <category>community</category>
    </item>
    <item>
      <title>Rails Business: Weekly Review #2</title>
      <description>&lt;p&gt;First of all, I&amp;#8217;d like to welcome the more than fifty people that have joined the &lt;a href="http://groups.google.com/group/rails-business"&gt;Rails Business group&lt;/a&gt; since &lt;a href="http://www.robbyonrails.com/articles/2007/06/09/rails-business-weekly-review-1"&gt;my last post&lt;/a&gt;. Over the past week, there were less posts, but we did cover a few important topics, which may be of interest to you.&lt;/p&gt;


	&lt;h2&gt;Subcontracting&lt;/h2&gt;


	&lt;p&gt;Michael Breen asked a few questions about subcontracting for larger firms and how people set their rates when doing this. Several of the responses provided some personal experiences (good and bad) of being a subcontractor on large projects. Where some risks are and how to negotiate your rates, when applicable.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/f75725585cd0cbe8"&gt;Read the discussion&lt;/a&gt;&lt;/p&gt;


	&lt;h2&gt;Change Requests&lt;/h2&gt;


	&lt;p&gt;Nick Coyne &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/6d29ba1dedc81a8c"&gt;started a discussion&lt;/a&gt; on how to manage change requests in an Agile development process.&lt;/p&gt;


	&lt;h2&gt;Dealing with large clients&lt;/h2&gt;


	&lt;p&gt;There was also a discussion about how to go about responding to a 150 page &lt;span class="caps"&gt;RFP&lt;/span&gt; for a large client. A few of us offered our experiences of bidding on large projects. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/bc6665070c3e391b"&gt;Read more&lt;/a&gt;&lt;/p&gt;


	&lt;h3&gt;Join the Community&lt;/h3&gt;


	&lt;p&gt;The list is about to pass &lt;strong&gt;400 members&lt;/strong&gt; and it&amp;#8217;s already proving to be a valuable resource for all of you entrepreneurs out there. I encourage you all to &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/f374441071075c4d"&gt;introduce yourself&lt;/a&gt;.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;For more info: &lt;a href="http://groups.google.com/group/rails-business"&gt;http://groups.google.com/group/rails-business&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
</description>
      <pubDate>Mon, 18 Jun 2007 01:26:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:46c41c8e-58fa-4311-9993-2edc4f43f0f8</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/06/18/rails-business-weekly-review-2</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>business</category>
      <category>subcontracting</category>
      <category>clients</category>
      <category>changes</category>
      <category>agile</category>
      <category>planetargon</category>
    </item>
    <item>
      <title>Rails Business: Weekly Review #1</title>
      <description>&lt;p&gt;This past week (give or take a few days), the &lt;a href="http://groups.google.com/group/rails-business"&gt;Rails Business&lt;/a&gt; group has covered a lot of topics, that might be of interest to you, should you be running a business and using Ruby on Rails. Many of the members of the new group are independent contractors and have been very open in sharing their experiences of working for themselves. I&amp;#8217;d like to take a moment to highlight a few conversations and tips that were covered this past week.&lt;/p&gt;


	&lt;h2&gt;Health Coverage&lt;/h2&gt;


	&lt;p&gt;Mike Pence started a conversation about health coverage&amp;#8230;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;Has anyone else found the medical insurance issue to be a show stopper  for them? Are you one doctor visit and diagnosis away from financial ruin? I can tell you firsthand that wishful thinking won&amp;#8217;t pay those bills&amp;#8230;&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;This started a discussion about how people are able to work on their own and maintain health coverage, which is definitely not something that should be considered lightly. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/89c4e861a7c98f9d"&gt;Read more&amp;#8230;&lt;/a&gt;&lt;/p&gt;


	&lt;h2&gt;Client Expenses&lt;/h2&gt;


	&lt;p&gt;Another great question was raised by Mike Breen.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;I&amp;#8217;m going to start work on my first project that will require me to travel. How should I handle the expenses? Do I build the costs into the contract price or do I submit the expenses to the client for reimbursements? Or does this vary from client to client based on the company policy?&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;The responses included links to &lt;span class="caps"&gt;IRS&lt;/span&gt; sites and sections of other peoples&amp;#8217; contracts. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/d4343f8b02065d43"&gt;Read more&lt;/a&gt;...&lt;/p&gt;


	&lt;h2&gt;Hosting Client Repositories&lt;/h2&gt;


	&lt;p&gt;Where do you host your client&amp;#8217;s source code repositories? Are you managing it all yourself on your own servers or using a service?&lt;/p&gt;


	&lt;p&gt;The discussion (so far) has lead us to evaluate our own solution for this at &lt;a href="http://www.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt;. It appears that everyone has different concerns about how they want to manage client code during the development cycle.&lt;/p&gt;


	&lt;p&gt;For example, do you allow your client access to &lt;code&gt;trunk/&lt;/code&gt; if they aren&amp;#8217;t all paid up yet?&lt;/p&gt;


	&lt;p&gt;Also, it seems like there are a bunch of new commercial options coming out (and are built on Rails). &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/ed77427dd05e66d8"&gt;Read more&lt;/a&gt;...&lt;/p&gt;


	&lt;h2&gt;Naming Your Business&lt;/h2&gt;


	&lt;p&gt;Jared Haworth writes,&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;For those of you who are working as &amp;#8216;independent developers,&amp;#8217; have you found that it makes more sense to simply do business under your own name, for example &amp;#8220;Jared Haworth L.L.C.,&amp;#8221; or to come up with a clever business name instead, such as &amp;#8220;Code Fusion Studios&amp;#8221;?&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;This was a good conversation to follow and definitely raised a lot of great questions and things to consider in response to the original message. &lt;a href="http://groups.google.com/group/rails-business/browse_thread/thread/9f962aad7edf2326"&gt;Read more&lt;/a&gt;...&lt;/p&gt;


	&lt;h2&gt;Other Topics&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;Magazines, what business magazines do you read?&lt;/li&gt;
		&lt;li&gt;Where do you find gigs?&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h3&gt;Join the Community!&lt;/h3&gt;


	&lt;p&gt;The community is still only a few weeks old and we&amp;#8217;re already approach 350 members! It&amp;#8217;s been a great learning about other peoples&amp;#8217; experiences&amp;#8230; as well as sharing what I&amp;#8217;ve learned since I started &lt;a href="http://www.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; (and &lt;a href="http://groups.google.com/group/rails-business/msg/bab9b8c6d0e190d4"&gt;how the name came to be&lt;/a&gt;).&lt;/p&gt;


	&lt;p&gt;If you hadn&amp;#8217;t had a chance to join, &lt;a href="http://groups.google.com/group/rails-business"&gt;stop by and introduce yourself&lt;/a&gt;!&lt;/p&gt;
</description>
      <pubDate>Sat, 09 Jun 2007 17:07:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:75feee71-0c1e-4602-adf5-00b4bc56bfff</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/06/09/rails-business-weekly-review-1</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>business</category>
      <category>rails</category>
      <category>rubynrails</category>
      <category>clients</category>
      <category>group</category>
      <category>community</category>
    </item>
    <item>
      <title>Embracing Failure, part 1</title>
      <description>&lt;p&gt;I&amp;#8217;m currently reading &lt;a href="http://www.amazon.com/Engineer-Human-Failure-Successful-Design/dp/0679734163"&gt;To Engineer is Human&lt;/a&gt;, by Henry Petroski and found the following applicable to software development and managing client and customer expectations.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;As much as it is human to make mistakes, it is also human to want to avoid them. Murphy&amp;#8217;s Law, holding that anything that can go wrong will, is not a law of nature but a joke. All the light bulbs that last until we tire of the lamp, all the shoelaces that outlast their shoes, all the automobiles that give trouble-free service until they are traded in have the last laugh on Murphy. Just as he will not outlive his law, so nothing manufactured can be or is expected to last forever. Once we recognize this elementary fact, the possibility of a machine or a building being as near to perfect for its designed lifetime as its creators may strive to be for theirs is not only a realistic goal but also a reasonable expectation for consumers. It is only when we set ourselves such an unrealistic goal as buying a shoelace that will never break, inventing a perpetual motion machine, or building a vehicle that will never break down that we appear to be fools and not rational beings.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;I&amp;#8217;m sure that most of us are guilty of having high expectations for products that we purchased. (why does my ipod screen scratch so easily when in my pocket?) We also set high expectations for the code that we develop, which is why we (hopefully) continue to refine our process. We&amp;#8217;re bound to time and budget constraints, which often prevent us from testing every imaginable edge case. Given our constraints, problems are almost always going to arise. It&amp;#8217;s no wonder that we see Test-Driven Development as an important part of a healthy development process. We want to catch our failures as early as possible.&lt;/p&gt;


	&lt;p&gt;Our clients often have high expectations and it&amp;#8217;s almost always very reasonable. That&amp;#8217;s not to say that some clients will not have highly irrational expectations. It&amp;#8217;s our job to manage these expectations as best as possible.&lt;/p&gt;


	&lt;p&gt;Do we mislead our clients by convincing them that our &lt;span class="caps"&gt;TDD&lt;/span&gt;/BDD process is going to prevent any bugs from creeping from the woodwork after the development cycle is finished?&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;I thought that we paid you to fully test the code?&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Really&amp;#8230; is that even possible? Can we predict (and test) every possible interaction within an application? Highly unlikely.&lt;/p&gt;


	&lt;p&gt;What we &lt;em&gt;can&lt;/em&gt; do is plan for and embrace failure. We can help our clients understand that almost every application needs to be &lt;em&gt;maintained&lt;/em&gt; after it&amp;#8217;s initial development cycle. Bugs are inevitable and there needs to be a &lt;a href="http://daringfireball.net/linked/2007/march#wed-14-adobedevcycle"&gt;clear process for handling them&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Perhaps I&amp;#8217;m abusing the bug fixing process by calling it a failure&amp;#8230; but I&amp;#8217;ve also found that yes&amp;#8230; many bugs are due to failure. Whether that be a failure to &lt;a href="http://behavior-driven.org/"&gt;specify application behavior&lt;/a&gt;, a failure to understand the project goals, a &lt;a href="http://www.robbyonrails.com/articles/2006/09/27/project-enlightenment-with-d3"&gt;failure in communication&lt;/a&gt;, ...or maybe a failure in our software architecture. We&amp;#8217;re constantly failing.. and it&amp;#8217;s okay!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;IT&amp;#8217;S &lt;span class="caps"&gt;OKAY TO FAIL&lt;/span&gt;!&lt;/strong&gt; (some of the time&amp;#8230;)&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;No one &lt;em&gt;wants&lt;/em&gt; to learn by mistakes, but we cannot learn enough from successes to go beyond the state of the art. Contrary to their popular characterization as intellectual conservatives, engineers are really among the avant-garde. They are constantly seeking to employ new concepts to reduce the weigh and thus the cost of their structures, and they are constantly striving to do more with less so the resulting structure represents an efficient use of materials. The engineer always believes he is trying something without error, but the truth of the matter is that each new structure can be a new trial. In the meantime the layman, whose spokesman is often a poet or writer, can be threatened by both the failures &lt;em&gt;and&lt;/em&gt; the successes. Such is the nature not only of science and engineering, but of all human endeavors.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;As we&amp;#8217;re creating these virtual structures&amp;#8230; are we really taking the time to reflect on our failures? This is why some teams adopt practices like iteration retrospectives and post-mortems.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ll end this with a few questions, which I hope that you&amp;#8217;ll share your experiences about&amp;#8230;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;In what ways is your team embracing the failures of your development projects?&lt;/li&gt;
		&lt;li&gt;How do you help manage your clients expectations&amp;#8230; so that they too can plan for and embrace failure? Isn&amp;#8217;t their new business venture on the web&amp;#8230; likely to experience some failure?&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;We have so much to learn&amp;#8230;&lt;/p&gt;
</description>
      <pubDate>Tue, 10 Apr 2007 16:38:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b216559d-75b1-443f-a42b-65a8feefe92d</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/04/10/embracing-failure-part-1</link>
      <category>Business</category>
      <category>Programming</category>
      <category>d3</category>
      <category>book</category>
      <category>tdd</category>
      <category>development</category>
      <category>testing</category>
      <category>agile</category>
      <category>design</category>
      <category>clients</category>
      <category>communication</category>
      <category>bdd</category>
      <category>failure</category>
      <category>expectations</category>
      <category>engineering</category>
    </item>
    <item>
      <title>Those that Tend the Store need Dialogue</title>
      <description>&lt;p&gt;I&amp;#8217;ve been keeping my eye on a series of blog posts by Chad Fowler, which he calls &lt;a href="http://chadfowler.com/2006/12/27/the-big-rewrite"&gt;The Big Rewrite&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Today, Chad posted an entry titled, &lt;a href="http://www.chadfowler.com/2007/1/4/who-s-tending-the-store"&gt;Who&amp;#8217;s Tending the Store?&lt;/a&gt; He writes&amp;#8230;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;the experts keep the old system running while the new system is being built. So, who builds the new system? Not the experts, that&amp;#8217;s who. Usually, it’s people like me: technology experts. And while we&amp;#8217;re banging away at the existing system&amp;#8217;s UI, trying to figure out what needs to be coded, the domain experts are doing their jobs. Unfortunately, this means the domain experts aren&amp;#8217;t watching the Big Rewrite very closely. Regardless of how good the team, if communication is impaired between the domain experts and the technology experts, things are going to move slowly, and wrong software is going to be created.&amp;#8221;&lt;/em&gt;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;I wanted to follow up on this issue as it&amp;#8217;s an area of great interest to me.&lt;/p&gt;


	&lt;p&gt;I feel like this issue runs deeper and while it&amp;#8217;s important to be mindful of the communication between domain and technology experts, it&amp;#8217;s a good idea for each of us to take a break every few days (or everyday) to assess our perceptions in all areas of the project. More specifically, I&amp;#8217;m suggesting that in order for us to be effective in our communication, we must make time to &lt;strong&gt;refactor our perceptions&lt;/strong&gt; about the state of a project. From the design, to the development, to team communication, to the schedule, and all the way to customer satisfaction&amp;#8230; or what Martin Fowler calls, &lt;a href="http://martinfowler.com/bliki/CustomerAffinity.html"&gt;Customer Affinity&lt;/a&gt;. These things are not static and we must see them as extremely dynamic variables&amp;#8230; much more dynamic than our &lt;a href="http://www.ruby-lang.org"&gt;wonderful language of choice&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;When &lt;a href="http://blog.brightredglow.com/"&gt;Brian Ford&lt;/a&gt; and I started discussing &lt;a href="http://www.dialogue-driven.org/"&gt;Dialogue-Driven Development&lt;/a&gt; (d3), we were initially focused on an area that always seems to come up in projects. Client communication. From managing expectations to &lt;em&gt;delivering the right product&lt;/em&gt;, d3 has become an essential tool in our team&amp;#8217;s tool belt. We refactored our entire &lt;a href="http://www.planetargon.com/development.html"&gt;Design and Development&lt;/a&gt; process (and it&amp;#8217;s always evolving) to focus on &lt;a href="http://www.robbyonrails.com/articles/2006/09/27/project-enlightenment-with-d3"&gt;the things that we felt were the most important&lt;/a&gt; to a successful project. Clients come to us in search of expertise and guidance so that we can build them innovative solutions. When it comes to this process, &lt;a href="http://www.robbyonrails.com/articles/2006/08/06/clients-deserve-simplicity"&gt;clients deserve simplicity&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;For starters, we&amp;#8217;re misguided&lt;/h3&gt;


	&lt;p&gt;If there is one thing that I have learned, it is that our &lt;em&gt;initial perceptions are often misguided&lt;/em&gt;. We have to work really hard to think critically, not only of the problem we&amp;#8217;re trying to build a solution for, but also of how we, ourselves, are actually looking at the problem. It&amp;#8217;s easy to fall victim to tunnel vision. I often find myself having to take a step back from problems on a very regular basis. While I have no scientific proof to back this, it seems to feels natural for us to &lt;a href="http://blog.brightredglow.com/2006/8/29/tracer-bullets-are-about-aiming-not-firing"&gt;keep firing once we pull the trigger&lt;/a&gt;. It&amp;#8217;s important to re-aim.&lt;/p&gt;


	&lt;p&gt;Chad raises a very important topic and leaves readers to think about the problem. After thinking about this, it&amp;#8217;s my opinion that in order for the domain and technology experts to be effective, they &lt;a href="http://www.robbyonrails.com/articles/2006/10/18/teams-need-healthy-collaboration"&gt;need healthy collaboration&lt;/a&gt;. But, I feel like this applies to many other areas of our process as well.&lt;/p&gt;


	&lt;h3&gt;Is there even a problem?&lt;/h3&gt;


	&lt;p&gt;So, what is the solution? Better yet, what is the problem? Is there even a problem?&lt;/p&gt;


	&lt;p&gt;How can we avoid situations where communication becomes impaired? We&amp;#8217;ve all been there. We know how to spot impaired communication, but how can we spot it&amp;#8230; before we perceive it as &lt;em&gt;too late&lt;/em&gt;? How can we recover from it? What causes the communication to break down? What if&amp;#8230; it were possible to repair the situation?&lt;/p&gt;


	&lt;p&gt;These questions &lt;em&gt;don&amp;#8217;t&lt;/em&gt; have easy answers. These are complicated problems that reach &lt;em&gt;far beyond&lt;/em&gt; the development community. These are the same problems that all members of organizations, communities, countries, and &lt;a href="http://www.planetargon.com/about.html"&gt;planets&lt;/a&gt; all face, each and every day.&lt;/p&gt;


	&lt;h3&gt;Take action!&lt;/h3&gt;


	&lt;p&gt;While it&amp;#8217;s important to make sure we&amp;#8217;re engaging in healthy dialogue through a project, bad things will happen. They are inevitable. As Agilists, we&amp;#8217;re accepting this as a fact of (project) life and should be prepared to take action. If you see communication being impaired, it&amp;#8217;s time to step up and help the team out. Otherwise, you&amp;#8217;re only hurting yourself&amp;#8230; and your colleagues.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;Be the change you wish to see in the world.&amp;#8221;&lt;/em&gt;&amp;#8212;Mahatma Gandhi&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;If these sorts of topics are of interest to you, I encourage you to join the &lt;a href="http://dialogue-driven.org/community"&gt;Dialogue-Driven community&lt;/a&gt; and help us figure this stuff out!&lt;/p&gt;
</description>
      <pubDate>Thu, 04 Jan 2007 17:18:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4a80dd67-6ada-4bcf-8c98-08625306346f</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/01/04/those-that-tend-the-store-need-dialogue</link>
      <category>Business</category>
      <category>Programming</category>
      <category>d3</category>
      <category>PLANET ARGON</category>
      <category>dialogue</category>
      <category>clients</category>
      <category>communication</category>
      <category>chadfowler</category>
      <category>perceptions</category>
      <category>refactoring</category>
      <category>agile</category>
      <category>solutions</category>
      <category>problems</category>
    </item>
    <item>
      <title>Teams Need Healthy Collaboration</title>
      <description>&lt;p&gt;A few weeks ago, I was explaining some of the concepts behind &lt;a href="http://www.dialogue-driven.org/"&gt;Dialogue-Driven Development&lt;/a&gt; to &lt;a href="http://www.michaelbuffington.com/"&gt;Michael Buffington&lt;/a&gt; and when I said that we were working to create &lt;a href="http://blog.brightredglow.com/2006/08/22/patterns-of-dialogue"&gt;patterns of Dialogue&lt;/a&gt;... his immediate thoughts were on code. I don&amp;#8217;t remember the exactly how he worded it.. but he basically thought we were working on a parsing tool for grabbing requirements out of emails, messages, etc. I quickly explained that d3 had nothing to do with actual code and was merely a practice that we as developers and consultants are using to think about our interaction with clients, users, and amongst ourselves.&lt;/p&gt;


	&lt;p&gt;Just last night, I was chatting with a friend of mine about d3&amp;#8230; (names changed to protect the guilty)&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;context:&lt;/strong&gt; Harry works in a development team&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt; of about ten people and Paul is one of his &amp;#8220;team&amp;#8221;mates.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  Harry: i guess it prevents discussion domination
   me: yeah, that happens as it is sometimes
  Harry: and ensures equal contribution
  Harry: paul does that 
    and he's not very polite about it either
    and will often raise his voice and speak over you
    which is crazy
    kindergarten stuff
  me: hah
  Harry: need a talking stick!
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This happens all too often amongst ourselves. While we&amp;#8217;re striving to improve our client interaction&amp;#8230; we often overlook our own internal struggles to &lt;strong&gt;achieve healthy collaboration&lt;/strong&gt;. It takes discipline by every individual in a collaborative environment to really &lt;a href="http://www.powells.com/biblio/0385479999?&amp;#38;PID=30561"&gt;think together&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;So, how does d3 address this? Well, it&amp;#8217;s our goal that through mindful dialogue, we can cultivate healthier collaboration in all of our professional (and personal) relationships.&lt;/p&gt;


	&lt;p&gt;I would also like to point out a few common misconceptions about d3.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;d3 is not a methodology&amp;#8230; &lt;a href="http://groups.yahoo.com/group/scrumdevelopment/message/15257"&gt;nor a replacement for Scrum&lt;/a&gt; or XP. d3 is a thoughtful practice that focuses on the collaboration between a group of individuals, whether they be clients, developers, managers, or users.&lt;/li&gt;
		&lt;li&gt;d3 is not a &lt;a href="http://www.informit.com/articles/article.asp?p=25913&amp;#38;seqNum=6&amp;#38;rl=1"&gt;Silver Bullet&lt;/a&gt;, but it can be used as &lt;a href="http://blog.brightredglow.com/2006/8/29/tracer-bullets-are-about-aiming-not-firing"&gt;effective ammunition&lt;/a&gt;.&lt;/li&gt;
		&lt;li&gt;d3 is not something &lt;a href="http://www.amazon.com/Teach-Yourself-Extreme-Programming-Hours/dp/0672324415"&gt;you learn in a weekend&lt;/a&gt;, but you might be able to find a &lt;a href="http://www.powells.com/biblio/62-0415149118-1"&gt;good book on Dialogue&lt;/a&gt; and have a new perspective on how you communicate with others.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Dialogue-Driven Development is about being in the conversation as it is happening&amp;#8230; and really listening.&lt;/p&gt;


	&lt;p&gt;The next time that you&amp;#8217;re getting ready to interact with your teammates, ask yourself:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Am I contributing something meaningful?&lt;/li&gt;
		&lt;li&gt;Am I listening to others well?&lt;/li&gt;
		&lt;li&gt;Is everybody contributing an equal share of information?&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;If you&amp;#8217;re quiet, try to speak up more. If you talk too much, be mindful of how much you may dominate a conversation. If you&amp;#8217;re not participating at all.. why are you there?&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; You&amp;#8217;ll be happy to know that Harry also gave his two-weeks notice yesterday.&lt;/p&gt;
</description>
      <pubDate>Wed, 18 Oct 2006 10:05:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6b56d77b-4bec-4d2f-97eb-606e614ee6fe</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/10/18/teams-need-healthy-collaboration</link>
      <category>d3</category>
      <category>d3</category>
      <category>dialogue</category>
      <category>clients</category>
      <category>development</category>
      <category>people</category>
      <category>thinking</category>
      <category>collaboration</category>
      <category>scrum</category>
      <category>xp</category>
    </item>
    <item>
      <title>Project Enlightenment with d3</title>
      <description>&lt;p&gt;What do we mean exactly when we say that we want to participate in thoughtful dialogue in a project? What is our intention with this? When I recently came across some essays by &lt;a href="http://www.gurteen.com/"&gt;David Gurteen&lt;/a&gt; and read his definition of dialogue as being &lt;em&gt;&amp;#8220;a disciplined form of conversation&amp;#8221;&lt;/em&gt; it got me thinking about how we often forget that like all skills, practice makes perfect. What make our conversations discilplined in the first place? Based on my experience, dialogue (disciplined conversation) manifests when all participants in a conversation are practicing mindfulness. I don&amp;#8217;t believe that most people learn or behave well by being beaten into submission, so we must come to an understanding while we actively involve ourselves in dialogue. Most of us are civil towards one another, which does wonders for allowing us to tolerate each other, but I still can&amp;#8217;t help but feel that we&amp;#8217;re still missing the mark when it comes to having consistent and thoughtful dialogue.&lt;/p&gt;


	&lt;p&gt;Over the past several months, our team has been spending quite a bit of time and energy analyzing these problems. What we really starting to uncover is that the real problem seems to exist somewhere outside of our development methodologies. Working under the Agile umbrella &lt;a href="http://www.butunclebob.com/ArticleS.UncleBob.AgilePeopleStillDontGetIt"&gt;provides no silver bullet&lt;/a&gt;. The real issues seem to exist much deeper in our human nature.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://www.robbyonrails.com/files/Cheeky-Monkey.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;We&amp;#8217;re not all that great at communicating&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Humans are not perfect&amp;#8230; therefore&amp;#8230; our ideas are probably far from perfect as well. Our thoughts aren&amp;#8217;t perfect. Our interactions aren&amp;#8217;t perfect. We&amp;#8217;re consistently inconsistent (heh) and while we can rely on averages to some extent to calculate probabilities, we can&amp;#8217;t always explain why somethings still go horribly wrong. The principles outlines in the &lt;a href="http://www.agilemanifesto.org/"&gt;Agile manifesto&lt;/a&gt; stress the importance of focusing on people not processes and responding to change. If we are to put a heavy focus on the people involved in projects, we must acknowledge our strengths and weaknesses and find innovative ways to improve our communication skills.&lt;/p&gt;


	&lt;p&gt;On a daily basis, we&amp;#8217;re faced with complex problems. Hopefully, we&amp;#8217;re using a lot of our prior experience to aid us in making rational decisions about how we respond to them. There is a lot that goes through each decision that we make. We can&amp;#8217;t automate this process (yet), but we can definitely share our lessons with one another. Our intentions need to be thoughtful and empathetic to the needs of all parties affected by each decision. As humans, we have the opportunity to really listen to the concerns of others and use not only our logical intelligence&amp;#8230; but also our emotional intelligence.&lt;/p&gt;


	&lt;p&gt;Much of this comes down to each of us learning to understand how we make decisions and interact with people. It&amp;#8217;s our goal with Dialogue-Driven Development that with your help, we&amp;#8217;ll be able to outline &lt;a href="http://blog.brightredglow.com/articles/2006/08/22/patterns-of-dialogue"&gt;patterns of dialogue&lt;/a&gt;, which we hope will be of great value to the community. Our team has been analyzing our interaction with clients and discussing what has worked well and what hasn&amp;#8217;t. How did our clients respond to approach X versus Y? It&amp;#8217;s important that we capture this information and have conversations about the results.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;The meaning is what holds it [dialogue] together. ..Meaning is not static – it is flowing. And if we have the meaning being shared, then it is flowing among us; it holds the group together&amp;#8230;in that way we can talk together coherently and think together.&amp;#8221; &amp;#8211; &lt;a href="http://www.david-bohm.net/dialogue/"&gt;David Bohm&lt;/a&gt;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Doesn&amp;#8217;t that sound beautiful? Who wouldn&amp;#8217;t want to reach such levels of project enlightenment?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;d3 aims to be to communication what &lt;span class="caps"&gt;BDD&lt;/span&gt; is to specification&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;While at &lt;a href="http://europe.railsconf.org/"&gt;RailsConf Europe&lt;/a&gt;, I had the privilege to speak with several Rail developers&amp;#8230; several of which are doing contract development for several clients, just like our team. We discussed d3 for a while and I walked away feeling really excited about the whole concept. When I explained that our team didn&amp;#8217;t see d3 as a &lt;em&gt;replacement&lt;/em&gt; for Agile methodologies like Scrum, XP, etc&amp;#8230; but as another tool in our tool belt. Dialogue between developers, clients, and users should be agnostic about particular methodologies. We&amp;#8217;re really excited about &lt;a href="http://www.behavior-driven.org"&gt;Behavior-Driven Development&lt;/a&gt; as a best practice in our development process and we&amp;#8217;re seeing Dialogue-Driven Development as another best practice that we start using from the initial point of contact with a potential client to long after we deliver the working product that we were contracted to develop.&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ll be posting some fun announcements about the d3 project in the coming week(s). Stay tuned&amp;#8230;&lt;/p&gt;
</description>
      <pubDate>Wed, 27 Sep 2006 02:38:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fd10cc10-5b36-4de4-ac83-33e59f93ce83</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/09/27/project-enlightenment-with-d3</link>
      <category>d3</category>
      <category>d3</category>
      <category>agile</category>
      <category>development</category>
      <category>clients</category>
      <category>interadction</category>
      <category>communication</category>
      <category>dialogue</category>
      <category>bohm</category>
      <category>process</category>
    </item>
    <item>
      <title>Matz on Considering Interface</title>
      <description>&lt;p&gt;...back in Portland after being in London and New York City for the past two weeks. It&amp;#8217;s nice to be home. :-)&lt;/p&gt;


	&lt;p&gt;I came across &lt;a href="http://www.artima.com/intv/craftP.html"&gt;this interview with Matz&lt;/a&gt; earlier today. It was published almost three years ago (pre-Rails)... I&amp;#8217;m quite intrigued by what he is advocating here&amp;#8230;&lt;/p&gt;


&lt;blockquote&gt;
&lt;b&gt;Bill Venners:&lt;/b&gt; You also mentioned in your ten top tips: &amp;#8220;Be nice to others. Consider interface first: man-to-man, man-to-machine, and machine-to-machine. And again remember the human factor is important.&amp;#8221; What do you mean by, &amp;#8220;consider interface first?&amp;#8221; 

	&lt;p&gt;&lt;b&gt;Yukihiro Matsumoto:&lt;/b&gt; Interface is everything that we see as a user. If my computer is doing very complex things inside, but that complexity doesn&amp;#8217;t show up on the surface, I don&amp;#8217;t care. I don&amp;#8217;t care if the computer works hard on the inside or not. I just want the right result presented in a good manner. So that means the interface is everything, for a plain computer user at least, when they are using a computer. That&amp;#8217;s why we need to focus on interface.&lt;/p&gt;


	&lt;p&gt;Some software people—like weather forecasters, the number crunchers—feel that the inside matters most, but they are a very limited field of computer science. Most programmers need to focus on the surface, the interface, because that&amp;#8217;s the most important thing.&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Bill Venners:&lt;/b&gt; You also mentioned machine-to-machine interfaces, so are you just talking about interfaces for users or also for machines?&lt;/p&gt;


	&lt;p&gt;&lt;b&gt;Yukihiro Matsumoto:&lt;/b&gt; It&amp;#8217;s not just user interfaces. When machines are talking to each other via a protocol, they don&amp;#8217;t care how the other is implemented on the inside. The important thing is the proper output getting passed correctly via the proper protocol. That&amp;#8217;s what matters.&lt;/p&gt;


If you have a good interface on your system, and a budget of money and time, you can work on your system. If your system has bugs or is too slow, you can improve it. But if your system has a bad interface, you basically have nothing. It won&amp;#8217;t matter if it is a work of the highest craftsmanship on the inside. If your system has a bad interface, no one will use it. So the interface or surface of the system, whether to users or other machines, is very important.
&lt;/blockquote&gt;

	&lt;p&gt;One of things that we&amp;#8217;re really advocating with Dialogue-Driven Development is artifact generation. Wireframes and lightweight prototypes are great for &lt;strong&gt;generating constructive dialogue&lt;/strong&gt; between clients, users, and our team. We should make sure that we understand why and how users will use an interface before we worry about the code that will drive it. Too often we fall into a pattern of thinking where we&amp;#8217;re convinced that we can build an agnostic application that has various interfaces to a central repository of business logic and data. While we strive for this during development, it really should be focused on after some initial interaction design has been planned. Of course, this is my opinion.&lt;/p&gt;


	&lt;p&gt;So, I must ask you. When you&amp;#8217;re working with on a new project, do you focus on interface or code implementation first?&lt;/p&gt;
</description>
      <pubDate>Mon, 25 Sep 2006 10:11:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4997b305-58fb-46a7-b0b7-163f32ed4f07</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/09/25/matz-on-considering-interface</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>Programming</category>
      <category>d3</category>
      <category>agile</category>
      <category>d3</category>
      <category>dialogue</category>
      <category>prototypes</category>
      <category>clients</category>
      <category>interface</category>
      <category>IxD</category>
      <category>design</category>
    </item>
    <item>
      <title>The Technology of Dialogue</title>
      <description>&lt;p&gt;In the essay, &lt;a href="http://www.vision-nest.com/cbw/Dialogue.html"&gt;Dialogue and Organizational Transformation&lt;/a&gt;, Glenna Gerard and Linda Teurfs outline the the &lt;em&gt;building blocks&lt;/em&gt; of &lt;a href="http://www.vision-nest.com/cbw/Dialogue.html#3"&gt;&lt;span class="caps"&gt;THE TECHNOLOGY OF DIALOGUE&lt;/span&gt;&lt;/a&gt;, which they suggests consists of:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Suspension of Judgment&lt;/li&gt;
		&lt;li&gt;Identification of Assumptions&lt;/li&gt;
		&lt;li&gt;Listening&lt;/li&gt;
		&lt;li&gt;Inquiry and Reflection&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;What makes dialogue different than conversation? According to &lt;a href="http://www.gurteen.com/"&gt;David Gurteen&lt;/a&gt;, &lt;em&gt;&amp;#8220;dialogue is a disciplined form of conversation.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Gurteen says that within dialogue&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;You prefer a certain position but do not cling to it. &lt;/li&gt;
		&lt;li&gt;You are ready to listen to others.&lt;/li&gt;
		&lt;li&gt;Your mindset is not one of &amp;#8216;convincing others that your way is right&amp;#8217; but of asking what you can learn from them.&lt;/li&gt;
		&lt;li&gt;It is recognizing that other people’s input will help you refine your own ideas or reveal your misconceptions.&lt;/li&gt;
		&lt;li&gt;It is not argument or debate. It is not win-lose. In dialogue all sides win by coming up with a more appropriate solution than a single person could ever have. It is win-win.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;When we first introduced Dialogue-Driven Development, Ryan Allen &lt;a href="http://www.robbyonrails.com/articles/2006/08/02/dialogue-driven-development#comment-21737"&gt;responded with a brief overview&lt;/a&gt; of how you might go about defining a &lt;em&gt;failed project&lt;/em&gt;. His first bullet was, &lt;em&gt;&amp;#8220;Miscommunication can lead to the implementation of the wrong solutions.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;It is our opinion that many of the problems that lead to &lt;em&gt;failed projects&lt;/em&gt; can be solved through consistent and cooperative discourse. Much of this relies on each of us taking ownership of our commitment to encouraging healthy collaboration between developers, clients, and users.&lt;/p&gt;


	&lt;p&gt;Wikipedia &lt;a href="http://en.wikipedia.org/wiki/Dialogue"&gt;currently describes dialogue&lt;/a&gt; as, &lt;em&gt;&amp;#8220;a reciprocal conversation between two or more persons.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;h3&gt;Question&lt;/h3&gt;


	&lt;p&gt;What are some of the obstacles that you face when interacting with a diverse set of developers, clients, and users?&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://www.gurteen.com/gurteen/gurteen.nsf/id/km-dialogue"&gt;The Discipline of Dialogue by David Gurteen&lt;/a&gt;&lt;/p&gt;
</description>
      <pubDate>Tue, 12 Sep 2006 14:30:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:dbe5da89-c979-4086-8129-4673665ba5a6</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/09/12/the-technology-of-dialogue</link>
      <category>d3</category>
      <category>d3</category>
      <category>agile</category>
      <category>dialogue</category>
      <category>clients</category>
      <category>gurteen</category>
    </item>
    <item>
      <title>Dialogue-Driven Development is about Listening</title>
      <description>&lt;p&gt;I know. I know. I recently wrote that &lt;a href="http://www.robbyonrails.com/articles/2006/08/05/dialogue-driven-development-is-about-rounded-corners"&gt;Dialogue-Driven Development&lt;/a&gt; was about &lt;em&gt;rounded corners&lt;/em&gt;. It just happens that I &lt;em&gt;also&lt;/em&gt; think that &lt;a href="http://dictionary.reference.com/search?q=dialogue"&gt;d3&lt;/a&gt; is more than that. d3 is focuses on the conversations between various stakeholders within a project.&lt;/p&gt;


&lt;dt&gt;&lt;strong&gt;What is dialogue?&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;an exchange of ideas or opinions on a particular issue, esp. a political or religious issue, with a view to reaching an amicable agreement or settlement&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/dd&gt;

	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


&lt;dt&gt;&lt;strong&gt;What is a conversation?&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;informal interchange of thoughts, information, etc., by spoken words; oral communication between persons; talk; colloquy&lt;sup&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/dd&gt;

	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Let&amp;#8217;s focus on a really important side of the conversation, which is the &lt;strong&gt;art of listening&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;In &lt;a href="http://www.amazon.com/gp/product/0789724103/102-0824021-1378541"&gt;Information Anxiety 2&lt;/a&gt;, Richard Saul Wurman lists five tips for being a better listener.&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;&lt;em&gt;&amp;#8220;Having two ears and one tongue, we should listen twice as much as we speak.&amp;#8221;&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;em&gt;&amp;#8220;Don&amp;#8217;t try to formulate your reply when the other person is speaking.&amp;#8221;&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;em&gt;&amp;#8220;The person who starts a sentence should be the one to finish it.&amp;#8221;&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;em&gt;&amp;#8220;Don&amp;#8217;t let your fear of silence propel you to fill it with air. A moment of silence can be the most revealing part of a conversation.&amp;#8221;&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;em&gt;&amp;#8220;Remember that listening is not a passive endeavor, but an activity that requires great energy. Try to listen with the same intensity you use to talk.&amp;#8221;&lt;/em&gt;&lt;/li&gt;
	&lt;/ol&gt;


	&lt;h2&gt;The Value in Face to Face&lt;/h2&gt;


	&lt;p&gt;It&amp;#8217;s been a while since we at &lt;a href="http://www.planetargon.com/"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; have started working on a project that we didn&amp;#8217;t get a chance to meet face to face with the client. For projects that we know will involve a lot of dialogue, it&amp;#8217;s an absolute must at the beginning of the project. This is exactly why &lt;a href="http://blog.brightredglow.com"&gt;Brian&lt;/a&gt; and I &lt;a href="http://www.robbyonrails.com/articles/2006/08/14/project-illuminatus-an-introduction"&gt;fly across the country&lt;/a&gt; to meet our clients in person.&lt;/p&gt;


	&lt;p&gt;Wurman writes, &lt;em&gt;&amp;#8220;Time and time again, studies have shown that the best communication occurs face to face.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;Precision of communication is important, more important than ever, in our era of hair-trigger balances, when a false, or misunderstood word may create as much disaster as a sudden thoughtless act.&amp;#8221;&lt;/em&gt; &amp;#8211; James Thurber&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Our team is still shaping how best to encourage and facilitate valuable &lt;a href="http://blog.brightredglow.com/articles/2006/08/22/patterns-of-dialogue"&gt;patterns of dialogue&lt;/a&gt; with our clients. One aspect we are certain of is that &lt;strong&gt;all interactions should be clearly documented&lt;/strong&gt;, including the subtleties of body language and how the client&amp;#8217;s team works together.&lt;/p&gt;


	&lt;h2&gt;Two Ears, One Mouth&lt;/h2&gt;


	&lt;p&gt;There are &lt;a href="http://www.hearinghealthcenter.com/binaural_x.htm"&gt;many&lt;/a&gt; &lt;a href="http://www.hhmi.org/senses/c220.html"&gt;benefits&lt;/a&gt; to &lt;a href="http://www.everything2.com/index.pl?node_id=772458"&gt;having&lt;/a&gt; two ears. We should all try to listen more. I&amp;#8217;ll be the first to admit that this is one of the most difficult things to do, especially when you&amp;#8217;re &lt;a href="http://www.oreillynet.com/pub/a/network/2005/08/30/ruby-rails-david-heinemeier-hansson.html"&gt;opinionated&lt;/a&gt;.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;We have two ears and one mouth so that we can listen twice as much as we speak.&amp;#8221;&lt;/em&gt; -Epictetus&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;The next time we find ourselves in the middle of a conversation, let&amp;#8217;s try to listen more. :-)&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://dictionary.reference.com/search?q=dialogue"&gt;http://dictionary.reference.com/search?q=dialogue&lt;/a&gt;&lt;/p&gt;


	&lt;p id="fn2"&gt;&lt;sup&gt;2&lt;/sup&gt; &lt;a href="http://dictionary.reference.com/search?q=conversation"&gt;http://dictionary.reference.com/search?q=conversation&lt;/a&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 25 Aug 2006 19:11:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a5c35991-a740-4c9e-924d-8f959b44d4be</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/25/dialogue-driven-development-is-about-listening</link>
      <category>agile</category>
      <category>d3</category>
      <category>listening</category>
      <category>clients</category>
      <category>dialogue</category>
      <category>planetargon</category>
      <category>ears</category>
      <category>mouth</category>
    </item>
    <item>
      <title>Information Anxiety and Solutions</title>
      <description>&lt;p&gt;Last week, &lt;a href="http://www.allisbe.com"&gt;Allison&lt;/a&gt; brought me in a copy of a book that she owns by &lt;a href="http://en.wikipedia.org/wiki/Richard_Saul_Wurman"&gt;Richard Saul Wurman&lt;/a&gt;. In 1976, Wurman coined the phrase, &lt;em&gt;information architect&lt;/em&gt;. (&lt;a href="http://en.wikipedia.org/wiki/Information_architecture"&gt;read more&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;In his book, &lt;a href="http://www.amazon.com/gp/product/0789724103/102-0824021-1378541"&gt;Information Anxiety 2&lt;/a&gt;, Wurman discusses how we&amp;#8217;re overwhelmed by too much information&amp;#8230; amongst other related topics.&lt;/p&gt;


	&lt;p&gt;Allison bookmarked a page for me that discusses the problem with developing solutions without a good understanding of the problem.&lt;/p&gt;


&lt;blockquote&gt;
&amp;#8220;Before any solutions to any undertaking can be developed, a movement must begin to discover its beginning. Understanding the vein of the problem is the course to solving it. The best way to accomplish any endeavor is to determine its essential purpose, its most basic mission. What is the endeavor supposed to accomplish? What is the reason for embarking upon it? This is where the solution lies.&amp;#8221; 
&lt;br /&gt;&lt;br /&gt;
- Richard Saul Wurman, Information Anxiety 2
&lt;/blockquote&gt;

	&lt;p&gt;Wurman then goes on to suggest, &lt;em&gt;&amp;#8220;There are two parts to solving any problem: What you want to accomplish, and how you want to do it. Even the most creative people attach issues by leaping over what they want to do and going on to how they will do it. There are many how&amp;#8217;s but only one what.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;There are many how&amp;#8217;s but only one what&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;You must always ask the question, &amp;#8220;What is?&amp;#8221; before you ask the question &amp;#8220;How to?&amp;#8221;&amp;#8220;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;When &lt;a href="http://blog.brightredglow.com"&gt;Brian&lt;/a&gt; and I began rethinking &lt;em&gt;how&lt;/em&gt; we were extracting information from our clients, it was important to understand &lt;em&gt;why&lt;/em&gt; we felt it was necessary. We&amp;#8217;re convinced that the more we can enhance our &lt;a href="http://blog.brightredglow.com/articles/2006/08/22/patterns-of-dialogue"&gt;patterns of dialogue&lt;/a&gt; with our clients, the more confidence we&amp;#8217;ll have in our approach to building solutions that provide them with that they &lt;em&gt;need&lt;/em&gt;, not just what they &lt;em&gt;think they need&lt;/em&gt; (want).&lt;/p&gt;


	&lt;p&gt;Next time a client brings you a list of features for their product, please be sure to ask yourself and your client, &lt;em&gt;&amp;#8220;why&amp;#8221;&lt;/em&gt; the product needs them. What are these &lt;em&gt;hows&lt;/em&gt; providing their business and user goals?&lt;/p&gt;
</description>
      <pubDate>Tue, 22 Aug 2006 13:15:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d986db40-fac8-4daa-bef9-695aa8275442</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/22/information-anxiety-and-solutions</link>
      <category>agile</category>
      <category>clients</category>
      <category>dialogue</category>
      <category>solutions</category>
      <category>patterns</category>
      <category>d3</category>
      <category>goals</category>
      <category>information</category>
      <category>anxiety</category>
      <category>products</category>
      <category>features</category>
    </item>
    <item>
      <title>Project Illuminatus, an introduction</title>
      <description>&lt;p&gt;Due to an &lt;a href="http://www.robbyonrails.com/articles/2006/08/11/isight-magnet-is-teh-suck"&gt;unfortunate event&lt;/a&gt; last week, this blog entry is a few days late.&lt;/p&gt;


	&lt;p&gt;Over the next few weeks and months, the &lt;a href="http://www.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; team will be blogging about one of our big projects that recently started. We needed to get the client to sign off on the blogging project and got the a-okay from their management early last week.&lt;/p&gt;


	&lt;p&gt;First, some background.&lt;/p&gt;


	&lt;p&gt;We were contacted by this rather large (enterprise?) company around the time that we went to RailsConf. When we got back, I began talking with our primary point of contact about their project, which sounded like a fairly big challenge and the sales process took a few weeks to come to an agreement on the next steps. Once they were finished interviewing a few other potential firms, we got the go-ahead that we should proceed with an &lt;span class="caps"&gt;ITER&lt;/span&gt;-ZERO, which I outlined a few months ago in part one of, &lt;a href="http://www.robbyonrails.com/articles/2006/05/31/the-art-of-delivery-part-1"&gt;The Art of Delivery&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://flickr.com/photos/robbyrussell/198853696/in/set-72157594209695361"&gt;&lt;img src="http://static.flickr.com/70/198853696_586e6c773f_m.jpg" style="float: right; padding: 6px;"&gt;&lt;/a&gt;
&lt;strong&gt;&lt;span class="caps"&gt;ITER&lt;/span&gt;-ZERO&lt;/strong&gt; was essentially a two-day trip for Brian and I to Washington DC (&lt;a href="http://flickr.com/photos/robbyrussell/sets/72157594209695361/"&gt;pictures&lt;/a&gt;) to interview the client and some of their existing users (domain experts), establish the protocol and channels for communication between them (the client) and our team, and work on identifying the core goals of their product that we&amp;#8217;ll be developing &lt;em&gt;with&lt;/em&gt; them. They have an &lt;strong&gt;existing product&lt;/strong&gt; that they&amp;#8217;ve been selling to customers for &lt;strong&gt;over ten years&lt;/strong&gt; and the product that we&amp;#8217;ll be developing will be the next generation of this software. The new product is replacing a desktop application that is only runs on Windows. The application that we&amp;#8217;re currently working has a technical requirement that is needs to run on &lt;em&gt;any operating system&lt;/em&gt; with a modern web browser, including some of the newer phones that have Opera mini installed! As you can see, we have our work cut out for us&amp;#8230; :-)&lt;/p&gt;


	&lt;p&gt;During our meetings, we agreed that while their final product name is going through their marketing process, that we should have a playful project name to refer to. Our primary contact at the firm suggested, &lt;strong&gt;Project Illuminatus&lt;/strong&gt;[1]. He&amp;#8217;s a bit of a conspiracy theory nut&amp;#8230; and it sounded fun&amp;#8230; so we agreed to that. :-)&lt;/p&gt;


	&lt;p&gt;If I recall, Brian and I stayed up past 2am (the time zone change does that to you&amp;#8230;) working on structuring the project wiki (instiki) to document &lt;a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue"&gt;the dialogue&lt;/a&gt; that occurred on our first day in DC. This provided us with a solid plan for how we wanted to focus our attention to identifying the goals that we wanted to collaborate on with the client to build an innovative and simple to define solution. &lt;strong&gt;Simple solutions emerge from even complex goals when you can clarify them using simple and intelligible language&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;In &lt;a href="http://sztywny.titaniumhosting.com/2006/07/23/stiff-asks-great-programmers-answers/"&gt;this great blog interview&lt;/a&gt;, &lt;a href="http://sztywny.titaniumhosting.com"&gt;Stiff&lt;/a&gt; asked several famous developers the following question, &lt;em&gt;&amp;#8220;What do you think makes some programmers 10 or 100 times more productive than others?&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.loudthinking.com"&gt;David Heinemeir Hannsson&lt;/a&gt; responded with, &lt;em&gt;&amp;#8220;The ability to restate hard problems as easy ones.&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On day two, we showed their team the wiki and explained how they could collaborate with us there. If they had ideas and new goals identified, they had a place to store those. It&amp;#8217;s vital that your attention is on the scope of the work that needs to be investigated. We try not to solve all of the problems too quickly&amp;#8230; it&amp;#8217;d be naive of us to think that we could. Products evolve and so must their requirements.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m not going to go into everything that went on here at the moment, perhaps &lt;a href="http://blog.brightredglow.com"&gt;Brian&lt;/a&gt; will fill us in on some of this.&lt;/p&gt;


	&lt;p&gt;When we got back to Portland, Brian and I began meeting with Allison Beckwith, our Creative Director, to outline one of the most complex pieces of the system. As a team, we decided that this is what we need to focus more of our immediate attention to. In the their previous application, there was approximately five different modules that did something &lt;em&gt;very&lt;/em&gt; similar, but just slightly different enough for their original developers to just build separate interfaces, which were not consistent and difficult to use for someone new to the application. We want to consolidate this into one new solution that focuses on how the users will be &lt;em&gt;using&lt;/em&gt; the system&amp;#8230; not just the &lt;em&gt;tasks&lt;/em&gt; that they are fulfilling. This is why we spend so much time thinking about the goals that the users have&amp;#8230; not what they &lt;em&gt;have&lt;/em&gt; to do.&lt;/p&gt;


	&lt;p&gt;Oh yeah&amp;#8230; one of the non-functional requirements?&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;The product shall be easy to use on the first attempt by a member of the general public without training.&amp;#8221;&lt;/em&gt;[2]&lt;/p&gt;


	&lt;p&gt;About a week later, we agreed on what work would be performed during &lt;span class="caps"&gt;ITER&lt;/span&gt;-001 (iteration one), which included paper prototyping and a few rounds wireframe mockups for this one major component of the application. I&amp;#8217;ll let &lt;a href="http://www.allisbe.com"&gt;Allison Beckwith&lt;/a&gt; (yes! she started a blog) fill you in on this when she gets some time to outline her process for doing this.&lt;/p&gt;


	&lt;p&gt;Stay tuned&amp;#8230;&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://en.wikipedia.org/wiki/Illuminatus"&gt;http://en.wikipedia.org/wiki/Illuminatus&lt;/a&gt;&lt;/p&gt;


	&lt;p id="fn2"&gt;&lt;sup&gt;2&lt;/sup&gt; copied directly from Mastering the Requirements Process, 2nd edition. It works.. and does it need to be reestated any simpler than that?&lt;/p&gt;</description>
      <pubDate>Mon, 14 Aug 2006 19:52:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7d2b93be-f889-4c80-b5af-1676d30b7299</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/14/project-illuminatus-an-introduction</link>
      <category>planetargon</category>
      <category>agile</category>
      <category>delivery</category>
      <category>processes</category>
      <category>requirements</category>
      <category>allisbe</category>
      <category>clients</category>
      <category>dialogue</category>
      <category>d3</category>
      <category>goals</category>
      <category>brixen</category>
      <category>project</category>
      <category>illuminatus</category>
    </item>
    <item>
      <title>Dialogue-Driven Development is about rounded corners</title>
      <description>&lt;p&gt;In response to our &lt;a href="http://www.robbyonrails.com/articles/2006/08/02/dialogue-driven-development"&gt;introduction of Dialogue-Driven Development&lt;/a&gt;, mechanismalley.com writes, &lt;em&gt;&amp;#8221;...it seems to be the Rails community’s pattern to take an existing concept — or misconception — put rounded corners on it and deem it something new.&amp;#8221;&lt;/em&gt; (&lt;a href="http://mechanismalley.com/blog/2006/08/04/on-product-backlogs/"&gt;link&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m not sure that I can completely agree with this generalization. What I&amp;#8217;ve witnessed as a member of the Rails community, is an attempt to &lt;em&gt;simplify&lt;/em&gt; code, solutions, processes, and as a result&amp;#8230; conversation between developers and clients has become much richer and coherent. Take this with a grain of salt as this has only been my experience. &lt;strong&gt;Complex solutions are complex to explain&lt;/strong&gt; and often too complex to know if they are actually solving &lt;em&gt;the right goal.&lt;/em&gt; On the other hand, &lt;strong&gt;simple solutions make way for better dialogue&lt;/strong&gt;. With &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt;, we are provided with a foundation that &lt;em&gt;encourages&lt;/em&gt; and &lt;em&gt;embraces&lt;/em&gt; best practices and simple solutions (rounded corners?), which makes it easier to discuss with the client. This is what fascinates me about Ruby on Rails&amp;#8230; and what Martin Fowler in &lt;a href="http://blog.scribestudio.com/articles/2006/07/03/martin-fowler-railsconf-2006-keynote-address"&gt;his keynote&lt;/a&gt; at &lt;a href="http://www.railsconf.org"&gt;RailsConf&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Perhaps it makes sense that what Brian and I are outlining with our approach to defining patterns for client&amp;lt;-&amp;gt;development team interaction evolved through us working with Ruby on Rails. However, there is nothing that requires Rails in order to follow the patterns that we&amp;#8217;re discussing. In Brian&amp;#8217;s &lt;a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue"&gt;first article about d3&lt;/a&gt;, he referenced the following&amp;#8230;&lt;/p&gt;


&lt;blockquote&gt;&lt;em&gt;&amp;#8220;What we are seeing is a drive toward simplicity. Conventional wisdom once was “quick necessarily means dirty”. Ruby challenges that.&lt;/em&gt;
  &lt;br /&gt;
 &amp;#8212;&lt;a href="http://www.martinfowler.com/"&gt;Martin Fowler&lt;/a&gt;
&lt;/blockquote&gt;

	&lt;p&gt;At the very core of our approach with Dialogue-Driven Development is the &lt;a href="http://www.agilemanifesto.org/"&gt;Agile Manifesto&lt;/a&gt;. The author of this post is correct, we&amp;#8217;re taking an existing concept and putting rounded corners on it. We&amp;#8217;re trying to &lt;strong&gt;make it simpler&lt;/strong&gt;. We find that Scrum is too process heavy and while we can see it being a good step away from the &lt;a href="http://www.waterfall2006.com/"&gt;Waterfall&lt;/a&gt; approach, it&amp;#8217;s still not giving us that warm and fuzzy feeling. Rails developers know what that warm and fuzzy feeling is&amp;#8230; and we are hoping to find something that gives our clients and us the same feeling when we&amp;#8217;re not coding. We want lightweight methodologies to complement our lightweight frameworks and patterns.&lt;/p&gt;


&lt;blockquote&gt;
  We are uncovering better ways of developing&lt;br /&gt;
  software by doing it and helping others do it. &lt;br /&gt;
  Through this work we have come to value:&lt;br /&gt;
&lt;br /&gt;
  Individuals and interactions over processes and tools &lt;br /&gt;
  Working software over comprehensive documentation &lt;br /&gt;
  Customer collaboration over contract negotiation &lt;br /&gt;
  Responding to change over following a plan &lt;br /&gt;
&lt;br /&gt;
  That is, while there is value in the items on &lt;br /&gt;
  the right, we value the items on the left more.&lt;br /&gt;
  &lt;br /&gt;
 &amp;#8212;&lt;a href="http://www.agilemanifesto.org/"&gt;The Agile Manifesto&lt;/a&gt;
&lt;/blockquote&gt;

	&lt;p&gt;It&amp;#8217;s time to start rethinking how we work &lt;em&gt;with&lt;/em&gt; clients. Too often we end up working &lt;em&gt;for&lt;/em&gt; them and while we might build them what they want&amp;#8230; we might not be giving them what they need.&lt;/p&gt;


	&lt;p&gt;So, I must ask&amp;#8230; has working with Ruby on Rails reshaped the way you think about client and developer conversation? If so, for the better or worse?&lt;/p&gt;


	&lt;p&gt;High traces of collaboration and dialogue are usually found in the recipe of any successful project.&lt;/p&gt;


	&lt;h3&gt;Related Articles&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://blog.brightredglow.com/articles/2006/08/06/one-cuckoo-flew-over-the-nest"&gt;One cuckoo flew over the nest&lt;/a&gt;, Brian Ford&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2006/08/02/dialogue-driven-development"&gt;Dialogue-Driven Development&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://iamrice.org/articles/2006/08/03/dialog-driven-development-is-the-real-agile"&gt;Dialog driven development is the real agile&lt;/a&gt;, Damien Tanner&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://spellcoder.com/blogs/dodyg/archive/2006/08/03/254.aspx"&gt;Dialog driven development&lt;/a&gt;, Lazy Coder&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue"&gt;It&amp;#8217;s all about the dialogue&lt;/a&gt;, Brian Ford&lt;/li&gt;
	&lt;/ul&gt;
</description>
      <pubDate>Sat, 05 Aug 2006 10:49:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:94cb33a8-bd84-4bad-9a20-7b6e2f9cd572</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/05/dialogue-driven-development-is-about-rounded-corners</link>
      <category>agile</category>
      <category>dialogue</category>
      <category>driven</category>
      <category>development</category>
      <category>rubyonrails</category>
      <category>clients</category>
      <category>martinfowler</category>
      <category>simplicity</category>
      <category>d3</category>
    </item>
    <item>
      <title>DDD (d3) is the new conversational software development</title>
      <description>&lt;p&gt;I&amp;#8217;m not sure how I missed this recent post on Martin Fowler&amp;#8217;s bliki last week on &lt;a href="http://martinfowler.com/bliki/CustomerAffinity.html"&gt;Customer Affinity&lt;/a&gt;. In this post he references when the term &amp;#8220;agile&amp;#8221; first came about and mentioned that, &amp;#8220;one of Kent&amp;#8217;s suggested names for &amp;#8216;Agile&amp;#8217; was conversational software development &amp;#8211; the point being that it&amp;#8217;s a two way communication. &amp;#8220;&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Conversational&lt;/em&gt; Software Development.&lt;/p&gt;


	&lt;p&gt;This doesn&amp;#8217;t sound so different than what Brian Ford and I are calling, &lt;a href="http://c2.com/cgi/wiki?DialogueDrivenDevelopment"&gt;Dialogue-Driven Development&lt;/a&gt;. ;-)&lt;/p&gt;


	&lt;p&gt;Fowler goes on to say, &lt;em&gt;&amp;#8220;This isn&amp;#8217;t something like a telecoms protocol that you can define, but the back and forth discussions about how software can enhance the business are where the real value lives. Much of this conversation is of half-baked ideas, some of which grow into valuable features &amp;#8211; often ones that aren&amp;#8217;t things that the customer originally thought of.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;If you didn&amp;#8217;t follow the thread of comments on my &lt;a href="http://c2.com/cgi/wiki?DialogueDrivenDevelopment"&gt;recent post on Dialogue-Driven Development&lt;/a&gt;, you might not know that this name came up during Martin Fowler&amp;#8217;s keynote at RailsConf when Brian and I were sitting next to each other and Martin kept reusing the word &amp;#8220;dialogue.&amp;#8221; Brian and I can&amp;#8217;t seem to agree if I said, &amp;#8220;Dialogue-Driven Development&amp;#8221; out loud or if he wrote it down on a piece of paper first&amp;#8230; so we&amp;#8217;re going to have to share the credit. What made this so fascinating at the time was that for the entire trip from Portland to Chicago on the &lt;a href="http://www.theargonexpress.com"&gt;Argon Express&lt;/a&gt;, Brian and I had been discussing a lot of what we&amp;#8217;re planning to change and define with our approach to Client/Project/Development Collaboration &amp;#38; Management&amp;#8230; and in the end&amp;#8230; we left Chicago with &lt;del&gt;&lt;span class="caps"&gt;DDD&lt;/span&gt;&lt;/del&gt; d3.&lt;/p&gt;


	&lt;p&gt;Thank you, Martin for being part of this process.&lt;/p&gt;


	&lt;p&gt;Like all things, this approach is open to &lt;del&gt;discussion&lt;/del&gt; dialogue.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;UPDATE&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Brian has written an article called, &lt;a href="http://blog.brightredglow.com/articles/2006/08/04/its-all-about-the-dialogue"&gt;It&amp;#8217;s all about the dialogue&lt;/a&gt;. (&lt;a href="http://digg.com/programming/It_s_all_about_the_dialogue"&gt;digg.it&lt;/a&gt;)&lt;/p&gt;
</description>
      <pubDate>Thu, 03 Aug 2006 22:28:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:c793b3bf-28f5-4a13-b03f-2d069e96bc0e</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/03/ddd-is-the-new-conversational-software-development</link>
      <category>d3</category>
      <category>agile</category>
      <category>development</category>
      <category>projects</category>
      <category>management</category>
      <category>clients</category>
      <category>interaction</category>
      <category>planetargon</category>
    </item>
    <item>
      <title>Dialogue-Driven Development</title>
      <description>&lt;p&gt;Just a few months ago, I wrote a short article called, &lt;a href="http://www.robbyonrails.com/articles/2006/05/31/the-art-of-delivery-part-1"&gt;The Art of Delivery&lt;/a&gt;, which outlined how we at &lt;a href="http://www.planetargon"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; approach iterative development and how it relates to quicker release cycles. I wanted to follow up with this and add some more thoughts to that and what we&amp;#8217;ve been trying and learning since that point in time.&lt;/p&gt;


	&lt;p&gt;With iterative development cycles, we&amp;#8217;re able to focus our attention on very specific and well-defined goals while we work with the client to organize the other goals that they&amp;#8217;d like us to help develop solutions for.&lt;/p&gt;


	&lt;h3&gt;An End to the Product Backlog&lt;/h3&gt;


	&lt;p&gt;While everyone at &lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; has been doing some research on modern Agile-related methodologies, we&amp;#8217;ve been throwing a lot of ideas back and forth&amp;#8230; and often times we end up cherry-picking individual practices and throwing it into our evolving processes.&lt;/p&gt;


	&lt;p&gt;The problem that we&amp;#8217;ve seen with most examples of using a standard &lt;a href="http://www.controlchaos.com/"&gt;Scrum&lt;/a&gt; Product Backlog is that it focuses too much on tasks rather than providing solutions for goals that are central to the success of the project. It also requires that someone maintain, on a regular basis, a well-defined list of tasks, which often times the client (Product Owner) dictates. We&amp;#8217;ve seen many situations where a client has more feature requests than is necessary in order to attain the goal that was originally set. If we had a nickel for every time we heard someone say, &amp;#8220;wouldn&amp;#8217;t it be cool if it did this?&amp;#8221;&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ve personally worked on many projects that fell into this routine too early in the development cycle. Most clients that we work with are trying to provide a solution for their users and aren&amp;#8217;t always the best Domain Expert. Taking the whole &lt;em&gt;&lt;a href="http://www.37signals.com/svn/archives2/less_as_a_competitive_advantage_my_10_minutes_at_web_20.php"&gt;less is more&lt;/a&gt; approach&lt;/em&gt;, it&amp;#8217;s vital that the earlier you can get your users in front of your application, the sooner you can get them to generate feedback, which aids in you making educated decisions about what to add to the project later on.&lt;/p&gt;


	&lt;h3&gt;Features are Expensive&lt;/h3&gt;


	&lt;p&gt;Aside from the monetary costs of adding new features and functionality, it is important to remember that as you add new code to an application you increase the maintainability and overall scope of the project. With each &lt;em&gt;new feature&lt;/em&gt;, the requirements change, complexity increases, and as far as your users are concerned, they are now being exposed to something new, which may or may not be what they want or need. For example, I was in a sales meeting yesterday and our potential client mentioned that at a former job during the dot-com era, their web team added e-Cards to their web site and it had nothing to do with their business model. The users did however use this new feature but they later went out of business. Perhaps they should have been an e-Card business instead. Imagine if BaseCamp added a local weather feature&amp;#8230; I might use it&amp;#8230; but it doesn&amp;#8217;t help me manage our projects any better.&lt;/p&gt;
&lt;p&gt;When clients approach us with a new feature that wasn&amp;#8217;t previously discussed, we have to ask them they Why, What, and How? What goal is this feature providing a solution for? Do we already have a solution implemented that solves this problem? Is this a new goal and how (and why) did this goal come about? What are the costs of implementing such a feature and how will it affect the current stability of the user base and application? If we put it off 3 months, would it cause the project to come to a grinding halt? What about 6 months?&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s important to always remember that one of the biggest problems in software development is &lt;em&gt;feature creep.&lt;/em&gt; Many projects fail due to this and as a project manager, developer, or client&amp;#8230; please consider the consequences and benefits of each new feature. Focus on the goals and connect the dots from there.&lt;/p&gt;


	&lt;p&gt;Get the goals clearly defined and provide clear and simple solutions for them.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Just Say NO to Bloat!&lt;/strong&gt;&lt;/p&gt;


	&lt;h3&gt;Start with a Mission Statement&lt;/h3&gt;


	&lt;p&gt;One of the new things that we&amp;#8217;ve begun doing with a few new clients is assigning them with an initial task of providing us with a Mission Statement. From the Mission Statement we can ask how each goal that the client and we outline relates to it. If one of the key goals of the Mission Statement is, &amp;#8220;to provide gorillas with easy access to basketballs&amp;#8221;... we will have to question any goals that imply that we might also need to provide access to soccer balls, car batteries, or scissors&amp;#8230; or that when a gorilla is getting their basketball we might want to provide them access to stock reports. We&amp;#8217;re not trying to solve all the gorilla&amp;#8217;s problems and it would be naive for us to think that we know what they want before we&amp;#8217;ve had a chance to really engage in that dialogue.&lt;/p&gt;


	&lt;h3&gt;Users are the Domain Experts&lt;/h3&gt;


	&lt;p&gt;Very rarely do we get a chance to interact with users before we&amp;#8217;ve begun coding a project and getting an alpha release in front of a subset of users. Brian and I just got back from a few days in Washington DC, where we worked with a new client. They have an existing &lt;span class="caps"&gt;GUI&lt;/span&gt; application that began development in the mid-90s and we&amp;#8217;re being contracted to help build a new solution to the problem that they began to solve ten years ago. The application has suffered from a lot of &lt;em&gt;feature creep&lt;/em&gt; as many evolving products do. As they gave us a demonstration of their existing product, we saw first hand how it was even difficult for them to remember why Feature X was in the system. &amp;#8220;Most customers don&amp;#8217;t use that anyways.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;So, why is it there? Of course, nobody remembers why everything is there now. As developers come and go projects get managed by various people over the course of their life, many of different opinions and features get injected into the application. It&amp;#8217;s a common problem and it takes a lot for a company to finally admit that it&amp;#8217;s time to throw it out the door and start fresh.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;The old rules don&amp;#8217;t apply anymore. *&lt;/p&gt;


	&lt;p&gt;One of the first things that we did in our meetings was discuss what goals their product was aiming to provide solutions for. What do they believe that their users want and need? To get this answer, we scheduled a few conference calls with real users of their existing software! I cannot describe how helpful those interviews were and we saw a lot of consistency in their goals as users of such a system. It became apparent that they were the Domain Experts and as we move forward with the project we are going to have access to interact with those users.&lt;/p&gt;


	&lt;h3&gt;Rethinking the Dialogue&lt;/h3&gt;


	&lt;p&gt;When thinking about delivery, we must consider the major obstacles to overcome during the course of an iteration or release cycle. More important than having well-defined deliverables is having well-defined expectations. If you&amp;#8217;re delivering a &lt;a href="http://www.robbyonrails.com/articles/2006/06/07/prototypes-are-your-friends"&gt;prototype&lt;/a&gt;, be clear about what a prototype is and &lt;a href="http://www.robbyonrails.com/articles/2006/03/11/keeping-prototypes-is-a-bad-idea"&gt;what is it not&lt;/a&gt;. Schedule regular meetings with your client throughout the process. Keep the client updated as much as possible. Ask questions as soon as you can&amp;#8230; and be sure to ask them the &lt;em&gt;right questions.&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;There is an art to it and it&amp;#8217;s important that you keep this process lightweight and agile like you do your development process. Perhaps we need to think of development and project management under a new heading&amp;#8230; *Dialogue-Driven Development&lt;/strong&gt;? &lt;strong&gt;&lt;del&gt;&lt;span class="caps"&gt;DDD&lt;/span&gt;&lt;/del&gt;&lt;/strong&gt;? ...just what we need&amp;#8230; another acronym. ;-)&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;UPDATE&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;re not going to call it &lt;span class="caps"&gt;DDD&lt;/span&gt;&amp;#8230; just d3.&lt;/p&gt;</description>
      <pubDate>Wed, 02 Aug 2006 21:55:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:201cc0a0-52eb-4bd9-8c1c-8a9d2bc7711c</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/02/dialogue-driven-development</link>
      <category>d3</category>
      <category>agile</category>
      <category>development</category>
      <category>projects</category>
      <category>management</category>
      <category>clients</category>
      <category>interaction</category>
      <category>planetargon</category>
    </item>
  </channel>
</rss>
