<?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>Brad Abrams  : Software Development</title><link>http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx</link><description>Tags: Software Development</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Video "Framework Engineering: Architecting, Designing, and Developing Reusable Libraries" posted</title><link>http://blogs.msdn.com/brada/archive/2008/01/10/video-framework-engineering-architecting-designing-and-developing-reusable-libraries-posted.aspx</link><pubDate>Fri, 11 Jan 2008 07:51:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7049621</guid><dc:creator>BradA</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/brada/comments/7049621.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=7049621</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/kcwalina/"&gt;Krys&lt;/a&gt; got his very popular TechEd Europe session on &lt;a href="http://download.microsoft.com/download/b/d/1/bd133733-9647-445f-bc06-238ae9c0dd48/FrameworkEngineering.wmv"&gt;framework engineering posted&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://download.microsoft.com/download/b/d/1/bd133733-9647-445f-bc06-238ae9c0dd48/FrameworkEngineering.wmv"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="172" alt="image" src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/VideoFrameworkEngineeringArchitectingDes_124E1/image_3.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;em&gt;Framework Engineering: Architecting, Designing, and Developing Reusable Libraries &lt;/em&gt;&lt;/b&gt; &lt;p&gt;&lt;em&gt;This session covers the main aspects of reusable library design: API design, architecture, and general framework engineering processes. Well-designed APIs are critical to the success of reusable libraries, but there are other aspects of framework development that are equally important, yet not widely covered in literature. Organizations creating reusable libraries often struggle with the process of managing dependencies, compatibility, and other design processes so critical to the success of modern frameworks. Come to this session and learn about how Microsoft creates its frameworks. The session is based on experiences from the development of the .NET Framework and Silverlight, and will cover processes Microsoft uses in the development of managed frameworks&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7049621" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>Software Development Predictions for 2008</title><link>http://blogs.msdn.com/brada/archive/2007/12/31/software-development-predictions-for-2008.aspx</link><pubDate>Mon, 31 Dec 2007 19:06:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6832647</guid><dc:creator>BradA</dc:creator><slash:comments>23</slash:comments><comments>http://blogs.msdn.com/brada/comments/6832647.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=6832647</wfw:commentRss><description>&lt;p&gt;Happy New Year!&amp;nbsp; &lt;p&gt;Not too long ago, I was asked for my predictions for the IT-Technology in 2008...&amp;nbsp; You can find the full article here, but I thought I'd include my thoughts on my blog.&amp;nbsp; &lt;p&gt;&lt;a href="http://java.sys-con.com/read/478303.htm"&gt;Where's i-Technology Headed in 2008?&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;I'd love to hear your thoughts and comments &lt;p&gt;&amp;nbsp; &lt;p&gt;1. &lt;strong&gt;User Experience Reaches the Enterprise.&lt;/strong&gt; In 2008 we will see several major enterprises start efforts to build UX centric applications that increase worker productivity, reduced transaction costs and increase pull through as the UX meme of the consumer facing world leaks into the enterprise. The days of the battleship gray, forms of data application as the king of the enterprise are numbered because of an imperative towards richer visualization of complex and interconnected data. While there will always be a need for the traditional sort of application, by the end of 2008, it is no longer the only element of the corporate landscape. &lt;a href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/SoftwareDevelopmentPredictionsfor2008_116C9/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="234" alt="image" src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/SoftwareDevelopmentPredictionsfor2008_116C9/image_thumb.png" width="234" align="right" border="0"&gt;&lt;/a&gt;  &lt;p&gt;2. &lt;strong&gt;Testability Becomes a Requirement for Software Development Frameworks.&lt;/strong&gt; No longer satisfied with simple reductions in costs for initial development, a growing community demand frameworks and tools that facilitate sustainable and agile practices. 2008 is the year that frameworks and tools take notice and start to deliver solutions that are testable out of the box. Technologies such as Test Driven Development, MVC/MVP patterns, and frameworks that support mocking become mainstream. After seeing this year’s cool demos at software development industry conferences a common question will be: “...And how do you test that?” Let’s hope the presenters have an answer.  &lt;p&gt;3. &lt;strong&gt;The Companion Applications Become Practical.&lt;/strong&gt; While RIA and AJAX application categories continue to grow, many consumer facing web applications and enterprise applications developers realize there is a need for desktop exploitive applications as well as reach web applications that work everywhere. What meaningful application wouldn’t benefit from a pairing like that of Outlook and Outlook Web Access? In the past it has been prohibitively expensive to build these applications, but with the circa 2008 technology such as .NET Framework 3.5 and Silverlight, it is finally becoming practical to have a single codebase that fully exploits the desktop and offers a rich web experience. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6832647" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://blogs.msdn.com/brada/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/brada/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/brada/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASPMVC/default.aspx">ASPMVC</category></item><item><title>A couple Framework Design Tools...</title><link>http://blogs.msdn.com/brada/archive/2007/11/08/a-couple-framework-design-tools.aspx</link><pubDate>Thu, 08 Nov 2007 23:39:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5995479</guid><dc:creator>BradA</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/brada/comments/5995479.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=5995479</wfw:commentRss><description>&lt;p&gt;Good tools are essential to good engineering... Recently I ran across a couple of good tools that will help with Framework design and implementation.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FrameworkDesignTools_AFA7/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="62" alt="image" src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FrameworkDesignTools_AFA7/image_thumb.png" width="244" align="left" border="0"&gt;&lt;/a&gt; &lt;a href="http://www.ndepend.com/"&gt;NDepends&lt;/a&gt; - is a tool that allows you to analyze your source code in order to get a grip on what is really going on so you can do large refractorings, reduce complexity, etc.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Check out the &lt;a href="http://www.ndepend.com/"&gt;online demos&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://submain.com/"&gt;&lt;img height="63" src="http://submain.com/images/submain.logo.200x63.gif" width="200" align="left" border="0"&gt;&lt;/a&gt;SubMain also has a cool that is effectively like FXCop, but it automatically fixes the errors for you where possible.&amp;nbsp; Check out this &lt;a href="http://submain.com/tutorials/cir-tutorial1.htm"&gt;tutorial for more information&lt;/a&gt;..&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;What tools do you use everyday?&amp;nbsp; anything else you think I should highlight?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5995479" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>Hyperlink your source code</title><link>http://blogs.msdn.com/brada/archive/2007/09/04/hyperlink-your-source-code.aspx</link><pubDate>Wed, 05 Sep 2007 06:32:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4753907</guid><dc:creator>BradA</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/brada/comments/4753907.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=4753907</wfw:commentRss><description>&lt;p&gt;I just noticed that &lt;a href="http://blogs.msdn.com/vancem/archive/2007/08/31/writing-approachable-code-introducing-the-hyperaddin-for-visual-studio.aspx#comments"&gt;Vance Morrison&lt;/a&gt; &amp;nbsp;posted the source code to his latest project (&lt;a href="http://www.codeplex.com/hyperAddin/"&gt;Hyperaddin&lt;/a&gt; for Visual Studio) on CodePlex.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I have long thought that source code comments were not enough to explain what is really going on... often you need to refer the read to other methods or areas of the code.&amp;nbsp; Well, luckily for me, Vance and gang saw the same problem and went out to solve it.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here are a few simple examples:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;You can refer to a function or type (or any other symbol), but using code:&lt;strong&gt;name&lt;/strong&gt;.&amp;nbsp; For example &lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;        // In this comment I wanted to talk about the &lt;font color="#0000ff"&gt;&lt;u&gt;code:MethodTable::Unbox&lt;/u&gt;&lt;/font&gt; method.
	// By Adding a &lt;font color="#0000a0"&gt;&lt;u&gt;code:&lt;/u&gt;&lt;/font&gt; hyperlink, readers can quickly navigate to it.  Any name
	// that can be found using the Edit.FindSymbol (Alt-F12) can be used.  If you
	// need to refer to an overloaded method, it is best to use an anchor (see below).&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;You can generate your own URL anchors by simply putting #&lt;strong&gt;name&lt;/strong&gt; in the comment somewhere. For example. &lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;        // #mytopic
        //
        // ...
        // Somewhere else in the file you can refer to &lt;font color="#0000ff"&gt;&lt;u&gt;code:#mytopic&lt;/u&gt;&lt;/font&gt;.  Now readers
	// can quickly navigate to the #mytopic anchor.  &lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Without further qualification, # anchors only work within a single &amp;nbsp;file. If you wish to refer to an anchor outside the current file (a common case), then you need to specify some programming symbol that is in the same file as your anchor. &amp;nbsp;For example:&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;        // I need to refer to #mytopic but it is not in the current file.  But I
	// know that this anchor is related to the class 'MethodTable' and thus will
	// be in the same file as that class definition by using &lt;font color="#0000a0"&gt;&lt;u&gt;code:MethodTable#mytopic&lt;/u&gt;&lt;/font&gt;
 	// I can refer to #mytopic anywhere in any code within the solution.&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Check it out:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://www.codeplex.com/hyperAddin/" href="http://www.codeplex.com/hyperAddin/"&gt;http://www.codeplex.com/hyperAddin/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4753907" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>FxCop Honored with Chairman's Award for Engineering Excellence</title><link>http://blogs.msdn.com/brada/archive/2007/07/05/fxcop-honored-with-chairman-s-award-for-engineering-excellence.aspx</link><pubDate>Fri, 06 Jul 2007 04:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3696802</guid><dc:creator>BradA</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/brada/comments/3696802.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=3696802</wfw:commentRss><description>&lt;p&gt;Every year, Microsoft honors a few innovations that have furthered the state of engineering excellence at Microsoft...&amp;nbsp;Some years, Bill Gates selects one of the winners to honor with the special distinction of the chairman's award.&amp;nbsp;&amp;nbsp; I am told that Bill does this for truly noteworthy achievements that have tangible impacted software development in every division at Microsoft.&amp;nbsp;&amp;nbsp; In fact, until this year, the only other winner of the Chairman's award was &lt;a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/drwatson_overview.mspx?mfr=true" mce_href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/drwatson_overview.mspx?mfr=true"&gt;Watson&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FxCopHonoredwithChairmansAwardforEnginee_11EC6/eeaward.jpg" atomicselection="true"&gt;&lt;img style="margin: 0px 15px 0px 0px" height="240" alt="eeaward" src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FxCopHonoredwithChairmansAwardforEnginee_11EC6/eeaward_thumb.jpg" width="158" align="left"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This year, &lt;a href="http://www.gotdotnet.com/Team/FxCop/" mce_href="http://www.gotdotnet.com/Team/FxCop/"&gt;FxCop&lt;/a&gt; (along with some two other static code analysts tools) were selected for this award.&amp;nbsp; This achievement is a testament to the importance of catching errors at the developers desktop before they even get into the source tree.&amp;nbsp; We know it becomes orders of magnitude more expensive to catch errors once checked in, and even harder still once they have shipped.&amp;nbsp;&amp;nbsp; FxCop (and similar tools) enable developers to quickly and reliably scan their code against all known issues.&amp;nbsp; This type of checks is a&amp;nbsp; scalable and reliable way to catch whole classes of issues.&amp;nbsp; As new classes of issues are found, a new "rule" can be written and codebases across Microsoft (and the industry) can be quickly checked for that class of issue.&amp;nbsp;&amp;nbsp; If you are not using a tool such as FxCop today, you should!&amp;nbsp; &lt;/p&gt; &lt;p mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.gotdotnet.com/Team/FxCop/" mce_href="http://www.gotdotnet.com/Team/FxCop/"&gt;FxCop&lt;/a&gt; is available standalone for anyone inside or outside of Microsoft to get as well as an integral part of &lt;a href="http://www.c-sharpcorner.com/UploadFile/mahesh/VS2005ProjectPropertoes07232005081339AM/VS2005ProjectPropertoes.aspx?ArticleID=c88756d3-cd2b-4919-8e1f-11aabf430ee7" mce_href="http://www.c-sharpcorner.com/UploadFile/mahesh/VS2005ProjectPropertoes07232005081339AM/VS2005ProjectPropertoes.aspx?ArticleID=c88756d3-cd2b-4919-8e1f-11aabf430ee7"&gt;Visual Studio 2005&lt;/a&gt; and beyond.&lt;/p&gt; &lt;p mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;While &lt;a href="http://blogs.msdn.com/kcwalina/" mce_href="http://blogs.msdn.com/kcwalina/"&gt;Krzysztof Cwalina&lt;/a&gt;, Michael Fanning and I were honored to accept the award and get a nice hand shake and photo will BillG, there are tons of people that made FxCop successful.&amp;nbsp;&amp;nbsp; While I can't claim this is a complete list of those that played key roles, it is a good start.&amp;nbsp;&amp;nbsp; Thanks&amp;nbsp;for all of you that helped!&lt;/p&gt; &lt;p&gt;Chris Anderson&lt;br&gt;Dave Bartolomeo&lt;br&gt;Marcelo Birnbach&lt;br&gt;Andrew Brown&lt;br&gt;Kathleen Carey&lt;br&gt;Erik Christensen&lt;br&gt;Brian Crawford&lt;br&gt;Rob DeLine&lt;br&gt;Mark Dredze&lt;br&gt;Joe Duffy&lt;br&gt;Manuel Fahndrich&lt;br&gt;Stephen Fisher&lt;br&gt;Brahmnes Fung&lt;br&gt;Kit George&lt;br&gt;Natalia Glagoleva&lt;br&gt;Bret Grinslade&lt;br&gt;Brian Grunkemeyer&lt;br&gt;Nick Guerrera&lt;br&gt;Sheridan Harrison&lt;br&gt;Anders Hejlsberg&lt;br&gt;Anson Horton&lt;br&gt;Hunter Hudson&lt;br&gt;Kamran Iqbal&lt;br&gt;Duane Kanz&lt;br&gt;Ravs Kaur&lt;br&gt;David Kean&lt;br&gt;Todd King&lt;br&gt;Dave Lubash&lt;br&gt;Matt Lyons&lt;br&gt;John Mackenzie&lt;br&gt;Tom Marsh&lt;br&gt;Ivan Medvedev&lt;br&gt;Syne Mitchell&lt;br&gt;Anthony Moore&lt;br&gt;Mike Murray&lt;br&gt;Joe Rohde&lt;br&gt;Sean Sandys&lt;br&gt;&lt;span style="font-size: 11pt; font-family: 'Calibri','sans-serif'; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;Roberto Santos&lt;/span&gt;&lt;br&gt;Jesus Ruiz-Scougall&lt;br&gt;Amanda Silver&lt;br&gt;Anshuman Srivastava&lt;br&gt;Roman Snytsar&lt;br&gt;Lisa Supinski&lt;br&gt;Ryley Taketa&lt;br&gt;Valtcho Valtchev&lt;br&gt;Paul Vick&lt;br&gt;Jeff Van Gogh&lt;br&gt;Herman Venter&lt;br&gt;Nate Walker&lt;br&gt;Brett Wortzman&lt;br&gt;Eric Zinda &lt;/p&gt; &lt;p&gt;plus: Every engineer and customer who contributed thinking and feedback&amp;nbsp;to the Framework Design Guidelines, provided useful feedback and bug reports to the FxCop team, or simply objected to the sanctioned casing of the term ‘Id’. Your numbers are legion.  &lt;p&gt;Thank you! &lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FxCopHonoredwithChairmansAwardforEnginee_11EC6/BradEEAward.jpg" atomicselection="true"&gt;&lt;img height="244" alt="BradEEAward" src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/FxCopHonoredwithChairmansAwardforEnginee_11EC6/BradEEAward_thumb.jpg" width="194"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3696802" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/brada/archive/tags/Program+Manager/default.aspx">Program Manager</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>The Wisdom of Crowds: Rethinking consensus</title><link>http://blogs.msdn.com/brada/archive/2007/05/18/the-wisdom-of-crowds-rethinking-consensus.aspx</link><pubDate>Sat, 19 May 2007 07:02:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2725051</guid><dc:creator>BradA</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/brada/comments/2725051.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=2725051</wfw:commentRss><description>&lt;p&gt;I am a HUGE believer in &lt;a href="http://blogs.msdn.com/brada/archive/2006/12/23/building-consensus.aspx"&gt;building consensus&lt;/a&gt;, but &lt;i&gt;&lt;b&gt;&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FWisdom-Crowds-James-Surowiecki%2Fdp%2F0385721706%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1179546652%26sr%3D8-1&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;The Wisdom of Crowds &lt;/a&gt;&lt;/b&gt;&lt;/i&gt;is starting to make be rethink the approach a bit.&amp;nbsp; I just finished reading, ok listening to the &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FWisdom-Crowds-Collective-Economies-Societies%2Fdp%2F0739311964%3Fie%3DUTF8%26qid%3D1179546727%26sr%3D1-1&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;audio version&lt;/a&gt; on my bike ride into work, &amp;nbsp;&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fexec%2Fobidos%2Fsearch-handle-url%3F%255Fencoding%3DUTF8%26search-type%3Dss%26index%3Dbooks%26field-author%3DJames%2520Surowiecki&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;James Surowiecki's&lt;/a&gt; latest book.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a onclick="return amz_js_PopWin('http://www.amazon.com/gp/product/images/0739311964/sr=1-1/qid=1179546727/ref=dp_image_0/102-8207561-2549732?ie=UTF8&amp;amp;n=283155&amp;amp;s=books&amp;amp;qid=1179546727&amp;amp;sr=1-1','AmazonHelp','width=700,height=600,resizable=1,scrollbars=1,toolbar=0,status=1');" href="http://www.amazon.com/gp/product/images/0739311964/sr=1-1/qid=1179546727/ref=dp_image_0/102-8207561-2549732?ie=UTF8&amp;amp;n=283155&amp;amp;s=books&amp;amp;qid=1179546727&amp;amp;sr=1-1" target="AmazonHelp"&gt;&lt;img id="prodImage" height="240" alt="The Wisdom of Crowds: Why the Many Are Smarter Than the Few and How Collective Wisdom Shapes Business, Economies, Societies and Nations" src="http://ec1.images-amazon.com/images/I/41Q71J0PEHL._AA240_.jpg" width="240" align="right" border="0"&gt;&lt;/a&gt;His point is that groups of people make good decisions on matters of general knowledge when all of the following conditions are meet:&lt;/p&gt; &lt;p&gt;1. There is a diversity of opinion&lt;br&gt;2. People are not overtly influenced by others in the group&lt;br&gt;3. Some "fair" aggregation system is at work&lt;/p&gt; &lt;p&gt;Surowiecki argues that these elements allow you to tap into the collect smarts of the group while canceling out their errors.. Doing things like&amp;nbsp;spending tons of time consensus building often has the result of creating less diversity in opinion&amp;nbsp;and thereby misses out on the collective wisdom on the group.&amp;nbsp;&amp;nbsp; While I don't think this applies universally, it is some thing that is making me stop and think more before doing the 100 items consensus building check list.&lt;/p&gt; &lt;p&gt;Rather than consensus, Surowiecki&amp;nbsp;suggests using a mechanism such as &lt;a href="http://en.wikipedia.org/wiki/Prediction_market"&gt;Prediction Markets&lt;/a&gt; to make decisions.&amp;nbsp; Markets like the &lt;a href="http://www.hsx.com/"&gt;Hollywood Stock Exchange&lt;/a&gt;.&amp;nbsp;&amp;nbsp; I'd love to participate in a market around predicting the raise of a given programming language (Java, C#, Ruby, Python,??) or programing methodology (Object Orientation, Rails, Linq, ??) or say the ship date of &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx"&gt;Orcas&lt;/a&gt;... &amp;nbsp;It would be really interesting to see what the "wisdom on the crowd" is here.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2725051" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Program+Manager/default.aspx">Program Manager</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>Good Response from AjaxWorld keynote</title><link>http://blogs.msdn.com/brada/archive/2007/03/21/good-response-from-ajaxworld-keynote.aspx</link><pubDate>Thu, 22 Mar 2007 07:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1928789</guid><dc:creator>BradA</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/brada/comments/1928789.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=1928789</wfw:commentRss><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We got some good feedback from &lt;A href="http://blogs.msdn.com/brada/archive/2007/03/21/ajaxworld-keynote-ajax-in-the-balance.aspx" mce_href="http://blogs.msdn.com/brada/archive/2007/03/21/ajaxworld-keynote-ajax-in-the-balance.aspx"&gt;my AjaxWorld keynote&lt;/A&gt;...&amp;nbsp;&amp;nbsp; If you were there, I'd love to hear your feedback, thoughts... please comment here or &lt;A href="http://blogs.msdn.com/brada/contact.aspx" mce_href="http://blogs.msdn.com/brada/contact.aspx"&gt;drop me a line&lt;/A&gt;... &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://www.internetnews.com/dev-news/article.php/3667066" mce_href="http://www.internetnews.com/dev-news/article.php/3667066"&gt;Microsoft Not a Cathedral; Open Source Not a Bazaar&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;NEW YORK -- It's not every day that you see a Microsoft employee demonstrating Microsoft software running natively on Linux. Yet that's exactly what happened at AJAXWorld here, as Brad Abrams, group program manager at Microsoft for &lt;/EM&gt;&lt;A href="http://www.internetnews.com/dev-news/article.php/3643081" mce_href="http://www.internetnews.com/dev-news/article.php/3643081"&gt;&lt;EM&gt;ASP.NET AJAX&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; (codenamed Atlas) did today.&lt;BR&gt;&lt;/EM&gt;(Note, as &lt;A href="http://nanotech.lemonup.com/Patrick-Finch-The-map-and-the-signpost/" mce_href="http://nanotech.lemonup.com/Patrick-Finch-The-map-and-the-signpost/"&gt;Patrick&lt;/A&gt; says, I do over generalize the Cathedral and Bazaar concept slightly to make a point... Thanks Patrick...)&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;
