<?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>Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx</link><description>A former manager poses a provocative idea: end-user help topics for all new applications and features--like the sweet new Source Control Explorer window in Microsoft Visual Studio 2005 Team System --should be written before development begins; Help First</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#230086</link><pubDate>Wed, 15 Sep 2004 19:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:230086</guid><dc:creator>Frank Hileman</dc:creator><description>This type of DDD was standard practice for the &amp;quot;core&amp;quot; of a complex commercial graphics system I worked on. The primary benefit: overengineering and complexity were reduced. As soon as an API something became difficult to document, we realized it was probably not such a great idea, and needed to be rethought.</description></item><item><title>RE: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#230225</link><pubDate>Thu, 16 Sep 2004 02:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:230225</guid><dc:creator>rcallaby@earthlink.net (Richard Callaby)</dc:creator><description>Hate to say it but I have been using this technique for program writing for some time. At least I have a label for it now, though. What I do is write my comments first about the method, class, etc before i write it so I can get a better idea of what it is supposed to do. Also as I write the method I change the comments accordingly as well.&lt;br&gt;&lt;br&gt;It is certainly a great idea.</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#230243</link><pubDate>Thu, 16 Sep 2004 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:230243</guid><dc:creator>Korby Parnell</dc:creator><description>Frank, &lt;br&gt;I wish I had a photograph of the PM who then owned the Solution Explorer window in Visual Studio when I presented for tech review a 6-page help topic (a whitepaper, really) that explained why dragging and dropping any file FROM a C++ project TO a VB project occasioned a different result (copy file) than dragging that same file FROM the VB project TO the C++ project (create reference).&lt;br&gt;&lt;br&gt;The PM leaned back and said, &amp;quot;Duuude, this is just the tip [long pause] of the iceberg.&amp;quot; And several seconds later, &amp;quot;This design is waaaaay [long pause] too complicated.&amp;quot; &lt;br&gt;&lt;br&gt;Of course, both Visual Studio .NET 2002 and 2003 shipped like that. The PM fought to unify the project item storage models for the disparate language projects in VS.NET 2002 and 2003 until he left the company a year ago. [And today? Today, he sent his super-smart daughter off to a new school she doesn't really like and paid an arborist an ungodly sum of money to try to salvage some great trees on the property upon which his newly-purchased home sits.] &lt;br&gt;&lt;br&gt;I recently learned that it is very *likely* that these project item models will converge in VS2005, rendering what remains of my hideous conceptual topic defunct, and thankfully so. &lt;br&gt;&lt;br&gt;That fact inspires me to continue to create great help content that both informs users of potential pitfalls and informs the feature designers and developers of potentially unnecessary complexity in Microsoft's tools for professional software developers like yourself. &lt;br&gt;&lt;br&gt;I wholeheartedly embrace the truth of your elegant statement: &lt;br&gt;&amp;quot;As soon as an API [or] something became difficult too document, we realized it was probably not such a great idea, and needed to be rethought.&amp;quot; &lt;br&gt;&lt;br&gt;To put it another way: good requires explanation but great is completely self-documenting. &lt;br&gt;&lt;br&gt;++++++++++++++++++&lt;br&gt;Richard, &lt;br&gt;I'm thrilled to provide a label for your time-honored development technique. Every idea is a meme, right. &lt;br&gt;&lt;br&gt;It seems that putting a name to a thing or idea is one of my great talents in life. Too bad I'm not compensated for doing so. That being said, I did recently run afoul of the naming gods by mistakenly giving my daughter a name which, when pronounced a certain way, means something really bad in Persian. &lt;br&gt;&lt;br&gt;Daughter Best Practice #1: 'When snowboarding in Iran, pronounce thy name Key-Era'! :-) &lt;br&gt;&lt;br&gt;If you read this comment, perhaps you can add another comment which points us to sites or books that inspired you to adopt DDD techniques in the first place?</description></item><item><title>New Team System Stuff - 2004-09-15</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#230335</link><pubDate>Thu, 16 Sep 2004 12:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:230335</guid><dc:creator>Rob Caron's Blog</dc:creator><description /></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#230425</link><pubDate>Thu, 16 Sep 2004 15:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:230425</guid><dc:creator>Frank Hileman</dc:creator><description>I can't point to a book (we began working this way in the early 90s). Here is why we adopted this type of DDD:&lt;br&gt;&lt;br&gt;When release-time came around every 3-6 months, we would look for the documentation for each new enhancement to the API. Supposedly, each enhancement had been thought out and designed. But the developers dragged their feet on the documentation. Each developer was responsible for the rough draft of the API documentation, and I (lead dev) was responsible for cleaning them up.&lt;br&gt;&lt;br&gt;During the &amp;quot;doc phase&amp;quot;, we often found the documentation process finding design problems or unnecessary complexity, that we just hadn't thought of, until we looked at the API from a &amp;quot;documenter's&amp;quot; point of view. The documenter's point of view precisely pinpoints communication problems and complexity. If something was hard to document, it was hard to use as well.&lt;br&gt;&lt;br&gt;We often delayed releases just so we could address these problems, tweaking the public API. The documentation  process thus became long and unpredictable, making release scheduling very difficult.&lt;br&gt;&lt;br&gt;So we said, no more requirement specifications. That will not be needed. Instead, write the end-user documentation, before you even start the high level design. No work on any code (except perf tests) or design documents until the first draft of the end-user documentation is written. When that is done, and reviewed, we could be sure we had a good design from the user's perspective, as well as a fairly good spec for implementation.&lt;br&gt;&lt;br&gt;Amazingly, the developers, who had all been through the previous painful &amp;quot;documentation phase&amp;quot;, generally liked this approach, even if they were not good writers. They always had someone to help with the writing part (me). They recognized the value in this approach, and they were able to get that phase out of the way while the subject was fresh in their minds.</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#239980</link><pubDate>Fri, 08 Oct 2004 21:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:239980</guid><dc:creator>Barry Gervin</dc:creator><description>DDD sounds more like Use Case Analysis. The more things change, the more they stay the same.</description></item><item><title>exciting</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#453400</link><pubDate>Fri, 19 Aug 2005 05:45:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:453400</guid><dc:creator>marria</dc:creator><description>News on every hour. &lt;a rel="nofollow" target="_new" href="http://www.bignews.com"&gt;http://www.bignews.com&lt;/a&gt;</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#554885</link><pubDate>Sun, 19 Mar 2006 18:54:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:554885</guid><dc:creator>Payday Loan</dc:creator><description>Very nice and informative website.</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#586651</link><pubDate>Sat, 29 Apr 2006 15:09:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:586651</guid><dc:creator>Katrina</dc:creator><description>Very nice website with a lot of informative response from members</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#615466</link><pubDate>Sat, 03 Jun 2006 03:35:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:615466</guid><dc:creator>buy xanax</dc:creator><description>i like your website very much but please do get us more information about it</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#713368</link><pubDate>Wed, 23 Aug 2006 03:16:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:713368</guid><dc:creator>Vlad</dc:creator><description>Very nice blog. I read it every day.</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#739314</link><pubDate>Mon, 04 Sep 2006 14:30:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:739314</guid><dc:creator>insurance</dc:creator><description>I'm impressed this site. You can be impressed also when you visit my. &amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://www.agnula.org/Members/carinsurance/car-insurance&amp;quot;"&gt;http://www.agnula.org/Members/carinsurance/car-insurance&amp;quot;&lt;/a&gt; title=&amp;quot;Car insurance online quote&amp;quot;&amp;gt;Car insurance online quote&amp;lt;/a&amp;gt;</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#1137808</link><pubDate>Fri, 24 Nov 2006 10:59:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1137808</guid><dc:creator>Peter Arrenbrecht</dc:creator><description>&lt;p&gt;Great post. But: I think DDD _is_ different from TDD. TDD is about &amp;quot;what exactly&amp;quot;, and a little &amp;quot;how&amp;quot;. DDD is - or should be - about &amp;quot;why and how&amp;quot;. In my experience, you get the best results from combining both. That is what I do on my latest project with the help of a tool I wrote, JCite. It lets me cite example snippets from actual use-case API test code into the docs. An extension I have not implemented yet will even alert me when cited examples have changed so I can review the docs around them.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://arrenbrecht.ch/jcite/"&gt;http://arrenbrecht.ch/jcite/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Documentation-Driven Development</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#1137837</link><pubDate>Fri, 24 Nov 2006 11:03:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1137837</guid><dc:creator>Peter Arrenbrecht</dc:creator><description>&lt;p&gt;&amp;gt; &amp;quot;pedantic, predictable documentation that explains how to do things but not why you should do them one way or another.&amp;quot;&lt;/p&gt;
&lt;p&gt;Hmm. No methodology is ever going to make people produce good results when they are not focused on the real goals of the project. In this case, if people are not focused on delivering a great product with great usabilty and learnability, but rather of getting the daily chore over with, DDD will obviously not work. To explain well, you have to care about your audience, not your own agenda. Same goes for designing an API well.&lt;/p&gt;</description></item><item><title> Korby Parnell s Social Software Wunderkammer Documentation Driven | Paid Surveys</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#9659471</link><pubDate>Sat, 30 May 2009 01:22:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9659471</guid><dc:creator> Korby Parnell s Social Software Wunderkammer Documentation Driven | Paid Surveys</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://paidsurveyshub.info/story.php?title=korby-parnell-s-social-software-wunderkammer-documentation-driven"&gt;http://paidsurveyshub.info/story.php?title=korby-parnell-s-social-software-wunderkammer-documentation-driven&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Korby Parnell s Social Software Wunderkammer Documentation Driven | low cost car insurance</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#9765723</link><pubDate>Wed, 17 Jun 2009 07:24:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9765723</guid><dc:creator> Korby Parnell s Social Software Wunderkammer Documentation Driven | low cost car insurance</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://lowcostcarinsurances.info/story.php?id=1109"&gt;http://lowcostcarinsurances.info/story.php?id=1109&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Korby Parnell s Social Software Wunderkammer Documentation Driven | storage bench</title><link>http://blogs.msdn.com/korbyp/archive/2004/09/15/229947.aspx#9782182</link><pubDate>Fri, 19 Jun 2009 10:45:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9782182</guid><dc:creator> Korby Parnell s Social Software Wunderkammer Documentation Driven | storage bench</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://thestoragebench.info/story.php?id=1960"&gt;http://thestoragebench.info/story.php?id=1960&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>