<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx</link><description>As I said in Nailing the nominals , the two keys to successful big projects (100K+ LOC) are thinking ahead and defining done. Thinking ahead is about design and planning. Defining done is about setting a quality bar and sticking to it. Yet many big projects</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>infoblog &amp;raquo; Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9387991</link><pubDate>Sun, 01 Feb 2009 11:27:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9387991</guid><dc:creator>infoblog &amp;raquo; Green fields are full of maggots</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.a-foton.ru/index.php/2009/02/01/green-fields-are-full-of-maggots/"&gt;http://blog.a-foton.ru/index.php/2009/02/01/green-fields-are-full-of-maggots/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Focus on the customer, not on the framework.</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9390390</link><pubDate>Mon, 02 Feb 2009 15:29:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9390390</guid><dc:creator>Normal People Bore Me!</dc:creator><description>&lt;p&gt;Focus on the customer, not on the framework.&lt;/p&gt;
</description></item><item><title>re: Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9391063</link><pubDate>Mon, 02 Feb 2009 21:23:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9391063</guid><dc:creator>ericgu</dc:creator><description>&lt;p&gt;I agree with you for the most part, but you lose me on the &amp;quot;big design up front&amp;quot; part.&lt;/p&gt;
&lt;p&gt;If you do big design up front, it's exceedingly hard to come up with a design that's customer-focused. Yes, you may have to do less rework if you do it that way, but you are likely to end up with something that mostly kindof works for the customer scenarios, but because you didn't evolve it it's really hard to adapt your big design to do what the customer needs. &lt;/p&gt;
&lt;p&gt;I do think that a lot of people misinterpret what agile says about design. The message is not &amp;quot;don't do design&amp;quot;, the message is &amp;quot;only design for what you need right now&amp;quot; (or alternatively, &amp;quot;put off design for as long as practical&amp;quot;). &lt;/p&gt;
</description></item><item><title>re: Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9391148</link><pubDate>Mon, 02 Feb 2009 21:50:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9391148</guid><dc:creator>vasilep</dc:creator><description>&lt;p&gt;I agree with the overall approach here as long as it is focused on &amp;quot;applications&amp;quot;. The world is much more gray when you are designing/developing a &amp;quot;platform&amp;quot;.&lt;/p&gt;
</description></item><item><title>re: Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9391278</link><pubDate>Mon, 02 Feb 2009 22:46:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9391278</guid><dc:creator>stbenz</dc:creator><description>&lt;p&gt;Let me tell a tail about frameworks... &amp;nbsp;I created a product that was tailored to the needs of what I thought was a representative sample of my customers. &amp;nbsp;I released it to the wider world and got many more customers who liked it, but many many more who wanted it to work differently in small or large ways. &amp;nbsp;Some of these prospects said that they would write large checks to me if I fixed their problem. &amp;nbsp;I find large sums of money compelling. &amp;nbsp;Call me funny that way.&lt;/p&gt;
&lt;p&gt;And here's where things go awry. &amp;nbsp;I figured &amp;quot;Hey, my customers are developers, so I can write a framework for them! &amp;nbsp;They'll code their own solutions and I only have to develop one framework rather than a zillion solutions! &amp;nbsp;This'll be great! &amp;nbsp;Write one block of code, get lots of big checks &amp;amp; retire to the Bahamas!&amp;quot;&lt;/p&gt;
&lt;p&gt;No, that didn't work. &amp;nbsp;First off, in the time it took to develop the framework, many customers took their checks elsewhere. &amp;nbsp;When I finally got it to market, the remaining customers with big checks now said, &amp;quot;Hey, your tool almost does what I want, I see you have a great framework that'd allow someone to write a module tailored to our needs. &amp;nbsp;Why don't you write it?&amp;quot; &amp;nbsp;Well, large checks are large checks, but writing the code to solve their problems was cutting into my Scuba training.&lt;/p&gt;
&lt;p&gt;Still, lesson learned: &amp;nbsp;You can't anticipate all your customer needs, and frameworks are really great when you see a real pattern to customer requirements. &amp;nbsp;But designing frameworks is expensive, you need to be really sure of your RoI before you start down that road.&lt;/p&gt;
&lt;p&gt;If you really can make a solid case for a framework, justify that framework as an internal tool. &amp;nbsp;If it really pans out internally, and reaches some sort of stable state then, *maybe* you consider making it public if there are enough folks waving large enough checks around.&lt;/p&gt;
&lt;p&gt;In my case, the internal interface really did eventually do great things for my product. &amp;nbsp;I was able to sell to a much wider audience and react to changing requirements much faster than I otherwise would have. &amp;nbsp;Further, modularizing my product brought me a whole host of testing and deployment benefits. &amp;nbsp;There was a positive return on developing the framework, but it wasn't anything like the huge immediate win I anticipated.&lt;/p&gt;
&lt;p&gt;And without question, making the making the API public cost me much, much more than it delivered.&lt;/p&gt;
</description></item><item><title>re: Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9393890</link><pubDate>Wed, 04 Feb 2009 01:03:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9393890</guid><dc:creator>asymtote</dc:creator><description>&lt;p&gt;Could you post a definitive citation for the 2004 Boehm publication? Dr Boehm is quite prolific so there are a few candidates to choose from in 2004.&lt;/p&gt;
</description></item><item><title>re: Green fields are full of maggots</title><link>http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx#9427722</link><pubDate>Tue, 17 Feb 2009 18:52:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9427722</guid><dc:creator>devonm</dc:creator><description>&lt;p&gt;This post is available as a podcast here: &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/microsoft_press/archive/2009/02/17/i-m-wright-podcast-green-fields-are-full-of-maggots.aspx"&gt;http://blogs.msdn.com/microsoft_press/archive/2009/02/17/i-m-wright-podcast-green-fields-are-full-of-maggots.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;---Microsoft Press&lt;/p&gt;
</description></item></channel></rss>