&lt;P&gt;&lt;A href="http://dotnet.sys-con.com/read/351737.htm" mce_href="http://dotnet.sys-con.com/read/351737.htm"&gt;&lt;STRONG&gt;"What Does AJAX Bring to the Client-Server Balance?" Asks AJAXWorld Keynoter, Microsoft's Brad Abrams&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Abrams came out of the gate fast, demoing how ASP.NET AJAX allows a developer to AJAX-enable a Website without writing JavaScript, by using the tag-based approach that ASP.NET AJAX makes very easy to execute, including JSON calls back to the server.&lt;BR&gt;Abrams brought along his Mac, to demonstrate that it all ran on a Mac just as easily - a nice touch for a Microsoft speaker.&lt;BR&gt;He then demoed how ASP.NET AJAX also jives with Dojo&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://www.adtmag.com/article.aspx?id=20402" mce_href="http://www.adtmag.com/article.aspx?id=20402"&gt;&lt;STRONG&gt;Microsoft Joins OpenAJAX Alliance&lt;/STRONG&gt;&lt;/A&gt; 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;The Redmond, Wash.-based software giant announced its entree into the alliance at the AJAXWorld East conference in New York. &lt;/EM&gt;
&lt;P&gt;&lt;EM&gt;"We are looking forward to carrying forward what you can do with AJAX and are really open in an integrated way," said Brad Abrams, &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://www.alexbarnett.net/blog/archive/2007/03/21/Microsoft-and-Google-join-OpenAjaxAlliance.aspx" mce_href="http://www.alexbarnett.net/blog/archive/2007/03/21/Microsoft-and-Google-join-OpenAjaxAlliance.aspx"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Oh, and &lt;A href="http://blogs.msdn.com/joestagner/" mce_href="http://blogs.msdn.com/joestagner/"&gt;Joe Stagner&lt;/A&gt; got some well deserved credit for his excellent presentation at AjaxWorld last night...&amp;nbsp; If you ever get a chance to hear this guy speak you should... He is excellent... &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://ajax.sys-con.com/read/352235.htm" mce_href="http://ajax.sys-con.com/read/352235.htm"&gt;AJAXWorld 2007 East: Doing AJAX with the Microsoft AJAX Development Platform&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"MS AJAX combines rich, cross browser client side libraries with ASP.NET's popular server side development NT technology to offer an ideal developers toolbox for developing the next generation of Web Applications," said Stagner&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Update (3-24):&amp;nbsp; I just saw one more notewothy post drop in:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2007/03/22/ajaxworld-nyc-2007.aspx" mce_href="http://www.atalasoft.com/cs/blogs/davidcilley/archive/2007/03/22/ajaxworld-nyc-2007.aspx"&gt;&amp;nbsp;Atalasoft at AjaxWorld NYC 2007 &lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;AJAX in the Balance&lt;/STRONG&gt; by &lt;/EM&gt;&lt;A class="" href="http://blogs.msdn.com/brada/" target=_blank&gt;&lt;EM&gt;Brad Abrams &lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;(Microsoft):&lt;B&gt; &lt;/B&gt;This was one of the main&amp;nbsp;keynotes I was interested in.&amp;nbsp; Brad showed us a demo web site that he created to sell dice.&amp;nbsp; He used ASP.NET AJAX to stop the full page refresh, and add autocomplete to the search box.&amp;nbsp; He also showed us how that demo worked with PHP and Linux, on a Mac.&amp;nbsp; He gave us a preview of JavaScript intellisense in Orcas (which looks really sweet btw).&amp;nbsp; The 'wow' part of the keynote was when he showed off a WPFE demo that had turning pages, music, and video.&amp;nbsp; Very impressive.&lt;/EM&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1928789" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://blogs.msdn.com/brada/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://blogs.msdn.com/brada/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://blogs.msdn.com/brada/archive/tags/AjaxWorld/default.aspx">AjaxWorld</category></item><item><title>NextGenUG PodCast</title><link>http://blogs.msdn.com/brada/archive/2007/03/15/nextgenug-podcast.aspx</link><pubDate>Fri, 16 Mar 2007 09:30:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1892501</guid><dc:creator>BradA</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/brada/comments/1892501.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=1892501</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;It was my good luck to run into Dave McMahon and Richard Costall from &lt;a href="http://www.nxtgenug.net/Default.aspx"&gt;NxtGenUG&lt;/a&gt; today at the &lt;a href="http://www.flickr.com/search/?w=32954227@N00&amp;amp;q=MVP+Summit+&amp;amp;m=text"&gt;MVP Summit&lt;/a&gt; here at Microsoft… We had such a great time chatting they wanted to do a quick little interview for their podcast…  &lt;p&gt;&lt;b&gt;&lt;a href="http://www.nxtgenug.net/downloads/030_NxtGenUG_RussNemhauser.mp3"&gt;Show #30 - The One With The Maracas ...&lt;/a&gt; [&lt;a href="http://www.nxtgenug.net/Podcasts.aspx?PodcastID=30"&gt;list&lt;/a&gt;]&lt;/b&gt; &lt;p&gt;You can catch me at about 25:40  &lt;p&gt;We start off talking about the &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0321246756/bradabramsblo-20"&gt;Framework Design Guidelines&lt;/a&gt; book and how it is “required reading” at many companies… I am pleased to hear it and I am very happy that the book can be saving so much time for folks so they can void the arguments and just get to work… &lt;p&gt;We also talked a little about WPFE, Longhorn Server, ASP.NET futures, the Design world and, of course, &lt;a href="http://www.visitmix.com/default.aspx"&gt;Mix&lt;/a&gt; and more! &lt;p&gt;Love to hear what you think!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1892501" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://blogs.msdn.com/brada/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>Structuring your project for team development</title><link>http://blogs.msdn.com/brada/archive/2007/03/13/structuring-your-project-for-team-development.aspx</link><pubDate>Wed, 14 Mar 2007 08:13:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1878322</guid><dc:creator>BradA</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/brada/comments/1878322.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=1878322</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/jmeier/"&gt;J.D. Meier&lt;/a&gt; has a good post on best practices for structuring your projects (ASP.NET and client) for best productivity in a team environment with source control and the like.&lt;/p&gt; &lt;p&gt;One of the biggest benefits here is that you can stop arguing about which way is right and just follow J.D.'s lead ;-)&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2007/03/14/structuring-web-projects-for-source-control-in-team-foundation-server.aspx"&gt;Structuring Projects for Team Foundation Server&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1878322" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>The Old New Thing: The book!</title><link>http://blogs.msdn.com/brada/archive/2007/01/07/the-old-new-thing-the-book.aspx</link><pubDate>Mon, 08 Jan 2007 07:26:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1432705</guid><dc:creator>BradA</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/brada/comments/1432705.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=1432705</wfw:commentRss><description>&lt;p&gt;I was thrilled to get a copy of &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FOld-New-Thing-Development-Throughout%2Fdp%2F0321440307%2Fsr%3D8-1%2Fqid%3D1168230188%3Fie%3DUTF8%26s%3Dbooks&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;The Old New Thing&lt;/a&gt; recently.  You likely know that &lt;a href="http://blogs.msdn.com/oldnewthing/"&gt;Raymond&lt;/a&gt; is one of the most popular bloggers on MSDN and &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FOld-New-Thing-Development-Throughout%2Fdp%2F0321440307%2Fsr%3D8-1%2Fqid%3D1168230188%3Fie%3DUTF8%26s%3Dbooks&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;his book&lt;/a&gt; does not disappoint. There is tons of interesting information on both how and why things work in windows.  Raymond added some additional goodness, so it is not just a reprint of his blog…  A few interesting ones:
&lt;/p&gt;&lt;ul style="margin-left: 72pt"&gt;&lt;li&gt;Why do you have to click the Start button to shutdown?
&lt;/li&gt;&lt;li&gt;Buying an entire Egghead Store
&lt;/li&gt;&lt;li&gt;Sometimes an app just want crash
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I am particularly happy about Raymond's success as I way back Aug of '03 I noticed Raymond seemed to know everything on some of the internal mailing lists, and I thought he should share it with YOU… So I talked him into starting a blog (he wasn't really that hard)… Check out &lt;a href="http://blogs.msdn.com/brada/archive/2003/08/01/50207.aspx"&gt;my introduction of Raymond&lt;/a&gt;… While you are walking down memory lane, check out my other posts from the &lt;a href="http://blogs.msdn.com/brada/archive/2003/08.aspx"&gt;Aug of '03&lt;/a&gt;….  
&lt;/p&gt;&lt;p&gt;Enjoy
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1432705" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Blogging/default.aspx">Blogging</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>New Job Title: Senior Simplicity Engineer </title><link>http://blogs.msdn.com/brada/archive/2006/11/25/new-job-title-senior-simplicity-engineer.aspx</link><pubDate>Sun, 26 Nov 2006 01:51:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1149738</guid><dc:creator>BradA</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/brada/comments/1149738.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=1149738</wfw:commentRss><description>&lt;p&gt;I am running into some bumps with a couple of different software project I am involved with…. After mulling those &lt;a href="http://en.wikipedia.org/wiki/Thanksgiving"&gt;over the break&lt;/a&gt; it occurs to me that they have the same root cause: complexity.  As I think through the projects we have Program Managers, Development Managers, Development Lead, Software Architects, Software Designer in Test Tech Leads..  but who's job is simplicity? In many ways we reward complexity… of course we don't call it that.  We say things like: architectural purity, broad vision, feature rich, long term thinking, and inclusive designs.  Now none of those are bad things, and in fact I'd argue all of them, when done right, create simplicity rather than complexity.   
&lt;/p&gt;&lt;p&gt;So, my brainstorm is to create a role dedicated to simplicity.   I invite you ordain yourself or nominate a co-worker as a Senior Simplicity Engineer
&lt;/p&gt;&lt;p&gt;The job responsibilities would be:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Reduce complex problems to their root causes
&lt;/li&gt;&lt;li&gt;Suggest and implement simple solutions
&lt;/li&gt;&lt;li&gt;Root out unneeded abstractions and over engineering
&lt;/li&gt;&lt;li&gt;Trim unwarranted dependencies
&lt;/li&gt;&lt;li&gt;Focus on usage scenarios rather than design principles
&lt;/li&gt;&lt;li&gt;Favor known, proven designs over novel experiments  
&lt;/li&gt;&lt;li&gt;Future-proof designs by minimizing current exposure
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Other suggestions for job responsibilities?  
&lt;/p&gt;&lt;p&gt;Is anyone ahead of me on this?  Do you already have this role in your organization? 
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1149738" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>Book: Elements of C# Style</title><link>http://blogs.msdn.com/brada/archive/2006/10/17/book-elements-of-c-style.aspx</link><pubDate>Tue, 17 Oct 2006 19:19:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:835183</guid><dc:creator>BradA</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/brada/comments/835183.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=835183</wfw:commentRss><description>&lt;p&gt;A few months ago I had the opportunity to review &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FElements-C-Style-Kenneth-Baldwin%2Fdp%2F0521671590&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Elements of C# Style&lt;/a&gt; and I really enjoyed it.  It is a concise little book, great for a quick reference on everything for C# syntax basics to designing an inheritance hierarchy.  Last week I ran into &lt;a href="http://tabletdev.com/Andy/"&gt;Andy Grey&lt;/a&gt; (one of the authors) and he gave me a copy.. I just love the form factor… small, &amp;lt;150 pages… easy to drop into your laptop bag!
&lt;/p&gt;&lt;p&gt;Enjoy!
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=835183" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>Design Guidelines and Patterns and Practices Summit </title><link>http://blogs.msdn.com/brada/archive/2006/10/09/Design-Guidelines-and-Patterns-and-Practices-Summit-.aspx</link><pubDate>Mon, 09 Oct 2006 15:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:807216</guid><dc:creator>BradA</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/brada/comments/807216.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=807216</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;I am looking forwarding to doing the keynote at the &lt;/FONT&gt;&lt;A href="http://www.pnpsummit.com/default.aspx" mce_href="http://www.pnpsummit.com/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Pattern and Practices Summit&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; today.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I thought for a while about what to do… I have been into &lt;/FONT&gt;&lt;A href="http://atlas.asp.net/Default.aspx?tabid=47" mce_href="http://atlas.asp.net/Default.aspx?tabid=47"&gt;&lt;FONT face=Calibri size=3&gt;the Ajax thing&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; recently and it is very cool, but ultimately &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;I decided the real timeless information I had to share was going back to my roots in &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx" mce_href="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Framework design&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Working with &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/kcwalina/" mce_href="http://blogs.msdn.com/kcwalina/"&gt;&lt;FONT face=Calibri size=3&gt;Krzysztof Cwalina&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, I distilled down 7+ years of framework design experience into 5 key principles.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;While these principles have a specific application to framework design, what I think makes them even more relevant to this audience it that I have seen broad applicability to software design and development as well.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Not to mention I have some fun pictures and analogies ;-)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Treat Simplicity as a Feature&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Know Your User&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Think Development Ecosystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Use the Power of Consistency&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Design to Last&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;A class="" href="http://blogs.msdn.com/brada/attachment/807216.ashx" mce_href="http://blogs.msdn.com/brada/attachment/807216.ashx"&gt;Attached are the slides&lt;/A&gt;… I’d love to hear you thoughts and feedback…. Feel free to leverage the content in your own work, but I’d appreciate a reference.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=807216" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/brada/attachment/807216.ashx" length="3468936" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/brada/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item><item><title>The What and the How</title><link>http://blogs.msdn.com/brada/archive/2006/10/07/The-What-and-the-How.aspx</link><pubDate>Sun, 08 Oct 2006 01:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:802595</guid><dc:creator>BradA</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/brada/comments/802595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=802595</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I was talking recently with a coworker of mine about the “what” and the “how” of software projects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;STRONG&gt;The “What” &lt;/STRONG&gt;is the definition of the thing you are building.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What customers should we go after? What markets should we serve? What competitors do we care about?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What scenarios matter most?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What feature should we have?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;STRONG&gt;The “How” &lt;/STRONG&gt;is the definition of the way you build it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;How should we org the team? How should we ensure quality?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;How do we do SCRUM, Agile development, TDD, etc?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;How should we ensure customer feedback gets reflected?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;How should track progress?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Between these two areas, the what and the how, is the essence of software projects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When a project fails it is often due to one, or&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;both of these having insufficient IQ on them.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A project without a good “what” can flounder from exec review beatings to analyst lashing to customer ambivalence no matter how good the “how” is.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A project without a good “how” can suffer delay, after delay, quality issues and poor team morale no matter how good the “what” is.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Think about the software project you are currently on… is it missing more of the “what” or the “how”?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Do you have a clear idea of the product you are building and the customer you are targeting?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If not, your team is missing the “what”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Do you have a good idea of how quality is ensured, how the schedule is created and managed?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If not, your team is missing the “what”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Understanding the world in these terms can help you spot the issues, communicate them clearly to others and (hopefully) fix them!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Another interesting angle on this is that people tend to have inherent talents in one or the other of these dimensions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are “what” people and “how” people and a software project needs them BOTH to be successful. If you are strong in one of these, it is certainly possible to be great at the other, but you will likely have to work at a lot harder at it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once you have reached the competence in your weaker area, consider if you would be more successful overall (and happier) investing the time and energy into making your strength area even stronger.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;A “How” person that everyday has to come in to do “what” work will likely soon burn out… and vice-a-versa.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;As any student of the &lt;/FONT&gt;&lt;A href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FAre-Mars-Women-Venus-Understanding%2Fdp%2F0060574216&amp;amp;tag=bradabramsblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Mars vs. Venus&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; conflict can guess “what” and “how” people often deeply irritate each other.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Have you ever been in a conversation about which feature would delight customers more only to be randomized by a rant about the schedule and the amount of time it would take to get those feature done?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Likely you are a “what” person being irritated by a “how” person. On the other hand, have you ever had your orderly schedule review wrecked by pie-in-the-sky thinking on features 2-3 releases out?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Likely you are a “how” person being irritated by a “what” person.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Appreciating that there are “what” and “how” people and that they are both super valuable to a software project can help you bridge the divided.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;What are your thoughts?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Do you think most projects fail with the “what” or the “how”?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Any thoughts on what has worked for getting “what” and “how” people to just get along?&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=802595" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Program+Manager/default.aspx">Program Manager</category><category domain="http://blogs.msdn.com/brada/archive/tags/Software+Development/default.aspx">Software Development</category></item></channel></rss>