<?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>Grigori Melnik: Thoughts on Agile Software Engineering and Beyond</title><link>http://blogs.msdn.com/agile/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Powered by EntLib</title><link>http://blogs.msdn.com/agile/archive/2009/11/13/powered-by-entlib.aspx</link><pubDate>Fri, 13 Nov 2009 12:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921670</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9921670.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9921670</wfw:commentRss><description>&lt;p&gt;When speaking about or demoing EntLib, I often get asked which Microsoft products Enterprise Library is used in. There are several dozen internal Microsoft projects (that we know of) that take advantage of Enterprise Library. However, many people are particularly interested in commercial products that use it. Today I am able to speak about some of them. &lt;/p&gt;  &lt;p&gt;This Monday the Microsoft Exchange team &lt;a href="http://msexchangeteam.com/archive/2009/11/09/453096.aspx"&gt;announced&lt;/a&gt; the public launch of &lt;a href="http://www.microsoft.com/exchange/2010/"&gt;Exchange Server 2010&lt;/a&gt;. There are many innovations in it, which you can read about on the Microsoft Exchange &lt;a href="http://msexchangeteam.com/archive/2009/11/09/453096.aspx"&gt;Teamblog&lt;/a&gt;. The reason I mention it here, however, is not only to congratulate the Exchange team, but also to proudly share the news that Enterprise Library and Unity container are used by Exchange Server 2010. &lt;/p&gt;  &lt;p&gt;In addition, the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=154069"&gt;Enterprise Service Bus (ESB) Toolkit 2.0&lt;/a&gt;, which is now part of Microsoft BizTalk Server 2009 also uses Enterprise Library 4.1 and Unity 1.2&lt;/p&gt;  &lt;p&gt;Through the course of my interactions with many customers, I’ve compiled an extensive list of companies that use Enterprise Library (including 50 Fortune 500 companies). Unfortunately, I do not have permission to share many of their names. However, you can find some of the case studies published &lt;a href="http://msdn.microsoft.com/en-us/practices/bb190374.aspx"&gt;here&lt;/a&gt;. In addition, you can explore Microsoft Solution Finder and &lt;a href="https://solutionfinder.microsoft.com/Solutions/SolutionsDirectory.aspx?keywords=%2522Enterprise%2bLibrary%2522"&gt;search for projects with “Enterprise Library” as a keyword&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;These endorsements are a clear indication of the value that Enterprise Library provides to Microsoft product groups, our customers and partners.&lt;/p&gt;  &lt;p&gt;I would also like to use this opportunity to invite customers who would like to share their story, and be profiled on our patterns &amp;amp; practices development center page, to contact me.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921670" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category></item><item><title>Dependency Injection pattern in APIs</title><link>http://blogs.msdn.com/agile/archive/2009/11/12/dependency-injection-pattern-in-apis.aspx</link><pubDate>Fri, 13 Nov 2009 00:44:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921669</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9921669.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9921669</wfw:commentRss><description>&lt;p&gt;My colleague and friend Chris Tavares, who is the Dev Lead on Enterprise Library and Unity, published an insightful article in MSDN magazine on the usage of DI in APIs, which I highly recommend. It is based on our recent experience of doing &lt;a href="http://blogs.msdn.com/agile/archive/2009/06/25/enterprise-library-5-0-architectural-refactoring-complete.aspx"&gt;architectural refactoring&lt;/a&gt; of the Enterprise Library. It outlines our design&amp;#160; objectives and the approach taken to meet them. It concludes with lessons learnt and key considerations when designing your own API or framework.&lt;/p&gt;  &lt;p&gt;Read Chris’s article &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee335709.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921669" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/articles/default.aspx">articles</category><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/dependency+injection/default.aspx">dependency injection</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category></item><item><title>Zen and the Art of Managing Crosscutting Concerns – EntLib Dev Guide Preview</title><link>http://blogs.msdn.com/agile/archive/2009/11/12/zen-and-the-art-of-managing-crosscutting-concerns-entlib-dev-guide-preview.aspx</link><pubDate>Fri, 13 Nov 2009 00:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921699</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9921699.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9921699</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/ZenandtheArtofManagingCrosscuttingConcer_F98F/DevGuide_PDC_Preview_CSharp_Edition_small_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 20px 0px; display: inline; border-top: 0px; border-right: 0px" title="DevGuide_PDC_Preview_CSharp_Edition_small" border="0" alt="DevGuide_PDC_Preview_CSharp_Edition_small" align="left" src="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/ZenandtheArtofManagingCrosscuttingConcer_F98F/DevGuide_PDC_Preview_CSharp_Edition_small_thumb.png" width="184" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A new public preview release is now available on &lt;a href="http://entlib.codeplex.com/wikipage?title=EntLib5%20Developer%20Notes"&gt;Codeplex&lt;/a&gt;. It now includes the following chapters, revised and updated for V5.0:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Chapter 1 – Intro. Meet the Librarian &lt;/li&gt;    &lt;li&gt;Chapter 2 – Much ADO about Data Access &lt;/li&gt;    &lt;li&gt;Chapter 3 – Error Management Made Exceptionally Easy &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Your comments are invited.&lt;/p&gt;  &lt;p&gt;Stay tuned for more.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921699" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/guide/default.aspx">guide</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/learnability/default.aspx">learnability</category></item><item><title>Grigori at PDC</title><link>http://blogs.msdn.com/agile/archive/2009/11/11/grigori-at-pdc.aspx</link><pubDate>Wed, 11 Nov 2009 13:54:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920792</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9920792.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9920792</wfw:commentRss><description>&lt;p&gt;I’ll be at &lt;a href="http://microsoftpdc.com/"&gt;PDC2009&lt;/a&gt; in LA next week. I’ll be happy to meet with &lt;a href="http://entlib.codeplex.com/"&gt;EntLib&lt;/a&gt; and &lt;a href="http://unity.codeplex.com"&gt;Unity&lt;/a&gt; users as well as critics, to discuss new features of EntLib 5.0, preview the new config experience and also solicit suggestions for post v5 work.&lt;/p&gt;  &lt;p&gt;If you’d like to discuss &lt;a href="http://testingguidance.codeplex.com"&gt;acceptance testing and test automation strategies&lt;/a&gt;, I’d be interested in that too.&lt;/p&gt;  &lt;p&gt;Look for me at the p&amp;amp;p booth Mon-Thu or ping me to set specific time to meet.&lt;/p&gt;  &lt;p&gt;See you there.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920792" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category><category domain="http://blogs.msdn.com/agile/archive/tags/events/default.aspx">events</category><category domain="http://blogs.msdn.com/agile/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.msdn.com/agile/archive/tags/acceptance+testing/default.aspx">acceptance testing</category></item><item><title>p&amp;p Summit 2009: What’s coming in Enterprise Library 5.0</title><link>http://blogs.msdn.com/agile/archive/2009/10/16/p-p-summit-2009-what-s-coming-in-enterprise-library-5-0.aspx</link><pubDate>Fri, 16 Oct 2009 13:51:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908182</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9908182.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9908182</wfw:commentRss><description>&lt;p&gt;Yesterday &lt;a href="http://blogs.msdn.com/bobbrum"&gt;Bob Brumfield&lt;/a&gt; and I gave a talk on EntLib5.0 at &lt;a href="http://pnpsummit.com"&gt;p&amp;amp;p summit in Redmond&lt;/a&gt; . We’ve discussed the underlying architectural refactoring and previewed the following improvements:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Data accessors that will help you easily consume sproc results when using Data Access Application Block – instead of a data reader you get an &lt;font face="conso"&gt;IEnumerable&lt;/font&gt; back and can do all LINQ magic on it.&lt;/li&gt;    &lt;li&gt;Logging Block performance improvements due to optimizations using predefined timestamp patterns mapped to high-speed formatting implementations and new “local” tokens for context info (e.g. localMachine, localAppDomain) that we cache.&lt;/li&gt;    &lt;li&gt;Improved config experience epic which included:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;programmatic config support via fluent interface&lt;/li&gt;      &lt;li&gt;face lift of the config tool to make it more intuitive (especially when displaying relationships), simpler (by removing a lot of design time dlls) and better extensible (by simplifying the way config for custom handlers/blocks) can be plugged into the config tool)&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Honouring validation attributes in &lt;font face="Consolas"&gt;System.ComponentModel.DataAnnotations &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Getting EntLib objects in various ways :&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;via a single point of entry &lt;font face="conso"&gt;EnterpriseLibraryContainer.Current&lt;/font&gt;&lt;/li&gt;      &lt;li&gt;or injected by the container&lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;p&gt;We also demoed container independency story which allows to switch the underlying container. Out of the box, you get EntLib shipped with &lt;a href="http://msdn.com/unity"&gt;Unity&lt;/a&gt;, but if you prefer to use another DI container, now you can easily switch over.&lt;/p&gt;  &lt;p&gt;We are planning several webcasts to share these demos.&lt;/p&gt;  &lt;p&gt;In the meantime, feel free to check out our recent bits &lt;a href="http://entlib.codeplex.com/SourceControl/ListDownloadableCommits.aspx"&gt;here&lt;/a&gt; and provide feedback.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908182" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category><category domain="http://blogs.msdn.com/agile/archive/tags/events/default.aspx">events</category><category domain="http://blogs.msdn.com/agile/archive/tags/pnpsummit/default.aspx">pnpsummit</category></item><item><title>Removing WMI support from Enterprise Library</title><link>http://blogs.msdn.com/agile/archive/2009/10/13/removing-wmi-support-from-enterprise-library.aspx</link><pubDate>Tue, 13 Oct 2009 20:00:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906799</guid><dc:creator>gmelnik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/agile/comments/9906799.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9906799</wfw:commentRss><description>&lt;p&gt;In our quest to simplify EntLib’s codebase, we are considering removing WMI2 support in v5. This is based on recommendation by our Advisory board, as well as lack of usage and interest from the user community and the high development complexity to maintain WMI2 integration (the code itself as well as non-trivial environmental setup on dev and test machines).&lt;/p&gt;  &lt;p&gt;If this is something you care deeply about, please scream now. We are waiting for any scenarios that could convince us to keep WMI2 support of EntLib objects till the end of October.&lt;/p&gt;  &lt;p&gt;Note: as part of our instrumentation story, we will continue to maintain EventLog and perf counter updates.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906799" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/managability/default.aspx">managability</category><category domain="http://blogs.msdn.com/agile/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Enterprise Library reaches 2 million downloads!</title><link>http://blogs.msdn.com/agile/archive/2009/09/08/enterprise-library-reaches-2-million-downloads.aspx</link><pubDate>Wed, 09 Sep 2009 02:49:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9892878</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9892878.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9892878</wfw:commentRss><description>&lt;p&gt;Enterprise Library has a broad reach and adoption. No wonder, since it embodies many of the proven .NET development practices and ships with the code, tests and hands-on labs – lots to reuse and lots to learn from. The EntLib community has welcomed more than 2 million downloads worldwide! At least 10% of Fortune 500 companies use Enterprise Library (that’s who we know of). In addition, I’ve noticed that employers now list specifically EntLib skills in their developer job ads on monster and workopolis. &lt;/p&gt;  &lt;p&gt;To celebrate the 2M milestone, our p&amp;amp;p colleagues surprised us with a cake. A slice goes to everyone who has ever worked on application blocks or the library itself (one day I’ll be able to do a better job and acknowledge each and everyone of you!) as well as to all community members who have used EntLib, commented on it, reported bugs, suggested improvements, written extensions. It’s been five years since this effort began and the tremendous success of EntLib today is largely due to all of you! Thank you! We look forward to continuing collaboration with you.&lt;/p&gt;  &lt;p&gt;Don’t forget to check out our &lt;a href="http://entlib.codeplex.com/"&gt;Codeplex development site&lt;/a&gt; where you can see what’s coming next (in v5) and download most recent code drops.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/EnterpriseLibraryreaches2milliondownload_ECA0/Final_EntLib_2M_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="EntLib_2M_celebration" border="0" alt="EntLib_2M_celebration" src="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/EnterpriseLibraryreaches2milliondownload_ECA0/Final_EntLib_2M_thumb.jpg" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9892878" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib+Contrib/default.aspx">EntLib Contrib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category></item><item><title>EntLib/Unity Trainers</title><link>http://blogs.msdn.com/agile/archive/2009/08/14/entlib-unity-trainers.aspx</link><pubDate>Sat, 15 Aug 2009 01:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9870645</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9870645.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9870645</wfw:commentRss><description>&lt;P&gt;If you are offering industrial or academic courses or workshops&amp;nbsp;that use Enterprise Library or Unity, I hope you are already taking advantage of our updated &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ab3f2168-fea1-4fc2-b40c-7867d99d4b6a"&gt;&lt;FONT color=#006bad&gt;Hands-On Labs&lt;/FONT&gt;&lt;/A&gt;. I would like to know what else&amp;nbsp;we could do to better support you and the learners.&lt;/P&gt;
&lt;P&gt;Please reply to&amp;nbsp;this post or ping me directly. You may also want to send me your syllabus and we’ll consider profiling you under the Learning section of our &lt;A href="http://entlib.codeplex.com/"&gt;&lt;FONT color=#006bad&gt;Codeplex site&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;- Grigori&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870645" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category><category domain="http://blogs.msdn.com/agile/archive/tags/labs/default.aspx">labs</category><category domain="http://blogs.msdn.com/agile/archive/tags/ease+of+use/default.aspx">ease of use</category><category domain="http://blogs.msdn.com/agile/archive/tags/learnability/default.aspx">learnability</category><category domain="http://blogs.msdn.com/agile/archive/tags/training/default.aspx">training</category></item><item><title>Showcasing patterns &amp; practices’ goodness</title><link>http://blogs.msdn.com/agile/archive/2009/08/13/showcasing-patterns-practices-goodness.aspx</link><pubDate>Fri, 14 Aug 2009 07:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9869353</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9869353.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9869353</wfw:commentRss><description>&lt;P&gt;These are some of the events I’ll be presenting at in the next couple of months:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Patterns &amp;amp; Practices Conference Ukraine, Kiev, Sep 16, 2009 (&lt;A href="http://www.pnp.in.ua/" mce_href="http://www.pnp.in.ua"&gt;www.pnp.in.ua&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Patterns &amp;amp; Practices Summit Russia, Moscow, Sep 22, 2009 (&lt;A href="http://www.pnpsummit.ru/" mce_href="http://www.pnpsummit.ru"&gt;www.pnpsummit.ru&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Patterns &amp;amp; Practices Summit Redmond, Oct 12-16, 2009 (&lt;A href="http://www.pnpsummit.com/" mce_href="http://www.pnpsummit.com"&gt;www.pnpsummit.com&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;TechEd EMEA, Berlin, Nov 9-13, 2009 (&lt;A href="http://www.msteched.com/" mce_href="http://www.msteched.com"&gt;www.msteched.com&lt;/A&gt;) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Whether you are using Enterprise Library or any other p&amp;amp;p asset, I’d be happy to chat with you about your experience. Look forward to it! &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 251px; HEIGHT: 51px" title="pnp summit Redmond" border=0 hspace=5 alt="pnp summit Redmond" vspace=5 src="http://blogs.msdn.com/blogfiles/ajoyk/WindowsLiveWriter/BecomeaFanofppsummit_1499A/clip_image019_2.jpg" width=251 height=51 mce_src="http://blogs.msdn.com/blogfiles/ajoyk/WindowsLiveWriter/BecomeaFanofppsummit_1499A/clip_image019_2.jpg"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9869353" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://blogs.msdn.com/agile/archive/tags/events/default.aspx">events</category></item><item><title>Unity 2.0 container update</title><link>http://blogs.msdn.com/agile/archive/2009/07/16/unity-2-0-container-update.aspx</link><pubDate>Thu, 16 Jul 2009 21:18:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9835910</guid><dc:creator>gmelnik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/agile/comments/9835910.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9835910</wfw:commentRss><description>&lt;p&gt;Our latest work on Unity 2.0 is available on &lt;a href="http://unity.codeplex.com/SourceControl/ListDownloadableCommits.aspx"&gt;Codeplex&lt;/a&gt; (see &lt;a href="http://unity.codeplex.com/SourceControl/changeset/view/28516"&gt;change set 28516&lt;/a&gt;). This is the first work we’ve done on Unity as part of the &lt;a href="http://blogs.msdn.com/agile/archive/2009/04/16/enterprise-library-5-0-product-backlog-prioritization-results.aspx"&gt;EntLib5.0 effort&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Major changes in this drop include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ObjectBuilder2 DLL is now gone. The code is now completely contained in the Unity assembly, and you won't need to reference OB2 anymore in your projects using Unity. Over time the ObjectBuilder stuff is going to lose a lot of it's generality and be just the underpinnings for the container. &lt;/li&gt;    &lt;li&gt;We're taking a first cut at fixing our exception messages. All the extra &lt;font face="Lucida Console"&gt;BuildFailedException&lt;/font&gt;’s that ended up in the inner exception tree are now GONE. Instead, you get a top level ResolutionFailedException, and the InnerException is the actual exception that caused resolution to fail. And the exception message has been reformatted significantly to hopefully get a better description of what the container was doing, and how it ended up where it did, when the error occurred. This is in response to user feedback to provide better error messaging in Unity. We consider this to be a significant improvement, but still need your feedback. In particular, we look forward to specific suggestions about how we could change the messages to be even more descriptive and intuitive. Please reply to this post or via &lt;a href="http://unity.codeplex.com/Thread/View.aspx?ThreadId=62292"&gt;Codeplex discussion thread&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Silverlight projects are now updated to Silverlight 3. &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9835910" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/dependency+injection/default.aspx">dependency injection</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category><category domain="http://blogs.msdn.com/agile/archive/tags/new+release/default.aspx">new release</category><category domain="http://blogs.msdn.com/agile/archive/tags/user+experience/default.aspx">user experience</category></item><item><title>Acceptance Test Engineering Guide, volume 1 BETA2 release</title><link>http://blogs.msdn.com/agile/archive/2009/06/30/acceptance-test-engineering-guide-volume-1-beta2-release.aspx</link><pubDate>Wed, 01 Jul 2009 03:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9810189</guid><dc:creator>gmelnik</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/agile/comments/9810189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9810189</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/AcceptanceTestEngineeringGuidevolume1BET_F57E/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 15px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/AcceptanceTestEngineeringGuidevolume1BET_F57E/image_thumb.png" width="248" height="323" /&gt;&lt;/a&gt; Today I am pleased to announce the release of the beta2 of the first volume of our &lt;a href="http://testingguidance.codeplex.com"&gt;Acceptance Test Engineering Guide&lt;/a&gt;. We are getting closer to “done”.&lt;/p&gt;  &lt;p&gt;As it became apparent that the primary reader personas for each part in the original guide (that was released as &lt;a href="http://testingguidance.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18914"&gt;beta1&lt;/a&gt;) were different&amp;#160; and the size of the guide was approaching 800 pages, we decided to split it into 3 volumes. It allows us to ship Volume I sooner while finishing Volume II and III. Incremental delivery for the win! &lt;/p&gt;  &lt;p&gt;Based on the first round of reviews, Volume I has undergone some serious rewriting (especially, the Gating model, which is now called the Acceptance Process Model) and the entire new chapters were added (Part II – Perspectives on Acceptance). &lt;/p&gt;  &lt;p&gt;Here’s the current structure of the guide:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Volume I &lt;/b&gt;provides an overview of the acceptance process and how acceptance testing and other key practices fit into the process. This volume is intended to be read from beginning to end. It is subdivided into three main parts:&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;&lt;b&gt;Part I – Thinking about Acceptance&lt;/b&gt; explains six mental models that are useful when thinking about the acceptance process. &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Chapter 1 The Acceptance Process&lt;/li&gt;        &lt;li&gt;Chapter 2 Decision-Making Model&lt;/li&gt;        &lt;li&gt;Chapter 3 Project Context Model&lt;/li&gt;        &lt;li&gt;Chapter 4 System Requirements Model&lt;/li&gt;        &lt;li&gt;Chapter 5 Risk Model&lt;/li&gt;        &lt;li&gt;Chapter 6 Doneness Model&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;b&gt;Part II – Perspectives on Acceptance&lt;/b&gt; describes the acceptance process from the perspectives of key stakeholders in two different kinds of organizations: the Information Technology Department in a business and the Product Development Company. Most readers involved in the acceptance process should find some commonality with at least one of the roles describes.&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Chapter 7 Business Lead’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 8 Product Manager’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 9 Test Manager’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 10 Development Manager’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 11 User Experience Specialist’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 12 Operations Manager’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 13 Solution Architect’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 14 Enterprise Architect’s Perspective&lt;/li&gt;        &lt;li&gt;Chapter 15 Legal Perspective&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;b&gt;Part III – Accepting Software&lt;/b&gt; introduces the practices that are necessary for planning the acceptance process, for performing acceptance testing and for improving the acceptance process. &lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Chapter 16 Planning for Acceptance&lt;/li&gt;        &lt;li&gt;Chapter 17 Assessing Software&lt;/li&gt;        &lt;li&gt;Chapter 18 Managing the Acceptance Process&lt;/li&gt;        &lt;li&gt;Chapter 19 Streamlining the Acceptance Process&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Volume II&lt;/b&gt; is a collection of what we call &lt;i&gt;thumbnails&lt;/i&gt; that describe the practices introduced in Volume I in more detail. A thumbnail is a short overview of a practice that explains what it is, when you may want to use it, the risks that it mitigates, and an overview of how to perform the practice. Thumbnails also include a list of references to papers, books, and other resources that provide more complete descriptions of the practices in question. The main purpose of a thumbnail is to describe a topic well enough to provide an overview, serve as a mental reminder for someone who has used the practice on how to do it, and give someone unfamiliar with the practice enough information about the practice and its applicability to determine if they want to learn more about it. Some of these topics and practices have entire books written about them that describe the concepts in greater detail and depth than this guide could possibly do. Volume II is intended to be used as a reference; most readers will not read it from beginning to end.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Volume III&lt;/b&gt;. This volume is a collection of sample artifacts generated by applying different practices in a fictional but realistic situation for the fictional company Global Bank. These artifacts are embedded in a series of case studies of what the Global Bank team may have produced while building the application. The case studies provide some context to the individual artifacts. They also provide cross-references to the practices described in Volume II. The artifacts are intended to be used as way to learn more about how to perform a practice; they can also be used as templates for your own artifacts.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As always, we look forward to your feedback! Feel free to submit it through the &lt;a href="http://testingguidance.codeplex.com/"&gt;Codeplex site&lt;/a&gt; (Issue Tracker or Discussion Forum) or simply &lt;a href="http://blogs.msdn.com/agile/contact.aspx"&gt;email it to me&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9810189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/intro/default.aspx">intro</category><category domain="http://blogs.msdn.com/agile/archive/tags/guide/default.aspx">guide</category><category domain="http://blogs.msdn.com/agile/archive/tags/acceptance+tests/default.aspx">acceptance tests</category><category domain="http://blogs.msdn.com/agile/archive/tags/software+acceptance/default.aspx">software acceptance</category><category domain="http://blogs.msdn.com/agile/archive/tags/readiness+assessment/default.aspx">readiness assessment</category><category domain="http://blogs.msdn.com/agile/archive/tags/new+release/default.aspx">new release</category><category domain="http://blogs.msdn.com/agile/archive/tags/acceptance+testing/default.aspx">acceptance testing</category></item><item><title>Enterprise Library 5.0: Architectural refactoring complete</title><link>http://blogs.msdn.com/agile/archive/2009/06/25/enterprise-library-5-0-architectural-refactoring-complete.aspx</link><pubDate>Fri, 26 Jun 2009 01:19:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9804389</guid><dc:creator>gmelnik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/agile/comments/9804389.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9804389</wfw:commentRss><description>&lt;p&gt;The highest priority story in the &lt;a href="http://blogs.msdn.com/agile/archive/2009/04/16/enterprise-library-5-0-product-backlog-prioritization-results.aspx"&gt;EntLib5 backlog&lt;/a&gt; is ARC01: Architectural refactoring, which includes the use of a dependency injection container for wiring your EntLib objects instead of the one-off ObjectBuilder factories and DI container independence (to allow other containers such Spring.NET, Castle/Windsor, StructureMap, Ninject etc. to be used instead of Unity if you prefer so). This work is now complete. For details of this architectural update, please see an easy-to-read &lt;a href="http://blogs.msdn.com/bobbrum/archive/2009/06/23/enterprise-library-5-0-some-architecture-changes.aspx"&gt;summary by Bob Brumfield&lt;/a&gt;. We also touch on this in the channel9 &lt;a href="http://blogs.msdn.com/agile/archive/2009/06/25/video-on-what-s-coming-in-entlib-5-0.aspx"&gt;video&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As usual, the updated bits are available for preview on Codeplex - &lt;a title="http://entlib.codeplex.com/SourceControl/ListDownloadableCommits.aspx" href="http://entlib.codeplex.com/SourceControl/ListDownloadableCommits.aspx"&gt;http://entlib.codeplex.com/SourceControl/ListDownloadableCommits.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9804389" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/extensibility/default.aspx">extensibility</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/Unity/default.aspx">Unity</category><category domain="http://blogs.msdn.com/agile/archive/tags/ease+of+use/default.aspx">ease of use</category></item><item><title>Video on what’s coming in EntLib 5.0</title><link>http://blogs.msdn.com/agile/archive/2009/06/25/video-on-what-s-coming-in-entlib-5-0.aspx</link><pubDate>Fri, 26 Jun 2009 01:01:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9804364</guid><dc:creator>gmelnik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/agile/comments/9804364.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9804364</wfw:commentRss><description>&lt;p&gt;In this channel9 video, Chris and I give a 10,000 ft view on what’s coming in EntLib5.0. For details, consult our &lt;a href="http://blogs.msdn.com/agile/archive/2009/04/16/enterprise-library-5-0-product-backlog-prioritization-results.aspx"&gt;product backlog&lt;/a&gt;.&lt;/p&gt; &lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/469919/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/469919/player/"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9804364" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/talks/default.aspx">talks</category><category domain="http://blogs.msdn.com/agile/archive/tags/webcasts/default.aspx">webcasts</category><category domain="http://blogs.msdn.com/agile/archive/tags/videos/default.aspx">videos</category><category domain="http://blogs.msdn.com/agile/archive/tags/plans/default.aspx">plans</category><category domain="http://blogs.msdn.com/agile/archive/tags/user+experience/default.aspx">user experience</category></item><item><title>Thoughts on improving performance of the Logging Application Block</title><link>http://blogs.msdn.com/agile/archive/2009/06/19/thoughts-on-improving-performance-of-the-logging-application-block.aspx</link><pubDate>Fri, 19 Jun 2009 20:16:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9790831</guid><dc:creator>gmelnik</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/agile/comments/9790831.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9790831</wfw:commentRss><description>&lt;p&gt;EntLib5 team is working on improving performance of the logging block (story LAB02 in our &lt;a href="http://blogs.msdn.com/agile/archive/2009/04/16/enterprise-library-5-0-product-backlog-prioritization-results.aspx"&gt;product backlog&lt;/a&gt;).&amp;#160; We’ve identified that message formatting in particular takes substantial amount of time based on our own performance tests and customer reports. So, we are considering alternatives. One of them is improving performance of the formatting operations and another one is doing formatting and logging asynchronously, thus offloading the formatting work to a separate thread and improving perceived performance. Note, this discussion is not about optimizing the message formatting mechanism, which we may address separately.&lt;/p&gt;  &lt;p&gt;Our intention is to implement these improvements on the &lt;strong&gt;opt-in&lt;/strong&gt; basis to preserve the default behavior of the Logging Block consistent with the previous versions of the EntLib.&lt;/p&gt;  &lt;p&gt;Here are the possible &lt;b&gt;limitations&lt;/b&gt; we’ve identified when doing formatting and logging asynchronously:&lt;/p&gt;  &lt;p&gt;1. When using the Logging Block, it is possible to utilize non-EntLib-specific .NET trace listeners (such as console, debug, eventlog, etc.). These trace listeners use TraceEventCache object to obtain context information, including thread-specific information, which we cannot control. This means that performing the logging operation in a thread different than the originating one may result in the log entry that has inaccurate context information.&lt;/p&gt;  &lt;p&gt;2. Besides, the TraceEventCache also supplies the call stack, which we can force to be pre-computed in the originating thread. However, this turns out to be very expensive and likely be a waste since not all trace listeners would require it. Options include:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. Pre-compute always&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;b. User elects to pre-compute via configuration&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;c. Add logic to the block to determine whether pre-compute is necessary based on the configuration of the trace listeners&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;u&gt;Note,&lt;/u&gt; this is not the call stack you would care about when logging exceptions through the LoggingHandler of the Exception Handling Application Block. In this scenario, the actual message (together with the call stack) gets formed before a call to the Logging Block is even made.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3. With this approach, there is no guarantee that all log entries are effectively logged. For example, if a log entry posted just before the application terminates, it’s possible that the logging thread may not complete its processing.&lt;/p&gt;  &lt;p&gt;We’d like to understand which logging characteristics you care about. Among the following, please &lt;b&gt;&lt;u&gt;select top 3&lt;/u&gt;&lt;/b&gt; that matter to you:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;A. &lt;/i&gt;&lt;i&gt;Maintain the chronological order of log entries&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;B. &lt;/i&gt;&lt;i&gt;Avoid depletion of the thread pool&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;C. &lt;/i&gt;&lt;i&gt;Minimize the lag time between post of the log entry and its persistence (this would reduce the risk of losing posted entries)&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;D. &lt;/i&gt;&lt;i&gt;Start throttling to avoid unbound memory consumption&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;E. &lt;/i&gt;&lt;i&gt;Ability to provide custom logging strategies (such as async logging) to be plugged-in&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;F. &lt;/i&gt;&lt;i&gt;Ability to elect which categories/trace listeners use async or sync logging mechanism&amp;#160;&amp;#160; &lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Based on relative importance of these choices, we will select a design direction ranging from using the thread pool to implementing more sophisticated thread and data management.&lt;/p&gt;  &lt;p&gt;With your votes (feel free to reply to this post or send Grigori an &lt;a href="http://blogs.msdn.com/agile/contact.aspx"&gt;email&lt;/a&gt;), please describe the context driving your choices and any other comments or concerns we may have overlooked.&lt;/p&gt;  &lt;p&gt;We would appreciate your rapid feedback – if you care for this story, please do not wait with your response.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9790831" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/agile/archive/tags/EntLib/default.aspx">EntLib</category><category domain="http://blogs.msdn.com/agile/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/agile/archive/tags/performance/default.aspx">performance</category><category domain="http://blogs.msdn.com/agile/archive/tags/LAB/default.aspx">LAB</category><category domain="http://blogs.msdn.com/agile/archive/tags/logging/default.aspx">logging</category></item><item><title>Taking User Experience Seriously</title><link>http://blogs.msdn.com/agile/archive/2009/05/14/taking-user-experience-seriously.aspx</link><pubDate>Thu, 14 May 2009 09:14:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9614425</guid><dc:creator>gmelnik</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/agile/comments/9614425.aspx</comments><wfw:commentRss>http://blogs.msdn.com/agile/commentrss.aspx?PostID=9614425</wfw:commentRss><description>&lt;p&gt;As I have mentioned in my previous &lt;a href="http://blogs.msdn.com/agile/archive/2009/04/16/enterprise-library-5-0-product-backlog-prioritization-results.aspx" target="_blank"&gt;posts&lt;/a&gt;, over the years, Enterprise Library grew large (it now includes 9 application blocks), and arguably more complex than it really needs to be. With v5, we are focusing on enhanced user experience, simplicity, and learnability. We are tackling these goals from several dimensions: architectural refactoring to simplify our code base and make it easier for users to extend EntLib; improving our config experience through the config tool; and writing more approachable guides. Let me describe these in a bit more detail.  &lt;h4&gt;Simplifying the underlying architecture&lt;/h4&gt; &lt;p&gt;The creation of EntLib objects is, on the surface, pretty simple. You call into the appropriate factory, stuff happens, the current configuration is read, and the appropriate instances are returned to you. Of course, the aforementioned “stuff” gets rather complex. Every EntLib object requires the object itself, a Data class describing the configuration, a custom factory class, and (usually) an assembler class, plus a bunch of attributes scattered around to wire them all up together. Maintaining all these moving parts can be challenging to the uninitiated, and this is a major barrier to people who want to build their own blocks or extensions.  &lt;p&gt;At its heart, the ObjectBuilder infrastructure (and the factories and assemblers, etc.) was really a very specialized dependency injection framework. With the basic idea of DI moving into the mainstream, we took the opportunity to revisit this design. We are replacing all our custom object creation infrastructure with a dependency injection container plus methods that properly configure the container. The net result is the removal of a lot of moving parts, which simplifies the codebase significantly. You no longer have to wade through quite so much infrastructure to get to the real meat of what Entlib is doing. And switching to a full-featured DI container also gives us much more flexibility, both in Entlib and in how it interacts with your applications.  &lt;h4&gt;Usability of the config tool experience&lt;/h4&gt; &lt;p&gt;The config tool (available as a standalone application, or as an integrated configuration editor with Visual Studio starting with EntLib v3) was a major step forward in creating, modifying, and validating application block settings. No one wants to manually tweak xml configuration. The tool has not undergone any major changes since v1. It uses a tree-based interface that, according to some anecdotal evidence, users find not very intuitive. There also seem to be some conceptual barriers in connecting various parts. We would like to understand the current user experience and improve it in v5, specifically in regards to:  &lt;ul&gt; &lt;li&gt;&lt;b&gt;Approachability and usability&lt;/b&gt;. Important goals are increasing &lt;b&gt;efficiency of use&lt;/b&gt; and &lt;b&gt;reducing pain points &lt;/b&gt;associated with common tasks.  &lt;li&gt;&lt;b&gt;Extensibility&lt;/b&gt; is a key feature of EntLib. The new design for the configuration tool must be robust and flexible enough to support multiple types of user customization and also scale with future EntLib releases.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In order to do this methodically, we are partnering with seasoned user experience researchers (&lt;i&gt;Kelly Franznick&lt;/i&gt; and &lt;i&gt;Jen Amsterlaw &lt;/i&gt;of Blink Interactive) and executing on the following plan:  &lt;blockquote&gt; &lt;p&gt;1) &lt;b&gt;Baseline usability testing of the v4.1 config tool&lt;/b&gt;. This is needed to identify areas for improvement, and as a standard to compare to the new tool, once it is designed and implemented. We are targeting .NET developers who are fairly new to EntLib (1-3 months of experience) and IT Operations/Admins who are new to EntLib. By asking users to perform specific tasks in a controlled and moderated setting, we are focusing on specific areas of concern, including processes that require conceptual understanding to assess learning curve issues. &lt;b&gt;We are currently doing this at TechEd in LA. If you are interested in participating, stop by the p&amp;amp;p booth on the exhibit floor (blue area).&lt;/b&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;2) &lt;b&gt;User research.&lt;/b&gt; This will involve interviewing existing end users to understand their goals, motivations, and perceptions of the overall EntLib experience. Together with the results of the baseline usability testing, the user research will inform the next phase, which will focus on interaction design.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;3) &lt;b&gt;Interaction design&lt;/b&gt;. During this phase, three distinct concepts will be designed to reflect the major workflows of the EntLib improved config. These will be presented in the form of wireframe prototypes.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;4) &lt;b&gt;Prototype usability testing&lt;/b&gt; will test these prototypes.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Based on the results of these studies, we will analyze the feasibility of implementing the best prototype and build the new tool. I will keep the community updated about how these activities are going.  &lt;h4&gt;Learnability&lt;/h4&gt; &lt;p&gt;&lt;a href="http://entlib.codeplex.com/Wiki/View.aspx?title=EntLib5%20Developer%20Notes"&gt;&lt;img title="DeveloperNotes_Preview" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 10px 30px; border-left: 0px; border-bottom: 0px" height="420" alt="DeveloperNotes_Preview" src="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/TakingUserExperienceSeriously_145AB/DeveloperNotes_Preview_1.png" width="322" align="right" border="0"&gt;&lt;/a&gt; Our current set of docs includes over 1000 pages. We understand that no one has time to read all of that information, some of which has more details that most users need. To address this, we are experimenting with a new style of documentation — &lt;b&gt;Developer Notes&lt;/b&gt;. These are written in a more informal, conversational style, are task based and are meant to be more approachable. The key here is for users to be able to quickly find out how to do common tasks with EntLib (thus, we are limiting the size of the guide to be under 200 pages total). &lt;b&gt;&lt;i&gt;Chapter 1. Meet the Librarian&lt;/i&gt;&lt;/b&gt; and &lt;b&gt;&lt;i&gt;Chapter 3. Error Management Made Exceptionally Easy&lt;/i&gt;&lt;/b&gt; are available for &lt;a href="http://entlib.codeplex.com/Wiki/View.aspx?title=EntLib5%20Developer%20Notes"&gt;preview&lt;/a&gt; and public commenting.  &lt;p&gt;The first 50 people who provide thoughtful feedback will receive a complete copy of the book once it is out.  &lt;p&gt;Hope these three initiatives give you a good indication of how seriously the EntLib team takes user experience. If you have other suggestions, we welcome them as well.  &lt;p&gt;Back to TechEd crowd now…  &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9614425" width="1" height="1"&gt;</description></item></channel></rss>