<?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>J.D. Meier's Blog : patterns and practices</title><link>http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx</link><description>Tags: patterns and practices</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Now Available: patterns &amp; practices Application Architecture Book</title><link>http://blogs.msdn.com/jmeier/archive/2009/11/05/now-available-patterns-practices-application-architecture-book.aspx</link><pubDate>Thu, 05 Nov 2009 18:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918149</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9918149.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9918149</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_2.png" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=AAG2FrontCover-Small border=0 alt=AAG2FrontCover-Small align=right src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_thumb.png" width=184 height=225 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_thumb.png"&gt;&lt;/A&gt; The Microsoft Application Architecture Guide, 2nd edition, is &lt;A href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X" target=_blank mce_href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X"&gt;now available on Amazon&lt;/A&gt; and should be available on the shelf at your local bookstores soon.&amp;nbsp; The PDF was downloaded ~180,000 times.&amp;nbsp; This is the Microsoft platform playbook for application architecture.&amp;nbsp; You can think of it as a set of blueprints, and as your personal mentor for building common types of applications on the Microsoft platform:&amp;nbsp; mobile, RIA, services, and Web applications.&lt;/P&gt;
&lt;P&gt;The backbone of the guide is an information model for the application architecture space.&amp;nbsp; It’s a durable and evolvable map to give you a firm foundation of principles, patterns, and practices that you can overlay the latest technologies.&amp;nbsp; It’s your “tome of know-how.”&amp;nbsp; While it’s not a step-by-step for building specific applications, it is a pragmatic guide for designing your architecture, with quality attributes, key software principles, common patterns, and architectural styles in mind.&amp;nbsp; It’s holistic and focused on the key engineering decisions where you face your highest risks and most important choices.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Key Features of the Book &lt;BR&gt;&lt;/STRONG&gt;The book has several compelling features for slicing and dicing the application architecture body of knowledge:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Canonical Frame.&amp;nbsp; &lt;/STRONG&gt;This&lt;STRONG&gt; &lt;/STRONG&gt;describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer will be described in terms of its focus, function, capabilities, common design patterns and technologies.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Application Types&lt;/STRONG&gt;.&amp;nbsp; These are canonical application archetypes to illustrate common application types: Mobile, Rich Client, RIA, Services, and Web applications.&amp;nbsp; Each archetype is described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype is mapped to the canonical app frame. They are illustrative of common application types and not comprehensive or definitive.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Quality attributes&lt;/STRONG&gt;.&amp;nbsp; This is a set of qualities and capabilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Cross-cutting concerns&lt;/STRONG&gt;.&amp;nbsp; This is a common set of categories for hot spots for key engineering decisions: Authentication, Authorization, Caching, Communication, Configuration Management, Exception Management, Logging and Instrumentation, State Management, and Validation.&lt;/LI&gt;
&lt;LI&gt;Step-by-Step Design Approach.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Principles, patterns, and practices&lt;/STRONG&gt;.&amp;nbsp;&amp;nbsp; Using the application types, canonical frame, and cross-cutting concerns as backdrops, the guide provides an overlay of relevant principles, patterns, and practices.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Technologies and capabilities&lt;/STRONG&gt;.&amp;nbsp; The guide provides an overview and description of the Microsoft custom application development platform and the main technologies and capabilities within it.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Contents at a Glance &lt;BR&gt;&lt;/STRONG&gt;The full &lt;A href="http://msdn.microsoft.com/en-us/library/dd673617.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd673617.aspx"&gt;Microsoft Application Architecture Guide is available for free on MSDN&lt;/A&gt; in HTML.&amp;nbsp; This is the contents of the guide at a glance:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658126.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658126.aspx"&gt;Foreword by S. Somasegar&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658097.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658097.aspx"&gt;Foreword by Scott Guthrie&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658082.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658082.aspx"&gt;Preface by David Hill&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Chapters&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658098.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658098.aspx"&gt;Chapter 1: What is Software Architecture?&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658124.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658124.aspx"&gt;Chapter 2: Key Principles of Software Architecture&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658117.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658117.aspx"&gt;Chapter 3: Architectural Patterns and Styles&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658084.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658084.aspx"&gt;Chapter 4: A Technique for Architecture and Design&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658109.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658109.aspx"&gt;Chapter 5: Layered Application Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658081.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658081.aspx"&gt;Chapter 6: Presentation Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658103.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658103.aspx"&gt;Chapter 7: Business Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658127.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658127.aspx"&gt;Chapter 8: Data Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658090.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658090.aspx"&gt;Chapter 9: Service Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658121.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658121.aspx"&gt;Chapter 10: Component Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658100.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658100.aspx"&gt;Chapter 11: Designing Presentation Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658102.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658102.aspx"&gt;Chapter 12: Designing Business Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658106.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658106.aspx"&gt;Chapter 13: Designing Business Entities&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658122.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658122.aspx"&gt;Chapter 14: Designing Workflow Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658119.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658119.aspx"&gt;Chapter 15: Designing Data Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658094.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658094.aspx"&gt;Chapter 16: Quality Attributes&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658105.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658105.aspx"&gt;Chapter 17: Crosscutting Concerns&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658118.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658118.aspx"&gt;Chapter 18: Communication and Messaging&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658120.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658120.aspx"&gt;Chapter 19: Physical Tiers and Deployment&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658104.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658104.aspx"&gt;Chapter 20: Choosing an Application Type&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658099.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658099.aspx"&gt;Chapter 21: Designing Web Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658087.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658087.aspx"&gt;Chapter 22: Designing Rich Client Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658083.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658083.aspx"&gt;Chapter 23: Designing Rich Internet Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658108.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658108.aspx"&gt;Chapter 24: Designing Mobile Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658114.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658114.aspx"&gt;Chapter 25: Designing Service Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658110.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658110.aspx"&gt;Chapter 26: Designing Hosted and Cloud Services&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658085.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658085.aspx"&gt;Chapter 27: Designing Office Business Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658091.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658091.aspx"&gt;Chapter 28: Designing SharePoint LOB Applications&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Appendices&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658101.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658101.aspx"&gt;Appendix A: The Microsoft Application Platform&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658088.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658088.aspx"&gt;Appendix B: Presentation Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658113.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658113.aspx"&gt;Appendix C: Data Access Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658095.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658095.aspx"&gt;Appendix D: Integration Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658123.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658123.aspx"&gt;Appendix E: Workflow Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658115.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658115.aspx"&gt;Appendix F: patterns &amp;amp; practices Enterprise Library&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658089.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658089.aspx"&gt;Appendix G: patterns &amp;amp; practices Pattern Catalog&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;The Team &lt;BR&gt;&lt;/STRONG&gt;Here is the team that brought you the guide:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Core Dev Team&lt;/STRONG&gt;: J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Test Team&lt;/STRONG&gt; - Rohit Sharma, Praveen Rangarajan, Kashinath TR, Vijaya Jankiraman&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Edit Team&lt;/STRONG&gt; - Dennis Rea&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;External Contributors/Reviewers&lt;/STRONG&gt; - Adwait Ullal; Andy Eunson; Brian Sletten; Christian Weyer; David Guimbellot; David Ing; David Weller; Derek Greer; Eduardo Jezierski; Evan Hoff; Gajapathi Kannan; Jeremy D. Miller; John Kordyback; Keith Pleas; Kent Corley; Mark Baker; Paul Ballard; Peter Oehlert; Norman Headlam; Ryan Plant; Sam Gentile; Sidney G Pinney; Ted Neward; Udi Dahan&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Microsoft Contributors / Reviewers&lt;/STRONG&gt; - Ade Miller; Amit Chopra; Anna Liu; Anoop Gupta; Bob Brumfield; Brad Abrams; Brian Cawelti; Bhushan Nene; Burley Kawasaki; Carl Perry; Chris Keyser; Chris Tavares; Clint Edmonson; Dan Reagan; David Hill; Denny Dayton; Diego Dagum; Dmitri Martynov; Dmitri Ossipov; Don Smith; Dragos Manolescu; Elisa Flasko; Eric Fleck; Erwin van der Valk; Faisal Mohamood; Francis Cheung; Gary Lewis; Glenn Block; Gregory Leake; Ian Ellison-Taylor; Ilia Fortunov; J.R. Arredondo; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Luke Nyswonger; Manish Prabhu; Meghan Perez; Mehran Nikoo; Michael Puleio; Mike Francis; Mike Walker; Mubarak Elamin; Nick Malik; Nobuyuki Akama; Ofer Ashkenazi; Pablo Castro; Pat Helland; Phil Haack; Rabi Satter; Reed Robison; Rob Tiffany; Ryno Rijnsburger; Scott Hanselman; Seema Ramchandani; Serena Yeoh; Simon Calvert; Srinath Vasireddy; Tom Hollander; Wojtek Kozaczynski&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Application Architecture Knowledge Base &lt;BR&gt;&lt;/STRONG&gt;The guide was developed in conjunction with our &lt;A href="http://apparch.codeplex.com/" target=_blank mce_href="http://apparch.codeplex.com/"&gt;Application Architecture Guide v2.0 Knowledge Base Project&lt;/A&gt;. The knowledge base project was used to inform and steer the guide during its development. The Application Architecture Knowledge Base includes a large amount of material that expands on specific topics in the main guide. It also includes draft material from the main guide that is targeted and packaged for more specific audiences, such as the Pocket Guide series.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=17700" target=_blank mce_href="http://apparch.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=17700"&gt;Overview Slides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Video:%20Train%20the%20Trainer%20-%20Application%20Architecture%20Guide%202.0&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Video:%20Train%20the%20Trainer%20-%20Application%20Architecture%20Guide%202.0&amp;amp;referringTitle=Home"&gt;Train the Trainer&lt;/A&gt; (Video)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Pocket%20Guides&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Pocket%20Guides&amp;amp;referringTitle=Home"&gt;Pocket Guides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Video%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Video%20Index&amp;amp;referringTitle=Home"&gt;Videos&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Slide%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Slide%20Index&amp;amp;referringTitle=Home"&gt;Slides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Visio%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Visio%20Index&amp;amp;referringTitle=Home"&gt;Figures (Visios)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Key Links at a Glance &lt;BR&gt;&lt;/STRONG&gt;Here are the key links at a glance:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd673617.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd673617.aspx"&gt;Microsoft Application Architecture Guide&lt;/A&gt; (MSDN)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X" target=_blank mce_href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X"&gt;Microsoft Application Architecture Guide&lt;/A&gt; (Amazon)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/" target=_blank mce_href="http://apparch.codeplex.com/"&gt;Application Architecture Knowledge Base&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918149" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/AppArch/default.aspx">AppArch</category></item><item><title>10 Years at patterns &amp; practices</title><link>http://blogs.msdn.com/jmeier/archive/2009/10/02/10-years-at-patterns-practices.aspx</link><pubDate>Fri, 02 Oct 2009 21:56:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9902522</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9902522.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9902522</wfw:commentRss><description>&lt;p&gt;I never imagined I would invest 10 years on the patterns &amp;amp; practices team at Microsoft.&amp;#160; Life is short and I always imagined I would spend it across so many more adventures.&amp;#160; What surprised me is how much you can grow yourself, and grow the job in the process.&amp;#160; While I sometimes wonder about the path not taken, there’s no doubt I’ve built a deep set of capabilities, achievements, and experiences as a direct result of investing my time in patterns &amp;amp; practices.&amp;#160; I’ve shared some of my best &lt;a href="http://shapingsoftware.com/2008/12/09/lessons-learned-in-patterns-practices/" target="_blank"&gt;lessons learned at patterns &amp;amp; practices&lt;/a&gt;, as well as my &lt;a href="http://sourcesofinsight.com/2009/07/24/proven-practices-for-individual-contributors/" target="_blank"&gt;proven practices for individual contributors&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I think my biggest take away lesson is follow your heart, follow the growth, and invest in yourself (mind, heart, body, emotions, career, financial, relationships, and fun.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why patterns &amp;amp; practices?&lt;/strong&gt;     &lt;br /&gt;There are lots of reasons why I chose patterns &amp;amp; practices.&amp;#160; At the end of the day, it was the people, the values, and the mission. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Our Mission      &lt;br /&gt;&lt;/strong&gt;While we’ve had various flavors of the mission, I like to think of it as …. “Customer success on the Microsoft platform” … or … “Proven practices for the platform.”&amp;#160; I had the toughest time explaining to my Aunt what I do, until finally I said, “I help customers put the legos together.”&amp;#160; She then said, “ahhh, I get it.”&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Goals&lt;/strong&gt;     &lt;br /&gt;In patterns &amp;amp; practices, the goals are simple:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simplify the customer experience of building quality solutions on the Microsoft platform. &lt;/li&gt;    &lt;li&gt;Improve the customer value of Microsoft products and technologies through customer connection and solution engineering. &lt;/li&gt;    &lt;li&gt;Grow the professional knowledge and capability of the Microsoft development community. &lt;/li&gt;    &lt;li&gt;Help customers and partners build their LOB (line-of-business) applications and services faster and more predictably than any platform in the world. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Values&lt;/strong&gt;     &lt;br /&gt;In patterns &amp;amp; practices, we value:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Continuous learning, innovation and improvement - We have a bias toward action (over more planning) and customer engagement and feedback (over more analysis.) &lt;/li&gt;    &lt;li&gt;Open, collaborative, relationships with customers, Microsoft field, partners, and Microsoft teams. &lt;/li&gt;    &lt;li&gt;Execution - we take strategic bets, but we hold ourselves accountable for creating value, shipping early and often, and delivering results that have impact with customers and in Microsoft. &lt;/li&gt;    &lt;li&gt;Explicit, transparent, and direct communication with customers and with our team and others in our company. &lt;/li&gt;    &lt;li&gt;Quality over scope - no guidance is better than bad guidance. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Principles      &lt;br /&gt;&lt;/strong&gt;We use the following principles to guide our work:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start with the end in mind; think about end to end scenarios and how the products we produce fit in the solution architecture and into the patterns &amp;amp; practices catalog. &lt;/li&gt;    &lt;li&gt;Help the customer succeed with their intent - the results they want to achieve, not just what they are trying to do. &lt;/li&gt;    &lt;li&gt;Find the minimal solution required for a good result and ship it. &lt;/li&gt;    &lt;li&gt;Our tools platforms are assets that expand the types of guidance we can express - use all of what they provide where it naturally fits the scenario. &lt;/li&gt;    &lt;li&gt;Constructive tension between customer needs and Microsoft product and business strategy is expected - when we do our job well, this tension is healthy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Capabilities, Achievements, and Experience      &lt;br /&gt;&lt;/strong&gt;How do you measure the impact of the time you spend down a given career path?&amp;#160; I’ve been looking for an effective lens, and I think it boils down to capabilities, achievements, and experience.&amp;#160;&amp;#160; It’s the simplest way that I can organize and reflect on where I am, based on where I’ve been.&amp;#160;&amp;#160; Capabilities are simply my skills.&amp;#160; They are the things I’ve learned how to do, from soft skills to technical abilities.&amp;#160; Achievements are my results.&amp;#160; This includes my impact on Microsoft, the software industry, and customers.&amp;#160; I lump my books, patents I filed, and the methodologies I’ve baked into the platform and tools here.&amp;#160; In terms of experience, I think of the job roles and activities I’ve had along the way.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Themes      &lt;br /&gt;&lt;/strong&gt;I think&amp;#160; I can boil my impact and results down into 3 key themes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Project management&lt;/strong&gt;.&amp;#160; I drive projects from pitch to ship.&amp;#160; I’ve built dream teams that go on amazing adventures to change the world.&amp;#160; I’ve consistently shipped projects on time and on budget year over year.&amp;#160; I’ve mentored many project managers and PMs at Microsoft to share the best of the best of what I’ve learned about shipping, execution, impact and results in patterns &amp;amp; practices.&amp;#160; I’ve had unique experiences here, especially since we adopted Agile practices early on, and I’ve lead distributed teams around the world since 2001.&amp;#160; I’ve learned a lot in terms of managing innovation, delivering incremental value, fixing time, while flexing scope, and &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/09/15/experience-driven-development.aspx"&gt;experience-driven development&lt;/a&gt; (my latest thinking on software development.)&amp;#160; I think my biggest achievement here was helping shape the patterns &amp;amp; practices catalog, the programs, and the execution.&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/06/writing-books-on-time-and-on-budget.aspx"&gt;Writing Books on Time and On Budget&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Software engineering&lt;/strong&gt;.&amp;#160;&amp;#160; I’ve invested the bulk of my time in application life cycle management, process improvement, quality attributes (security, performance, … etc), and application architecture.&amp;#160; Most of my talks and writings have been focused on security, performance, and software architecture, but I’ve done a lot more behind the scenes.&amp;#160; One of the big things I’ve focused on at Microsoft, is “solution engineering”, which is really about problem solving, while satisficing the user, business, and technology perspectives.&amp;#160; I think my biggest achievements here were baking security and performance into the life cycle, and into Visual Studio Team Foundation Server. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Effectiveness&lt;/strong&gt;.&amp;#160; I’m a fan of continuous improvement.&amp;#160; I’m not a productivity junkie though.&amp;#160; I’m all about impact and results.&amp;#160; I’ve learned from the best of the best around Microsoft.&amp;#160; I’ve hunted and gathered patterns and practices for effectiveness over the span of several years.&amp;#160; More importantly, I’ve bounced the ideas and techniques against reality to see what sticks.&amp;#160; In the last few years, I’ve regularly carried 8 mentees.&amp;#160; I’ve given talks to our X-Box team on productivity and results systems.&amp;#160; Effectiveness is an art and science, and I’m trying to bridge the gap between state of the art and state of the practice.&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2007/04/09/7-habbits-of-effective-program-managers.aspx"&gt;7 Habits of Highly Effective PMs&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/13/effectiveness-post-roundup.aspx"&gt;Effectiveness Post Roundup&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Years at a Glance     &lt;br /&gt;&lt;/strong&gt;I think browsing by years is a healthy reality check against impact over time.&amp;#160; Looking back is the simplest way for me to respond to the question, “if I had it to do over again, what would I do differently?”&amp;#160; Where there answer is “nothing” – those are the sweet spots.&amp;#160; Where the answer is “everything” – those are the lessons :)&lt;/p&gt;  &lt;table border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th width="82"&gt;Year&lt;/th&gt;        &lt;th width="374"&gt;Results&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2009&lt;/em&gt; &lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Application Architecture Guide 2.0 &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Azure Security Guidance Project &lt;/li&gt;            &lt;li&gt;Core Systems Information Model &lt;/li&gt;            &lt;li&gt;Cloud Architecture Scenarios &lt;/li&gt;            &lt;li&gt;Customer-Connected Engineering &lt;/li&gt;            &lt;li&gt;Productivity coach for the Xbox team. &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2008&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving Web Services Security &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Line-of-Business (LOB) Frame &lt;/li&gt;            &lt;li&gt;Catalog Sweep &lt;/li&gt;            &lt;li&gt;Visual Studio Add-In for Guidance Explorer &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2007&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Performance Testing Guidance for Web Applications &lt;/li&gt;            &lt;li&gt;Team Development with Visual Studio Team Foundation Server &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2006&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;         &lt;ul&gt;           &lt;li&gt;8 patents filed (Security, performance, and info models for software life cycles and application life cycle management.) &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;ASP.NET Security RI (Reference Implementation) &lt;/li&gt;            &lt;li&gt;Competitive Assessment for Security Engineering &lt;/li&gt;            &lt;li&gt;Defending Your Code &lt;/li&gt;            &lt;li&gt;Guidance Explorer &lt;/li&gt;            &lt;li&gt;PDL (Performance Development Life Cycle) &lt;/li&gt;            &lt;li&gt;Practices Checker &lt;/li&gt;            &lt;li&gt;Scenario Evaluation Framework &lt;/li&gt;            &lt;li&gt;Security Case Studies &lt;/li&gt;            &lt;li&gt;Security Code Examples &lt;/li&gt;            &lt;li&gt;Security Toolbar &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2005&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Security Engineering Explained &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Security Engineering in VSTS &lt;/li&gt;            &lt;li&gt;Threat Modeling Web Applications &lt;/li&gt;            &lt;li&gt;Whidbey Security Guidance &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2004&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving .NET Application Performance and Scalability &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2003&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving Web Application Security &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2002&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Building Secure ASP.NET Applications &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Books     &lt;br /&gt;&lt;/strong&gt;My books at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArchGuide" target="_blank"&gt;Application Architecture Guide 2.0&lt;/a&gt; (2009)&amp;#160; (The Microsoft Playbook for the Application Platform)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Building-Microsoft-ASP-NET-Applications-Pro-Developer/dp/0735618909" target="_blank"&gt;Building Secure ASP.NET Applications&lt;/a&gt; (2002)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Improving-Application-Performance-Scalability-Practices/dp/0735618518" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt; (2004) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Improving-Web-Application-Security-Countermeasures/dp/0735618429" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; (2003) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target="_blank"&gt;Improving Web Services Security Guide&lt;/a&gt; (2008)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Performance-Testing-Guidance-Web-Applications/dp/0735625700"&gt;Performance Testing Guidance for Web Applications&lt;/a&gt; (2007)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target="_blank"&gt;Security Engineering Explained&lt;/a&gt; (2005)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Development-Visual-Studio-Foundation-Server/dp/0735625719" target="_blank"&gt;Team Development with Visual Studio Team Foundation Server&lt;/a&gt; (2007)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Pocket Guides     &lt;br /&gt;&lt;/strong&gt;My pocket guides at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Agile Architecture Method Pocket Guide&lt;/li&gt;    &lt;li&gt;Mobile Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Performance Pocket Guide&lt;/li&gt;    &lt;li&gt;RIA Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Rich Client Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Security Pocket Guide&lt;/li&gt;    &lt;li&gt;Service Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Web Architecture Pocket Guide&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Projects     &lt;br /&gt;&lt;/strong&gt;My projects at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Application Architecture Guide 2.0 – A guide, knowledge base, information model and methodologies for the Microsoft platform.&lt;/li&gt;    &lt;li&gt;ASP.NET Security Reference Implementation - Sample application for ASP.NET 2.0.&lt;/li&gt;    &lt;li&gt;Building Secure ASP.NET Applications – A guide for designing authentication and authorization and end-to-end applications scenarios.&lt;/li&gt;    &lt;li&gt;Catalog Sweep – Information model for organizing the complete patterns &amp;amp; practices catalog of code and content assets.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2009/05/19/customer-connected-engineering/" target="_blank"&gt;Customer Connected Engineering&lt;/a&gt; – Methodology for engaging customers throughout the life cycle (“patterns &amp;amp; practices secret sauce.”)&lt;/li&gt;    &lt;li&gt;Defending Your Code – An online knowledge base for software security.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt; – An online knowledge base for prescriptive guidance (&amp;quot;ITunes for knowledge.&amp;quot;)&lt;/li&gt;    &lt;li&gt;Improving .NET Application Performance and Scalability – A guide and methodology for baking performance into the life cycle.&lt;/li&gt;    &lt;li&gt;Improving Web Application Security – A guide for threats, attacks, vulnerabilities and countermeasures for LOB applications.&lt;/li&gt;    &lt;li&gt;Improving Web Services Security – A guide for threats, attacks, vulnerabilities and countermeasures for Web services.&lt;/li&gt;    &lt;li&gt;Performance Testing Guidance for Web Applications – A guide and testing methodology for testing Web application performance.&lt;/li&gt;    &lt;li&gt;PDL (Performance Development Life Cycle) – Methodology, activities and artifacts for baking performance into the life cycle.&lt;/li&gt;    &lt;li&gt;Practices Checker – An application that checks software against patterns &amp;amp; practices recommendations.&lt;/li&gt;    &lt;li&gt;Scenario Evaluation Framework – Assessment technique for design, implementation and deployment “building codes.”&lt;/li&gt;    &lt;li&gt;Security Case Studies – A model and examples for sharing business impact from patterns &amp;amp; practices security guidance.&lt;/li&gt;    &lt;li&gt;Security Code Examples – 60 security code examples in VB.NET / C#.&lt;/li&gt;    &lt;li&gt;Security Engineering Explained – A guide and methodology for baking security into the life cycle.&lt;/li&gt;    &lt;li&gt;Security Engineering in VSTS – Baked security engineering into VSTS / MSF.&lt;/li&gt;    &lt;li&gt;Security Information Model – A unified model for Microsoft’s security guidance.&lt;/li&gt;    &lt;li&gt;Security Toolbar – A toolbar for browsing patterns &amp;amp; practices guidance from Visual Studio.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978516.aspx" target="_blank"&gt;Threat Modeling Web Applications&lt;/a&gt; – A technique to identify relevant threats and vulnerabilities for your scenario to help you shape your application's security design. &lt;/li&gt;    &lt;li&gt;Visual Studio Add-In for Guidance Explorer – Find, create, and share prescriptive guidance inside Visual Studio.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998408.aspx" target="_blank"&gt;Whidbey Security Guidance&lt;/a&gt; – A collection of guidelines, checklists, and step-by-step how tos for improving software security based on the .NET Framework 2.0.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Where do we go from here?&amp;#160; You write your future a page at a time.&amp;#160; If there’s one thing I’ve learned, it’s continue to reinvent yourself, reinvent your job, and make the most of what you’ve got.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/09/people-i-ve-worked-with-on-past-projects.aspx"&gt;People I’ve Worked with On Past Projects&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/10/my-projects-on-msdn.aspx"&gt;My Projects on MSDN&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902522" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Work+Tips/default.aspx">Work Tips</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Lessons+Learned/default.aspx">Lessons Learned</category></item><item><title>patterns &amp; practices Assets Survey</title><link>http://blogs.msdn.com/jmeier/archive/2009/08/07/patterns-practices-assets-survey.aspx</link><pubDate>Fri, 07 Aug 2009 21:11:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9860484</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9860484.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9860484</wfw:commentRss><description>&lt;p&gt;If you take our &lt;a href="http://www.zoomerang.com/Survey/?p=WEB229HEVSWBED" target="_blank"&gt;patterns &amp;amp; practices satisfaction survey&lt;/a&gt;, you can let us know which patterns &amp;amp; practices assets you use and how satisfied you are with the assets, as well as how satisfied you are with overall patterns &amp;amp; practices results.&amp;#160; &lt;/p&gt;  &lt;p&gt;To browse patterns &amp;amp; practices, here are some key links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.com/practices" target="_blank"&gt;patterns &amp;amp; practices Dev Center&lt;/a&gt; (MSDN)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998572.aspx" target="_blank"&gt;patterns &amp;amp; practices MSDN Library Node&lt;/a&gt; (Browse the tree on the left)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;patterns &amp;amp; practices Catalog     &lt;br /&gt;&lt;/strong&gt;For easy reference, I’ve shared a simplified view of how I look at our patterns &amp;amp; practices catalog:&lt;/p&gt;  &lt;table border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th&gt;Category&lt;/th&gt;        &lt;th&gt;Items&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Enterprise Library&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc467894.aspx" target="_blank"&gt;Enterprise Library&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Blocks&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979208.aspx" target="_blank"&gt;Aggregation Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203226.aspx" target="_blank"&gt;Caching Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd139964.aspx" target="_blank"&gt;Cryptography Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203144.aspx" target="_blank"&gt;Data Access Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203116.aspx" target="_blank"&gt;Exception Handling Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd139916.aspx" target="_blank"&gt;Logging Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd139982.aspx" target="_blank"&gt;Policy Injection Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203356.aspx" target="_blank"&gt;Security Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd203101.aspx " target="_blank"&gt;Unity Application Block&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd140088.aspx" target="_blank"&gt;Validation Application Block&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Factories&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480471.aspx " target="_blank"&gt;Mobile Client Software Factory&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480482.aspx" target="_blank"&gt;Smart Client Factory&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb264518.aspx" target="_blank"&gt;Web Client Factory&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc487895.aspx" target="_blank"&gt;Web Services Software Factory - Modeling Edition&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Guides&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;p&gt;Architecture&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArchGuide" target="_blank"&gt;Application Architecture Guide 2.0&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978498.aspx " target="_blank"&gt;Caching Architecture Guide for .NET Framework&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978506.aspx" target="_blank"&gt;COM Interop and Migration for .NET&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978510.aspx" target="_blank"&gt;Data Access Architecture Guide&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978655.aspx" target="_blank"&gt;Describing the Enterprise Architectural Space&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms954586.aspx" target="_blank"&gt;Designing Application-Managed Authorization&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978496.aspx" target="_blank"&gt;Designing Data Tier Components and Passing Data Through Tiers&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978650.aspx" target="_blank"&gt;Integration Guidelines for Applications&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978732.aspx" target="_blank"&gt;Interop with .NET and J2EE&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Deployment / Production&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms954585.aspx" target="_blank"&gt;Deploying .NET Framework-based Applications&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms954612.aspx" target="_blank"&gt;Monitoring in .NET Distributed Application Design&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms954594.aspx" target="_blank"&gt;Production Debugging for .NET Framework Applications&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Development&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668991.aspx " target="_blank"&gt;Team Development with Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Performance&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924375.aspx " target="_blank"&gt;Performance Testing Guidance for Web Applications&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Security&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978378.aspx " target="_blank"&gt;Authentication in ASP.NET: .NET Security Guidance&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302415.aspx" target="_blank"&gt;Building Secure ASP.NET Applications&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx " target="_blank"&gt;Improving Web Services Security&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target="_blank"&gt;Security Engineering Explained&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;Testing&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;Acceptance Test Engineering Guidance&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998205.aspx" target="_blank"&gt;Testing .NET Application Blocks&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979209.aspx" target="_blank"&gt;Testing Software Patterns&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Patterns&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998446.aspx" target="_blank"&gt;Data Patterns&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998469.aspx" target="_blank"&gt;Enterprise Solutions Patterns Using Microsoft .NET&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978729.aspx" target="_blank"&gt;Integration Patterns&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480545.aspx" target="_blank"&gt;Web Services security Patterns&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Reference Implementations&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd458809.aspx " target="_blank"&gt;Composite Application Guidance for WPF and Silverlight&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd458807.aspx" target="_blank"&gt;Composite Application Guidance for WPF&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.codeplex.com/esb" target="_blank"&gt;ESB Guidance for BizTalk Server 2006 R2&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.codeplex.com/GuidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.codeplex.com/spg" target="_blank"&gt;SharePoint Guidance&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/09/cheat-sheet-patterns-practices-catalog-at-a-glance-posted-to-codeplex.aspx"&gt;Cheat Sheet: patterns &amp;amp; practices Catalog&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/10/my-projects-on-msdn.aspx"&gt;My Projects on MSDN&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/03/04/patterns-and-practices-complete-catalog.aspx"&gt;patterns &amp;amp; practices Complete Catalog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9860484" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category></item><item><title>Acceptance Test Engineering Guide Beta 2 Now Available</title><link>http://blogs.msdn.com/jmeier/archive/2009/06/30/acceptance-test-engineering-guide-beta-2-now-available.aspx</link><pubDate>Tue, 30 Jun 2009 23:37:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9810017</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9810017.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9810017</wfw:commentRss><description>&lt;p&gt;Our &lt;a href="http://codeplex.com/TestingGuidance" target="_blank"&gt;patterns &amp;amp; practices Acceptance Test Engineering Guide, Volume 1&lt;/a&gt; (Beta 2) is now available on CodePlex.&amp;#160; The working definition that the team is using for acceptance testing is the planned evaluation of a system by customers and customer proxies to assess to what degree it satisfies their expectations. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Common Scenarios&lt;/strong&gt;     &lt;br /&gt;Here are the key scenarios the guide addresses:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;How to Plan for Acceptance Testing&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;What Kinds of Acceptance Tests to Run&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;How to Create and Run Acceptance Tests&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Defining What &amp;#8220;Done&amp;#8221; Means&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;How to Justify Your Approach&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;How to Streamline Your Acceptance Process&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Parts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Part I - Thinking About Acceptance&lt;/li&gt;    &lt;li&gt;Part II - Perspectives on Acceptance&lt;/li&gt;    &lt;li&gt;Part III - Acceptance Software &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Chapters&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Chapter 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; The Acceptance Process &lt;/li&gt;    &lt;li&gt;Chapter 2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Decision-Making Model&lt;/li&gt;    &lt;li&gt;Chapter 3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Project Context Model&lt;/li&gt;    &lt;li&gt;Chapter 4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System Requirements Model&lt;/li&gt;    &lt;li&gt;Chapter 5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Risk Model&lt;/li&gt;    &lt;li&gt;Chapter 6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Doneness Model&lt;/li&gt;    &lt;li&gt;Chapter 7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Business Lead&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 8&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Product Manager&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 9&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Test Manager&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 10&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Development Manager&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 11&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; User Experience Specialist&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 12&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Operations Manager&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 13&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Solution Architect&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 14&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Enterprise Architect&amp;#8217;s Perspective&lt;/li&gt;    &lt;li&gt;Chapter 15&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Legal Perspective&lt;/li&gt;    &lt;li&gt;Chapter 16&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Planning for Acceptance&lt;/li&gt;    &lt;li&gt;Chapter 17&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Assessing Software&lt;/li&gt;    &lt;li&gt;Chapter 18&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Managing the Acceptance Process&lt;/li&gt;    &lt;li&gt;Chapter 19&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Streamlining the Acceptance Process &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Team     &lt;br /&gt;&lt;/strong&gt;Here is the authoring team:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Grigori Melnik&lt;/li&gt;    &lt;li&gt;Gerard Meszaros&lt;/li&gt;    &lt;li&gt;Jon Bach &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Contributors / Reviewers&lt;/strong&gt;    &lt;br /&gt;Here are the key contributors and reviewers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Michael Puleio&lt;/li&gt;    &lt;li&gt;Rohit Sharma&lt;/li&gt;    &lt;li&gt;RoAnn Corbisier&lt;/li&gt;    &lt;li&gt;Hakan Erdogmus&lt;/li&gt;    &lt;li&gt;Dennis DeWitt &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Key Links&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Codeplex Site - &lt;a href="http://codeplex.com/TestingGuidance" target="_blank"&gt;http://codeplex.com/TestingGuidance&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9810017" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category></item><item><title>Lessons Learned in patterns and practices</title><link>http://blogs.msdn.com/jmeier/archive/2009/06/01/lessons-learned-in-patterns-and-practices.aspx</link><pubDate>Mon, 01 Jun 2009 02:47:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9673084</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9673084.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9673084</wfw:commentRss><description>&lt;p&gt;I'm a fan of continuous learning.&amp;#160; My post &lt;a href="http://shapingsoftware.com/2008/12/09/lessons-learned-in-patterns-practices/" target="_blank"&gt;Lessons Learned in patterns &amp;amp; practices&lt;/a&gt; on &lt;a href="http://shapingsoftware.com/" target="_blank"&gt;Shaping Software&lt;/a&gt; summarizes some of my best lessons.&amp;#160; It's from the school of hard knocks.&amp;#160; I've been lucky enough to have some great mentors that have really helped me unleash my best.&amp;#160; I've also been lucky enough to work on a variety of challenging projects that have grown my experience and capabilities beyond what I ever expected.&amp;#160; The post is my attempt to both remind myself of the key lessons and to share those lessons with you.&amp;#160; Absorb what is useful. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Top Ten Lessons&lt;/strong&gt;    &lt;br /&gt;Here's a list of the top 10 lessons:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Win the heart, the mind follows.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Know the tests for success.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Fix time, flex scope.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Use the system to educate.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Work with the right people, on the right problems, making the right impact.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Have the right people in the room asking the right questions.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Sell the vision.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Make it a project.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Know what you're optimizing.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Turn chickens into pigs.&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One of the ways I've learned to carry lessons forward is to turn them into terse little guidelines.&amp;#160; It makes them sticky and easier to recall.&amp;#160; I also find that some of my best mentors tend to have a way with words and they share their advice as pithy sayings. &lt;/p&gt;  &lt;p&gt;For more lessons and elaboration check out my post, &lt;a href="http://shapingsoftware.com/2008/12/09/lessons-learned-in-patterns-practices/" target="_blank"&gt;Lessons Learned in patterns and practices&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9673084" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Lessons+Learned/default.aspx">Lessons Learned</category></item><item><title>Customer Connected Engineering</title><link>http://blogs.msdn.com/jmeier/archive/2009/05/19/customer-connected-engineering.aspx</link><pubDate>Tue, 19 May 2009 20:00:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9628635</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9628635.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9628635</wfw:commentRss><description>&lt;p&gt;I posted slides on &lt;a href="http://shapingsoftware.com/2009/05/19/customer-connected-engineering/" target="_blank"&gt;how we do Customer Connected Engineering at patterns &amp;amp; practices&lt;/a&gt; to &lt;a href="http://shapingsoftware.com/" target="_blank"&gt;Shaping Software&lt;/a&gt;.&amp;#160; Customers Connected Engineering (CCE) is how we engage customers throughout our product development. We formally engage customers during the planning, development, and release of our deliverables to help make sure our deliverables are customer-driven.&amp;#160; Customers supply the scenarios, help prioritize, and provide feedback helping reduce the gap between what we build and what customers actually need.&amp;#160; It's effectively a prosumer model where the producer pairs with the consumers to improve the results.&lt;/p&gt;  &lt;p&gt;Find out more about &lt;a href="http://shapingsoftware.com/2009/05/19/customer-connected-engineering/" target="_blank"&gt;Customer Connected Engineering&lt;/a&gt; including key activities and guiding principles.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9628635" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Software+Engineering/default.aspx">Software Engineering</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Design/default.aspx">Design</category></item><item><title>The Elegant Code Cast on PRISM 2.0</title><link>http://blogs.msdn.com/jmeier/archive/2009/04/23/the-elegant-code-cast-on-prism-2-0.aspx</link><pubDate>Thu, 23 Apr 2009 17:52:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9564881</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9564881.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9564881</wfw:commentRss><description>&lt;p&gt;Bob Brumfield and Blaine Wastell from our patterns &amp;amp; practices team talk about Prism 2.0 with the Elegant Code Cast in &lt;a href="http://elegantcode.com/2009/04/22/code-cast-26-prism-20/" target="_blank"&gt;Code Cast 26 - Prism 2.0&lt;/a&gt;.&amp;#160;&amp;#160; Prism 2.0 is our patterns &amp;amp; practices Composite Client Application Guidance.&amp;#160; It's prescriptive guidance to help you build modular Windows Presentation Foundation (WPF) and Silverlight client line of business (LOB) applications.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_26_Prism2.mp3" target="_blank"&gt;Download the MVP&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/18/new-release-composite-application-guidance-for-wpf-and-silverlight-v2-0-prism.aspx"&gt;New Release: Composite Application Guidance for WPF and Silverlight v2.0 (PRISM)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/03/30/new-release-visual-basic-quickstarts-for-prism-v2-wpf-and-silverlight.aspx"&gt;New Release: Visual Basic Quickstarts for Prism v2 (WPF and Silverlight)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9564881" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category></item><item><title>New Release: Hands-on Labs for Unity 1.2</title><link>http://blogs.msdn.com/jmeier/archive/2009/04/03/new-release-hands-on-labs-for-unity-1-2.aspx</link><pubDate>Fri, 03 Apr 2009 05:20:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9530060</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9530060.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9530060</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=93a5e18f-3211-44ef-b785-c59bcec4cd6f" target="_blank"&gt;Hands-on Labs for Unity 1.2&lt;/a&gt; are now available.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is Unity     &lt;br /&gt;&lt;/strong&gt;Unity is a lightweight, extensible dependency injection container with optional support for instance and type interception. It facilitates building loosely-coupled applications and provides developers with the following advantages:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simplified object creation, especially for hierarchical object structures and dependencies. &lt;/li&gt;    &lt;li&gt;Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns. &lt;/li&gt;    &lt;li&gt;Increased flexibility by deferring component configuration to the container. &lt;/li&gt;    &lt;li&gt;Service location capability; this allows clients to store or cache the container. &lt;/li&gt;    &lt;li&gt;Instance and type interception (via an extension introduced in Unity Application Block 1.2&amp;#8212;October 2008). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What's in this Release&lt;/strong&gt;    &lt;br /&gt;Use this set of Hands-on Labs as a guide to learn about how to use Unity dependency injection container and how to leverage its capabilities in various application contexts (including ASP.NET).&amp;#160;&amp;#160; It covers the following topics: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;setting up the container&lt;/li&gt;    &lt;li&gt;configuring injection through API and files&lt;/li&gt;    &lt;li&gt;resolving generics and decorator chains&lt;/li&gt;    &lt;li&gt;using array injection&lt;/li&gt;    &lt;li&gt;integrating with ASP.NET&lt;/li&gt;    &lt;li&gt;using child containers.&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9530060" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Releases/default.aspx">Releases</category></item><item><title>New Release: Hands-on Labs for Microsoft Enterprise Library 4.1</title><link>http://blogs.msdn.com/jmeier/archive/2009/04/03/new-release-hands-on-labs-for-microsoft-enterprise-library-4-1.aspx</link><pubDate>Fri, 03 Apr 2009 05:13:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9530049</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9530049.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9530049</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ab3f2168-fea1-4fc2-b40c-7867d99d4b6a" target="_blank"&gt;Hands-on Labs for Microsoft patterns &amp;amp; practices Enterprise Library 4.1&lt;/a&gt; are now available.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is Enterprise Library&lt;/strong&gt;    &lt;br /&gt;Microsoft Enterprise Library is a collection of reusable software components (&amp;quot;application blocks&amp;quot;) designed to address common cross-cutting concerns for enterprise application development (such as logging, validation, data access, exception handling, and more). Entlib is provided as source code, test cases, and documentation that can be used &amp;quot;as is&amp;quot; or extended, and encapsulates the Microsoft recommended and proven practices for .NET application development. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What's in this Release     &lt;br /&gt;&lt;/strong&gt;Use this set of Hands-on Labs as a guide to learn about the application blocks included with Enterprise Library 4.1 and practice how to leverage their capabilities in various application contexts. &lt;/p&gt;  &lt;p&gt;There are also updates of the hands-on labs for the following blocks:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Caching Application Block &lt;/li&gt;    &lt;li&gt;Cryptography Application Block &lt;/li&gt;    &lt;li&gt;Data Access Application Block &lt;/li&gt;    &lt;li&gt;Exception Handling Application Block &lt;/li&gt;    &lt;li&gt;Logging Application Block &lt;/li&gt;    &lt;li&gt;Security Application Block &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9530049" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Releases/default.aspx">Releases</category></item><item><title>Enterprise Library 5.0 Product Backlog Prioritization Survey</title><link>http://blogs.msdn.com/jmeier/archive/2009/03/28/enterprise-library-5-0-product-backlog-prioritization-survey.aspx</link><pubDate>Sat, 28 Mar 2009 19:11:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9516094</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9516094.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9516094</wfw:commentRss><description>&lt;p&gt;Now's your chance to influence patterns &amp;amp; practices Enterprise Library 5.0.&amp;#160; You can do so by taking the &lt;a href="http://www.zoomerang.com/Survey/?p=WEB228YZEBVGGB" target="_blank"&gt;Enterprise Library 5.0 Product Backlog Prioritization Survey&lt;/a&gt;.&amp;#160;&amp;#160; The current backlog includes more than 100 stories.&amp;#160; You can suggest priorities for these items as well as suggest up to 3 new stories.&amp;#160; Each story has a &amp;quot;T-Shirt size&amp;quot;, which is a rough estimate of the cost.&amp;#160; You get 100 points to spend on your priorities.&amp;#160; For example, you might spend all 100 points on your most important priority or you might spread your points over several stories.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;T-Shirt Cost Sizes / Cost     &lt;br /&gt;&lt;/strong&gt;Here's a summary of the T-Shirt sizes and relative costs:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;S = 1&lt;/li&gt;    &lt;li&gt;M = 2&lt;/li&gt;    &lt;li&gt;L =4&lt;/li&gt;    &lt;li&gt;XL = 8&lt;/li&gt;    &lt;li&gt;XXL(epic) = 20 points&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Story Categories     &lt;br /&gt;&lt;/strong&gt;The Enterprise Library 5.0 product backlog is organized by the following categories:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;User Experience&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Learnability&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Architecture&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Configuration&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Configuration Tool&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Extensibility&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Exception Handling&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Caching&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Logging&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Resource Management and Localization&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Validation&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Unity&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Policy Injection&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Enterprise Library 5.0 Stories List     &lt;br /&gt;&lt;/strong&gt;Here's the list of stories in the tentative Enterprise Library 5.0 Product Backlog:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;User Experience&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UX01: Better error reporting/messaging throughout (M)&lt;/li&gt;    &lt;li&gt;UX02: Debugging Visualizer for Unity (L)&lt;/li&gt;    &lt;li&gt;UX03: Config IntelliSense for Unity and EntLib in XmlEditor (M)&lt;/li&gt;    &lt;li&gt;UX04: Config IntelliSense for Unity in XmlEditor (M)&lt;/li&gt;    &lt;li&gt;UX05: Config tool facelift - towards a more intuitive and easier to use UI (XL)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Learnability&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;LEARN01: Discoverability and context/dependencies EntLib poster (L)&lt;/li&gt;    &lt;li&gt;LEARN02: Notebook-style 150 page book for Architects (XXL)&lt;/li&gt;    &lt;li&gt;LEARN03: Notebook-style 150 page book for Enterprise Developers (XXL)&lt;/li&gt;    &lt;li&gt;LEARN04: Notebook-style 100 page book for Operations/IT management (XXL)&lt;/li&gt;    &lt;li&gt;LEARN05: Migration guide v.2.0 -&amp;gt;5.0 (XL)&lt;/li&gt;    &lt;li&gt;LEARN06: Migration guide v.3.1 -&amp;gt;5.0 (XL)&lt;/li&gt;    &lt;li&gt;LEARN07: Migration guide v.4.1 -&amp;gt;5.0 (L)&lt;/li&gt;    &lt;li&gt;LEARN08: Updated Quickstarts (XL)&lt;/li&gt;    &lt;li&gt;LEARN09: Updated Hands-on Labs (XXL)&lt;/li&gt;    &lt;li&gt;LEARN10: EntLib Overview Video (L)&lt;/li&gt;    &lt;li&gt;LEARN11: EntLib5.0 New Features Video (L)&lt;/li&gt;    &lt;li&gt;LEARN12: Unity Overview Video (L)&lt;/li&gt;    &lt;li&gt;LEARN13: Unity Extensibility Video (L)&lt;/li&gt;    &lt;li&gt;LEARN14: Unity Extensibility Guide (XL)&lt;/li&gt;    &lt;li&gt;LEARN15: Guidance on environmental overrides in Unity (S)&lt;/li&gt;    &lt;li&gt;LEARN15: Unity&amp;amp; MEF decision tree/matrix (M)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Architecture&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ARC01 : Architectural update: use DI container instead of one-off Object Builder factories; DI container independence (XL)&lt;/li&gt;    &lt;li&gt;ARC02 : Simplification of the codebase (identify redundancies, obsoletes etc.) (XL)&lt;/li&gt;    &lt;li&gt;ARC03 : Reduction of the number of assemblies (XL) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Config&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;CFG01 : Config decentralization (support for config stored in multiple sources) (S)&lt;/li&gt;    &lt;li&gt;CFG02:&amp;#160; Improved Config API (XL)&lt;/li&gt;    &lt;li&gt;CFG03:&amp;#160; Support for different sections of config in different media (not just files) (XL)&lt;/li&gt;    &lt;li&gt;CFG04:&amp;#160; Support for multiple pieces of config for a single block in multiple places (XXL)     &lt;br /&gt;CFG05:&amp;#160; Making Unity configuration less verbose (M)&lt;/li&gt;    &lt;li&gt;CFG06:&amp;#160; Support other config schemas for Unity config (e.g. XAML-based config)&lt;/li&gt;    &lt;li&gt;CFG07: Unity config auto-registration: expanded conventions and helper classes to reduce need for explicit configuration (M)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Config Tool&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;TOOL01: Type picker improvements (sped up search, better generics UI) (M)&lt;/li&gt;    &lt;li&gt;TOOL02: Support of Unity configuration (M)&lt;/li&gt;    &lt;li&gt;TOOL03: Block invocation from the configuration designer (e.g. Configure a block, Right-click, Copy &amp;quot;Code to Invoke&amp;quot;, and then paste it elsewhere) (S)&lt;/li&gt;    &lt;li&gt;TOOL04: Web-based config tool (L)&lt;/li&gt;    &lt;li&gt;TOOL05: Easier manipulation of validation trees (potentially, drag&amp;amp;drop) (M) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Extensibility&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;EXT01: Simplifying writing extensions and plugging their custom configs into the config tool (XXL)&lt;/li&gt;    &lt;li&gt;Data Access&lt;/li&gt;    &lt;li&gt;DAAB01: DAAB &amp;amp; LINQ basic integration (i.e. execute a query on a database, get back an object that you can do LINQ on) (M)&lt;/li&gt;    &lt;li&gt;DAAB02: Async ADO.NET support (M)&lt;/li&gt;    &lt;li&gt;DAAB03: Fix: validation of sprocs parameters &amp;#8211; do not validate (S)&lt;/li&gt;    &lt;li&gt;DAAB04: No swallowing of SQL exceptions (S)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Exception Handling&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;EHAB01: Default post-handling action to ThrowNewException instead of NotifyRethrow (S)&lt;/li&gt;    &lt;li&gt;EHAB02: Parameterized templates for exceptions (M) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Caching&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;CACHE01:&amp;#160; Adding a reason to the class that informs a user why their object was removed from the cache (S)&lt;/li&gt;    &lt;li&gt;CACHE02: Cache backing store targeting ESENT (L)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Logging&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;LAB01: ETW sink (?, potentially XXL)&lt;/li&gt;    &lt;li&gt;LAB02: Async logging (text formatting done asynchronously) to cut down on load on primary thread (M)&lt;/li&gt;    &lt;li&gt;LAB03: Automatically purging old files by the rolling trace listener (S)&lt;/li&gt;    &lt;li&gt;LAB04: Authenticated Email Trace Listener (S) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Resource Management &amp;amp; Localization&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;LOC01: Localizability of EntLib assemblies (L)&lt;/li&gt;    &lt;li&gt;LOC02: Localizability of exception messages and templates (S)&lt;/li&gt;    &lt;li&gt;RAB03: Resource Application Block (a provider to get assorted resources from various media/sources) (XXL)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Validation&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VAB01: Integration with WPF (XL)&lt;/li&gt;    &lt;li&gt;VAB02: Integration with/assistance in implementing IDataErrorInfo (S)&lt;/li&gt;    &lt;li&gt;VAB03: ArgumentValidationException.ToString() show the validation results (S)&lt;/li&gt;    &lt;li&gt;VAB04: Decorating LINQ objects with Validation attributes (M)&lt;/li&gt;    &lt;li&gt;VAB05: Simplifying checking for positive / negative values (S)&lt;/li&gt;    &lt;li&gt;VAB06: Simple validating field only if the value is not null (S)&lt;/li&gt;    &lt;li&gt;VAB07: Validation Block refactoring to allow using Unity to resolve Validators (M)&lt;/li&gt;    &lt;li&gt;VAB08: Enabling Validation Block to be used with 3rd party object relational mappers (M)&lt;/li&gt;    &lt;li&gt;VAB09: Honouring validation attributes defined in System.ComponentModel.DataAnnotations (S)&amp;#160;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;VAB10: Honouring MetadataType attribute (M)&lt;/li&gt;    &lt;li&gt;VAB11: Better localization support (i.e. the first time the validator is used, the locale for the messages is defined) (M)&lt;/li&gt;    &lt;li&gt;VAB12: Inheritance-aware object validator (M or ?)&lt;/li&gt;    &lt;li&gt;VAB13: Support for recursive data structures (M)&lt;/li&gt;    &lt;li&gt;VAB14: Provide NullValidator to properly &amp;quot;ignore nulls&amp;quot; instead of the &amp;quot;Or composite&amp;quot; (S-M)&lt;/li&gt;    &lt;li&gt;VAB15: Additional validator: Number of decimal places validator (S)     &lt;br /&gt;VAB16: Additional validator: Validator that checks that an enum contains a value that maps onto its defined values (S)&amp;#160;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;VAB17: Validator that compares against a single specific value (S)&lt;/li&gt;    &lt;li&gt;VAB18: RelativeDateTimeValidator update to&amp;#160; compare against UtcNow instead of Now&amp;#160; (S)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Unity&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;U01: ResolveAll to return unnamed registration too (S)&lt;/li&gt;    &lt;li&gt;U02: Allow a mapping from a named registration to the &amp;quot;default&amp;quot; one (S)&lt;/li&gt;    &lt;li&gt;U03: Support for passing arguments to the Resolve method (M)&lt;/li&gt;    &lt;li&gt;U04: Container introspection (S)&lt;/li&gt;    &lt;li&gt;U05: Unity-MEF Integration (e.g. unityContainer.Resolve&amp;lt;MefPart&amp;gt;()) (M)&lt;/li&gt;    &lt;li&gt;U06: Clearer error reporting (M)&lt;/li&gt;    &lt;li&gt;Unity Interception&lt;/li&gt;    &lt;li&gt;UIN01: Generalized interceptor (XXL)&lt;/li&gt;    &lt;li&gt;UIN02: Caching of matching policies (M)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Policy Injection&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;PIAB01: Implement PIAB interface that takes an interceptor type (to leverage new Unity interceptors) (S)&lt;/li&gt;    &lt;li&gt;PIAB02: Add non-generic overloads (S)&lt;/li&gt;    &lt;li&gt;PIAB03: New handlers (incl. RequiresTransaction and Call Forwarding) (S)&lt;/li&gt;    &lt;li&gt;Installation/Repair/Uninstallation&lt;/li&gt;    &lt;li&gt;INS01: Installer allows you to pick which specific blocks to install instead of the whole package (M)&lt;/li&gt;    &lt;li&gt;INS02: Installer ships both debug and release versions of the DLLs (S)&lt;/li&gt;    &lt;li&gt;INS03: EntLib installers to be included as part of installers of other custom products (merge modules) (M)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/agile/archive/2009/03/27/enterprise-library-5-0-tentative-product-backlog-published-story-feature-prioritization-is-open-your-participation-is-invited.aspx" target="_blank"&gt;Enterprise Library 5.0 &amp;#8211; tentative product backlog published, story/feature prioritization is open &amp;#8211; your participation is invited!&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9516094" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category></item><item><title>New Release: Composite Application Guidance for WPF and Silverlight v2.0 (PRISM)</title><link>http://blogs.msdn.com/jmeier/archive/2009/02/18/new-release-composite-application-guidance-for-wpf-and-silverlight-v2-0-prism.aspx</link><pubDate>Wed, 18 Feb 2009 18:58:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9431631</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9431631.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9431631</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd458809.aspx" target="_blank"&gt;Composite Application Guidance for WPF and Silverlight v2.0 (PRISM)&lt;/a&gt; is now available. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is PRISM      &lt;br /&gt;&lt;/strong&gt;The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client line of business applications. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Goals of the Release      &lt;br /&gt;&lt;/strong&gt;Providing guidance on building modular and composite Silverlight applications.     &lt;br /&gt;Simplifying the composition of the user interface.     &lt;br /&gt;Providing guidance and light tooling on reusing code between Silverlight and WPF. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Scenarios&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You're building a application that presents information from multiple sources through an integrated user interface. &lt;/li&gt;    &lt;li&gt;You're developing, testing, and deploying modules independently of the other modules. &lt;/li&gt;    &lt;li&gt;Your application will add more views and more functionality over the coming years. &lt;/li&gt;    &lt;li&gt;You must be able to change the application quickly and safely to meet emergent business requirements. &lt;/li&gt;    &lt;li&gt;Your application is being developed by multiple collaborating teams. &lt;/li&gt;    &lt;li&gt;Your application targets both WPF and Silverlight, and you want to share as much code as possible between the two platforms. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What's in This Release&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Composite Application Library &lt;/li&gt;    &lt;li&gt;Reference Implementation (Stock Traders application in WPF and Silverlight) &lt;/li&gt;    &lt;li&gt;Quick starts (9) &lt;/li&gt;    &lt;li&gt;How-Tos (26) and &lt;/li&gt;    &lt;li&gt;Documentation of UI patterns&amp;#160; and client architectures. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Key Links&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd458809.aspx" target="_blank"&gt;Composite Application Guidance for WPF and Silverlight 2.0 (PRISM)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fa07e1ce-ca3f-4b9b-a21b-e3fa10d013dd&amp;amp;DisplayLang=en" target="_blank"&gt;Download&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/11/new-release-patterns-practices-wcf-security-guide.aspx"&gt;New Release: patterns &amp;amp; practices WCF Security Guide&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/12/16/application-architecture-guide-2-0-final-release.aspx"&gt;Final Release: patterns &amp;amp; practices Application Architecture Guide 2.0&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/30/new-release-distributed-agile-development-at-microsoft-patterns-practices.aspx"&gt;New Release: Distributed Agile Development at Microsoft patterns &amp;amp; practices&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/30/new-release-patterns-practices-acceptance-test-engineering-guide-beta1.aspx"&gt;New Release: patterns &amp;amp; practices Acceptance Test Engineering Guide (BETA 1)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/29/new-release-unity-application-block.aspx"&gt;New Release: Unity Application Block&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/29/new-release-enterprise-library-4-1.aspx"&gt;New Release: Enterprise Library 4.1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2007/10/27/now-on-msdn-patterns-practices-performance-testing-guidance-for-web-applications.aspx"&gt;New Release: patterns &amp;amp; practices Performance Testing Guidance for Web Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2007/10/26/patterns-practices-visual-studio-team-system-guidance-now-on-msdn.aspx"&gt;New Release: patterns &amp;amp; practices Team Development with Visual Studio Team Foundation Server Guide&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9431631" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Releases/default.aspx">Releases</category></item><item><title>New Release: patterns &amp; practices WCF Security Guide</title><link>http://blogs.msdn.com/jmeier/archive/2009/02/11/new-release-patterns-practices-wcf-security-guide.aspx</link><pubDate>Wed, 11 Feb 2009 07:47:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9412016</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9412016.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9412016</wfw:commentRss><description>&lt;p&gt;Today we released our &lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target="_blank"&gt;patterns &amp;amp; practices Improving Web Service security: Scenarios and Implementation Guidance for WCF&lt;/a&gt; on MSDN.&amp;#160; Using end-to-end application scenarios, this guide shows you how to design and implement authentication and authorization in WCF. You'll learn how to improve the security of your WCF services through prescriptive guidance including guidelines, a Q&amp;amp;A, practices at a glance, and step-by-step how to articles. The guide is the result of a collaborative effort between patterns &amp;amp; practices, WCF team members, and industry experts. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurityGuide" target="_blank"&gt;Download the patterns &amp;amp; practices WCF Security guide&lt;/a&gt; (CodePlex) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target="_blank"&gt;Read the patterns &amp;amp; practices WCF Security Guide online&lt;/a&gt; (MSDN) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Key Scenarios      &lt;br /&gt;&lt;/strong&gt;Here's the key scenarios:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;A development team that wants to adopt WCF. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;A software architect or developer looking to get the most out of WCF, with regard to designing their application security. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Interested parties investigating the use of WCF but don&amp;#8217;t know how well it would work for their deployment scenarios and constraints. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Individuals tasked with learning WCF security. &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Authentication, authorization, and communication design for your services &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Solution patterns for common distributed application scenarios using WCF &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Principles, patterns, and practices for improving key security aspects in services &lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Contents at a Glance&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Part I: Security Fundamentals for Web Services &lt;/li&gt;    &lt;li&gt;Part II: Fundamentals of WCF Security &lt;/li&gt;    &lt;li&gt;Part III: Intranet Application Scenarios &lt;/li&gt;    &lt;li&gt;Part IV: Internet Application Scenarios &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Chapters&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Foreword by Nicholas Allen &lt;/li&gt;    &lt;li&gt;Foreword by Rockford Lhotka &lt;/li&gt;    &lt;li&gt;Chapter 1: Security Fundamentals for Web Services &lt;/li&gt;    &lt;li&gt;Chapter 2: Threats and Countermeasures for Web Services &lt;/li&gt;    &lt;li&gt;Chapter 3: Security Design Guidelines for Web Services &lt;/li&gt;    &lt;li&gt;Chapter 4: WCF Security Fundamentals &lt;/li&gt;    &lt;li&gt;Chapter 5: Authentication, Authorization, and Identities in WCF &lt;/li&gt;    &lt;li&gt;Chapter 6: Impersonation and Delegation in WCF &lt;/li&gt;    &lt;li&gt;Chapter 7: Message and Transport Security &lt;/li&gt;    &lt;li&gt;Chapter 8: Bindings &lt;/li&gt;    &lt;li&gt;Chapter 9: Intranet - Web to Remote WCF Using Transport Security (Original Caller, TCP) &lt;/li&gt;    &lt;li&gt;Chapter 10: Intranet - Web to Remote WCF Using Transport Security (Trusted Subsystem, HTTP) &lt;/li&gt;    &lt;li&gt;Chapter 11: Intranet - Web to Remote WCF Using Transport Security (Trusted Subsystem, TCP) &lt;/li&gt;    &lt;li&gt;Chapter 12: Intranet - Windows Forms to Remote WCF Using Transport Security (Original Caller, TCP) &lt;/li&gt;    &lt;li&gt;Chapter 13: Internet - WCF and ASMX Client to Remote WCF Using Transport Security (Trusted Subsystem, HTTP) &lt;/li&gt;    &lt;li&gt;Chapter 14: Internet - Web to Remote WCF Using Transport Security (Trusted Subsystem, TCP) &lt;/li&gt;    &lt;li&gt;Chapter 15: Internet &amp;#8211; Windows Forms Client to Remote WCF Using Message Security (Original Caller, HTTP) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Our Team&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;J.D. Meier &lt;/li&gt;    &lt;li&gt;Carlos Farre &lt;/li&gt;    &lt;li&gt;Jason Taylor &lt;/li&gt;    &lt;li&gt;Prashant Bansode &lt;/li&gt;    &lt;li&gt;Steve Gregersen &lt;/li&gt;    &lt;li&gt;Madhu Sundararajan &lt;/li&gt;    &lt;li&gt;Rob Boucher &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Contributors / Reviewers&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;External Contributors / Reviewers&lt;/strong&gt;: Andy Eunson; Anil John; Anu Rajendra; Brandon Bohling; Chaitanya Bijwe; Daniel Root; David P. Romig, Sr.; Dennis Rea; Kevin Lam; Michele Leroux Bustamante; Parameswaran Vaideeswaran; Rockford Lhotka; Rudolph Araujo; Santosh Bejugam &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Contributors / Reviewers&lt;/strong&gt;: Alik Levin; Brandon Blazer; Brent Schmaltz; Curt Smith; David Bradley; Dmitri Ossipov; Jan Alexander; Jason Hogg; Jason Pang; John Steer; Marc Goodner; Mark Fussell; Martin Gudgin; Martin Petersen-Frey; Mike de Libero; Mohammad Al-Sabt; Nobuyuki Akama; Ralph Squillace; Richard Lewis; Rick Saling; Rohit Sharma; Scott Mason; Sidd Shenoy; Sidney Higa; Stuart Kwan; Suwat Chitphakdibodin; T.R. Vishwanath; Todd Kutzke; Todd West; Vijay Gajjala; Vittorio Bertocci; Wenlong Dong; Yann Christensen; Yavor Georgiev &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9412016" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Releases/default.aspx">Releases</category></item><item><title>My Projects on MSDN</title><link>http://blogs.msdn.com/jmeier/archive/2009/02/10/my-projects-on-msdn.aspx</link><pubDate>Tue, 10 Feb 2009 22:51:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9411189</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9411189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9411189</wfw:commentRss><description>&lt;p&gt;This post is a simple way to browse the bulk of my patterns &amp;amp; practices work on MSDN and CodePlex.&amp;#160;&amp;#160; After I walk customers through things, the next question is usually, &amp;quot;OK, so where do we find this?&amp;quot;&amp;#160; This is the link I'll be sharing.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Guides&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArchGuide" target="_blank"&gt;Application Architecture Guide 2.0&lt;/a&gt; (CodePlex) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302415.aspx" target="_blank"&gt;Building Secure ASP.NET Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target="_blank"&gt;Improving Web Services Security: Scenarios and Implementation Guidance for WCF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924375.aspx" target="_blank"&gt;Performance Testing Guidance for Web Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target="_blank"&gt;Security Engineering Explained&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668991.aspx" target="_blank"&gt;Team Development with Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Books / Guides&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924375.aspx" target="_blank"&gt;Performance Testing Guidance for Web Applications&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Methods&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924361.aspx" target="_blank"&gt;Agile Performance Testing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924372.aspx" target="_blank"&gt;Load Testing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998579.aspx" target="_blank"&gt;Measuring Performance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924367.aspx" target="_blank"&gt;Modeling Application Usage&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998574.aspx" target="_blank"&gt;Performance Code Inspection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998544.aspx" target="_blank"&gt;Performance Design Inspection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998534.aspx" target="_blank"&gt;Performance Engineering&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998537.aspx" target="_blank"&gt;Performance Modeling&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924371.aspx" target="_blank"&gt;Performance Test Reporting&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924356.aspx" target="_blank"&gt;Performance Testing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb924374.aspx" target="_blank"&gt;Stress Testing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998583.aspx" target="_blank"&gt;Tuning Performance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Guidelines&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998537.aspx" target="_blank"&gt;Performance Design Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998547.aspx" target="_blank"&gt;.NET Framework Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998551.aspx" target="_blank"&gt;.NET Interop Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998569.aspx" target="_blank"&gt;ADO.NET Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998549.aspx" target="_blank"&gt;ASP.NET Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998565.aspx" target="_blank"&gt;Remoting Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998541.aspx" target="_blank"&gt;Web Application Performance Design Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998562.aspx" target="_blank"&gt;Web Services Performance Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998559.aspx" target="_blank"&gt;XML Performance Guidelines&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Checklists&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998592.aspx" target="_blank"&gt;Performance Design Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979052.aspx" target="_blank"&gt;.NET Framework Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998589.aspx" target="_blank"&gt;ADO.NET Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998596.aspx" target="_blank"&gt;ASP.NET Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978923.aspx" target="_blank"&gt;Enterprise Services Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978943.aspx" target="_blank"&gt;Interop Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979159.aspx" target="_blank"&gt;Remoting Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979169.aspx" target="_blank"&gt;SQL Server Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979173.aspx" target="_blank"&gt;Web Services Performance Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979180.aspx" target="_blank"&gt;XML Performance Checklist Checklist&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Practices at a Glance&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998512.aspx" target="_blank"&gt;Performance Practices at a Glance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;How Tos&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979195.aspx" target="_blank"&gt;How To - Optimize SQL Indexes&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979196.aspx" target="_blank"&gt;How To - Optimize SQL Queries&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979197.aspx" target="_blank"&gt;How To - Page Records in .NET Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979198.aspx" target="_blank"&gt;How To Performance Capacity Planning for .NET Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979200.aspx" target="_blank"&gt;How To - Submit and Poll for Long-Running Tasks&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms979204.aspx" target="_blank"&gt;How To - Use Custom Performance Counters from ASP.NET&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Guides&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302415.aspx" target="_blank"&gt;Building Secure ASP.NET Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998404.aspx" target="_blank"&gt;Security Engineering&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Methods&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998364.aspx" target="_blank"&gt;Security Code Inspection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998367.aspx" target="_blank"&gt;Security Deployment Inspection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302421.aspx" target="_blank"&gt;Security Design Inspection&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978516.aspx" target="_blank"&gt;Threat Modeling&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Threats and Countermeasures&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302418.aspx" target="_blank"&gt;Threats and Countermeasures for Web Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949001.aspx" target="_blank"&gt;Threats and Countermeasures for Web Services&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Cheat Sheets&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978518.aspx" target="_blank"&gt;Web Application Security Frame&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949070.aspx" target="_blank"&gt;Web Services Security Frame&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949070.aspx" target="_blank"&gt;Web Services Security Patterns&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Guidelines&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480477.aspx" target="_blank"&gt;.NET Framework Security Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998264.aspx" target="_blank"&gt;ADO.NET Security Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998258.aspx" target="_blank"&gt;ASP.NET Security Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949068.aspx" target="_blank"&gt;WCF Security Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302420.aspx" target="_blank"&gt;Web Application Security Design Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949020.aspx" target="_blank"&gt;Web Services Security Design Guidelines&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Checklists&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480474.aspx" target="_blank"&gt;.NET Framework Security Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480473.aspx" target="_blank"&gt;ADO.NET Security Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998249.aspx" target="_blank"&gt;ASP.NET Security Checklist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949052.aspx" target="_blank"&gt;WCF Security Checklist&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Practices at a Glance&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480479.aspx" target="_blank"&gt;.NET Framework Security Practices at a Glance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998372.aspx" target="_blank"&gt;ASP.NET Security Practices at a Glance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949062.aspx" target="_blank"&gt;WCF Security Practices at a Glance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Questions and Answers&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb981440.aspx" target="_blank"&gt;ASP.NET Security Questions and Answers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949043.aspx" target="_blank"&gt;WCF Security Questions and Answers&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Explained&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480476.aspx" target="_blank"&gt;ASP.NET Forms Authentication Explained&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480475.aspx" target="_blank"&gt;ASP.NET Windows Authentication Explained&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Application Scenarios&lt;/em&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949093.aspx" target="_blank"&gt;WCF Intranet Scenario - Web to Remote WCF Using Transport Security (Original Caller, TCP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949089.aspx" target="_blank"&gt;WCF Intranet scenario - Web to Remote WCF Using Transport Security (Trusted Subsystem, HTTP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949041.aspx" target="_blank"&gt;WCF Intranet Scenario - Web to Remote WCF Using Transport Security (Trusted Subsystem, TCP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949032.aspx" target="_blank"&gt;WCF Intranet Scenario - Windows Forms to Remote WCF Using Transport Security (Original Caller, TCP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949024.aspx" target="_blank"&gt;WCF Internet Scenario - WCF and ASMX Client to Remote WCF Using Transport Security (Original Caller, HTTP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949088.aspx" target="_blank"&gt;WCF Internet Scenario - Web to Remote WCF Using Transport Security (Trusted Subsystem, TCP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949050.aspx" target="_blank"&gt;WCF Internet Scenario - Windows Forms Client to Remote WCF Using Message Security (Original Caller, HTTP)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302385.aspx" target="_blank"&gt;ASP.NET Intranet Scenarios&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302386.aspx" target="_blank"&gt;ASP.NET Extranet Scenarios&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302387.aspx" target="_blank"&gt;ASP.NET Internet Scenarios&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;ASP.NET Security How Tos&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998300.aspx" target="_blank"&gt;How To - Connect to SQL Server Using SQL Authentication in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998292.aspx" target="_blank"&gt;How To - Connect to SQL Server Using Windows Authentication in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998297.aspx" target="_blank"&gt;How To - Create a Service Account for ASP.NET Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa480478.aspx" target="_blank"&gt;How To - Improve Security When Hosting Multiple Applications&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998325.aspx" target="_blank"&gt;How To - Instrument ASP.NET Applications for Security&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998274.aspx" target="_blank"&gt;How To - Prevent Cross-Site Scripting in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998310.aspx" target="_blank"&gt;How To - Protect Forms Authentication in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb355989.aspx" target="_blank"&gt;How To - Protect from Injection Attacks in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998271.aspx" target="_blank"&gt;How To - Project from SQL Injection Attacks in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998331.aspx" target="_blank"&gt;How To - Use ADAM for Roles in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998336.aspx" target="_blank"&gt;How To - Use Authorization Manager (AzMan) in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998360.aspx" target="_blank"&gt;How To - Use Forms Authentication with Active Directory in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998345.aspx" target="_blank"&gt;How To - Use Forms Authentication with Active Directory in Multiple Domains&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998317.aspx" target="_blank"&gt;How To - Use Forms Authentication with SQL Server in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998306.aspx" target="_blank"&gt;How To - Use Health Monitoring in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998351.aspx" target="_blank"&gt;How To - Use Impersonation and Delegation in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998355.aspx" target="_blank"&gt;How To - Use Protocol Transition and Constrained Delegation in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998267.aspx" target="_blank"&gt;How To - Use Regular Expressions to Constrain Input in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998320.aspx" target="_blank"&gt;How To - Use the Network Services Account to Access Resources in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998314.aspx" target="_blank"&gt;How To - Use Role Manager in ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998358.aspx" target="_blank"&gt;How To - Use Windows Authentication in ASP.NET 2.0&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;WCF Security How Tos&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949006.aspx" target="_blank"&gt;How to: Audit and Log Security Events in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949011.aspx" target="_blank"&gt;How to: Create and Install Temporary Certificates in WCF for Message Security During Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949067.aspx" target="_blank"&gt;How to: Create and Install Temporary Certificates in WCF for Transport Security During        &lt;br /&gt;Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949057.aspx" target="_blank"&gt;How to: Create and Install Temporary Client Certificates in WCF During Development&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949080.aspx" target="_blank"&gt;How to: Host WCF in a Windows Service Using TCP&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949013.aspx" target="_blank"&gt;How to: Impersonate the Original Caller in WCF Calling from a Web Application&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949055.aspx" target="_blank"&gt;How to: Impersonate the Original Caller in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949075.aspx" target="_blank"&gt;How to: Perform Input Validation in WCF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949095.aspx" target="_blank"&gt;How to: Perform Message Validation with Schema Validation in WCF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949012.aspx" target="_blank"&gt;How to: Use basicHttpBinding with Windows Authentication and TransportCredentialOnly in WCF from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc948997.aspx" target="_blank"&gt;How to: Use Certificate Authentication and Message Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949005.aspx" target="_blank"&gt;How to: Use Certificate Authentication and Transport Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949014.aspx" target="_blank"&gt;How to: Use Delegation for Flowing the Original Caller Credentials to the Back End in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949048.aspx" target="_blank"&gt;How to: Use Health Monitoring to Instrument a WCF Service for Security&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949092.aspx" target="_blank"&gt;How to: Use netTcpBinding with Windows Authentication and Message Security in WCF from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949091.aspx" target="_blank"&gt;How to: Use netTcpBinding with Windows Authentication and Transport Security in WCF from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949022.aspx" target="_blank"&gt;How to: Use Protocol Transition for Impersonating and Delegating the Original Caller in WCF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949027.aspx" target="_blank"&gt;How to: Use the SQL Server Role Provider with Username Authentication in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949054.aspx" target="_blank"&gt;How to: Use the SQL Server Role Provider with Windows Authentication in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949082.aspx" target="_blank"&gt;How to: Use Username Authentication with the SQL Server Membership Provider and Message Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949025.aspx" target="_blank"&gt;How to: Use Username Authentication with Transport Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949010.aspx" target="_blank"&gt;How to: Use wsHttpBinding with Username Authentication and TransportWithMessageCredential in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949030.aspx" target="_blank"&gt;How to: Use wsHttpBinding with Windows Authentication and Message Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949017.aspx" target="_blank"&gt;How to: Use wsHttpBinding with Windows Authentication and Transport Security in WCF Calling from Windows Forms&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio Team System&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Guides&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668991.aspx" target="_blank"&gt;Team Development with Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Guidelines&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668941.aspx" target="_blank"&gt;Team Build Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668944.aspx" target="_blank"&gt;Source Control Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668943.aspx" target="_blank"&gt;Reporting Guidelines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668942.aspx" target="_blank"&gt;Project Management Guidelines&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Practices at a Glance&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668945.aspx" target="_blank"&gt;Team Build Practices at a Glance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668948.aspx" target="_blank"&gt;Source Control Practices at a Glance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668947.aspx" target="_blank"&gt;Reporting Practices at a Glance&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668946.aspx" target="_blank"&gt;Project Management Practices at a Glance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Questions and Answers&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668950.aspx" target="_blank"&gt;Source Control Practices at a Glance&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;How Tos&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668968.aspx" target="_blank"&gt;How To: Add a New Developer to Your Project in Visual Studio 2005 Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668977.aspx" target="_blank"&gt;How To: Automatically Run Code Analysis with Team Build in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668978.aspx" target="_blank"&gt;How To: Create a Custom Report for Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668979.aspx" target="_blank"&gt;How To: Create a &amp;#8220;Risk over Time&amp;#8221; Report for Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668980.aspx" target="_blank"&gt;How To: Create Custom Check-in Policies in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668981.aspx" target="_blank"&gt;How To: Create Your Source Tree in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668982.aspx" target="_blank"&gt;How To: Customize a Process Template in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668983.aspx" target="_blank"&gt;How To: Customize a Report in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668988.aspx" target="_blank"&gt;How To: Manage Projects in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668969.aspx" target="_blank"&gt;How To: Migrate Source Code to Team Foundation Server from Visual Source Safe&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668976.aspx" target="_blank"&gt;How To: Perform a Baseless Merge in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668971.aspx" target="_blank"&gt;How To: Set Up a Continuous Integration Build in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668975.aspx" target="_blank"&gt;How To: Set Up a Scheduled Build in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668986.aspx" target="_blank"&gt;How To: Structure ASP.NET Applications in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668994.aspx" target="_blank"&gt;How To: Structure Windows Applications in Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb668992.aspx" target="_blank"&gt;How To: Structure Your Source Control Folders in Team Foundation Server&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/03/04/patterns-and-practices-complete-catalog.aspx"&gt;patterns &amp;amp; practices Complete Catalog&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9411189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/My+Projects/default.aspx">My Projects</category></item><item><title>People I've Worked with On Past Projects</title><link>http://blogs.msdn.com/jmeier/archive/2009/02/09/people-i-ve-worked-with-on-past-projects.aspx</link><pubDate>Mon, 09 Feb 2009 10:00:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9406474</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9406474.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9406474</wfw:commentRss><description>&lt;p&gt;One lesson I've learned time and again is that it's about the people.&amp;#160; You can be on a lousy project with great people and still have a great time.&amp;#160; The reverse is not always true.&amp;#160; Of course, the ideal world is a great project with great people.&amp;#160; I've been lucky enough to have enjoyed several adventures with great people while trying to change the world.&lt;/p&gt;  &lt;p&gt;As part of mid-year review, I'm taking a stroll down memory lane.&amp;#160; To do so, I created a snapshot of people I've worked with while writing books in patterns &amp;amp; practices over the years. Looking into the past always gives me insight into the future.&amp;#160;&amp;#160; I use it to find personal success patterns.&amp;#160; It also helps me get a new vantage point for project analysis.&lt;/p&gt;  &lt;p&gt;The first thing I learned by looking at the list of people I've worked with is how the right project can really grow your network.&amp;#160;&amp;#160; The other thing is how you can also predict a project's success largely by who's involved.&amp;#160;&amp;#160; The thing that really stands out for me is that the most successful projects were ones that created an intersection of the right problems, with the right people, with the right passions and strengths.&amp;#160; That's what dream teams and compelling missions are made of.&amp;#160; A simple test of whether you have the right team is whether you want to run towards or away from the problem.&lt;/p&gt;  &lt;p&gt;Here's the snapshot I used for my analysis ... &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Application Architecture Guide 2.0&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://www.codeplex.com/AppArchGuide"&gt;http://www.codeplex.com/AppArchGuide&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: S. Somasegar, Scott Guthrie&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier , Alex Homer, David Hill, Jason Taylor , Prashant Bansode , Lonnie Wall, Rob Boucher Jr, Akshay Bogawat&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Test Team&lt;/strong&gt; - Rohit Sharma, Praveen Rangarajan, Kashinath TR, Vijaya Jankiraman&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Edit Team&lt;/strong&gt; - Dennis Rea&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Contributors/Reviewers&lt;/strong&gt; - Adwait Ullal; Andy Eunson; Brian Sletten; Christian Weyer; David Guimbellot; David Ing; David Weller; Derek Greer; Eduardo Jezierski; Evan Hoff; Gajapathi Kannan; Jeremy D. Miller; John Kordyback; Keith Pleas; Kent Corley; Mark Baker; Paul Ballard; Peter Oehlert; Norman Headlam; Ryan Plant; Sam Gentile; Sidney G Pinney; Ted Neward; Udi Dahan&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Contributors / Reviewers&lt;/strong&gt; - Ade Miller; Amit Chopra; Anna Liu; Anoop Gupta; Bob Brumfield; Brad Abrams; Brian Cawelti; Bhushan Nene; Burley Kawasaki; Carl Perry; Chris Keyser; Chris Tavares; Clint Edmonson; Dan Reagan; Denny Dayton; Diego Dagum; Dmitri Martynov; Dmitri Ossipov; Don Smith; Dragos Manolescu; Elisa Flasko; Eric Fleck; Erwin van der Valk; Faisal Mohamood; Francis Cheung; Gary Lewis; Glenn Block; Gregory Leake; Ian Ellison-Taylor; Ilia Fortunov; J.R. Arredondo; Javed Sikander; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Luke Nyswonger; Manish Prabhu; Meghan Perez; Mehran Nikoo; Michael Puleio; Mike Francis; Mike Walker; Mubarak Elamin; Nick Malik; Nobuyuki Akama; Ofer Ashkenazi; Pablo Castro; Pat Helland; Phil Haack; Rabi Satter; Reed Robison; Rob Tiffany; Ryno Rijnsburger; Scott Hanselman; Seema Ramchandani; Serena Yeoh; Simon Calvert; Srinath Vasireddy; Tom Hollander; Wojtek Kozaczynski &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Improving Web Services Security&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://www.codeplex.com/WCFSecurityGuide"&gt;http://www.codeplex.com/WCFSecurityGuide&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: Nicholas Allen, Rockford Lhotka&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Carlos Farre, Jason Taylor, Prashant Bansode, Steve Gregersen, Madhu Sundararajan, Rob Boucher &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Contributors/Reviewers&lt;/strong&gt;: Andy Eunson; Anil John; Anu Rajendra; Brandon Bohling; Chaitanya Bijwe; Daniel Root; David P. Romig, Sr.; Dennis Rea; Kevin Lam; Michele Bustamante; Parameswaran Vaideeswaran; Rockford Lotka; Rudolph Araujo; Santosh Bejugam &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Contributors / Reviewers&lt;/strong&gt;: Alik Levin; Brandon Blazer; Brent Schmaltz; Curt Smith ; Dmitri Ossipov; Don Smith; Jan Alexander; Jason Hogg; Jason Pang; John Steer; Marc Goodner; Mark Fussell; Martin Gudgin; Martin Petersen-Frey; Mike de Libero; Mohammad Al-Sabt; Nobuyuki Akama; Ralph Squillace; Richard Lewis; Rick Saling; Rohit Sharma; Scott Mason; Sidd Shenoy; Sidney Higa; Stuart Kwan; Suwat Chitphakdibodin; T.R. Vishwanath; Todd Kutzke; Todd West; Vijay Gajjala; Vittorio Bertocci; Wenlong Dong; Yann Christensen; Yavor Georgiev &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Team Development with Visual Studio Team Foundation Server&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/bb668991.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb668991.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: Jeff Beehler, Rob Caron, Brian Harry&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Jason Taylor, Prashant Bansode, Alex Mackman, Kevin Jones&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Contributors/Reviewers&lt;/strong&gt;.&amp;#160; David P. Romig, Sr; Dennis Rea; Eugene Zakhareyev; Leon Langleyben; Martin Woodward; Michael Rummier; Miguel Mendoza ; Mike Fourie; Quang Tran; Sarit Tamir; Tushar More; Vaughn Hughes &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Contributors / Reviewers&lt;/strong&gt;.&amp;#160; Aaron Hallberg; Ahmed Salijee; Ajay Sudan; Ajoy Krishnamoorthy; Alan Ridlehoover; Alik Levin; Ameya Bhatawdekar; Bijan Javidi; Bill Essary; Brett Keown; Brian Harry; Brian Moore; Brian Keller; Buck Hodges; Burt Harris; Conor Morrison; David Caufield; David Lemphers; Doug Neumann; Edward Jezierski; Eric Blanchet; Eric Charran; Graham Barry; Gregg Boer; Grigori Melnik; Janet Williams Hepler; Jeff Beehler; Jose Parra; Julie MacAller; Ken Perilman; Lenny Fenster; Marc Kuperstein; Mario Rodriguez; Matthew Mitrik; Michael Puleio; Nobuyuki Akama; Paul Goring; Pete Coupland; Peter Provost; Granville (Randy) Miller; Richard Berg; Rob Caron; Robert Horvick; Rohit Sharma; Ryley Taketa; Sajee Mathew; Siddharth Bhatia; Tom Hollander; Tom Marsh; Venky Veeraraghavan &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Performance Testing Guidance     &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/bb924375.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb924375.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: Alberto Savoia, Rico Mariani&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Microsoft, Senior Program Manager, patterns &amp;amp; practices       &lt;br /&gt;Carlos Farre, Microsoft, Software Design Engineer Test, patterns &amp;amp; practices       &lt;br /&gt;Prashant Bansode, Infosys Technologies Ltd       &lt;br /&gt;Scott Barber, PerfTestPlus Inc, Chief Technologist       &lt;br /&gt;Dennis Rea, Wadeware LLC &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Contributors and Reviewers&lt;/strong&gt;: Alan Ridlehoover; Clint Huffman; Edmund Wong; Ken Perilman; Larry Brader; Mark Tomlinson; Paul Williams; Pete Coupland; Rico Mariani &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Contributors and Reviewers&lt;/strong&gt;: Alberto Savoia; Ben Simo; Cem Kaner; Chris Loosley; Corey Goldberg; Dawn Haynes; Derek Mead; Karen N. Johnson; Mike Bonar; Pradeep Soundararajan; Richard Leeke; Roland Stens; Ross Collard; Steven Woody &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Security Engineering&lt;/strong&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms998382.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Alex Mackman, Blaine Wastell, Prashant Bansode, Jason Taylor, and Rudolph Araujo. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Test Team&lt;/strong&gt;: Larry Brader, Microsoft Corporation; Nadupalli Venkata Surya Sateesh, Sivanthapatham Shanmugasundaram, Infosys Technologies Ltd. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Edit Team&lt;/strong&gt;: Nelly Delgado, Microsoft Corporation &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Release Management&lt;/strong&gt;: Sanjeev Garg, Microsoft Corporation &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Contributors and Reviewers&lt;/strong&gt;: Anil John, Johns Hopkins University &amp;#8211; Applied Physics Laboratory; Frank Heidt; Keith Brown Pluralsight LLC; Mark Curphey, Foundstone Professional Services &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Services and PSS Contributors and Reviewers&lt;/strong&gt;: Adam Semel, Denny Dayton, Gregor Noriskin, Kate Baroni, Tom Christian, Wade Mascia       &lt;br /&gt;Microsoft Product Group: Charlie Kaufman, Don Willits, Mike Downen, Rick Samona       &lt;br /&gt;Microsoft IT Contributors and Reviewers: Akshay Aggarwal, Irfan Chaudhry, Shawn Veney, Talhah Mir &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;MSDN Contributors and Reviewers&lt;/strong&gt;: Kent Sharkey &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft EEG&lt;/strong&gt;: Corey Ladas, James Waletzky&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Improving .NET Application Performance and Scalability&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms998530.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: S. Somasegar, Rico Mariani, Brandon Bohling, Connie U. Smith, Scott Barber&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Srinath Vasireddy, Ashish Babbar, Alex Mackman&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Special thanks to key contributors&lt;/strong&gt;: Anandha Murukan; Andy Eunson; Balan Jayaraman, Infosys Technologies Ltd; Christopher Brumme (CLR and COM interop); Connie U. Smith, Ph.D.; Curtis Krumel (SQL Server); David G. Brown (SQL Server); Denny Dayton; Don Willits (&amp;quot;Uber man&amp;quot;); Edward Jezierski; Ilia Fortunov; Jim O'Brien, Content Master Ltd; John Allen (ASP.NET); Matt Odhner (ACT); Prabhaker Potharaju (SQL Server); Rico Mariani (Performance Modeling, CLR, Code Review, Measuring); Ray Escamilla (Tuning); Scott Barber (Performance Modeling and Testing); Sharon Bjeletich (SQL Server) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Special thanks to key reviewers&lt;/strong&gt;: Adam Nathan (Interop); Brad Abrams; Brandon Bohling, Intel Corporation; Carlos Farre, Solutions IQ; Chuck Delouis, Veritas Software (SQL Server); Cosmin Radu (Interop); Eddie Lau (ACE); Eric Morris (ACE); Erik Olsen (ASP.NET); Gerardo Bermudez (CLR, Performance Modeling); Gregor Noriskin; Ken Perilman; Jan Gray; John Hopkins (ACE); Joshua Lee; K.M. Lee (ACE TEAM); Mark Fussell (XML); Matt Tavis (Remoting); Nico Jansen (ACE Team); Pablo Castro (ADO.NET and SQL); Patrick Dussud (CLR); Riyaz Pishori (Enterprise Services); Richard Turner (Enterprise Services); Sonja Keserovic (Interop); Thomas Marquardt (ASP.NET); Tim Walton; Tom McDonald; Wade Mascia (ASP.NET threading, Web services, and Enterprise Services); Yasser Shohoud (Web services) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Reviewers&lt;/strong&gt;: Ajay Mungara, Intel Corporation; Bill Draven, Intel Corporation; Emil Lerch, Intel Corporation; Carlos Santos (Managed Code); Chris Mullins, Kiefer Consulting; Christopher Bowen, Monster.com; Chuck Cooper; Dan Sullivan; Dave Levine, Rockwell Software; Daniel Cazzulino, Lagash Systems SA; Diego Gonzalez, Lagash Systems SA (XML); Franco Ceruti; Fredrik Normen &amp;quot;N2&amp;quot;, Barium AB (extensive review); Grant Fritchey; Greg Buskirk; Greg Kiefer, Kiefer Consulting; Ingo Rammer, IngoRammer.com; James Duff, Vertigo Software; Jason Masterman, Barracuda .NET (Remoting); Jeff Fiegel, Acres Gaming; Jeff Sukow, Rockwell Software; John Lam; John Vliet, Intel Corporation; Juval Lowy (COM interop); Kelly Summerlin, TetraData; Mats Lanner, Open Text Corporation; Matt Davey; Matthew Brealey; Mitch Denny, Monash.NET; Morten Abrahamsen (Performance and Transactions); Nick Wienholt, dotnetperformance.com; Norm Smith (Data Access and Performance Modeling); Pascal Tellier, prairieFyre Software Inc.; Paul Ballard, Rochester Consulting Partnership, Inc.; Per Larsen (Managed Code Performance); Scott Allen (Design Guidelines); Philippe Harry Leopold Frederix (Belgium); Scott Stanfield, Vertigo Software; Ted Pattison, Barracuda .NET (COM Interop); Thiru Thangarathinam; Tim Weaver, Monster.com; Vivek Chauhan (NIIT); Thiru Thangarathinam; Wat Hughes, Creative Data (SQL Server) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Consulting Services and Product Support Services (PSS)&lt;/strong&gt;: Dan Grady; David Madrian; Eddie Clodfelter; Hugh Wade; Jackie Richards; Jacquelyn Schmidt; Jaime Rodriguez; James Dosch; Jeff Pflum; Jim Scurlock; Julian Gonzalez (Web services); Kenny Jones; Linnea Bennett; Matt Neerincx; Michael Parkes; Michael Royster; Michael Stuart; Nam Su Kang; Neil Leslie; Nobuyuki Akama; Pat Altimore; Paul Fallon; Scott Slater; Tom Sears; Tony Bray &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Product Group&lt;/strong&gt;: Alexei Vopilov (Web services); Amrish Kumar; Arvindra Sehmi; Bill Evans; Brian Spanton; Keith Ballinger (WSE); Scot Gellock (Web services); Brian Grunkemeyer (CLR); Chris Eck; David Fields (NT); David Guimbellot; David Mortenson (CLR); Dax Hawkins; Dhananjay Mahajan (Enterprise Services); Dino Chiesa; Dmitry Robsman; Doug Rothaus (ADO.NET); Eddie Liu; Elena Kharitidi (Web services); Fabio Yeon; Harris Syed (Enterprise Services); Jason Zander; Jeffrey Cooperstein; Jim Radigan; Joe Long (Web services vs. ES vs. Remoting); Joshua Allen; Larry Buerk; Lubor Kollar (SQL Server); Maoni Stephens; Michael Coulson; Michael Fanning; Michael Murray (FxCop); Omri Gazitt; Patrick Ng (FX DEV); Peter Carlin (SQL Server); Rebecca Dias (WSE); Rick Vicik; Robin Maffeo (CLR Thread pool); Vance Morrison; Walter Stiers; Yann Christensen &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;patterns &amp;amp; practices members&lt;/strong&gt;: Jason Hogg (ADO.NET and XML); Naveen Yajaman; Sandy Khaund; Scott Densmore; Tom Hollander; Wojtek Kozaczynski       &lt;br /&gt;Thanks to our test team: (Infosys Technologies Ltd): Austin Ajit Samuel Angel; Dhanyah T.S.K; Lakshmi; Prashant Bansode; Ramesh Revenipati; Ramprasad Gopalakrishnan; Ramprasad Ramamurthy; Terrence J. Cyril       &lt;br /&gt;Thanks to our editors for helping to ensure a quality experience for the reader: Sharon Smith; Tina Burden McGrayne, Entirenet; Susan Filkins, Entirenet; Tyson Nevil, Entirenet &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;product manager&lt;/strong&gt;: Ron Jacobs &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Finally, thanks to&lt;/strong&gt;: Alex Lowe; Chris Sells; Jay Nanduri; Nitin Agrawal; Pat Filoteo; Patrick Conlan (SQL Server); Rajasi Saha; Sanjeev Garg (Satyam Computer Services); Todd Kutzke &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Improving Web Application Security: Threats and Countermeasures&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms994921.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Forewords&lt;/strong&gt;: Mark Curphey, Erik Olson, Joel Scambrary, Michael Howard&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Alex Mackman, Srinath Vasireddy, Michael Dunner, Ray Escamilla, Anandha Murukan &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;External Reviewers&lt;/strong&gt;&amp;#8211;Mark Curphey, Open Web Application Security Project and Watchfire; Andy Eunson (extensive review); Anil John (code access security and hosting scenarios); Paul Hudson and Stuart Bonell, Attenda Ltd. (extensive review of the Securing series); Scott Stanfield and James Walters, Vertigo Software; Lloyd Andrew Hubbard; Matthew Levine; Lakshmi Narasimhan Vyasarajan, Satyam Computer Services; Nick Smith, Senior Security Architect, American Airlines (extensive review of the Securing series); Ron Nelson; Senthil Rajan Alaguvel, Infosys Technologies Limited; Roger Abell, Engineering Technical Services, Arizona State University; and Doug Thews.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Product Group&lt;/strong&gt;&amp;#8211;Michael Howard (Threat Modeling, Code Review, and Deployment Review); Matt Lyons (demystifying code access security); Caesar Samsi; Erik Olson (extensive validation and recommendations on ASP.NET); Andres De Vivanco (securing SQL Server); Riyaz Pishori (Enterprise Services); Alan Shi; Carlos Garcia Jurado Suarez; Raja Krishnaswamy, CLR Development Lead; Christopher Brown; Dennis Angeline; Ivan Medvedev (code access security); Jeffrey Cooperstein (Threat Modeling); Frank Swiderski; Manish Prabhu (.NET Remoting); Michael Edwards, MSDE; Pranish Kumar, (VC++ PM); Richard Waymire (SQL Security); Sebastian Lange; Greg Singleton; Thomas Deml (IIS Lead PM); Wade Hilmo (IIS); Steven Pratschner; Willis Johnson (SQL Server); and Girish Chander (SQL Server). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Consulting Services and Product Support Services (PSS)&lt;/strong&gt;: Ilia Fortunov (Senior Architect) for providing continuous and diligent feedback; Aaron Margosis (extensive review, script injection, and SQL Injection); Jacquelyn Schmidt; Kenny Jones; Wade Mascia (Web Services and Enterprise services); Aaron Barth; Jackie Richards; Aaron Turner; Andy Erlandson (Director of PSS Security); Jayaprakasam Siddian Thirunavukkarasu (SQL Server security); Jeremy Bostron; Jerry Bryant; Mike Leuzinger; Robert Hensing (reviewing the Securing series); Gene Ferioli; David Lawler; Jon Wall (threat modeling); Martin Born; Michael Thomassy; Michael Royster; Phil McMillan; and Steven Ramirez. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Special Thanks To&lt;/strong&gt;: Joel Scambray; Rich Benack; Alisson Sol; Tavi Siochi (IT Audit); Don Willits (raising the quality bar); Jay Nanduri (Microsoft.com) for reviewing and sharing real world experience; Devendra Tiwari and Peter Dampier, for extensive review and sharing best IT practices; Denny Dayton; Carlos Lyons; Eric Rachner; Justin Clarke; Shawn Welch (IT Audit); Rick DeJarnette; Kent Sharkey (Hosting scenarios); Andy Oakley; Lucas Lavarello; Vijay Rajagopalan (Dev Lead MS Operations); Gordon Ritchie, Content Master Ltd; Chase Carpenter (Threat Modeling); Matt Powell (for Web Services security); Joel Yoker; Juhan Lee [MSN Operations]; Lori Woehler; Mike Sherrill; Mike Kass; Nilesh Bhide; Rebecca Hulse; Rob Oikawa (Architect); Scott Greene; Shawn Nandi; Steve Riley; Mark Mortimore; Matt Priestley; and David Ross. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Editors&lt;/strong&gt;: Sharon Smith; Kathleen Hartman (S&amp;amp;T OnSite); Tina Burden (Entirenet); Cindy Riskin (S&amp;amp;T OnSite); and Pat Collins (Entirenet) for helping to ensure a quality experience for the reader. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;patterns &amp;amp; practices team members&lt;/strong&gt;: Naveen Yajaman; Philip Teale; Scott Densmore; Ron Jacobs; Jason Hogg; Per Vonge Nielsen; Andrew Mason; Edward Jezierski; Michael Kropp; Sandy Khaund; Shaun Hayes; Mohammad Al&amp;#8211;Sabt; Edward Lafferty; Ken Perilman; and Sanjeev Garg (Satyam Computer Services). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Building Secure ASP.NET Applications&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Home Page&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/library/aa302415.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa302415.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Authors&lt;/strong&gt;: J.D. Meier, Alex Mackman, Michael Dunner, and Srinath Vasireddy &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Contributors and reviewers&lt;/strong&gt;: Manish Prabhu, Jesus Ruiz-Scougall, Jonathan Hawkins and Doug Purdy, Keith Ballinger, Yann Christensen and Alexei Vopilov, Laura Barsan, Greg Fee, Greg Singleton, Sebastian Lange, Tarik Soulami, Erik Olson, Caesar Samsi, Riyaz Pishori, Shannon Pahl, Ron Jacobs, Dave McPherson, Christopher Brown, John Banes, Joel Scambray, Girish Chander, William Zentmayer, Shantanu Sarkar, Carl Nolan, Samuel Melendez, Jacquelyn Schmidt, Steve Busby, Len Cardinal, Monica DeZulueta, Paula Paul, Ed Draper, Sean Finnegan, David Alberto, Kenny Jones, Doug Orange, Alexey Yeltsov, Martin Kohlleppel, Joel Yoker, Jay Nanduri, Ilia Fortunov, Aaron Margosis (MCS), Venkat Chilakala, John Allen, Jeremy Bostron, Martin Petersen-Frey, Karl Westerholm, Jayaprakasam Siddian Thirunavukkarasu, Wade Mascia, Ryan Kivett, Sarath Mallavarapu, Jerry Bryant, Peter Kyte, Philip Teale, Ram Sunkara, Shaun Hayes, Eric Schmidt, Michael Howard, Rich Benack, Carlos Lyons, Ted Kehl, Peter Dampier, Mike Sherrill, Devendra Tiwari, Tavi Siochi, Per Vonge Nielsen, Andrew Mason, Edward Jezierski, Sandy Khaund, Edward Lafferty, Peter M. Clift, John Munyon, Chris Sfanos, Mohammad Al-Sabt, Anandha Murukan (Satyam), Keith Brown (DevelopMentor), Andy Eunson, John Langley (KANA Software), Kurt Dillard, Christof Sprenger, J.K.Meadows, David Alberto, Bernard Chen (Sapient)&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9406474" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Work+Tips/default.aspx">Work Tips</category></item><item><title>Microsoft patterns &amp; practices Agile Workspace Tour</title><link>http://blogs.msdn.com/jmeier/archive/2009/01/19/microsoft-patterns-practices-agile-workspace-tour.aspx</link><pubDate>Mon, 19 Jan 2009 19:14:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9340263</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9340263.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9340263</wfw:commentRss><description>&lt;p&gt;I posted a visual walkthrough of our &lt;a href="http://shapingsoftware.com/2009/01/19/microsoft-patterns-practices-agile-workspace-tour/" target="_blank"&gt;Microsoft patterns &amp;amp; practices Agile workspace&lt;/a&gt; on &lt;a href="http://ShapingSoftware.com" target="_blank"&gt;Shaping Software&lt;/a&gt;.&amp;#160;&amp;#160; I basically did a lap around the halls and pointed out key things along the way.&amp;#160; Our patterns &amp;amp; practices team workspace is optimized for agile development practices.&amp;#160; The workspace features writeable walls, configurable workspace, speaker phones, projectors, focus rooms, and a customer room.&amp;#160;&amp;#160; The walkthrough is extensive.&amp;#160; It's basically more than 40 pictures.&amp;#160; Enjoy!&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9340263" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Agile/default.aspx">Agile</category></item></channel></rss>