<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
  <channel>
    <title>Wat zeggen de experts?</title>
    <description>Pipes Output</description>
    <link>http://pipes.yahoo.com/pipes/pipe.info?_id=c6914693469ec512a08f33d6b716befd</link>
    <pubDate>Thu, 11 Mar 2010 05:24:23 -0800</pubDate>
    <generator>Microsoft NL FeedMixer</generator>
    <item>
      <title>VS2010 TMap Testing Template | Initial Work Items #1</title>
      <link>http://www.clemensreijnen.nl/post/2010/03/10/VS2010-TMap-Testing-Template-7c-Initial-Work-Items-1.aspx</link>
      <description>&lt;p&gt;During the unfolding of the &lt;a rel="nofollow" target="_blank" href="http://tmap.codeplex.com/"&gt;TMap for VS2010 process template&lt;/a&gt;, several pre-defined work items are created for the test organization. These work items helps the test organization to start structured test process with a &lt;a rel="nofollow" target="_blank" href="http://tmap.codeplex.com/wikipage?title=Master%20test%20plan&amp;amp;referringTitle=Documentation"&gt;Master Test Plan&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;When starting a testing effort first several things needs to be in place… we need to understand the assignment, determine what we are going to test what are the risks, etc… the first four steps in the image below.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/46AD806C/BDTMsteps.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="BDTM steps" border="0" alt="BDTM steps" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/0B79A4A1/BDTMsteps_thumb.png" width="423" height="513"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Beside these steps also decisions needs to be taken about what to test where, you don’t want to loose money by testing things twice. As described in the &lt;a rel="nofollow" target="_blank" href="http://eng.tmap.net/Home/Around_TMap/index.jsp"&gt;TMap Next book&lt;/a&gt;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;The type of system and/or development approach and/or test policy determine which forms of which test levels are best used. For iterative system development, for instance, a thorough acceptance test is less obvious. This is because the quality from the user perspective has already been tested in previous test levels. However, for package implementations there is a far greater emphasis on a thorough acceptance test. The risks here are focused on the implementation of the package in the organization, a typical acceptance test aspect.&lt;/em&gt;&amp;#160; &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;So, topics covered by &lt;a rel="nofollow" target="_blank" href="http://tmap.codeplex.com/wikipage?title=Master%20test%20plan&amp;amp;referringTitle=Documentation"&gt;the master test plan&lt;/a&gt; can be:&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/179B1EC8/mtp.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="mtp" border="0" alt="mtp" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/0FA37C66/mtp_thumb.png" width="864" height="304"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr /&gt; &lt;p&gt;All these activities are described in detail in the TMap Next book, and you also get these steps when using the TMap for VS2010 process template, as initial work items.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/073FA70F/WAWI.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="WA WI" border="0" alt="WA WI" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/51E66EDC/WAWI_thumb.png" width="874" height="563"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;These Master Test Plan activities got descriptive guidance attached to it. Accessible by using Microsoft Test Manager 2010, Visual Studio 2010 or the TFS 2010 Web Access tool, helping every role, to understand the assignment, the activities and test goals.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/14D2177D/mtmini.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="mtm ini" border="0" alt="mtm ini" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/7F93EC07/mtmini_thumb.png" width="863" height="584"/&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;[Microsoft Test Manager 2010 | Initial Master Test Plan Work Items with guidance]&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/53B3724B/VSini.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="VS ini" border="0" alt="VS ini" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/25797691/VSini_thumb.png" width="861" height="633"/&gt;&lt;/a&gt;&lt;em&gt;[Visual Studio 2010 | Initial Master Test Plan Work Items with guidance]&lt;/em&gt;&amp;#160; &lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/64A77A61/waini.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="wa ini" border="0" alt="wa ini" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010TMapTestingTemplateInitialWorkItem/36014BB2/waini_thumb.png" width="863" height="716"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;[ TFS 2010 Web Access | Initial Master Test Plan Work Items with guidance]&lt;/em&gt;&amp;#160;&amp;#160; &lt;/p&gt; &lt;p&gt;So, when the project starts the guy / girl with the Test Manager role has to assign the different tasks to the right team members to complete the Master Test Plan. &lt;/p&gt; &lt;p&gt;In a following post [probably not the next one] some Word and Excel templates which support these tasks and can be found at the project portal. First a planned post about initial work items for planning the infrastructure.&lt;/p&gt; &lt;hr /&gt;&lt;font color="#c60909"&gt;If you want to keep up to date about TMap testing and the VS2010 process template, send me an &lt;/font&gt;&lt;a rel="nofollow" target="_blank" href="mailto:Clemens.Reijnen@Sogeti.nl"&gt;&lt;font color="#000080"&gt;email&lt;/font&gt;&lt;/a&gt; with your name and organization&lt;font color="#c60909"&gt;&lt;font color="#000080"&gt;.&lt;/font&gt; Beside this blog and our the &lt;/font&gt;&lt;a rel="nofollow" target="_blank" href="http://tmap.codeplex.com/"&gt;&lt;font color="#c60909"&gt;TMap codeplex&lt;/font&gt;&lt;/a&gt;&lt;font color="#c60909"&gt; site we have a community of users, to exchange ideas, usages stories and additional updates of the template en testing practices.&lt;/font&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=a00d744f-f141-46d9-aca9-057925dcdb5c</guid>
      <pubDate>Wed, 10 Mar 2010 00:54:14 -0800</pubDate>
    </item>
    <item>
      <title>TMap for VS2010 Testing Process Template RC published on Codeplex.</title>
      <link>http://www.clemensreijnen.nl/post/2010/03/09/TMap-for-VS2010-Testing-Process-Template-RC-published-on-Codeplex.aspx</link>
      <description>&lt;p&gt;&lt;em&gt;A bit later as planned, due to &lt;/em&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/post/2010/01/14/Broken-lege280a6.aspx"&gt;&lt;em&gt;my broken leg&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Just checked in the RC version of the TMap for VS2010 process template… &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://tmap.codeplex.com/"&gt;Downloaded it from &lt;strong&gt;TMap.Codeplex.com&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TMapforVS2010TestingProcessTemplateRCpu/2ECF546E/codeplex.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="codeplex" border="0" alt="codeplex" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TMapforVS2010TestingProcessTemplateRCpu/11998697/codeplex_thumb.png" width="832" height="670"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Still a lot of work to do, specially on the documentation and reporting part [lucky me, my colleagues from Sogeti US, &lt;a rel="nofollow" target="_blank" href="http://mskold.blogspot.com/"&gt;Sweden&lt;/a&gt; and other Sogeti countries are helping me]. But still, the documentation section is a very good starting point when you want to discover the TMap processes for VS2010. &lt;/p&gt; &lt;p&gt;Later this week I will post some more content.&lt;/p&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=7ea5140f-919b-43c6-86a9-7a146937f916</guid>
      <pubDate>Tue, 09 Mar 2010 05:22:47 -0800</pubDate>
    </item>
    <item>
      <title>Speaking at Dutch DevDays and Danish ALM Day</title>
      <link>http://www.clemensreijnen.nl/post/2010/03/07/Speaking-at-Dutch-DevDays-and-Danish-ALM-Day.aspx</link>
      <description>&lt;p&gt;Will be speaking at the Dutch DevDays [about VS2010 general/practical usages] and Danish ALM Day [about TMap for VS2010] in March/April. &lt;/p&gt; &lt;p&gt;The Hague, The Netherlands &lt;br /&gt;March 30-31, 2010 &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.devdays.nl/Default.aspx?pid=72&amp;amp;lang=nl"&gt;DevDays 2010&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;[update]&lt;br /&gt;Will give the interactive session "ALM Best Practices: Modeling the Showcase Application" with @Edwb (www.edwardbakker.nl) and the session "ALM Best Practices: Testing the Showcase Application" with www.RobKuijt.nl.&amp;nbsp;&lt;span class="Apple-style-span" style="font-weight:normal;"&gt;&lt;strong&gt;Rob is a real tester, who will give an interesting look in the world of the tester.&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/switzerland/msdn/de/techdays/Default.aspx"&gt;&lt;/a&gt;&lt;/p&gt; Copenhagen, Denmark &lt;br /&gt;April 9, 2010 &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/da-dk/ff458633.aspx"&gt;ALM Day 2010&lt;/a&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Not as much as &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/briankel/archive/2010/03/04/my-march-april-2010-speaking-dates.aspx"&gt;Brian Keller&lt;/a&gt; [4 weeks, 7 countries, 25+ sessions, 1 suitcase&amp;hellip;]&amp;hellip; looking forward to it, specially because I can travel again and almost can walk without crutches. So, I can do my talks standing with my hands on the keyboard without falling.&lt;/p&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=52768a05-5757-4cb0-997e-df17b21e6c20</guid>
      <pubDate>Sat, 06 Mar 2010 23:14:00 -0800</pubDate>
    </item>
    <item>
      <title>Test Tool Checklists - TMAP NEXT DOWNLOADS</title>
      <link>http://www.clemensreijnen.nl/post/2010/02/01/Test-Tool-Checklists-TMAP-NEXT-DOWNLOADS.aspx</link>
      <description>&lt;p&gt;Some interesting downloads from my test expert colleagues… &lt;br /&gt;Beside you can find these documents on our &lt;a rel="nofollow" target="_blank" href="http://www.TMap.NET"&gt;www.TMap.NET&lt;/a&gt; site all these templates and checklists also have a place in the TMap Process Template for VS2010 [which can be found at &lt;a rel="nofollow"&gt;TMap.Codeplex.com&lt;/a&gt;].&lt;/p&gt; &lt;table border="0" cellspacing="0" cellpadding="2" width="700"&gt;&lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="42"&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/108CCD97/excel.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="excel" border="0" alt="excel" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/7AC2E539/excel_thumb.png" width="82" height="89"/&gt;&lt;/a&gt; &lt;/td&gt; &lt;td valign="top" width="658"&gt;&lt;a rel="nofollow" target="_blank" href="http://eng.tmap.net/Images/TMap%2Enet%20Overview%20Tools%20per%20TMap%20activity%20(ENG)_tcm9-34001.xls"&gt;Overview "Tools per TMap activity"&lt;/a&gt; &lt;br /&gt;TMap has a lot of test specific activities in this Excel sheet you can see a link between these activities and the tool categories. Interesting to map Visual Studio with Test Professional 2010 to it,&amp;#160; it almost fulfills every category.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="42"&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/2F634175/word.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="word" border="0" alt="word" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/39B465D5/word_thumb.png" width="81" height="90"/&gt;&lt;/a&gt; &lt;/td&gt; &lt;td valign="top" width="658"&gt;&lt;a rel="nofollow" target="_blank" href="http://eng.tmap.net/Images/Checklist%20Intake%20Test%20tools%20TMap%20Next%20v1%2E0_tcm9-48471.doc"&gt;Checklist "Intake Test Tools"&lt;/a&gt; &lt;br /&gt;After your test tool selection this is a nice checklist when setting up your test environments.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="42"&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/353DE50E/excel.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="excel" border="0" alt="excel" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/78A5E670/excel_thumb.png" width="82" height="89"/&gt;&lt;/a&gt;&lt;/td&gt; &lt;td valign="top" width="658"&gt;&lt;a rel="nofollow" target="_blank" href="http://eng.tmap.net/Images/Checklist%20Test%20environment%20TMap%20Next%20v1%2E0_tcm9-47160.doc"&gt;Checklist "Test Environment"&lt;/a&gt; &lt;br /&gt;Nice checklist when setting up your Lab environment with Lab Manager.&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="42"&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/7F58EFF3/word.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="word" border="0" alt="word" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/4C88E97F/word_thumb.png" width="76" height="84"/&gt;&lt;/a&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TestToolChecklistsTMAPNEXTDOWNLOADS/353DE50E/excel.png"&gt;&lt;/a&gt;&lt;/td&gt; &lt;td valign="top" width="658"&gt;&lt;a rel="nofollow" target="_blank" href="http://www.tmap.net/Images/TMap%2Enet%20Test%20tool%20selection%20criteria%20NED_tcm8-39829.doc"&gt;Overzicht "Test Tool selection criteria"&lt;/a&gt; [Test Tool Selection Criteria]. Combined with the “tools per TMap activity” will give you a nice capability overview of your test tools… &lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;More in the process template and on the TMap site.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt; &lt;/div&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=ea9dcc3b-796b-4f27-a52e-3f610a5e42fa</guid>
      <pubDate>Mon, 01 Feb 2010 00:59:26 -0800</pubDate>
    </item>
    <item>
      <title>VS2010 Architecture Explorer Analyzers</title>
      <link>http://www.clemensreijnen.nl/post/2010/01/18/VS2010-Architecture-Explorer-Analyzers.aspx</link>
      <description>&lt;p&gt;DGML, the new VS2010 visualization technology has capabilities to render graphs. Graphs like dependencies between classes, inheritance graphs, custom graph, you actually can visualize any relation you want. &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/camerons/default.aspx"&gt;Cameron Skinner&lt;/a&gt; has posts about DGML and &lt;a rel="nofollow" target="_blank" href="http://www.lovettsoftware.com"&gt;Chris Lovett&lt;/a&gt; has some great video’s.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/380608B0/4.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="4" border="0" alt="4" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/081B4122/4_thumb.png" width="820" height="367"/&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;[class dependencies &lt;a rel="nofollow" target="_blank" href="http://uml2doc.codeplex.com/"&gt;uml2doc.codeplex.com&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;Now the interesting thing is that you can analyze these graphs. In the image below you see the analyzers; &lt;font color="#ff0000"&gt;Circular References&lt;/font&gt; – &lt;font color="#008080"&gt;Hub&lt;/font&gt; – &lt;font color="#800040"&gt;Unreferenced&lt;/font&gt;. &lt;br /&gt;The purple classes are unreferenced which probably means dead code or entry point of the application. The kind of blue-green nodes are hub, classes which are important and heavy used, and no strongly connected classes in this solution.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/58E9558A/5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="5" border="0" alt="5" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/1127CCA3/5_thumb.png" width="820" height="323"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Make your own analyzer.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;You also can make your own analyzer. For example code coverage or naming conventions or … whatever you can imaging. In the example below I created an analyzer which marks the nodes green with the string ‘Clemens’… (code you know is great:)&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/2FFE4081/1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="1" border="0" alt="1" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/1D4946CA/1_thumb.png" width="820" height="278"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Ok, maybe not that interesting analyzer, more interesting is the creation… in the /PrivateAssemblies/Providers folder there are already several analyzers available, actually the ones mentioned above.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/2C5CFD7B/6.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="6" border="0" alt="6" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/50A1E1FD/6_thumb.png" width="665" height="370"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;A small analyze of this assembly tells us that all the analyzers are using the IProvider interface and the ProviderAttribute [see below]. After some more exploration you will find that the prgroesion.common assembly has a method ‘ProviderDiscovery’ which looks for classes in the provider directory.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/1551A468/Capture.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Capture" border="0" alt="Capture" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/334FB25C/Capture_thumb.png" width="804" height="429"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;so, making a assembly with the code below is a good start:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;[Provider(Name = "ClemensAnalyzer")] &lt;br /&gt;public class TestAnalyzer : IProvider&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In the &lt;strong&gt;void Initialize(IServiceProvider serviceProvider); &lt;/strong&gt;you have to initialize your provider, register the actions and action handler [&lt;em&gt;action.ActionHandlers.Add(new ActionHandler(this.OnAnalyzeTests));&lt;/em&gt;]… which calls your analysis…&lt;/p&gt; &lt;p&gt;foreach (Node node in this._graph.VisibleNodes) &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; { &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (node.Label.Contains("Clemens")) &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; node[HasClemens] = true; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; outputObjects.Add(node); &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.ThrowIfCancelled(); &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;p&gt;the &lt;strong&gt;node[HasClemens] = true;&lt;/strong&gt; is some additional meta data you add to your diagram: private static GraphProperty HasClemens = GraphProperty.Register("HasClemens", typeof(bool), new GraphMetadata("Clemens","This one contains Clemens",null,GraphMetadataFlags.Default), typeof(TestAnalyzer));&lt;/p&gt; &lt;p&gt;All this and a bit more [didn’t finished the analysis completely, there is a lot more possible] result in your own analyzer… &lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/259CF654/Picture1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="Picture1" border="0" alt="Picture1" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VS2010ArchitectureExplorerAnalyzers/2313C496/Picture1_thumb.png" width="804" height="444"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now, let’s start making a useful one :-)&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt; &lt;/div&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=e7e0d31a-a427-42ea-9fa3-b2e4c532e45e</guid>
      <pubDate>Mon, 18 Jan 2010 02:07:46 -0800</pubDate>
    </item>
    <item>
      <title>Visual Studio 2010 Team Foundation Server Requirements Management Guidance</title>
      <link>http://www.clemensreijnen.nl/post/2010/01/16/Visual-Studio-2010-Team-Foundation-Server-Requirements-Management-Guidance.aspx</link>
      <description>&lt;p&gt;Another delivery from the VS ALM Rangers is public available… the &lt;a rel="nofollow" target="_blank" href="http://vstfs2010rm.codeplex.com/wikipage"&gt;Requirements Management Guidance&lt;/a&gt;.&amp;#160; &lt;/p&gt; &lt;p&gt;Very useful guidance, with a small contribution from me with the &lt;em&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/post/2009/09/03/Enrich-VSTA-2010-Use-case-diagram-with-SketchFlow-Screens.aspx"&gt;Enrich VSTA 2010 Use case diagram with SketchFlow Screens&lt;/a&gt; &lt;/em&gt;post. [see the Requirements Elicitation part].&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VisualStudio2010TeamFoundationServerRequ/1F395D5A/1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="1" border="0" alt="1" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VisualStudio2010TeamFoundationServerRequ/55C7089E/1_thumb.png" width="558" height="475"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt; &lt;/div&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=43b33a8f-2596-4b0e-8d65-ceb48f749dca</guid>
      <pubDate>Fri, 15 Jan 2010 23:01:18 -0800</pubDate>
    </item>
    <item>
      <title>Visual Studio 2010 Ranger News</title>
      <link>http://www.clemensreijnen.nl/post/2010/01/13/Visual-Studio-2010-Ranger-News.aspx</link>
      <description>&lt;p&gt;&amp;gt; &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/willy-peter_schaub/archive/2010/01/13/rangers-visual-studio-team-foundation-server-2010-upgrade-guidance-ships-to-codeplex.aspx"&gt;Rangers - Visual Studio Team Foundation Server 2010 Upgrade Guidance ships to Codeplex&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://vs2010upgradeguide.codeplex.com/"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="2" border="0" alt="2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VisualStudio2010RangerNews/5AD99FFF/2.png" width="480" height="148"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;gt; &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/willy-peter_schaub/archive/2010/01/13/rangers-visual-studio-2010-quick-reference-guidance-beta-ships-to-codeplex.aspx"&gt;Rangers – Visual Studio 2010 Quick Reference Guidance ships to Codeplex&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/willy-peter_schaub/archive/2010/01/13/rangers-visual-studio-2010-quick-reference-guidance-includes-new-posters.aspx"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://vs2010quickref.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=37144"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="1" border="0" alt="1" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/VisualStudio2010RangerNews/00CF5056/1.png" width="490" height="256"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;hr /&gt; &lt;p&gt;more will follow..! &lt;br /&gt;&lt;a rel="nofollow" title="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/rangers-visual-studio-2010-architect-edition-guidance-kickoff.aspx" target="_blank" href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/rangers-visual-studio-2010-architect-edition-guidance-kickoff.aspx"&gt;http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/rangers-visual-studio-2010-architect-edition-guidance-kickoff.aspx&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt; &lt;/div&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=25a447a0-6708-4156-bad6-ce225c10a429</guid>
      <pubDate>Wed, 13 Jan 2010 20:43:23 -0800</pubDate>
    </item>
    <item>
      <title>Visual Studio 2010 and .NET Framework 4 Training Kit updated</title>
      <link>http://www.pieterdebruin.net/2010/01/13/VisualStudio2010AndNETFramework4TrainingKitUpdated.aspx</link>
      <description>&lt;p&gt;
New on Microsoft downloads this week is the Visual Studio 2010 and .NET Framework
4 training kit.
&lt;/p&gt;
&lt;p&gt;
It contains 151 MB of techie goodness such as demos, labs, presentations and videos. &lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="VstsTrainingkit" border="0" alt="VstsTrainingkit" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/VisualSt.NETFramework4TrainingKitupdated_BB7C/VstsTrainingkit_3.png" width="644" height="110"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;
If you want, you can even turn it into a 3-day workshop as the included agenda suggests:
&lt;/p&gt;
&lt;p&gt;
Day 1 &lt;p&gt;
Lap Around Visual Studio 2010 &lt;p&gt;
PPT: What's New In Visual Studio 2010 &lt;p&gt;
Lap Around .NET Framework 4 &lt;p&gt;
PPT: Whats New In .NET Framework 4 &lt;p&gt;
Managed Languages Overview (C#/VB) &lt;p&gt;
PPT: What's New In C# 4 and Visual Basic 10 &lt;p&gt;
Entity Framework 4 &lt;p&gt;
PPT: Whats New In Entity Framework 4 &lt;p&gt;
ADO.NET Data Services 1.5 &lt;p&gt;
PPT: Whats New In ADONET Data Services 1.5 &lt;p&gt;
Velocity &lt;p&gt;
PPT: Introduction to Project "Velocity" &lt;p&gt;
Silverlight 3 &lt;p&gt;
PPT: Not included in the kit &lt;p&gt;
&amp;nbsp; &lt;p&gt;
Day 2 &lt;p&gt;
ASP.NET 4 &lt;p&gt;
PPT: Whats New In ASP.NET Web Forms 4 &lt;p&gt;
AJAX 4 &lt;p&gt;
PPT: Whats New In ASP.NET AJAX 4 &lt;p&gt;
Web Deployment with Visual Studio 2010 &lt;p&gt;
PPT: Web Deployment with Visual Studio 2010 &lt;p&gt;
Windows Presentation Foundation 4 &lt;p&gt;
PPT: What's New in Windows Presentation Foundation 4 &lt;p&gt;
.NET RIA Services &lt;p&gt;
PPT: Introduction to .NET RIA Services &lt;p&gt;
Managed Extensibility Framework &lt;p&gt;
PPT: Introduction to the Managed Extensibility Framework &lt;p&gt;
&amp;nbsp; &lt;p&gt;
Day 3 &lt;p&gt;
WF/WCF 4 &lt;p&gt;
PPT: Workflow 4: A First Look &lt;p&gt;
Parallel Computing with Visual Studio 2010 &lt;p&gt;
PPT: Parallel Computing with Visual Studio 2010 &lt;p&gt;
Parallel Computing for Managed Developers &lt;p&gt;
PPT: Parallel Computing for Managed Developers &lt;p&gt;
Visual Studio Team System 2010 &lt;p&gt;
These are short modules that can be picked based on the interest of the audience. &lt;p&gt;
PPT: Introduction: Visual Studio Team System 2010 &lt;p&gt;
PPT: No More Planning Black Box &lt;p&gt;
PPT: No More Late Surprises &lt;p&gt;
PPT: No More Stakeholder Surprises &lt;p&gt;
PPT: No More Parallel Development Pain &lt;p&gt;
PPT: No More Bewildering Admin &lt;p&gt;
PPT: No More No Repro &lt;p&gt;
Visual Studio Team System 2010 &lt;p&gt;
PPT: No More Build Breaks &lt;p&gt;
PPT: No More Butterfly Effect &lt;p&gt;
PPT: No More UI Regressions &lt;p&gt;
PPT: No More Missed Requirements or Changes &lt;p&gt;
PPT: No More Waiting for Build Setup &lt;p&gt;
PPT: No More Performance Regressions
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=f6e7a830-3ffb-448b-b1b4-d6c19a262694"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,f6e7a830-3ffb-448b-b1b4-d6c19a262694.aspx</guid>
      <pubDate>Wed, 13 Jan 2010 04:19:57 -0800</pubDate>
    </item>
    <item>
      <title>Visual Studio 2010 Quick Reference Guidance</title>
      <link>http://www.pieterdebruin.net/2010/01/13/VisualStudio2010QuickReferenceGuidance.aspx</link>
      <description>&lt;p&gt;
VSTS Rangers are a team of very active MVPs and other experts, such as Inner Circle
partners, that are dedicated to improve the ease of use and adoption of Visual Studio
Team System. Willy-Peter &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/08/20/vsts-rangers-projects-summary-of-projects-covered-on-this-blog.aspx"&gt;frequently
blogs&lt;/a&gt; about the projects these guys are working and their progress. &lt;/p&gt;
&lt;p&gt;
Recently they released Quick Reference Guidance for Visual Studio 2010 on codeplex,
which I think is very valuable. Go check it out:&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="VstsBuild" border="0" alt="VstsBuild" align="right" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/VisualStudio2010QuickReferenceGuidance_B6AB/VstsBuild_3.png" width="134" height="158"&gt; &lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" title="http://vs2010quickref.codeplex.com/" target="_blank" href="http://vs2010quickref.codeplex.com/"&gt;http://vs2010quickref.codeplex.com/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
“&lt;em&gt;The Visual Studio 2010 Quick Reference Guidance consists of compact cheat sheets
for Team Foundation Server (TFS) 2010 and Visual Studio (VS) 2010, addressing the
core problem of teams in the field who are unaware of Visual Studio and Team Foundation
Server capabilities or have little time to invest in detailed education. &lt;br&gt;
The artifacts include an overview document and poster that allows you to quickly focus
on individual areas like testing, by providing crisp and compact guidance sheets and
quick reference posters. You can take these to your 5-min coffee break discussions
or use them as a stepping stone to the more detailed and in-depth guidance you will
find on MSDN.&lt;br&gt;
&lt;/em&gt;&lt;em&gt;The download package consist of three ZIP files containing a number of quick
reference posters and quick reference sheets in XML Paper Specification (XPS) format: &lt;/em&gt;
&lt;/p&gt;
&lt;em&gt; &lt;ul&gt;
&lt;li&gt;
&lt;/em&gt;&lt;em&gt;An overview of the guidance and focus areas, contained in one index table
and overview quick reference poster. &lt;/em&gt;&amp;gt;
&lt;li&gt;
&lt;em&gt;A collection of basic guidance sheets, focusing on the “what” are the key features
and “why” to consider them.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;A set of documents and quick reference posters, supporting the basic guidance
sheets.”&lt;/em&gt;
&lt;/li&gt;&amp;gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=ef67ebb3-8f2e-425c-af6b-b6aa698cd0d3"/&gt;&lt;/ul&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,ef67ebb3-8f2e-425c-af6b-b6aa698cd0d3.aspx</guid>
      <pubDate>Wed, 13 Jan 2010 03:59:25 -0800</pubDate>
    </item>
    <item>
      <title>History of Test Automation</title>
      <link>http://robkuijt.nl/index.php?entry=entry100110-214414</link>
      <description>&lt;i&gt;Test Automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, test design, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process. (Wikipedia)&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;Working with Model-Based Testing I get many questions on Test Automation. To be honest, around a year ago, I could not answer them at all. After a year playing with test industrialization my knowledge is better. But still, especially the timeline (when was a specific type of test tooling introduced) was a gap in my mind. An overview: History of Test Automation would be very practical.&lt;br /&gt;&lt;br /&gt;On internet, I couldnt find the complete Test Automation timeline I needed, so I started creating one&lt;br /&gt;&lt;br /&gt;Inspired by the powerpoint slides: Generations of Test Automation by dr Mark Utting, I made a slide show (kind of e-learning component) which gives an overview how the (automating of the) test process did evolve since the 1940&amp;#039;s.&lt;br /&gt;I created some nice graphics, added some definitions and expanded the presentation with more detailed slides and background information from TMap®, Wikipedia, James Bach, William E. Lewis, Gunasekaran Veerapillai and Marvin Niven (thanks guys!) and uploaded the slide show/e-learning component for future use&lt;br /&gt; &lt;a rel="nofollow" target="_blank" href="http://tstr.nl/cover-h/index.php?s=History_Test_Automation_01&amp;c=RobKuijt"&gt;&lt;img src="http://robkuijt.nl/images/timeline.gif" border="0"&gt;&lt;/a&gt; &lt;br /&gt;Interested? See &lt;a rel="nofollow" target="_blank" href="http://tstr.nl/cover-h/index.php?s=History_Test_Automation_01&amp;c=RobKuijt"&gt;&lt;u&gt;History of Test Automation&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry100110-214414</guid>
      <pubDate>Sun, 10 Jan 2010 12:44:14 -0800</pubDate>
      <category>Testing, TMap®</category>
    </item>
    <item>
      <title>[Dutch] Engineering World 2010</title>
      <link>http://www.clemensreijnen.nl/post/2010/01/07/Dutch-Engineering-World-2010.aspx</link>
      <description>&lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="header" border="0" alt="header" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/DutchEngineeringWorld2010/74A0FEC7/header.png" width="832" height="250"/&gt; &lt;/p&gt;&lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p&gt;&lt;b&gt;Engineering World 2010&lt;/b&gt;&lt;/p&gt; &lt;b&gt;&lt;/b&gt; &lt;p&gt;Wil jij ook in één dag op de hoogte zijn van de ontwikkelingen binnen jouw engineering vakgebied? Aarzel niet en meld je dan nu aan voor Engineering World 2010. &lt;/p&gt; &lt;p&gt;&lt;b&gt;De volgende stap in volwassenheid &lt;/b&gt;&lt;b&gt;en productiviteit&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Zaterdag, 6 februari 2010, &lt;/b&gt;&lt;b&gt;Achmea Conferentie Center in Zeist&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Voor de derde keer op rij organiseert Sogeti in samenwerking met het Software Development Network dit unieke evenement.&amp;#160; &lt;/p&gt; &lt;p&gt;&lt;b&gt;Programma&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Het engineering vakgebied is volop in beweging en gaat een nieuwe volwassenheidsfase in, waarbij de productiviteit zich enorm snel ontwikkeld. &lt;/p&gt; &lt;p&gt;We zijn er trots op dat tijdens Engineering World 2010 &lt;/p&gt; &lt;p&gt;Key Note spreker &lt;b&gt;Taco Oosterkamp&lt;/b&gt; een lezing geeft over time- en stressmanagement nieuwe stijl. In die lezing vertelt hij over principes voor effectief én ontspannen werken. &lt;/p&gt; &lt;p&gt;Hij laat daarbij een serie tips en trucs zien – alles bij elkaar een interessant, praktisch verhaal. Taco is dé productiviteitsgoeroe van Nederland en mede-initiator van &lt;a rel="nofollow" target="_blank" href="http://www.lifehacking.nl"&gt;www.lifehacking.nl&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Naast Taco Oosterkamp, wordt de dag gevuld met presentaties en workshops. De inhoud van de verschillende sessies kun je nalezen op &lt;a rel="nofollow" target="_blank" href="http://www.engineeringworld.nl"&gt;www.engineeringworld.nl&lt;/a&gt;.&amp;#160; &lt;/p&gt; &lt;p&gt;We gaan je op deze zaterdag ook uitdagen! Want…&lt;/p&gt; &lt;p&gt;&lt;b&gt;Ben jij de beste programmeur van het event?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Tijdens Engineeringworld 2010 schrijven we een programmeerwedstrijd uit. Je krijgt een programmeeropdracht die ter plekke moet worden uitgevoerd, alleen of in een team. Je krijgt voldoende tijd om aan je oplossing te werken zodat er ook nog ruimte is om presentaties bij te wonen. Neem je laptop mee met jouw favoriete programmeeromgeving. De winnaar krijgt een mooie prijs. &lt;/p&gt; &lt;p&gt;Meer informatie over de wedstrijd kun je binnenkort vinden op &lt;a rel="nofollow" target="_blank" href="http://www.engineeringworld.nl"&gt;www.engineeringworld.nl&lt;/a&gt;.&amp;#160; &lt;/p&gt; &lt;p&gt;Kortom, een evenement dat jij als engineer niet mag missen.&lt;/p&gt; &lt;p&gt;Je kunt je kosteloos inschrijven via &lt;a rel="nofollow" target="_blank" href="http://www.engineeringworld.nl"&gt;www.engineeringworld.nl&lt;/a&gt;.&amp;#160;&amp;#160; &lt;/p&gt; &lt;p&gt;Graag tot ziens op 6 februari 2010 in Zeist.&lt;/p&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt; &lt;/div&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (ClemensReijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=a681cd3a-2c0e-4a1d-91d3-048bf2deaec7</guid>
      <pubDate>Thu, 07 Jan 2010 11:05:41 -0800</pubDate>
      <category>Sogeti</category>
    </item>
    <item>
      <title>Christmas presents from Microsoft Downloads</title>
      <link>http://www.pieterdebruin.net/2009/12/28/ChristmasPresentsFromMicrosoftDownloads.aspx</link>
      <description>&lt;p&gt;
This is one of my start pages: &lt;a rel="nofollow" title="http://www.microsoft.com/downloads/en/resultsForCategory.aspx?nr=50&amp;amp;sortOrder=Descending&amp;amp;sortCriteria=Date&amp;amp;period=30&amp;amp;stype=ss_nd&amp;amp;sterm=All+Categories" target="_blank" href="http://www.microsoft.com/downloads/en/resultsForCategory.aspx?nr=50&amp;amp;sortOrder=Descending&amp;amp;sortCriteria=Date&amp;amp;period=30&amp;amp;stype=ss_nd&amp;amp;sterm=All+Categories"&gt;http://www.microsoft.com/downloads/en/resultsForCategory.aspx?nr=50&amp;amp;sortOrder=Descending&amp;amp;sortCriteria=Date&amp;amp;period=30&amp;amp;stype=ss_nd&amp;amp;sterm=All+Categories&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
It is a great start of the day as it prompts you all new downloads at MS Downloads.
As you can see in the listing below, the Visual Studio team have updated the VSTS
2008 VMs. On top of that you can also get the 2010 Beta 2 version in a ready to go
VM.&amp;nbsp; Pretty cool, right? &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/briankel/archive/2009/12/23/now-available-visual-studio-2010-beta-2-virtual-machines-with-sample-data.aspx"&gt;Brian
Keller posted&lt;/a&gt; about the latter and he also provides an easy way to download the
GBs and how to get the hands-on-labs. So if you have some time to burn this week,
check them out. &lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/"&gt;&amp;nbsp; &lt;p&gt;
&lt;/a&gt; &lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=27d91e63-e33b-4cef-a331-f20d343da9de"&gt;Microsoft®
Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 for Windows Virtual PC
Image&lt;/a&gt; &lt;p&gt;
Microsoft Visual Studio 2010 Ultimate simplifies solution development, lowering risk
and increasing return. The virtual machine image in this download contains both Microsoft
Visual Studio 2010 Beta2 and Team Foundation Server 2010 Beta2 and is designed to
be run under Windows Virtual PC. &lt;p&gt;
&lt;b&gt;12/24/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=426cdffc-53b5-46a5-89d3-e2ecd23570c6"&gt;Microsoft
Visual Studio 2010 Beta 2 and Team Foundation Server® 2010 Beta 2 Hyper-V Image&lt;/a&gt; &lt;p&gt;
Microsoft Visual Studio 2010 Ultimate simplifies solution development, lowering risk
and increasing return. The virtual machine image in this download contains both Microsoft
Visual Studio 2010 Beta2 and Team Foundation Server 2010 Beta2 and the requisite trial
software. Designed to be run from Microsoft® Hyper-V &lt;p&gt;
&lt;b&gt;12/24/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=540777b0-cbd7-485e-bde5-23a1d4f442e0"&gt;Visual
Studio 2010 Beta 2 Virtual PC SP1 Image&lt;/a&gt; &lt;p&gt;
Microsoft Visual Studio 2010 Ultimate simplifies solution development, lowering risk
and increasing return. The virtual machine image in this download contains both Microsoft
Visual Studio 2010 Beta2 and Team Foundation Server 2010 Beta2 and the requisite trial
software. Designed to be run from Microsoft® Virtual PC 2007 SP1. &lt;p&gt;
&lt;b&gt;12/24/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9eb65c97-29c9-4d05-ae45-73d22ad4b86e"&gt;Visual
Studio® Team System 2008 VSTS Hyper-V Image (Trial)&lt;/a&gt; &lt;p&gt;
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista,
the 2007 Office System, and the Web. &lt;p&gt;
&lt;b&gt;12/23/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812"&gt;Visual
Studio® Team System 2008 VSTS VPC Image (Trial) &lt;/a&gt; &lt;p&gt;
Microsoft Visual Studio 2008 is the next-generation development tool for Windows Vista,
the 2007 Office System, and the Web. &lt;p&gt;
&lt;b&gt;12/23/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=72262ead-e49d-43d4-aa45-1da2a27d9a65"&gt;Visual
Studio® Team System 2008 TFS SP1 VPC Image (Trial)&lt;/a&gt; &lt;p&gt;
Visual Studio Team System 2008 Team Foundation Server SP1 is an integrated collaboration
server for Visual Studio Team System. &lt;p&gt;
&lt;b&gt;12/23/2009&lt;/b&gt;
&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=39644cdd-db4d-445e-b087-dd3e3cdf03fb"&gt;Visual
Studio® Team System 2008 TFS Hyper-V Image (Trial)&lt;/a&gt; &lt;p&gt;
Visual Studio Team System 2008 Team Foundation Server is an integrated collaboration
server for Visual Studio Team System. &lt;p&gt;
&lt;b&gt;12/23/2009&lt;/b&gt;
&lt;br&gt;
&lt;p&gt;
&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/ChristmaspresentsfromMicrosoftDownloads_E105/image_5.png" width="571" height="99"&gt;&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=dbb5a07c-1518-4737-9183-a14007ff08e9"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,dbb5a07c-1518-4737-9183-a14007ff08e9.aspx</guid>
      <pubDate>Mon, 28 Dec 2009 07:00:06 -0800</pubDate>
    </item>
    <item>
      <title>Traceability in VS2010</title>
      <link>http://www.clemensreijnen.nl/post/2009/12/23/Traceability-in-VS2010.aspx</link>
      <description>&lt;p&gt;Always an interesting question, how does traceability work in VS2010? &lt;br /&gt;To often asked without any context, or only asked from a requirements perspective. Still way too open to answer in a tweet. So, a post to canalize those questions a little bit more… &lt;/p&gt; &lt;p&gt;&lt;font color="#808080"&gt;[see the image below for the numbers] &lt;/font&gt; &lt;br /&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" title="1_2" border="0" alt="1_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/71D26B35/1_2.png" width="15" height="16"/&gt; you can take two directions when talking about traceability. The first is focused on &lt;strong&gt;“work”&lt;/strong&gt;, the work items repository part of TFS [on the left side of the green dotted line]. with work related traceability we can answer questions like “did we completed all tasks for that requirement?” [for more see the red list]. Information which is very important for every roll in the Application Lifecycle. &lt;em&gt;A tester want to know if he can start testing, so he want to see if the developer is ready. A project manager wants to plan the work. Developers want to know if designers are ready to start with a stabile set of needs… and many more&lt;/em&gt;. All work related information, and information which can be tracked/ traced by using work item and its repository.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="trace" border="0" alt="trace" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/2A7D1543/trace.png" width="816" height="666"/&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="2_2" border="0" alt="2_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/3047930F/2_2.png" width="15" height="16"/&gt; VS2010 main capability for work related traceability are the TFS work item repository [see image below &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd286718(en-us,VS.100).aspx"&gt;from MSDN&lt;/a&gt;] and linking of work items, setting up a hierarchy.&amp;#160; &lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" title="Dd286718WIT_TaskOverview(en-us,VS100)" border="0" alt="Dd286718WIT_TaskOverview(en-us,VS100)" align="left" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/102C8652/Dd286718WIT_TaskOverviewenusVS100.png" width="406" height="203"/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Dd293542TreeListScenario(en-us,VS100)" border="0" alt="Dd293542TreeListScenario(en-us,VS100)" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/1A7DAAB2/Dd293542TreeListScenarioenusVS100.png" width="334" height="272"/&gt;&lt;/p&gt; &lt;p&gt;We can breakdown requirements, or user stories, in tasks. &lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="4_2" border="0" alt="4_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/39C05185/4_2.png" width="15" height="16"/&gt; tasks that needs to be executed to get the requirement done. These tasks can have a parent-child relation [and other see &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd293527(en-us,VS.100).aspx"&gt;Working with Link Types on MSDN&lt;/a&gt;]. Giving us the information we need in any kind of way, for example &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd380648(en-us,VS.100).aspx"&gt;reports&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="us" border="0" alt="us" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/2E96C73B/us.png" width="674" height="387"/&gt;&lt;/p&gt; &lt;p&gt;So far the work related traceability. The other kind of traceability &lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" title="1_2" border="0" alt="1_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/71D26B35/1_2.png" width="15" height="16"/&gt; is based on artifacts, things we make during the application lifecycle, I will call them ALM artifacts. ALM artifacts are used to create the solution/ application. For example the source, XAML and configuration files which make the solution. But, also the diagrams which we created to make a correct, consistent and good communicated application architecture, we use them to drill down from the needs to code. And also test cases belong to the things we make during the application lifecycle [&lt;em&gt;I can imaging when you get confused now, test cases are within VS2010 work item types, but they definitely belong to the artifacts section&lt;/em&gt;]. &lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="3_2" border="0" alt="3_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/2DBE6151/3_2.png" width="15" height="16"/&gt; Use case – user story what is the difference… I often use both [&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd409376(en-us,VS.100).aspx"&gt;see this piece of MSDN documentation&lt;/a&gt; for modeling requirements]. User stories are work item types and use cases are ALM artifacts. So, they are a great bridge between the ‘work-world’ and ‘artifact-world’. The good thing is the capability of VS2010 to link diagrams, and other model elements to work items. [&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd465152(en-us,VS.100).aspx"&gt;How to: Link Work Items to Model Elements&lt;/a&gt;], this give us the capability to create a trace.&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" title="domain" border="0" alt="domain" align="right" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/5FB601DB/domain.png" width="240" height="223"/&gt;From the description and diagrams of the requirements, the often called problem domain, we have to make a big jump into the solution domain.&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="8" border="0" alt="8" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/77D96C36/8.png" width="15" height="16"/&gt; Diagrams are created like the &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd409390(en-us,VS.100).aspx"&gt;component diagram&lt;/a&gt; and &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd409462(en-us,VS.100).aspx"&gt;layer diagrams&lt;/a&gt; visualizing the high level pieces of the solution with the dependency and interfaces between these components and layers. [used this image in &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/post/2008/10/12/Oslorsquo3bs-place-in-the-modeling-worldhellip3b.aspx"&gt;this post; the modeling world&lt;/a&gt;].&lt;/p&gt; &lt;p&gt;It is also a big gap for traceability, to get this a little bit better a solution can be the replaying of scenarios written down in the user stories and drawn in activities as described in this post; &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/post/2009/12/17/VS2010-Modeling3b-Create-Lifeline-from-Component.aspx"&gt;VS2010 Modeling; Create Lifeline from Component&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;em&gt;A trace back from component/layer to requirement can be a link from model element to the user story work items in where he is used. Never did this, it’s a manual process and probably people will forget the links, maybe with some kind of notification this would be valuable…&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="6" border="0" alt="6" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/57BE5F79/6.png" width="15" height="16"/&gt; An interesting VS2010 capability is the connection between the layer diagram and the sources. This makes a trace possible between the high level design and the sources. See image below.&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="layer val" border="0" alt="layer val" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/37A352BC/layerval.png" width="644" height="453"/&gt; &lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="7" border="0" alt="7" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/61C2DAD7/7.png" width="15" height="16"/&gt; Because test cases are work item types in VS2010 they can be connected to any other ALM artifact, giving us the possibility to connect for example test cases to use case diagrams. Easier to accomplish and to maintain is the connection with test tasks and corresponding user story. But this doesn’t answers questions like; “which code is touched by this test”. VS2010 answers this question with Test Impact, see “&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd286586(en-us,VS.100).aspx"&gt;Determining Which Builds Have Bug Fixes, New Features, or Requirements&lt;/a&gt;”, “&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd286589(en-us,VS.100).aspx"&gt;Recommending Tests to Run That are Affected by Code Changes&lt;/a&gt;” and “&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/nl-nl/library/dd409381(en-us,VS.100).aspx"&gt;Developing Tests from a Model&lt;/a&gt;”.&lt;/p&gt; &lt;p&gt;Another interesting traceability scenario can be build with test case generation, see this ‘old’ Model Based Testing beta 1 video. [some more info on MBT can be read on &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/"&gt;Rob’s blog&lt;/a&gt;]&lt;/p&gt; &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fa79825b-1d79-44e3-8b32-e15331be80b7" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;iframe class="embeddedvideo" src="http://www.youtube.com/v/kd-RRWl_zH0&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Next, &lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="3_2" border="0" alt="3_2" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/2DBE6151/3_2.png" width="15" height="16"/&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="5" border="0" alt="5" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/41A7CE1A/5.png" width="15" height="16"/&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="7" border="0" alt="7" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/61C2DAD7/7.png" width="15" height="16"/&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="8" border="0" alt="8" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/77D96C36/8.png" width="15" height="16"/&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="6" border="0" alt="6" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/57BE5F79/6.png" width="15" height="16"/&gt; all have a work related task. So, not only traceability within the two sections is possible also traceability between the two sections is possible. answering questions like; “which task created this line of code?”… creating this link / trace is a manual task but it can be controlled by a check-in policy.&lt;/p&gt; &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="workitem" border="0" alt="workitem" src="http://www.clemensreijnen.nl/image.axd?picture=WindowsLiveWriter/TraceabilityinVS2010/739F6EA4/workitem.png" width="326" height="214"/&gt;&lt;/p&gt; &lt;p&gt;So, when someone asks you the question; “what about traceability in VS2010?” you now can canalize this and guide him/ her to the real traceability question they want to have answered [and tell the solution]….&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;lt; probably more to come on this interesting topic, also because the extensibility model of the diagrams is powerful enough to create your own required traceability between artifacts with notifications and work item linking… very very interesting &amp;gt;&lt;/em&gt;&lt;/p&gt;</description>
      <author>info.nospam@nospam.ClemensReijnen.nl (clemensreijnen)</author>
      <guid isPermaLink="false">http://www.clemensreijnen.nl/post.aspx?id=5e59a3bb-2222-4530-8529-aa1e2eb9bede</guid>
      <pubDate>Wed, 23 Dec 2009 00:27:42 -0800</pubDate>
    </item>
    <item>
      <title>Test Case Design: Manually or Automated?</title>
      <link>http://robkuijt.nl/index.php?entry=entry091220-074237</link>
      <description>&lt;i&gt;There are several tools that can help with the creation of test cases. So why don&amp;#039;t we succeed in automating the Test Cases Design Process? In this short article I will explain that, if test collaborates with design, we can make huge progress on this topic!&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;4 Examples of Test Case Design&lt;/b&gt; &lt;br /&gt;Lets imagine a business process that is documented by the design team on one page. Test will create the test cases. In the first example the description is done in plain text. In that case it is not possible to automate the test, and also it is not possible to use a formal test specification technique:&lt;br /&gt; &lt;center&gt;&lt;img src="http://robkuijt.nl/images/manual_test_design1.gif" width="480" height="277" border="0" alt=""/&gt; &lt;br /&gt; &lt;i&gt;Example 1: Test Design from plain text: many interpretations and assumptions...&lt;/i&gt; &lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Creating test cases from plain text may look easy, but when you ask 5 test engineers to create the test cases you get 5 different sets without any insight in the quality of the coverage.&lt;br /&gt;Choosing the process flow diagram technique for describing the business process, will result in less interpretations and assumptions, therefore in much better test cases:&lt;br /&gt; &lt;center&gt;&lt;img src="http://robkuijt.nl/images/manual_test_design2.gif" width="480" height="292" border="0" alt=""/&gt; &lt;br /&gt; &lt;i&gt;Example 2: Manual Test Design: Process Cycle Test (TMap®)&lt;/i&gt; &lt;/center&gt;&lt;br /&gt;&lt;br /&gt;The advantage of formal Test Case Design techniques like Process Cycle Test (PCT) is that it can be automated! How? The first step of deriving test cases with PCT, is to identify the paths and path combinations within the process flow diagram. Step 2: Instead of manually combining those path combinations to test cases, the path combinations (joined with a short description) can be inserted in a Test Design Tool. Step 3: The test cases are generated. Comparing with manual test case design: much faster; less knowledge is needed, but you need a tool* (license):&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/cover_test_design1.gif" width="480" height="293" border="0" alt=""/&gt;&lt;br /&gt; &lt;i&gt;Example 3: Using a Test Design Tool: much Faster!&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt;Most of the time, designers make these process flow diagrams in modeling tools (like MsVisio, Protos, Aris, BiZZdesigner,..). A common feature of the modeling tools is exporting the models in XML-format. Model Based Testing tools* do read XML! So, lets skip all manual steps and generate test cases directly from the process flow diagram:&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/cover_test_design2.gif" width="480" height="281" border="0" alt=""/&gt;&lt;br /&gt; &lt;i&gt;Example 4: Model Based Test Case Design&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt;Model Based Test Tools* can generate test cases within minutes. Of course, before using the test cases you must do a sanity check to confirm the tool understood the model correctly but nevertheless the time cant be beaten manually.&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Collaborate!&lt;/b&gt; &lt;br /&gt;Test Case Design can be automated (Im already working with these tooling on a daily basis). &lt;br /&gt;But, besides getting the right tool(s), there is an important condition: the Test Base must have a minimum level of quality. &lt;br /&gt;For instance: instead of describing business processes in plain text, they should be specified with the help of activity diagrams or process flow diagrams (and that is not (yet) common knowledge within the design processes). To get an automated Test Design process, lets join the forces: Together, Design and Test can make projects much faster and cheaper!&lt;br /&gt;&lt;br /&gt; &lt;i&gt;*) Example of a Test Design/Model Based Testing Tool I personally often use: &lt;a rel="nofollow" target="_blank" href="http://tstr.nl/cover-m/index.php?s=COVER_mapping_TMap_01&amp;c=RobKuijt"&gt;&lt;u&gt;STaaS/COVER&lt;/a&gt;&lt;/u&gt; (Sogeti Netherlands)&lt;/i&gt; &lt;br /&gt; &lt;br /&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry091220-074237</guid>
      <pubDate>Sat, 19 Dec 2009 22:42:37 -0800</pubDate>
      <category>Quality, Testing, TMap®</category>
    </item>
    <item>
      <title>Article in MSDN magazine got published</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/12/14/article-in-msdn-magazine-got-published.aspx</link>
      <description>&lt;p&gt;Well it has been an interesting journey, but today I found that the article I wrote with Brian A. Randell early this year on creating a custom team explorer extension got published. I haven’t received the glossy copy yet, but my search on MSDN resulted in the December issue that has it even as a featured article on the cover :-)&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" title="http://msdn.microsoft.com/en-us/magazine/ee819132.aspx" target="_blank" href="http://msdn.microsoft.com/en-us/magazine/ee819132.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/ee819132.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;It is just great to see that it finally made it and I want to give a big thank you to &lt;a rel="nofollow" target="_blank" href="http://mcwtech.com/blogs/brianr"&gt;Brian&lt;/a&gt;, Dennis and &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/buckh/"&gt;Buck&lt;/a&gt; for their help on getting this published.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=76052" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:76052</guid>
      <pubDate>Mon, 14 Dec 2009 15:58:36 -0800</pubDate>
    </item>
    <item>
      <title>More return on development with Application Lifecycle Management</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</link>
      <description>&lt;p&gt;This is a translated version of an article that I wrote for &lt;a rel="nofollow"&gt;Software Release Magazine&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt; &lt;font size="4"&gt;Application Lifecycle Management&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt; In the past ten years, the costs of IT projects dropped significantly. In addition, the number of projects that turned out to be successful, rose. Nevertheless, only forty percent of all IT projects succeeds. This means that it takes less time today for a project to fail. Application Lifecycle Management (ALM) may help improve the return on projects. An efficient deployment of ALM requires the right scope and focus&lt;strong&gt;.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt; Today, many organizations regard Application Lifecycle Management (ALM) as one of the answers to their bad performing IT departments. With ALM, they try to get more grip on software development by integrating, coordinating and controlling the various phases of development. ALM guides an organization from software development until software implementation and management. Very often, an organization will limit its focus to optimizing the developer’s work processes and the communication between developers and project managers. An ALM tool is rolled out and its features are used to manage the progress of the project as well as the quality of the code. Deploying an ALM tool in this way is a step in the right direction but in practice it is not a guarantee for success. Without the right focus, software development will remain a stand alone activity without any relation to other parts of the organization, including business and operations. Additionally, research shows that companies spend on average 30 percent of their available IT budget on newly built applications. This means that they neglect an area of 70 percent, where optimization is also possible. &lt;p&gt; &lt;font size="4"&gt;More return by shift in focus&lt;/font&gt; &lt;p&gt; With the right scope and focus ALM has much to offer. Figure 1 shows a schematic view of the lifecycle of an application that is to be developed. In this view de x-axis represents the time and the y-axis the value/cost of the application. In this figure, the extended curve shows the lifecycle of the application from development until end-of-life. The figure provides insight in the different phases of an application’s lifecycle. It also enables for determining the impact of ALM. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb.png" width="660" height="434"&gt;&lt;/a&gt; &lt;p&gt; &lt;font size="1"&gt;Figure 1. The lifecycle of an application&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt; &lt;strong&gt;&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt; &lt;strong&gt;Reduce development costs&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt; The lifecycle of an application starts in the first phase of development. As of the start of the project, costs are made for design, programming and testing. At this time, the application offers no value. All development costs are therefore to be regarded as costs. Often, organizations focus on these costs when deploying ALM and optimizing the software development process. Figure 1 shows however, that the development phase only accounts for a small part for the full lifecycle of the application. &lt;p&gt; &lt;strong&gt;Time to market&lt;/strong&gt; &lt;p&gt; The figure also shows that the application will only add value to the organization when it has gone live. This means that the ALM activities need to be focused on getting the application (or a part of it) live as soon as possible. One of the ways to do this is using agile development methods, including iterative delivery. Shortening the time to market not only results in faster added value, it can also provide competitive advantage. In general, organizations that are first in addressing new needs or market changes profit the most from these developments. Organizations that are trend followers profit less; or even worse, they have to invest in order to stay in the market.&amp;nbsp;&amp;nbsp; &lt;p&gt; &lt;strong&gt;Added Value&lt;/strong&gt; &lt;p&gt; It is clear that an application will add value when it has gone live. Many organizations do no recognize this added value. ALM activities should focus on getting as much added value as possible. As the application is developed for the end-users , it is key to involve this group as much as possible in the development process. User involvement, support from the (executive) management, defining clear business goals and optimizing requirements are all equally important. &lt;p&gt; One of the ways to realize this is to optimize the communication between the user organization and IT and to create a common involvement for all stakeholders. In this way, stakeholders are better geared to state their demands. They are also better able to determine the consequences of their choices and to change priorities and requirements during the project, together with the project team. Here, it is also cost-effective to use short iterations, as changes in scope, priorities and requirements can easily be made. In this way, an organization can address new insights during the project, which may increase the added value of the application further. &lt;p&gt; &lt;strong&gt;Operational costs&lt;/strong&gt; &lt;p&gt; When developing the application it is advisable to acknowledge in an early stage the need for application management. By creating consensus on the requirements for the management department, operational management costs of the application can be reduced significantly. The focus on management is paramount in an ALM approach. &lt;p&gt; &lt;strong&gt;Extending the lifecycle&lt;/strong&gt; &lt;p&gt; By adding value and reducing costs, a developed application will provide return in the long run. By focusing on the value of an application and by constantly monitoring this aspect, an organization is better capable of determining the moment when value is replaced by costs. This early insight helps in deciding what to do with the application: adjust or phase out? &lt;p&gt; &lt;strong&gt;Phase out&lt;/strong&gt; &lt;p&gt; When an organization decides to abandon an application, the knowledge of the application will lead to less abandoning costs. This is definitely the case when an organization combines this knowledge with the optimizations, provided by ALM in the earlier development phase of the application. An example is the right documentation on the application interface to other systems. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb_3.png" width="661" height="442"&gt;&lt;/a&gt; &lt;p&gt; &lt;font size="1"&gt;Figure 2. The new lifecycle of an application &lt;/font&gt; &lt;p&gt; &lt;strong&gt;The new lifecycle&lt;/strong&gt; &lt;p&gt; Figure 2 shows the new lifecycle of the application. This is the result of broadening the ALM focus as described earlier. The green field in the figure depicts the extra return of the application. This is possible by speeding up the go-live process, a longer life of the application and more added value for the user. The red areas in the figure represent the decreased development costs and the costs for abandonment. &lt;p&gt; &lt;font size="4"&gt;Priorities of an organization&lt;/font&gt; &lt;p&gt; Figure 2 shows that the return on ALM increases when an organization not only focuses on the development phase, but also on the other phases of an application’s lifecycle. This optimization obviously pays off, but the question is how to relate this to the goals of today’s organizations. Many organizations focus on cost reduction, compliancy and risk management. How can ALM be related to these three priorities? &lt;p&gt; &lt;strong&gt;Cost reduction&lt;/strong&gt; &lt;p&gt; A too strong focus on cost reduction may well lead to an imbalance in this area, resulting in a paralyzed organization in terms of productivity. By continuously executing cost reducing measures, tools and communication channels are lost. In the end, this can affect the productivity of employees negatively. By combining cost savings and productivity improvements this issue can be addressed. &lt;p&gt; A combination of ALM activities with a so-called &lt;i&gt;high-performance workplace&lt;/i&gt; can be the answer. The high performance workplace is a physical or virtual environment which is especially designed for knowledge and information workers. It supports them optimally in executing non-routine duties. In these duties, exploring, learning, innovating, collaborating and managing are key. &lt;p&gt; The current generation of ALM tools already pays attention to optimizing communication and collaboration between stakeholders in an IT project. This shows that the awareness on effective collaboration is growing. It also requires the focus to be placed on the process and the human aspect of collaboration. Important success factors are creating joint goals and making sure there is a shared vision of the truth. &lt;p&gt; &lt;strong&gt;Compliancy&lt;/strong&gt; &lt;p&gt; The current compliancy requirements demand a high level of control. In recent years, this control is expressed in continuous process optimization. The need for a process approach led to reduction of flexibility within an organization. It is becoming increasingly difficult to address market changes and needs without losing control. The focus on processes, tools and management also led to a situation in which up to twenty percent of project costs can be allocated to the developed software. The rest of the costs are related to project support and meeting internal and external requirements. The new generation ALM tools and corresponding methods, enable an organization to meet these strict compliancy requirements without affecting flexibility. These tools provide the necessary mechanisms and means of control to link requirements, quality metrics and the solution. This makes it much easier to prove that the solution meets all requirements. The full support of agile methods within the ALM tools ensures the required flexibility. &lt;p&gt; &lt;strong&gt;Risk management&lt;/strong&gt; &lt;p&gt; Experience from the past shows that risk is inherent to projects. However, the higher the risk, the higher the return, as optimists say. It is not necessary for organizations to exclude all risks. They need to assess risks continuously on the return they can provide. The collaboration in a project, the commitment from stakeholders and the combination of business and ICT knowledge enable the right assessment of risks. This may lead to a situation in which a risk that is regarded as unacceptable by individual members, is controllable or even desirable. &lt;p&gt; &lt;font size="4"&gt;Conclusion &lt;/font&gt; &lt;p&gt; ALM is gaining in popularity. Many organizations take their first steps in this area and start to purchase ALM tools. Seemingly without thinking, they focus on the development phase. This is an excellent first step but still they should not stop here. By broadening their focus and incorporating the full lifecycle of an application in their approach, they are able to increase their return on ALM significantly. The broader approach offers more insight in the added value of the application. By combining ALM and a high performance workplace, and by putting the human aspect first, it is possible tot create an environment in which collaboration is optimized. The result is a software development process with predictable results and sufficient flexibility to contribute to the three main priorities of an organization: cost reduction, compliancy and risk management. &lt;p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=29c46be7-6722-4c3e-aefa-2b3bb3e03082"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</guid>
      <pubDate>Tue, 24 Nov 2009 06:58:09 -0800</pubDate>
      <category>ALM</category>
    </item>
    <item>
      <title>Creating Custom DGML Diagrams using the Progression API</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/11/13/creating-custom-dgml-diagrams-using-the-progression-api.aspx</link>
      <description>&lt;p&gt;Thursday night I presented a Session for the VSUG in Belgium, with the title “Modeling that works with code”. In this session I demonstrated how we can add more value into models and diagrams and how that can help us to keep our model in sync with the actual codebase we work on. (You can download the presentation &lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/media/p/36905.aspx"&gt;here&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;During this session I also addressed the concept of creating your own custom DGML diagram, using the progression API, that can be found in the visual studio directories.&lt;/p&gt; &lt;p&gt;In this post I want to describe how you can create a Custom DGML diagram. I will show you how you can use the standard Coverage files you get from the Microsoft Test tools and use that data to create a diagram that shows which classes have a coverage percentage below a defined quality bar.&lt;/p&gt; &lt;p&gt;When you want to create a DGML diagram, you can do that by using the Progression API. You can find the classes you need in the following assemblies :&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft.VisualStudio.Progression.Common &lt;/li&gt; &lt;li&gt;Microsoft.VisualStudio.Progression.GraphModel &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Just use the add reference dialog and browse to the following location: &lt;br /&gt;&amp;lt;installdrive&amp;gt;:&amp;#92;Program Files&amp;#92;visual Studio 10&amp;#92;Common7&amp;#92;Ide&amp;#92;PrivateAssemblies &lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;note:on a 64 bit machine this is program Files (x86) instead of program files&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I want to create a new diagram, so to start, I need an instance of a Graph object. This is nothing more than just creating an instance of the Graph class. Now I want to define some custom metadata to my Nodes, that contain the code coverage information. For that purpose, I register a custom metadata property of the type double with the name “CodeCoverage” and I register it to be available on the Nodes in my diagram.&lt;/p&gt; &lt;p&gt;So the only thing I need to do is load the Code Coverage XML file, use an XLinq query to get only the Class nodes and then create a loop that generates the nodes I want to add to the diagram.&lt;/p&gt; &lt;p&gt;The code for this is like follows:&lt;/p&gt; &lt;pre class="code"&gt;Graph DgmlGraph = Graph.Load(filetoAnnotate);
GraphProperty codeCoverageProperty =
GraphProperty.Register(&lt;span style="color:#a31515;"&gt;"CodeCoverage"&lt;/span&gt;, &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:blue;"&gt;double&lt;/span&gt;),
GraphMetadata.Default, &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(Node));
&lt;span style="color:blue;"&gt;var &lt;/span&gt;codeCoverageXmlFile = XElement.Load(coverageFileName);
&lt;span style="color:blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color:blue;"&gt;var &lt;/span&gt;classCoverageNode &lt;span style="color:blue;"&gt;in &lt;/span&gt;codeCoverageXmlFile.Descendants(&lt;span style="color:#a31515;"&gt;"Class"&lt;/span&gt;))
{ &lt;span style="color:blue;"&gt;var &lt;/span&gt;classname = classCoverageNode.Element(&lt;span style="color:#a31515;"&gt;"ClassName"&lt;/span&gt;).Value; &lt;span style="color:blue;"&gt;int &lt;/span&gt;linesCovered = &lt;span style="color:blue;"&gt;int&lt;/span&gt;.Parse(classCoverageNode.Element(&lt;span style="color:#a31515;"&gt;"LinesCovered"&lt;/span&gt;).Value); &lt;span style="color:blue;"&gt;int &lt;/span&gt;linesNotCovered = &lt;span style="color:blue;"&gt;int&lt;/span&gt;.Parse(classCoverageNode.Element(&lt;span style="color:#a31515;"&gt;"LinesNotCovered"&lt;/span&gt;).Value); &lt;span style="color:blue;"&gt;int &lt;/span&gt;linesPartiallyCovered = &lt;span style="color:blue;"&gt;int&lt;/span&gt;.Parse(classCoverageNode.Element(&lt;span style="color:#a31515;"&gt;"LinesPartiallyCovered"&lt;/span&gt;).Value); &lt;span style="color:blue;"&gt;int &lt;/span&gt;totalLines = linesCovered + linesNotCovered + linesPartiallyCovered; &lt;span style="color:blue;"&gt;double &lt;/span&gt;coveragePercentage = (linesCovered * 100 / totalLines); Node coverageNode = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Node(className); coverageNode.SetValue&amp;lt;&lt;span style="color:blue;"&gt;double&lt;/span&gt;&amp;gt;(codeCoverageProperty, coveragePercentage); DgmlGraph.Nodes.Add(coverageNode);
}&lt;/pre&gt;
&lt;a rel="nofollow" target="_blank" href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; &lt;p&gt;So now I have a Graph, that contains nodes and each node has the percentage code coverage set.&lt;/p&gt; &lt;p&gt;Finally, I need to define specific styles so the diagram shows which classes are below a certain code coverage percentage and which are above. For that you can add so called Conditional Styles to the diagram. This is also very straightforward to do.&lt;/p&gt; &lt;p&gt;You just create a new ConditionalStyle object instance and give it the graph as argument. Then you define to what type of element it needs to be applied to in the DGML diagram. So for this purpose we define this style to be applied to the “Node “ type. Next you give it a Label and last but not least a Condition. The expressions that evaluate if it needs to apply the condition can use all information in the model. The expression syntax can be found here (&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/dd409453(VS.100).aspx#Highlight)"&gt;http://msdn.microsoft.com/en-us/library/dd409453(VS.100).aspx#Highlight)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So for this diagram, I want to apply the style to all nodes with Code Coverage &amp;gt; 80. Therefore I need to apply the following expression: “CodeCoverage &amp;gt; 80”&lt;/p&gt; &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;ConditionalStyle = &lt;span style="color:blue;"&gt;new &lt;/span&gt;ConditionalStyle(DgmlGraph);
ConditionalStyle.TargetType = &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(Node);
ConditionalStyle.GroupLabel = &lt;span style="color:#a31515;"&gt;"Coverage &amp;gt; 80%"&lt;/span&gt;;
&lt;span style="color:blue;"&gt;var &lt;/span&gt;Condition = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Condition(ConditionalStyle);
Condition.Expression = &lt;span style="color:#a31515;"&gt;"CodeCoverage &amp;gt; 80"&lt;/span&gt;;
ConditionalStyle.Conditions.Add(Condition);
DgmlGraph.Styles.Add(ConditionalStyle);&lt;/pre&gt;
&lt;a rel="nofollow" target="_blank" href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; &lt;p&gt;Now the last thing I need to do is define what property of a node visualization I want to change on this ConditionalStyle. I choose to set an Icon to be a green checkmark and the background to green&lt;/p&gt; &lt;p&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;CodeCoverageSetterBackGround = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Setter(ConditionalStyle, &lt;span style="color:#a31515;"&gt;"BackGround"&lt;/span&gt;); &lt;br /&gt;CodeCoverageSetterBackGround.Value = &lt;span style="color:#a31515;"&gt;"#FF00FF00"&lt;/span&gt;; &lt;br /&gt;ConditionalStyle.Setters.Add(CodeCoverageSetterBackGround); &lt;br /&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;CodeCoverageSetterIcon = &lt;span style="color:blue;"&gt;new &lt;/span&gt;Setter(ConditionalStyle, &lt;span style="color:#a31515;"&gt;"Icon"&lt;/span&gt;); &lt;br /&gt;CodeCoverageSetterIcon.Value = &lt;span style="color:#a31515;"&gt;"pack://application:,,,/Microsoft.VisualStudio.Progression.GraphControl;component/Icons/kpi_green_sym2_large.png"&lt;/span&gt;; &lt;br /&gt;ConditionalStyle.Setters.Add(CodeCoverageSetterIcon); &lt;br /&gt;&lt;/p&gt;
&lt;a rel="nofollow" target="_blank" href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; &lt;p&gt;I also did the same for coverage below 80% and set that style to be Red and use the Icon type “Node.Error”. &lt;/p&gt; &lt;p&gt;So now when I run my program with a code coverage file, I will get the following results:&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/clip_5F00_image002_5F00_2C93AC63.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/clip_5F00_image002_5F00_thumb_5F00_7993F62E.jpg" width="895" height="417"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In a next post, I will show you how you can also leverage the DGML diagrams generated with the architecture explorer and then applying this same code coverage information to that diagram, so you can decide which classed need additional effort in getting better coverage.&lt;/p&gt; &lt;p&gt;Cheers, &lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=36906" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:36906</guid>
      <pubDate>Fri, 13 Nov 2009 12:24:37 -0800</pubDate>
    </item>
    <item>
      <title>Codecamp is here again</title>
      <link>http://www.pieterdebruin.net/2009/11/01/CodecampIsHereAgain.aspx</link>
      <description>&lt;p&gt;
How time flies! &lt;a rel="nofollow" target="_blank" href="http://www.pieterdebruin.net/2008/09/09/ModelingInVisualStudioTeamSystemQuotRosarioquot.aspx"&gt;Last
year&lt;/a&gt; I presented Modelling in VSTS Rosario with demos in CTP12. Since then Microsoft
have moved on: The product is now called Visual Studio Team System 2010 and we are
at Beta2 already. &lt;/p&gt;
&lt;p&gt;
For the past few weeks I have used my rare spare time to get to know the Beta2 release.
I already liked Beta1 a lot and this is even better. Sure there is room for improvement,
which you can &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/jeffbe/archive/2009/10/29/tell-us-about-vs2010-beta2.aspx"&gt;express
here&lt;/a&gt;, but I can advise both VS as well as TFS to anyone for production use. &lt;/p&gt;
&lt;p&gt;
My session is called “New in VSTS2010” and there is &lt;a rel="nofollow" target="_blank" href="http://www.codecamp.nl/Default.aspx?tabid=348"&gt;much
more content&lt;/a&gt; such as Surface development, ASP.NET security and ADO.NET Entity
Framework. If you want to get the guided tour around VSTS2010 make sure to attend
Codecamp in Rotterdam on November 21st. &lt;/p&gt;
&lt;p&gt;
Hogeschool Rotterdam&lt;br&gt;
Locatie Academieplein&amp;nbsp; &lt;br&gt;
G.J. de Jonghweg 4 - 6 &lt;br&gt;
3015 GG Rotterdam &lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.codecamp.nl/"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="NovaCodeCamp" border="0" alt="NovaCodeCamp" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/Codecampishereagain_11F0C/NovaCodeCamp_5.jpg" width="182" height="235"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=1bc3ce51-4dc6-4db0-8b9f-59e8141da798"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,1bc3ce51-4dc6-4db0-8b9f-59e8141da798.aspx</guid>
      <pubDate>Sun, 01 Nov 2009 11:24:47 -0800</pubDate>
    </item>
    <item>
      <title>Eclipse and VSTS</title>
      <link>http://www.pieterdebruin.net/2009/10/29/EclipseAndVSTS.aspx</link>
      <description>&lt;p&gt;
For years &lt;a rel="nofollow" target="_blank" href="http://www.teamprise.com/"&gt;Teamprise&lt;/a&gt; have provided integration
between Eclipse and Team Foundation Server. Teamprise also &lt;a rel="nofollow" target="_blank" href="http://www.woodwardweb.com/vsts/tfs_on_the_main.html"&gt;works
on mainframes&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;
The collaboration continues: At the European Eclipse conference Microsoft announced
improved support for Eclipse and the Windows world. In short Eclipse will get better
interop support for Windows 7, Windows Azure, Silverlight and others like ADO.NET
Data Services. &lt;/p&gt;
&lt;p&gt;
“&lt;em&gt;Microsoft teams with Tasktop Technologies and Soyatec on open source projects
designed to foster interoperability and make Eclipse a first-class tool on the Microsoft
platform.&lt;/em&gt;”
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/EclipseandVSTS_881B/EclipseSL_2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="EclipseSL" border="0" alt="EclipseSL" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/EclipseandVSTS_881B/EclipseSL_thumb.png" width="244" height="204"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;
Source: &lt;a rel="nofollow" title="Partnering to foster Eclipse and Microsoft platform interoperability" target="_blank" href="http://blogs.msdn.com/interoperability/archive/2009/10/28/tasktop-soyatec-microsoft-to-foster-eclipse-and-microsoft-platform-interoperability.aspx"&gt;Partnering
to foster Eclipse and Microsoft platform interoperability&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Press release: &lt;a rel="nofollow" title="http://www.microsoft.com/presspass/press/2009/oct09/10-28eclipsepr.mspx" target="_blank" href="http://www.microsoft.com/presspass/press/2009/oct09/10-28eclipsepr.mspx"&gt;http://www.microsoft.com/presspass/press/2009/oct09/10-28eclipsepr.mspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=9babcb78-bd7a-46b0-acff-073bf6029879"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,9babcb78-bd7a-46b0-acff-073bf6029879.aspx</guid>
      <pubDate>Thu, 29 Oct 2009 01:40:46 -0700</pubDate>
      <category>Visual Studio</category>
    </item>
    <item>
      <title>&amp;ldquo;This One&amp;rsquo;s a Game Changer&amp;rdquo;</title>
      <link>http://www.pieterdebruin.net/2009/10/21/ldquoThisOnersquosAGameChangerrdquo.aspx</link>
      <description>&lt;p&gt;
By now you must have heard about the new Visual Studio 2010 Beta 2 release. There
are plenty of blogs and videos that demonstrate the great functionality of both Visual
Studio and Team Foundation Server. As of today it is available for everyone to download.
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/visualstudio/en-us/try/default.mspx"&gt;&lt;img border="0" alt="" src="http://www.microsoft.com/visualstudio/en-us/content/images/vs2010_logo.png"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I was most curious about the TFS Basic configuration which gives you TFS version control
and build on your local machine. The installation went pretty smooth: I used my sysprepped
copy of Windows Server 2008 R2 and installed TFS Basic without additions. So the good
thing is that you do not have to think about installing and configuring IIS or SQL
Server (Express); the TFS Basic installation takes care of that. The installation
is a breeze and only takes minutes and a reboot. &lt;/p&gt;
&lt;p&gt;
One error message I encountered when clicking the links in the installation summary
was:
&lt;/p&gt;
&lt;h3&gt;Server Error in '/tfs/web' Application. &lt;/h3&gt;
&lt;h3&gt;
&lt;hr align="center" size="1" width="100%" noshade&gt;
&lt;/h3&gt;
&lt;h4&gt;&lt;i&gt;Configuration Error&lt;/i&gt;
&lt;/h4&gt;
&lt;p&gt;
&lt;b&gt;Description: &lt;/b&gt;An error occurred during the processing of a configuration file
required to service this request. Please review the specific error details below and
modify your configuration file appropriately. &lt;br&gt;
&lt;b&gt;Parser Error Message: &lt;/b&gt;Could not load file or assembly 'System.Web.Extensions,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The system cannot find the file specified. (C:&amp;#92;Program Files&amp;#92;Microsoft Team Foundation
Server 2010&amp;#92;Application Tier&amp;#92;Web Access&amp;#92;Web&amp;#92;web.config line 123)&lt;br&gt;
&lt;b&gt;Source Error:&lt;/b&gt; &lt;table border="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;Line 121:&lt;/pre&gt;
&lt;pre&gt;Line 122:&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;httpModules&amp;gt;&lt;/pre&gt;
&lt;pre&gt;&lt;font color="#ff0000"&gt;Line 123:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="ScriptModule"
type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre&gt;Line 124:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="TSWAAuthentication" type="Microsoft.TeamFoundation.WebAccess.TSWAAuthenticationModule"/&amp;gt;&lt;/pre&gt;
&lt;pre&gt;Line 125:&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/httpModules&amp;gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;b&gt;Source File: &lt;/b&gt;C:&amp;#92;Program Files&amp;#92;Microsoft Team Foundation Server 2010&amp;#92;Application
Tier&amp;#92;Web Access&amp;#92;Web&amp;#92;web.config&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Line: &lt;/b&gt;123 &lt;hr align="center" size="1" width="100%" noshade&gt;
&lt;p&gt;
&lt;b&gt;Version Information:&lt;/b&gt; Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET
Version:2.0.50727.4927 &lt;hr align="center" size="2" width="100%"&gt;
&lt;p&gt;
&amp;nbsp; &lt;p&gt;
It turns out that the although the installation runs smooth, you do have to install
.NET Framework 3.5 additionally. &lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=6c0177f8-a917-406f-a4a4-268a99c5b0eb"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,6c0177f8-a917-406f-a4a4-268a99c5b0eb.aspx</guid>
      <pubDate>Wed, 21 Oct 2009 04:09:41 -0700</pubDate>
    </item>
    <item>
      <title>ALM and MBT</title>
      <link>http://robkuijt.nl/index.php?entry=entry091019-190829</link>
      <description>&lt;i&gt;Both ALM (Application Lifecycle Management) and MBT (Model Based Testing) are hot. I&amp;#039;m pretty busy running from customer to customer starting/supporting MBT proof of concepts and assignments. With some explanation all my contacts are convinced that the combination of ALM and MBT is THE roadmap for the future.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;The advantages of ALM can already be implemented by choosing for the new generation of tools of Microsoft (VSTS2010) and IBM (JAZZ etc.) are presenting to strongly support the collaboration of the different roles in and around the ICT. Model Based Testing has not yet that same level of maturity. Most participants in the Model Based Testing world are very ambitious: They try to Generate Test Cases for direct automatic execution, based on test specific models.&lt;br /&gt;&lt;br /&gt;I think this is a bridge to far for most companies using for instance mainly ERP-software. In the ERP-scope most of the testing is still done manually, and jumping to this ultimate form of Model Based Testing (Generate Test Cases for direct automatic execution) will be very tricky and/or costly. That&amp;#039;s why we (Sogeti) are introducing also a basic form of Model Based Testing (STaaS/COVER), using the same models as the developers do.&lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;img src="http://robkuijt.nl/images/MBTcomplexity.jpg" width="302" height="322" border="0" alt=""/&gt;&lt;br /&gt;&lt;i&gt;"MBT: ...a bridge to far..."&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;MBT: Generate Test Cases for direct automatic execution&lt;/b&gt; &lt;br /&gt;Does this mean that Generating automated tests is a dead end? &lt;b&gt;NO!&lt;/b&gt; It is a very good approach for testing high risk functionalities, which are to risky or to complex to test manually.&lt;br /&gt;Making test specific models is a costly business and top designers/test engineers are needed to make it work. So be sure to pinpoint these heavy coverage and tooling only on the high risk areas. &lt;b&gt;AND!! &lt;/b&gt; Do not try to make the test specific models in the Testing Silo! Look for collaboration with the design department to get these test specific models in the same configuration mnagement as the models the devlopers use to build the software. Preferably in an "ALM Center Configuration Management".&lt;br /&gt;&lt;br /&gt; &lt;b&gt;MBT-basic: Using the same models as the developers do&lt;/b&gt; &lt;br /&gt;On the other hand, when the ambition of Model Based Testing is lowered to only generating the test cases, it is a complete different story. Especially the generation of the (more global) logical test cases can be done from the same (functional and/or requirement) models the developers use as a bases for creating the software. For instance process flows (activity diagrams), decision tables and pseudo code are a perfect basis for generating (logical) test cases. &lt;br /&gt;Enrichment of these models (in collaboration with the design department) will bring us to the next step: Generating the physical test cases. In that case the Test Cases are no longer Configuration Items (costly maintenance!) but Test Cases become Work Items (if desired: directly generated from the same models the developers use to build the software).&lt;br /&gt;&lt;br /&gt;Rob Kuijt&lt;br /&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry091019-190829</guid>
      <pubDate>Mon, 19 Oct 2009 10:08:29 -0700</pubDate>
      <category>ALM, Testing</category>
    </item>
    <item>
      <title>ALM: the end of the whispering game</title>
      <link>http://robkuijt.nl/index.php?entry=entry091017-203506</link>
      <description>&lt;i&gt;Who don&amp;#039;t know the whispering game? For me it was one of my favourite games in my childhood. Whispering a tricky word in the ear of the child next to you and waiting for the twisted result at the end of the cycle....&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;Nowadays not only children do play this game. In the ICT world practically everyone is playing this game. Only they invented a new name for it: &lt;b&gt;The Waterfall Model&lt;/b&gt; .&lt;br /&gt;&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/whispering_game.jpg" width="480" height="247" border="0" alt=""/&gt;&lt;/center&gt; &lt;br /&gt;&lt;br /&gt;ALM (Application Lifecycle Management) makes an end to the twisted results of this widely implemented whispering game. Instead of working in Silos with their own project and configuration management, in ALM the requirement, workflow and configuration management is organized in the center of the process. So everybody is working on the same artifacts.&lt;br /&gt;&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/alm2.jpg" width="480" height="376" border="0" alt=""/&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt;In ALM everbody is working on the same artifacts. No whispering risks at all.. ;-) &lt;br /&gt;&lt;br /&gt; &lt;b&gt;And from my archive..&lt;/b&gt; &lt;br /&gt;Some famous twisted results of the whispering game: &lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;img width="480" height="329" border="0" alt=""/&gt;&lt;/center&gt; &lt;br /&gt;&lt;br /&gt; &lt;center&gt; &lt;img width="480" height="360" border="0" alt=""/&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt; &lt;center&gt; &lt;img width="480" height="464" border="0" alt=""/&gt;&lt;/center&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry091017-203506</guid>
      <pubDate>Sat, 17 Oct 2009 11:35:06 -0700</pubDate>
      <category>ALM, Quality, Fun</category>
    </item>
    <item>
      <title>Team Foundation Server basic</title>
      <link>http://www.pieterdebruin.net/2009/10/15/TeamFoundationServerBasic.aspx</link>
      <description>&lt;p&gt;
… and the end of Visual SourceSafe. &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx"&gt;Brian
Harry blogged&lt;/a&gt; about this recently. His post explains the early days of SourceSafe
and the idea of bringing easy version control to developers. In the 3rd generation
of Visual Studio Team System this concept returns in the form of TFS Basic. It is
Team Foundation Server without components such as Windows Sharepoint Services and
SQL Reporting Services but it does provide functionality for version control, builds
and simple work items. The installation is supposed to be just 2 Gb and takes 20 minutes
to complete. You can even install it on your laptop if you are doing a disconnected
development project solo where you want to use version control. And if your TFS Basic
is to be used by the entire organization, you can simply “reconfigure” the instance
and make it a full-blown Team Foundation Server.
&lt;/p&gt;
&lt;p&gt;
All of this will be publicly available in TFS 2010 Beta2, which is just around the
corner. And since &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/briankel/archive/2009/10/02/get-ready-to-go-live-with-team-foundation-server-2010-beta-2.aspx"&gt;Beta2
can go-live&lt;/a&gt; you can actually have this functionality in the real world very soon.
&lt;/p&gt;
&lt;p&gt;
Check out Brian’s post for more information. &lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="tfs_basic_setup" border="0" alt="tfs_basic_setup" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/TeamFoundationServerbasic_B7D2/tfs_basic_setup_3.png" width="244" height="184"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=a4dec3ca-313d-41a6-8a46-606106c839ab"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,a4dec3ca-313d-41a6-8a46-606106c839ab.aspx</guid>
      <pubDate>Thu, 15 Oct 2009 04:04:18 -0700</pubDate>
    </item>
    <item>
      <title>Indispensable documentation for Team Foundation Server 2008</title>
      <link>http://www.pieterdebruin.net/2009/10/07/IndispensableDocumentationForTeamFoundationServer2008.aspx</link>
      <description>&lt;p&gt;
If you are doing a Team Foundation Implementation or if you are running one, make
sure you have these guides to make your life easier:
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ff12844f-398c-4fe9-8b0d-9e84181d9923"&gt;Installation
guide&lt;/a&gt; – How to install TFS (in single or dual server setup), TFS build, TFS proxy
and team explorer.
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=585f0ce7-789e-4c00-b132-6d88c995685c"&gt;Administration
guide&lt;/a&gt; - Administration concepts, procedures, and walkthroughs.
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/bb663036(VS.80).aspx"&gt;Operations
guidance&lt;/a&gt; – When you realize that your ALM solution is business critical
&lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/TFSGuide"&gt;TFS Guide&lt;/a&gt; - All about using your TFS
and getting the most out of it
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="tfs_sku" border="0" alt="tfs_sku" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/IndispensabledocumentationforTeamFoundat_116CF/tfs_sku_3.png" width="277" height="331"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=f44ac90c-b646-4d1b-ae75-3c2d8adb9431"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,f44ac90c-b646-4d1b-ae75-3c2d8adb9431.aspx</guid>
      <pubDate>Wed, 07 Oct 2009 10:49:44 -0700</pubDate>
    </item>
    <item>
      <title>Most Valuable Professional in Team System</title>
      <link>http://www.pieterdebruin.net/2009/10/05/MostValuableProfessionalInTeamSystem.aspx</link>
      <description>&lt;p&gt;
My first public appearance about Visual Studio Team System was with Dennis Mulder
in June 2005. After a few more years of community exposure I received the MVP Team
System reward, which I consider a great honor. &lt;/p&gt;
&lt;p&gt;
&lt;a rel="nofollow" target="_blank" href="http://mvp.support.microsoft.com/"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="MVP_horizontal" border="0" alt="MVP_horizontal" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/MostValuableProfessionalinTeamSystem_D259/MVP_horizontal_3.png" width="244" height="101"&gt;&lt;/a&gt;&amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/default.aspx"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ShareTheVision" border="0" alt="ShareTheVision" src="http://www.pieterdebruin.net/content/binary/WindowsLiveWriter/MostValuableProfessionalinTeamSystem_D259/ShareTheVision_3.jpg" width="226" height="101"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;
Back then the presentation was about source control in VSTS 2005. It is great to see
the progress in VSTS 2008 that the discussion is now way beyond version control. And
the story continues as the &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/charles_sterling/archive/2009/10/02/tfs-beta2-setup-chat-postponed-until-oct-19th.aspx"&gt;eminent
VSTS 2010 Beta2 release&lt;/a&gt; will prove. &lt;/p&gt;
&lt;p&gt;
It is going to be a very promising year for VSTS. And it feels great to be a part
of it. &lt;/p&gt;
&lt;p&gt;
PS: You can see my fellow MVPs &lt;a rel="nofollow" target="_blank" href="https://mvp.support.microsoft.com/communities/mvp.aspx?product=1&amp;amp;competency=Team+System"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;img width="0" height="0" src="http://www.pieterdebruin.net/aggbug.ashx?id=e9a30689-4a88-48ae-ba43-effac0c25f5b"/&gt;</description>
      <guid isPermaLink="false">http://www.pieterdebruin.net/PermaLink,guid,e9a30689-4a88-48ae-ba43-effac0c25f5b.aspx</guid>
      <pubDate>Mon, 05 Oct 2009 05:57:30 -0700</pubDate>
    </item>
    <item>
      <title>How to make VSTS DBPro work with the default database collation</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/09/08/how-to-make-vsts-dbpro-work-with-the-default-database-collation.aspx</link>
      <description>&lt;p&gt;today, I had a few hours of frustration, getting all databases in our project use the same collation.&lt;/p&gt; &lt;p&gt;What I wanted to achieve is that we would use the default collation of &lt;strong&gt;Latin1_General_CI_AS&lt;/strong&gt; but not script that in our SQL scripts.&lt;/p&gt; &lt;p&gt;To start, for some reason the DBPro team decided not to use the names we are used to when we are working with collations. The list we all know (and love ahum ..) doe not show any relationship with the names used for the model collation. So first you need to figure out that English(United States) (1033) – CS, means &lt;strong&gt;Latin1_General_CS_AS&lt;/strong&gt; .&lt;/p&gt; &lt;p&gt;As you might know the default collation for SQL 2008 default installation on an US English machine is &lt;strong&gt;Latin1_General_CI_AS&lt;/strong&gt;, so that does not match by default. So I started to change this setting in all our database projects. &lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_624B9F45.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_0453FB0C.png" width="627" height="316"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Then I wanted to set the scripts not to contain the collation in the scripts. To do this you can go to the&amp;#160; deploy Tab and then click the Deployment Configuration file Edit button.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_705A6875.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_4E225CEF.png" width="645" height="336"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;There you will get the following settings page with the dropdown where you can select the “deployment collation default” for your DBPro project.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_2BEA5169.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_71FB0E7C.png" width="571" height="380"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now we get to the fun part, because when you select the option “Do not script the collation” and you hit the deploy button I constantly got the message:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;Warning TSD00258: The project and target databases have different collation settings. Deployment errors might occur.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now that is interesting, I know my database is the default collation, I set the project to use English(United States) (1033), so why do I get this message?!?&lt;/p&gt; &lt;p&gt;So after some searching I found yet another location where you can set the collation and that is in the Catalog properties file on the first properties page. So I selected the option edit and got the following page:&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_2ECF904F.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_4B890564.png" width="603" height="379"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Ok so I see, the collation is here CS and a SQL collation, so I changed that one also to &lt;strong&gt;Latin1_General_CI_AS.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;So now I should be good right?&lt;/p&gt; &lt;p&gt;Well no, no luck. It just seems there is no way to get rid of the message telling me I have a different collation then the target database.&lt;/p&gt; &lt;p&gt;At this moment I am just stumped and do some additional inquiries why this is the case. The only way for now to make it work for me without warnings during build, is to set the “deployment collation default” back to “Use the collation of my project”. &lt;/p&gt; &lt;p&gt;It seems like a bug at this moment that I get this warning, but once I know for sure, i will post the update here.&lt;/p&gt; &lt;p&gt;Cheers,&lt;/p&gt; &lt;p&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=19433" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:19433</guid>
      <pubDate>Tue, 08 Sep 2009 15:59:38 -0700</pubDate>
    </item>
    <item>
      <title>Silverlight error messages can be very cryptic or even inappropriate sometimes</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/08/30/silverlight-error-messages-can-be-very-cryptic-or-even-inappropriate-sometimes.aspx</link>
      <description>&lt;p&gt;The past few days I have been working on a simple proof of concept where we want to replace some of the dashboards we have that where build in Flex/Flash with Silverlight 3 controls.&lt;/p&gt; &lt;p&gt;The reason to switch has most to do with the fact we can maintain all our codebase with one single technology instead of having many different technologies. The proof of concept just needs to show we can get the same functionality and have better development and debugging experience then we have today.&lt;/p&gt; &lt;p&gt;So during some work I did, I needed to just call an existing web service that already has an crossdomain.xml file deployed on the website. Now it happens to be that this web service is part of our SharePoint portal. Once I created the proxy by just adding a web reference, I created the simple code to call the service and wait for the data to get back:&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;pre class="code"&gt;DisplayNames.&lt;span style="color:#2b91af;"&gt;DisplayNameSoapClient &lt;/span&gt;client = &lt;span style="color:blue;"&gt;new &lt;/span&gt;BuildStats.DisplayNames.&lt;span style="color:#2b91af;"&gt;DisplayNameSoapClient&lt;/span&gt;();
client.GetViewDataCompleted+=&lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;EventHandler&lt;/span&gt;&amp;lt;BuildStats.DisplayNames.&lt;span style="color:#2b91af;"&gt;GetViewDataCompletedEventArgs&lt;/span&gt;&amp;gt;(client_GetViewDataCompleted);
client.GetViewDataAsync(&lt;span style="color:#a31515;"&gt;"Budget (Earned Value)"&lt;/span&gt;,&lt;span style="color:#a31515;"&gt;"Highlight"&lt;/span&gt;);&lt;/pre&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;As you can see very simple code. Now when I tried to get this code to work, I constantly got the same exception message time and time again, and I just could not understand what was going wrong.&lt;/p&gt; &lt;p&gt;The message I got was the following:(XXXX is the name of the server I just left out)&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;i&gt;An error occurred while trying to make a request to URI 'http://xxxxxx/sites/endstp/dev/_vti_bin/DisplayName.asmx'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;It took me a very long time to get my head around what was happening here, since I used the same service as the flex control was using and we already had the crossdomain.xml deployed. I used &lt;a rel="nofollow" target="_blank" href="http://www.fiddler2.com/fiddler2/"&gt;fiddler&lt;/a&gt; to see if the crossdomain.xml file was retrieved and I could see it did get the file. So what was happening here? Well as after reading the message over and over again, I finally picked out the following part of the message: “&lt;b&gt;&lt;i&gt;or a policy that is unsuitable for SOAP services”&lt;/i&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;It happened to be that the way the flex control retrieved the data was different the I did with Silverlight. Therefore I needed to alter the crossdomain.xml file to also include a SOAP call. So the file I now used looks like follows:(See &lt;strong&gt;bold &lt;/strong&gt;line that fixed the problem for me)&lt;/p&gt; &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515;"&gt;xml &lt;/span&gt;&lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;"&lt;span style="color:blue;"&gt;?&amp;gt;
&amp;lt;!&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color:red;"&gt;cross-domain-policy &lt;/span&gt;&lt;span style="color:blue;"&gt;SYSTEM &lt;/span&gt;"&lt;span style="color:blue;"&gt;http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;cross-domain-policy&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;allow-access-from &lt;/span&gt;&lt;span style="color:red;"&gt;domain&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;" &lt;span style="color:red;"&gt;secure&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;" &lt;span style="color:blue;"&gt;/&amp;gt; &lt;strong&gt; &amp;lt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#a31515;"&gt;allow-http-request-headers-from &lt;/span&gt;&lt;span style="color:red;"&gt;domain&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;" &lt;span style="color:red;"&gt;headers&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;SOAPAction&lt;/span&gt;"&lt;/strong&gt;&lt;span style="color:blue;"&gt;&lt;strong&gt;/&amp;gt;
&lt;/strong&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;cross-domain-policy&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;I know for production use we should not allow just anybody to do calls against our server, but since this is only used during development, this is fine for me now. Once the control is implemented it won’t be making cross domain calls anymore and I don’t need the file. (it is not a part of the deployment package)&lt;/p&gt; &lt;p&gt;So after fixing that I was able to get the data and plot the simple graphs based on the data I got. So all was good again.&lt;/p&gt; &lt;p&gt;But then one day later, I started some additional work on the same project and I got the exact same error message again!?!?!?&lt;/p&gt; &lt;p&gt;So how could that be? I wanted to start and see if the cross domain file might be incorrect or changed by someone else and then I found that the network was not even up and running! So I just simply forgot to plug in my network cable before I start to work and I got the exact same message!&lt;/p&gt; &lt;p&gt;Now I must say that encrypting an error message in such a way it will take a while to figure out what is wrong is one thing, but using the exact same message while there is not even a network available, just beats me. I know that with security in mind, you don’t always want to provide a lot of diagnostics what might be the issue, but just giving everybody a walk around the park with a generic message , just makes no sense to me. I really hope this is not a new trend in security practices. &lt;/p&gt; &lt;p&gt;Cheers,&lt;/p&gt; &lt;p&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16770" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16770</guid>
      <pubDate>Sun, 30 Aug 2009 13:26:00 -0700</pubDate>
    </item>
    <item>
      <title>Deep dive event at the Microsoft north Carolina office</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/08/12/deep-dive-event-at-the-microsoft-north-carolina-office.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I Just got back from my holiday in Tuscany Italy, and am already on the road again. We had a great opportunity to visit the Microsoft Team System development team in Raleigh NC. &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;The team over there is responsible for the Team Foundation Server, Team Web Access, Team Test, Setup &amp;amp; Ops &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;and Team Build. The last one is of particular interest to us, since we rely on Team System and Team build in particular for our software factory Endeavour.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;With the 2008 Product we integrate very tightly with and we want to have the same or even a better experience with the 2010 version coming down the pipe. As you all might now by now when you have looked at the B1 bits, is that there are significantly changes between 2008 en 2010. The biggest part is that team build is now using windows Workflow Foundation as the engine behind the build process instead of the MSBuild scripts we had in 2008. Now that adds some pro&amp;rsquo;s and con&amp;rsquo;s in terms of building our custom experience on top of that. E.g one thing we will going to miss is the option to only extend the process on specific predefined build targets and adding in our own steps to the process. With 2010 there is no notion of an extensible build script anymore and you will get an workflow instead that you need to copy and tweak according to your needs. On the other hand, it is really great that you can see a visual representation on what the process will look like in terms of phases and steps that compose the build.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;One area where we extended the Visual Studio 2008 IDE is in the build configuration wizard. We extended the default dialog to work with our factory concept of Configuration Items (CI&amp;rsquo;s) instead of crafting up a workspace and selecting solution from there. &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;See screenshot below to give you an idea on how we extended the build definition dialog.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/BuildDialogExtension1.PNG"&gt;&lt;img src="http://blogs.infosupport.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/BuildDialogExtension1.PNG" border="0" alt=""/&gt;&lt;/a&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/BuildDialogExtension2.PNG"&gt;&lt;img src="http://blogs.infosupport.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/BuildDialogExtension2.PNG" border="0" alt=""/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;For us a CI is defined as the unit of design, development, test and deployment. A CI can consist out of multiple modules and a module contains a solution or a MSBuild script that does some funky stuff needed for a certain folder in Version control to be build. We knew upfront that build would change drastically in 2010, but we took the decision to create the 2008 experience first and based on what we learn from that build the same or improved version in 2010.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;As part of our elaboration work on 2010, we flew over to the NC office and had our first two days of meetings with the team build team. We had the opportunity to look at the current status of the product and work with the team to discuss how we can integrate our notion of a build with the out of box experience of Team Build.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;I must say I am pretty pleased in terms of what I see coming in the B2 timeframe which I cannot discuss in public yet, but I can say we have seen significant improvements to the B1 that is out there at this moment.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Our goal is to have a good design crafted up by the end of the week in terms of how we are going to integrate with team build 2010 and even have some early proof of concepts that will work once we get B2. &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;Once I am able to speak public about the B2 build, you can see a couple of post up here on how we use the 2010 engine and how you can create and manage your own build processes, just the way we are doing that as well.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Cheers,&lt;br /&gt;Marcel&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16626" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16626</guid>
      <pubDate>Wed, 12 Aug 2009 05:14:00 -0700</pubDate>
    </item>
    <item>
      <title>WSCF.blue Beta 1 is out!</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,dcf22cb5-ce5e-4572-b6fd-56ebb5ed6fb3.aspx</link>
      <description>&lt;p&gt;I Just wanted to let you know that we have just released the &lt;a rel="nofollow" target="_blank" href="http://wscfblue.codeplex.com/"&gt;Beta 1 of WSCF.blue&lt;/a&gt;. This great tool supports a Contract First Approach for developing webservices in Visual Studio 2008. Some time ago, I took the project lead (together with &lt;a rel="nofollow" target="_blank" href="http://blogs.thinktecture.com/cweyer/"&gt;Christian&lt;/a&gt;) for this great tool. Unfortunately, I have been kind of busy lately so we didn’t made a lot of progress in the last couple of months. Just recently a couple of&amp;nbsp; new members joined our team which resulted in this Beta 1 release. In this release we added MSI support which was one of the key requested features for this tool. For some more info on this release I suggest to have a look at &lt;a rel="nofollow" target="_blank" href="http://santoshbenjamin.wordpress.com/2009/07/04/wscf-blue-beta-1/"&gt;this post&lt;/a&gt; from &lt;a rel="nofollow" target="_blank" href="http://santoshbenjamin.wordpress.com/"&gt;Benjamin&lt;/a&gt; (one of our new team mebers!). Our new team members inspired us a lot and brought some great ideas so expect some cool new features soon! Let us know what you think of this release on our &lt;a rel="nofollow" target="_blank" href="http://wscfblue.codeplex.com/Thread/List.aspx"&gt;forum&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt; Thanks &lt;a rel="nofollow" target="_blank" href="http://blogs.thinktecture.com/buddhike/"&gt;Buddhike&lt;/a&gt;, &lt;a rel="nofollow" target="_blank" href="http://santoshbenjamin.wordpress.com/"&gt;Benjamin&lt;/a&gt; and Alex Meyer-Gleaves for getting this new release out!!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=dcf22cb5-ce5e-4572-b6fd-56ebb5ed6fb3"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,dcf22cb5-ce5e-4572-b6fd-56ebb5ed6fb3.aspx</guid>
      <pubDate>Sat, 04 Jul 2009 13:31:37 -0700</pubDate>
      <category>Web Services;WSCF.blue</category>
    </item>
    <item>
      <title>Model-Based Testing is not "Only Fun" anymore....</title>
      <link>http://robkuijt.nl/index.php?entry=entry090620-140924</link>
      <description>&lt;i&gt;For several years now, Model-Based Testing is mainly used within the (technical) development processes. In the Black Box testing community it was still "just a theory", and in my case: fun to play with. Today is different! I&amp;#039;m completely into Model-Based Testing nowadays. MBT turned, for Black Box testers, into serious business! &lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt;Wikipedia: &lt;br /&gt; &lt;b&gt;Model-Based Testing&lt;/b&gt; is software testing in which test cases are derived in whole or in part from a model that describes some (usually functional) aspects of the system under test (SUT).&lt;/blockquote&gt;&lt;br /&gt; &lt;table width="100%"&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;img&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;br /&gt;For quite some years I&amp;#039;m working with a tool called &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt;. Initially &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt; was build to help lazy testers, like me, to avoid boring manual activitiesand it worked! Using this tool I could easily amaze my surrounding with stunning Speed and Quality. Especially deriving test cases from formal specifications like pseudo code or activity diagrams was fun to do; instead of "solving a boring puzzle" time, it was done in seconds (as a matter of speaking). However, most of the testers in my surrounding didn&amp;#039;t recognize the ease of this way of working (or were not lazy enough?) so &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt; didn&amp;#039;t have much users.&lt;br /&gt; &lt;center&gt; &lt;img width="339" height="234" border="0" alt=""/&gt; &lt;/center&gt; &lt;br /&gt;Today is different. The attention for Model-Based Testing is growing rapidly. Previously, when a project had to make test cases, it was accepted that it was done manually and, everybody knew, it should take quite some time. &lt;br /&gt;Today the budgets are lowered...What to do?...Less productivity?&lt;br /&gt;My suggestion: When you&amp;#039;ve less money to spent, be creative to get the same results!&lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;big&gt;&lt;big&gt;&lt;font color="red"&gt;First Model then Test!&lt;/big&gt;&lt;/big&gt;&lt;/font&gt;&lt;/center&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Model-Based Testing is a nice example of creative thinking!&lt;/b&gt;&lt;br /&gt;Within a few months the relatively unknown possibilities of Model-Based Testing tools became very popular for Black Box testers within Sogeti. Especially the collaboration-part (designers working together with testers) of Model-Based testing is an eye opener. Everybody knows that it is smart to find defects as early as possible, but it is very difficult to motivate teams to perform good design inspections. Now MBT tools like &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt; can do a big part of those intensive inspections, because using the models for generating test cases will directly show the defects in those models in a very early phase of the project! And beside that, it generates a big part of the test cases! &lt;br /&gt;&lt;br /&gt;So, when the Designers create models that &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt; understands, projects will perform Better, Faster and Cheaper! ....and it works!&lt;br /&gt;Some (early) successes from our proof-of-concepts and implementations:&lt;br /&gt; &lt;ul&gt;&lt;li&gt;The amount of time needed for creating test cases dropped 50% (and sometimes more);
&lt;/li&gt;&lt;li&gt;The maintenance of the (regression) test cases became in average 70-80% cheaper;
&lt;/li&gt;&lt;li&gt;And maybe most important: We have proved to find defects much earlier than the project did manually!&lt;/li&gt;&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Collaboration will change the world of testers!&lt;/b&gt;&lt;br /&gt;Using MBT is in fact collaborating within the Application Lifecycle [ALM] supported by standardization and automation. Many defects, found in functional testing, have their origin in misinterpretations and assumptions of the requirements and/or specifications. The early usage (generating test cases) of formal models, just after or during the design phase, will create a much more solid base for software coding. For the testers this will mean less and less defects, so besides the generated test cases, the improved quality of the software will also fasten the test process.&lt;br /&gt;(PS. When both software and test cases are generated from the same models, be sure that the test objective is clear!)&lt;br /&gt;&lt;br /&gt;This industrialization cant be stopped anymore. The time of creating most test cases by hand has had its peak. Of course, not all test cases can be generated, and also manual testing itself will never disappear, but handcrafted test cases will be less and less common practice. The work of Black Box testers will, in my opinion, shift in two directions: 1) Earlier in the life cycle: joined modeling and helping and supporting development to find defects as early as possible (Master Test Plan consultancy), or 2) the coming market End-to-End testing: the importance of complete chains of applications is growing rapidly. End-to-End Testing will become a separate specialism. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Examples&lt;/b&gt; &lt;br /&gt;Back to Model-Based Testing: To give an idea what type of models can be used, and how test cases are generated, I&amp;#039;ve made a &lt;a rel="nofollow" target="_blank" href="http://tstr.nl/cover-p/index.php?s=MBT_COVER_overview_01&amp;c=RobKuijt"&gt;&lt;u&gt;some slides (with examples)&lt;/u&gt;&lt;/a&gt; about the Sogeti MBT tool: &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/cover/index.php"&gt;COVER&lt;/a&gt;. Look for yourself if MBT will affect your work!&lt;br /&gt;&lt;br /&gt;It did affect mine!&lt;br /&gt;;-)&lt;br /&gt;Rob Kuijt</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry090620-140924</guid>
      <pubDate>Sat, 20 Jun 2009 05:09:24 -0700</pubDate>
      <category>ALM, Quality, Testing, TMap®, Fun</category>
    </item>
    <item>
      <title>How to fix Team build Error in TFS2010 “MSTest.exe not found”</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/06/11/how-to-fix-team-build-error-in-tfs2010-mstest-exe-not-found.aspx</link>
      <description>&lt;p&gt;I must say it really helps a lot when you have someone available from the dev teams to solve some issues with the Beta Bits. As I told in my previous post I worked with Adam Bar from the Microsoft North Carolina Office for our devdays pre-conference. While working on my demo’s I ran into a problem where I did have a tests working locally, but once I ran an Team Build on the solution, I always got the message that MSTest.exe could not be found.&lt;/p&gt; &lt;p&gt;This happened to be a known bug on 64 bit machines and can easily be fixed by adding a registry key to the non wow64 node in the registry. It appears that in Beta 1, from the team build environment the location of MSTest is searched in the non 64bit registry location. What you need to do to fix this problem is the following:&lt;/p&gt; &lt;p&gt;Use regedit to add the following Key:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;HKEY_LOCAL_MACHINE&amp;#92;SOFTWARE&amp;#92;Microsoft&amp;#92;VisualStudio&amp;#92;10.0&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Key Name: &lt;strong&gt;&lt;em&gt;InstallDir &lt;/em&gt;&lt;/strong&gt;and set that key to the location where Visual Studio 2010 is installed (e.g. C:&amp;#92;program files&amp;#92; Microsoft Visual Studio 10&amp;#92;Common7&amp;#92;IDE)&lt;/p&gt; &lt;p&gt;Now start a new build and you will see the build will find MSTest again :-) &lt;br /&gt;&lt;/p&gt; &lt;p&gt;Cheers, &lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16127" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16127</guid>
      <pubDate>Thu, 11 Jun 2009 04:57:28 -0700</pubDate>
    </item>
    <item>
      <title>Visual Studio 2010 Beta 1: How to fix Worklow designer crash</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/06/10/visual-studio-2010-beta-1-how-to-fix-worklow-designer-crash.aspx</link>
      <description>&lt;p&gt;Last week I gave a presentation internally at our Info Support Knowledge Transfer evenings. Based on a deep dive training I got to attend on Campus begin of May, I presented a session on Windows Workflow 4.0. As you might know I am passionate about two technologies that I try to dig into as deep a s possible and those are visual Studio Team System and Windows Workflow Foundation. During the preparation of my talk on workflow, I obviously wanted to show some workflow designs and create some designs on the fly.&lt;/p&gt; &lt;p&gt;But Every time I wanted to create a new Workflow, the designer crashed and Visual Studio got closed :-(&lt;/p&gt; &lt;p&gt;It took me some while to discover that the crash was caused by the Visual Basic expression editor that gets activated once you create a workflow. This editor was unable to load a required assembly. It appears that this was caused by the fact that I installed Visual Studio at a different location then the default c:&amp;#92; drive.&lt;/p&gt; &lt;p&gt;In the Beta the bits don’t check the install directory location in the registry but just assume this to be the default location.&lt;/p&gt; &lt;p&gt;But how could I fix this? I did install on D:&amp;#92; and was not willing to install again, since that would take a lot of time.&lt;/p&gt; &lt;p&gt;After some digging around I found a great solution that is posted at the &lt;a rel="nofollow" target="_blank" href="https://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=457783"&gt;connect site&lt;/a&gt;. You can create a symbolic link at the OS level on the file system. &lt;br /&gt;When you make a c:&amp;#92;profgram Files&amp;#92;Visual Studio 10.0 directory point to the actual installation on the D:&amp;#92; drive the issue is solved.&lt;/p&gt; &lt;p&gt;You can use the mklink command for that and specify the /J option to create a directory junction. After running mklink as an administrator and restarting Visual Studio , I was able to create workflows.&lt;/p&gt; &lt;p&gt;Hope this helps if you run into the same issue.&lt;/p&gt; &lt;p&gt;Cheers &lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16118" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16118</guid>
      <pubDate>Wed, 10 Jun 2009 12:54:37 -0700</pubDate>
    </item>
    <item>
      <title>How to make Layer Validation Diagrams work in the build</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/06/09/how-to-make-layer-validation-diagrams-work-in-the-build.aspx</link>
      <description>&lt;p&gt;In Visual studio 2010 Team Architect edition, you have a new type of diagram available, called the layer diagram. What is great about this diagram is that you can use it to actually validate if the source code you have written adheres to the rules you defined in terms of allowed dependencies between layers. This adds great value to the notion of modeling the layers for your product and can help you mandate the rules you pose as an architect are actually followed by the development team.&lt;/p&gt; &lt;p&gt;In the visual studio IDE you can run a layer validation just by right clicking the diagram and selecting the option Validate, as show in screenshot below:&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_0DDDAE1C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_2A972331.png" width="770" height="432"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;But what If I want to run this validation every time you compile the project, or even better during each build we run on the build server?&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/camerons/"&gt;Cameron Skinner&lt;/a&gt; has a &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/camerons/archive/2008/12/11/incorporate-layer-validation-in-your-builds.aspx"&gt;blog post&lt;/a&gt; based on the PDC CTP bits, on how you can create the layer diagram and link it into your solution for validation. The Beta 1 we currently use has the option to Validate default available in the dropdown of available actions for the linked diagram. But unfortunately it does not validate straight out of the box. &lt;/p&gt; &lt;p&gt;It took me quite some digging around in the target files that come with the architect edition, but I discovered that there is a property called ValidateArchitectureOnBuild that enables or disables the layer validation during the build.&lt;/p&gt; &lt;p&gt;So in order to enable the build during build, you must add this property to your build file. This can be done by unloading the project and adding the property to the property group that contains several options you select in the properties page of your project. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;lt;PropertyGroup&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;… &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;font color="#ff0000"&gt;ValidateArchitectureOnBuild&lt;/font&gt;&amp;gt;true&amp;lt;/&lt;font color="#ff0000"&gt;ValidateArchitectureOnBuild&lt;/font&gt;&amp;gt; &lt;br /&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Once you reload the the project and run a local compile you will see the layer diagram is validated during the compilation pass.&lt;/p&gt; &lt;p&gt;Hope this helps you get layer validation running as an integral part of your build process :-)&lt;/p&gt; &lt;p&gt;cheers, &lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16114" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16114</guid>
      <pubDate>Tue, 09 Jun 2009 14:10:19 -0700</pubDate>
    </item>
    <item>
      <title>Devdays 2009</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/06/04/devdays-2009.aspx</link>
      <description>&lt;p&gt;It has been a few days since we held developer days conference here in the Netherlands. I Must say I was quite pleased to see there where so many attendees especially with the current economic situation.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://www.devdays.nl/"&gt;Devdays&lt;/a&gt; is always this special week in the year for me since I tend to always give sessions on the latest greatest technologies and they also happen to ship a CTP or beta drop just a week for such a conference. This year again I had to work day and night to get all demo’s working on the latest available bits since that gives the best impression for the attendees in terms of the current available feature set. This year I presented a Pre Conference session on Visual Studio Team System 2010, together with &lt;strong&gt;&lt;em&gt;Adam Barr&lt;/em&gt;&lt;/strong&gt;, who is a Test lead at Microsoft on Team foundation sever. Adam Arrived on Monday and we spend two days getting all the demo’s working correctly. Also Edd Glas from the Team Test Team got over and presented part of the preconference. We decided it was great for the preconference audience to have two people straight from the trenches telling about what they are building. The total content for the Pre Conference covers over 6 hours of content and demos on what is all in the product, and the feedback received during the session was very positive.&lt;/p&gt; &lt;p&gt;On Devdays day 1, I got my personal 2 Minutes of fame during the Keynote Session. (aprox. 1800 people attending). Begin of January I have been selected to become a &lt;a rel="nofollow" target="_blank" href="http://www.theregion.com/profile.aspx?rd=1390"&gt;Microsoft regional Director&lt;/a&gt; for the Netherlands together with &lt;a rel="nofollow" target="_blank" href="http://blogs.class-a.nl/blogs/anko/"&gt;Anko Duizer&lt;/a&gt;. During the Keynote I was asked to talk in maximum 2 Minutes on my vision on ALM and what people should expect to happen in that space the coming year. I Got an picture of a Colleague of mine that has me on stage during the Keynote.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/DSC00569_5F00_0600D4FB.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="Devdays Keynote" border="0" alt="Devdays Keynote" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/DSC00569_5F00_thumb_5F00_2AB1EC72.jpg" width="472" height="359"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; I must say it really looks different from the other side when you are on stage :-)&lt;/p&gt; &lt;p&gt;The second Day I gave my Last session that is called “Modeling that works with code” where I show what you can do with all the great new Modeling and DSL stuff shipping with Team Architect Edition 2010. &lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/DSC00582_5F00_575AA64B.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="DSC00582" border="0" alt="DSC00582" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/DSC00582_5F00_thumb_5F00_00160B95.jpg" width="467" height="355"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This is where I showed the value of modeling up front and Bottom up by generating UML Sequence Diagrams and DGML Diagrams based on the code you have. One of the demo’s I gave was something I was able to craft up with the Help of &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/"&gt;Edward&lt;/a&gt; and &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt;. This is a Demo where you can create new DGML Models using the available .NET API’s. This is very powerful if you e.g. use this in a Daily build and generate diagrams that show stuff like: Classes with a Code Coverage below a certain quality bar, Hot Maps in terms of code Churn mapped to all projects in your product, Lines of code expressed in the size of DGML Nodes, etc. It is amazing what the possibilities are. &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; and &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/"&gt;Edward&lt;/a&gt; are working e.g. on &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/PermaLink,guid,19de7161-769f-4b70-81b6-b435c0557093.aspx"&gt;Architectural Inspections&lt;/a&gt; based on the archetypes described in the Patterns And Practices application architecture guide. &lt;/p&gt; &lt;p&gt;If you are interested in the slides from this session, you can download them &lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/media/p/16082.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In a Next Post I will show you how easily you can create a new Diagram based on the available API, and some fixes on visual Studio 2010 I needed to make for all the demo’s to work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=16083" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:16083</guid>
      <pubDate>Thu, 04 Jun 2009 14:11:47 -0700</pubDate>
    </item>
    <item>
      <title>Architectural Inspections: Implemented in Visual Studio Team Architect 2010</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,19de7161-769f-4b70-81b6-b435c0557093.aspx</link>
      <description>&lt;p&gt;Currently, &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl"&gt;Clemens&lt;/a&gt; and I are writing a whitepaper about Architecture, &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArch"&gt;Application Architecture Guide 2.0&lt;/a&gt; and &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=255fc5f1-15af-4fe7-be4d-263a2621144b&amp;amp;displaylang=en"&gt;Visual Studio Team Architect 2010&lt;/a&gt;. (VSTA). In addition to this paper we are also working on some ‘tooling’ that we plan to deliver with the paper. Since we are not done with the paper and tooling yet and this blog becomes a bit too quite I decided to start sharing some of our thoughts and work in this space on this blog. &lt;/p&gt;
&lt;p&gt; One of the topics in the paper is, what we call, ‘Architectural Inspections’. Without going into too much details just yet we can think of an Architectural Inspection as a ‘check’ to help us verify the correctness of (parts of) an application architecture. The concept isn’t totally new, in fact the Application Architecture Guide 2.0 comes with an organized &lt;a rel="nofollow" target="_blank" href="http://apparch.codeplex.com/Wiki/View.aspx?title=Checklists"&gt;checklist&lt;/a&gt; that sums up important inspections that an architect can use during the design and/or validation phase of an architecture. Although a checklist is a great start, we think that a standalone checklist doesn’t get the most out of these so called Architectural Inspections. In our opinion it will be much more powerful if we can include these inspections in our Application Lifecycle Management practice, integrate them in the Visual Studio IDE and provide the right guidance at the right moment!
&lt;/p&gt;
&lt;p&gt; To validate our thinking, we collected all the inspections in the &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArch"&gt;Applications Architecture Guide 2.0&lt;/a&gt; checklists and stored them in an XML format. In fact, we used the Team Foundation Server 2010 (TFS) Work Item Type XML format which enables us to easily upload our Architectural Inspections into TFS as work items. In addition to the ‘core’ Architectural Inspection data, like title,&amp;nbsp; status, description (where we explain what we need to validate and can add additional guidance) we added some meta data to categorize our Architectural Inspections and make it possible to do some grouping. For example, we can categorize our Architectural Inspections per ‘Cross Cutting Concern’ (Logging, Validation) or ‘Layer’ (Service Contract, Business Logic, etc.) or ArchType (Mobile, Rich Client, Service, etc.), or whatever we think makes sense. In addition we have build a little tool that lets us upload these Architectural Inspections into TFS as work items. Currently we store our Architectural Inspections as normal ‘Task’ work items and abuse some ‘hidden’ fields to store the meta data that we need. However, we already realized that we are better of defining our own work item type for our Architectural Inspections. So, this is probably the next thing on my ToDo list… &lt;/p&gt;
&lt;p&gt; Below you can see a screenshot of (a very basic prototype of) the tool that we are using to upload our Architectural Inspections into TFS. As you can see we haven’t spend too much time on the User Interface yet and the data in the screenshot is just dummy data that doesn’t make too much sense.
&lt;/p&gt;
&lt;p&gt; &amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/ArchitecturalInspections_CC4A/Injector.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Injector" border="0" alt="Injector" src="http://www.edwardbakker.nl/content/binary/ArchitecturalInspections_CC4A/Injector_thumb.jpg" width="639" height="561"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; However, the most important thing right now is that by using a tool like this we (as an architect designing an architecture) can easily decide which Architectural Inspections make sense for the architecture we are designing and add only those inspections into our Application Lifecyle. This means we can, for example, add only those inspections that apply to the layers or cross cutting concerns that our architecture requires. (In a future post we will demonstrate how we can even relate the inspections to layers in our Layering Diagram.)
&lt;/p&gt;
&lt;p&gt; Another thing that we think is important is to have a clear overview of all the inspections that are considered and/or executed during the design and/or implementation of the architecture of the application. Knowing that the guidance and best practices of a particular inspection wasn’t properly implemented or worse totally neglected is important information and (potentially) tells us something about the quality of the application. Of course sometimes it makes perfectly sense not to spend time on cross cutting concern X. However, at a later time we can’t recall the reasons for not spending effort on them.&amp;nbsp; The fact that we now have our Architectural Inspections stored in TFS (as work items) makes it possible to track the current status (by using the status field (Active, Closed, Rejected?) )and provide us with valuable information about the design decisions (captured in the description field?)&amp;nbsp; that are made during the lifecycle of our application. &lt;/p&gt;
&lt;p&gt; Last but not least we think that, to get Architectural Inspections fully integrated in the Application Lifecycle, we need a proper way of visualizing them. In fact, an overview of these inspections and their status might be good starting point for a quality check or valuable input for our testers. The most common way for visualizing the status of work items would obviously be to create a report in TFS. However, we thought we better get some experience with another cool new feature of VSTA 2010 so we decided to visualize our inspections in DGML. So, what we did is, we create a little utility that extracts the Architectural Inspection information out of TFS and generates a nice &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/camerons/archive/2008/12/16/introduction-to-directed-graph-markup-language-dgml.aspx"&gt;DGML&lt;/a&gt; diagram for that. Below you can see a screenshot of how our first implementation of this looks like. (again, we might need some UI improvements and some real data)&amp;nbsp; &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/ArchitecturalInspections_CC4A/dgml3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="dgml3" border="0" alt="dgml3" src="http://www.edwardbakker.nl/content/binary/ArchitecturalInspections_CC4A/dgml3_thumb.png" width="1276" height="163"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; The little icons in the nodes (representing an inspection) display the status of the inspection. At this moment the green check means the inspection has the ‘Closed’ status in TFS and the warning sign means it has the ‘Active’ status (so nothing has been done with it yet). &lt;/p&gt;
&lt;p&gt; There is a lot more to tell about the things we have been working on and the thoughts we are still having about Architectural Inspections, &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArch"&gt;Application Architecture Guide&lt;/a&gt;&amp;nbsp; and VSTA 2010 extensibility. We are currently busy improving and refactoring all of the above. In the coming period we will share some other VSTA extensions that we are working on and if things goes as planned everything will end up in the whitepaper and/or downloadable assets. So, stay tuned and of course we are very interested in your opinion, concerns, etc. so leave us a message!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=19de7161-769f-4b70-81b6-b435c0557093"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,19de7161-769f-4b70-81b6-b435c0557093.aspx</guid>
      <pubDate>Thu, 28 May 2009 13:05:24 -0700</pubDate>
      <category>VSTS 2010;Application Lifecycle Managment;Architectural Guidance</category>
    </item>
    <item>
      <title>How to enable code coverage in Visual Studio 2010 Unit tests</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/05/22/how-to-enable-code-coverage-in-visual-studio-2010-unit-tests.aspx</link>
      <description>&lt;p&gt;When you want to Enable code coverage in an Unit test run in Visual Studio 2010 you may find that the steps you need to take have changed. &lt;br /&gt;In Visual Studio 2010 you need to take the following steps:&lt;/p&gt; &lt;p&gt;Open the Local.testsettings file and there you will see a set of items you can configure on the left hand of the dialog. &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_6EE109F4.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_16C40954.png" width="525" height="395"/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here you need to select the “Execution Criteria” in the left list and then you can see at the bottom of the page the set of collectors that are enabled for a test run.&lt;/p&gt; &lt;p&gt;In this list you need to select the “Code Coverage” item and mark the enabled check box. In the 2008 ide you would direct see the assemblies that are part of the coverage gathering during the run. In the 2010 dialog you can select the assemblies by first clicking on the “Code Coverage” row in the collectors list and then clicking the “Advanced…” button. Then you will see the more familiar dialog again as shown below:&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_0D87CE13.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_40E3916F.png" width="479" height="331"/&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Here you need to pick the assembly that is under test and click “Ok”&lt;/p&gt; &lt;p&gt;Now when you run another unit test you will see code coverage is now enabled. &lt;br /&gt;When you take&amp;#160; a further look into the set of collectors you might also see a set of new collectors that you have not seen before.&lt;/p&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_18D0E250.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_47D31E27.png" width="447" height="336"/&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;When you enable e.g. the video recorder, you will get an video capture of your computer while the test was running. While this is less interesting for a Unit test that has no UI interactions, this is very interesting when you create a new type of test called Code UI test that can run an previously recorded UI test and replay it on a test machine. You can see the &lt;a rel="nofollow" target="_blank" href="http://channel9.msdn.com/shows/10-4/10-4-Episode-18-Functional-UI-Testing/"&gt;channel 9 video&lt;/a&gt; that shows more about coded UI testing if you want some more information on that new feature.&lt;/p&gt; &lt;p&gt;What is interested to see is enabling e.g. the Test Impact collector, that enables the Test Impact feature. Once this collector has run, you can see in the Visual Studio IDE a list of suggested tests based on code changes you have made to your local source. This enables you to run a minimum set of tests to verify changes you have made to the codebase. this test impact analysis can even be used during the Team Builds run e.g. every night on a server, so you can have a lean and mean build that runs only impacted tests to verify regression on previous tests.&lt;/p&gt; &lt;p&gt;When you create a new Unit test in a solution you also might notice that there is a second “testsettings” file created called “TraceAndTestImpact.testsettings”. this file contains all the settings to run a set of unit tests with the correct settings that enable test impact analysis.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=15951" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:15951</guid>
      <pubDate>Thu, 21 May 2009 16:14:06 -0700</pubDate>
    </item>
    <item>
      <title>Windows 7 RC available soon, very soon</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/04/26/windows-7-rc-available-soon-verry-soon.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Today I received information that I am allowed to disclose that most people will find very exiting:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Windows 7 &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;RC will be available end of this week!&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;For MSDN subscribers it will be available at our Queens birthday, April 30th, for the public it will be downloadable May 5th&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;You can read more about it &lt;a rel="nofollow" target="_blank" href="http://windowsteamblog.com/blogs/windows7/archive/2009/04/24/windows-7-release-candidate-update.aspx"&gt;here&lt;/a&gt; on the Windows 7 blog.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Can't wait to get my hand on this new build, it really looks promising if you take a look at all the improvements made while I liked the new OS already :-)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Cheers,&lt;br /&gt;Marcel&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=15722" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:15722</guid>
      <pubDate>Sun, 26 Apr 2009 15:39:00 -0700</pubDate>
    </item>
    <item>
      <title>Visual Studio Team System 2010 - Episode 4: Quality Check</title>
      <link>http://robkuijt.nl/index.php?entry=entry090424-100409</link>
      <description>&lt;i&gt;In this episode I will discuss the different practices around the Quality Check in order to do this important check for ALM as efficient and effective as possible.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Previous episodes:&lt;/b&gt; &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/Visual-Studio-Team-System-2010-e28093-Episode-1-A-Focus-on-Testing.aspx"&gt;&lt;u&gt;Visual Studio Team System 2010 - Episode 1: A Focus on Testing&lt;/u&gt;&lt;/a&gt;&lt;br&gt;
&lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/index.php?entry=entry090210-200830"&gt;&lt;u&gt;Visual Studio Team System 2010 - Episode 2: No Risk No Test&lt;/a&gt;&lt;/u&gt;&lt;br&gt; &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/Visual-Studio-Team-System-2010-e28093-Episode-3-The-Lifecycle.aspx"&gt;&lt;u&gt;Visual Studio Team System 2010 - Episode 3: The Lifecycle&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;In the last episode &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/Visual-Studio-Team-System-2010-e28093-Episode-3-The-Lifecycle.aspx"&gt;&lt;u&gt;Clemens&lt;/u&gt;&lt;/a&gt; talked about the support VSTS2010 will give on the collaboration at artifact level. Different roles in the lifecycle work together on artifacts. Each of them adds their knowledge, vision and ideas to the solution from their view point. These artifacts are accessible by every role in every phase of the project, adding value throughout the lifecycle. People are enabled to collaborate, making applications together, and not only by telling what they are doing but most important by working seamless together on the application.&lt;br /&gt;&lt;br /&gt; &lt;img src="http://robkuijt.nl/images/magnifying_glass.jpg" width="400" height="300" border="0" alt=""/&gt; &lt;br /&gt; &lt;b&gt;TMap® Quality Check&lt;/b&gt; &lt;br /&gt;A subsequent measure for increasing the quality of the developed artifacts is an evaluation activity: for instance the review.&lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt; &lt;i&gt;The review is a method of improving the quality of an artifact by evaluating the work against the requirements and/or guidelines and subjecting it to peer review.&lt;/i&gt; &lt;/blockquote&gt; &lt;br /&gt;The review on the requirements and/or design can be carried out as a static test activity before the coding starts.&lt;br /&gt;In the review, the following points can be checked, independently of the set requirements:&lt;br /&gt;1.	Has the artifact been realized in accordance with the assignment? For example, are the requirements laid down in the technical design realized correctly, completely and demonstrably?&lt;br /&gt;2.	Does the artifact meet the following criteria: internally consistent, meeting standards and norms and representing the best possible solution? Best possible solution means the best solution that could be found within the given preconditions, such as time and finance.&lt;br /&gt;3.	Does the artifact contribute to the project and architecture aims? Is the artifact consistent with other, related artifacts (consistency across the board)?&lt;br /&gt;4.	Is the artifact suitable for use in the next phase of the development?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why?&lt;/b&gt;&lt;br /&gt;Like testing, the Quality Check is a measure to provide insight into the quality of delivered products and the related risks when taken into the next phase of the lifecycle. If the quality is inadequate timely measures can be taken, such as rework by the designers. However, there is never an unlimited quantity of resources and time. In theory it is important to relate the Quality Check effort to the expected risks. A pragmatic approach to determine the Quality Check effort is to look at some past projects and answer the question: &lt;br /&gt;&lt;br /&gt;"How many defects, detected in Acceptance Tests, could have been found much earlier, if we had done a Quality Check? (According to the above points)"&lt;br /&gt;In my experience 10-20% of the defects could have been found much earlier in the lifecycle when the Quality Check was done properly. And because defects in the Acceptance Test are quite expensive, you only have to find 1 or 2 serious defects in the Quality Check to make it economic worthwhile. So my strong recommendation is:&lt;br /&gt; &lt;img src="http://robkuijt.nl/images/doalways.jpg" width="480" height="90" border="0" alt=""/&gt; &lt;br /&gt; &lt;b&gt;7 Hints and tips&lt;/b&gt; &lt;br /&gt;1.	Performing a good Quality Check is a kind of inborn specialization. Find a person who is good in recognizing texts with high potential risk on assumptions and or interpretation errors. In other words: find a pencil-pushing, nit-picky quality geek! &lt;br /&gt;;-) Most professional testers are proud to have these qualifications.&lt;br /&gt;&lt;br /&gt;2.	Before checking an artifact: What is the quality of its source? Is the source of the AUC (Artifact Under Check) ready? authorized? stable? If not, consider to do also a check on the source of the artifact to quantify the possible changes in the (near) future,&lt;br /&gt;&lt;br /&gt;3.	If a previous version of the artifact is available, and the quality of that version is known: make use of a so called Comparison Tool to find and check the differences. AND! Check always the consistency of the change register, especially when the change register is used in the next phase to implement the changes.&lt;br /&gt;&lt;br /&gt;4.	Combine the Quality Check with the estimation activity for the next phase. If the estimation is done by another person, let them work together!&lt;br /&gt;&lt;br /&gt;5.	Use a checklist as a reference! For your own protection, a checklist prevents that too much attention is paid to the use of standards and correct spelling or even to these aspects alone (This can be a cause of friction among the various people involved.) Partly owing to the diversity of design techniques and information sources that, it is not possible to create one general checklist per artifact type. Therefore, checklists should be created specific to the situation per organization and per project. Of course you can use examples like &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/static.php?page=testing_requirements"&gt;&lt;u&gt;Testing Requirements&lt;/u&gt;&lt;/a&gt; or &lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/static.php?page=testing_use_cases"&gt;&lt;u&gt;Testing Use Cases&lt;/u&gt;&lt;/a&gt; as a start for the creating of your checklist.&lt;br /&gt;&lt;br /&gt;6.	Make always clear what checks you will perform. By communicating your checklist you can prevent a lot of misunderstandings on later findings. &lt;br /&gt;&lt;br /&gt;7.	Audi alteram partem (hear the other side). Don&amp;#039;t report on findings/defects without a fair hearing in which the author of the artifact is given the opportunity to respond to the "accusations" against his work.&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Collaborate&lt;/b&gt; &lt;br /&gt;For some, it is very tempting to do a review in their own silo: Get the stuff to check, find as much as defects as possible, receive applause for the prevented damage and do that over and over again &lt;br /&gt;Wrong! Dont be a Scrooge! (see my blog: "&lt;a rel="nofollow" target="_blank" href="http://robkuijt.nl/index.php?entry=entry081126-201908"&gt;&lt;u&gt;Does Scrooge exist?&lt;/u&gt;&lt;/a&gt;") An essential part of the Quality Check is the Learning Cycle. By performing Quality Checks the quality of future AUCs (Artifacts Under Check) must grow. So collaborate with the designer, information analyst or whoever made that artifact, and get your applause on the better quality of artifacts instead on the number of defects.&lt;br /&gt; &lt;i&gt;&lt;br /&gt;In the next episode Clemens will explain how the tools support the Quality Check, as well as the collaboration around it, to get the optimum results.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry090424-100409</guid>
      <pubDate>Fri, 24 Apr 2009 01:04:09 -0700</pubDate>
      <category>ALM, Quality, Testing, TMap®, Rosario</category>
    </item>
    <item>
      <title>How to assign a work item to a group and actually have it show a list of values</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/04/07/how-to-assign-a-work-item-to-a-group-and-actually-have-it-show-a-list-of-values.aspx</link>
      <description>&lt;blockquote&gt;
&lt;p&gt;Today I was asked one of the most asked questions related to work item tracking: &amp;ldquo;Can you can assign a work item to a group in stead of a person&amp;rdquo;?&lt;/p&gt;
&lt;p&gt;My standard answer to this question is &amp;ldquo;yes&amp;rdquo; and I tell people this can be easily be done by setting the ALLOWEDVALUES to include the attribute expanditems = &amp;ldquo;false&amp;rdquo; and add list items that contain the TFS group names.&lt;/p&gt;
&lt;p&gt;Since the question came from my team mate I said I would fix the work item type so he did not have to spend to much time for this simple change.&lt;/p&gt;
&lt;p&gt;To my surprise I found that it is easy but you have to know one additional fact and that is that you must not have altered the System.AssignedTo to only allow valid users!&lt;/p&gt;
&lt;p&gt;So what happened?&lt;/p&gt;
&lt;p&gt;I have a work item type called &lt;strong&gt;&amp;ldquo;Deliverable&amp;rdquo;&lt;/strong&gt;. This is a work item that can be assigned to a group of developers, designers, testers, etc. So the requirement was simple, have this work item only assigned to a group in stead of a person. What I did was quite simple, for each state definition I just set the ALLOWEDVALUES to the list of groups I want to have the work item assigned to. See the example below:&lt;/p&gt;
&lt;p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="background-color:#f2f2f2;border:solid 1px #e5e5e5;width:100%;"&gt; &lt;tr style="vertical-align:top;line-height:normal;"&gt; &lt;td style="width:40px;text-align:right;"&gt; &lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;border-right:solid 1px #e7e7e7;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&lt;/pre&gt;&lt;/td&gt; &lt;td&gt; &lt;pre style="overflow:scroll;margin:0px;padding:2px;padding-left:8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;STATE&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Scoped"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELDS&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELD&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;refname&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="System.AssignedTo"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ALLOWEDVALUES&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;expanditems&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="false"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Project Managers"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Feature Managers"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Software Architects"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Designers"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Implementers"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Testers"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;LISTITEM&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;value&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="[project]&amp;#92;Integrators"&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ALLOWEDVALUES&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;REQUIRED&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELD&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELDS&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;STATE&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/pre&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;After uploading the work item, I got a strange surprise, the assigned to field always appeared empty &lt;img src="http://blogs.infosupport.com/emoticons/emotion-6.gif" alt="Sad"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_2513DEF8.png"&gt;&lt;img height="369" width="507" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_37E862A2.png" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;"/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It took me quite some time to figure out what happened here. I finally figured out that this is caused by the fact that the Work Item Field definition for System.AssignedTo has a constraint set of &amp;lt;VALIDUSER/&amp;gt; and a TFS group is not considered to be a valid user. (This is something that probably your custom work item has as well since the common way to customize your work items is to pick the Microsoft work items and change those. The Microsoft work item types have this constraint set as well )&lt;/p&gt;
&lt;p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="background-color:#f2f2f2;border:solid 1px #e5e5e5;width:100%;"&gt; &lt;tr style="vertical-align:top;line-height:normal;"&gt; &lt;td style="width:40px;text-align:right;"&gt; &lt;pre style="font-family:courier new;font-size:11px;color:gray;margin:0px;padding:2px;border-right:solid 1px #e7e7e7;"&gt;1
2
3
4
&lt;/pre&gt;&lt;/td&gt; &lt;td&gt; &lt;pre style="overflow:scroll;margin:0px;padding:2px;padding-left:8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELD&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;reportable&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="dimension"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;type&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="String"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="Assigned To"&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;refname&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;="System.AssignedTo"&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;strong&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALIDUSER&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;/&amp;gt;&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:Maroon;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FIELD&lt;/span&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/pre&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;So to fix this problem, I removed the &amp;lt;VALIDUSER/&amp;gt; constraint on the System.AssignedTo field. After removing the constraint and restarting Visual Studio after uploading the new type definition(I used WITImport at the command line, but this can also be done using the power tools) , the dropdown will show the options I expected to see.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_2F848D4B.png"&gt;&lt;img height="361" width="500" src="http://blogs.infosupport.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/marcelv/image_5F00_thumb_5F00_5B54E13A.png" alt="image" border="0" title="image" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;"/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;So it is nice when you know the answer , but here you can see again that only knowing the answer is not enough to be productive, you actually have to have done this so you also know the problems you might run into &lt;img src="http://blogs.infosupport.com/emoticons/emotion-1.gif" alt="Smile"/&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this keeps you from pulling your hair out.&lt;/p&gt;
&lt;p&gt;Cheers, &lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=15588" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:15588</guid>
      <pubDate>Tue, 07 Apr 2009 13:45:00 -0700</pubDate>
    </item>
    <item>
      <title>Hot fix available for Transaction inside receive activity scope bug workflow 3.5</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/03/08/Hot-fix-available-for-Transaction-inside-receive-activity-scope-bug-workflow-3.5.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Back in august I worked with a customer to build a workflow solution using Workflow 3.5. We crafted up a simple workflow where we would like to get a message into the workflow using the receive activity and then persist this call in the database, giving the caller a ticket that he can use later for reference. We could do some processing in the background and then when we finish the caller could get information based on the ticket. Now this is in my opinion a very common scenario that you probably will run into with your solutions as well.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;to make this scenario more reliable, we used a transaction scope activity to guard the database transaction and make sure the workflow get's persisted in the same transaction. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;A simplified version of the workflow we used is shown below.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;img height="358" src="http://blogs.infosupport.com/photos/marcelv/images/15221/original.aspx" style="width:260px;height:358px;" width="260"/&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Now this looks to work perfectly correct, but we discovered that if the transaction fails you will get the following error: &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:green;font-family:'Courier New';"&gt;"Workflow service unexpectedly unloaded from memory while executing a ReceiveActivity. Make sure that the the workflow does not contain any blocking activities within a ReceiveActivity."&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:green;font-family:'Courier New';"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;After getting the error back the workflow will be terminated since it got an unexpected exception.&lt;br /&gt;Things can even become worse if you look from the messaging perspective, that the caller will recieve an timeout on the call, since no reply is send back. It appeared that this happened when you set the UnloadOnIdle&lt;span&gt;&amp;nbsp; &lt;/span&gt;to false.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;To make sure I did not do anything wrong I called a friend who is also very knowledgeable about workflow and asked him what his thoughts where. He also made a blog post about this issue and spend quite some time to figure out what was going wrong here. (http://msmvps.com/blogs/theproblemsolver/archive/2008/08/06/using-a-transactionscopeactivity-with-a-wcf-receiveactivity.aspx) &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Finally I decided that this looked like a bug in the activities, so I issues a PSS call to ask for a hot fix for this problem. After working with the support department and some developers on a simple repro of the problem we finally got to the point that it was recognized as a bug and that they could build a hot fix to solve the problem. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;So back in November I received a private hot fix that solved the problem, but I wanted to make sure everybody else could leverage the fix as well, since this is such an common scenario. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;I crafted up some tests to show the problem and I could use that easily to verify if the hot fix solved the problem or not. You can see below that after applying the hot fix all tests showed green again :-)&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Before:&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;img height="204" src="http://blogs.infosupport.com/photos/marcelv/images/15222/original.aspx" width="552"/&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;After:&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;img height="202" src="http://blogs.infosupport.com/photos/marcelv/images/15223/original.aspx" width="384"/&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Last week I got the official hot fix and the analysis back from the development team that states the following:&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Root cause of the problem:&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;WorkflowRequestContext, a member of ReceiveActivity, is not serialized as part of the checkpoint. Consequently, when we restore the checkpoint upon TSA fault, we are unable to send a reply message to the ReceiveActivity caller.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="color:#1f497d;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;We produced a fix to address this issue and delivered to our customer. This fix will be part of the next major releases of WF 3.5 (if any). KB Article 959362 will be published soon&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;So if you have this same scenario in your solution, check what happens when your transaction fails, e.g. by stopping the database so the call will fail, and see if you run into the same issue. The problem I found with this bug, is that this only surfaces when you have good tests in place that also test for the failure of the transaction and that is probably not always the case. You might not even have noticed you have a problem, but at least you know you can get a hot fix now. You can refer to KB 959362 and they can hand you the hot fix for your environment.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Cheers,&lt;br /&gt;Marcel&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=15220" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:15220</guid>
      <pubDate>Sun, 08 Mar 2009 15:57:00 -0700</pubDate>
    </item>
    <item>
      <title>Making money with Application Lifecycle Management</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</link>
      <description>&lt;p&gt;A few days ago I was asked by one of my colleagues why I am spending a lot of my time experimenting with Visual Studio Team System 2010 (Team Architect), &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt;, &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArchGuide"&gt;App Arch Guide&lt;/a&gt; and Application Lifecycle Management (ALM) in general. He noticed me ‘living’ in VSTS 2010 CTP for some time now and he was wondering if it isn’t a bit too early for this and what I did to convice to management to let me do this. My immediate answer to this question was ‘No, it is not to early!’ and I explained that we (&lt;a rel="nofollow" target="_blank" href="http://www.interaccess.nl/nl/Pages/default.aspx"&gt;Inter Access&lt;/a&gt;) expect VS 2010 to help us optimizing our Application Lifecycle Management practice. This answer was a bit too vague for my colleague and of course the next question was how will we benefit *exactly* from investing in VSTS 2010 and ALM. Will it make our life easier?, will it makes us better people?, will it improve quality?, will it save us time?, will it save us money? &lt;p&gt; Exactly these same questions popup when discussing ALM with customers. Apparently making the business case for ALM (and/or VSTS licenses) isn’t always easy. How come? &lt;p&gt; From our experiences we learned that currently most people and organizations are relating ALM to their development activities (Software Development Lifecycle). Therefore it is only logical that this is the area where people are trying to identify their benefits (costs savings) from ALM. But is this correct? Is this focus too limited?&amp;nbsp; Shouldn’t we focus on more than only development when it comes to cost savings? Especially if we keep in mind that, on average, only 30% of the IT budget is spend on new application development (the remainder is spend on maintenance/operations)! &lt;p&gt; How come most of us still only focus on development? Is it because we still focus too much on the tools instead of facilitating collaboration between ‘Business’ ‘Development’ and ‘Operations’? &lt;p&gt; Everybody experienced in VSTS 2005 and/or VSTS 2008 will come to the conclusion that these tools mainly focus on the different roles within the development team (developer, architect, project management). Source control, unit testing and quality assurance features of these products provide us with a professional development environment and help us improving the overall quality of the products that we deliver. Work item management, a centralized store, reports, portals, etc. improve the collaboration within the development team and support project management in tracking progress, staying in control and managing risks adequately. All of this is great and potentially boost the performance of the development teams but experience learns that these benefits don’t come ‘out of the box’! Installing the tools doesn’t make the development team collaborate by default and most certainly doesn’t stimulate collaboration with the Business and Operations! &lt;p&gt; Now we know where most of us focus on for their ALM related activities, let see how this relates to the complete application lifecycle. For this we will use an the graph below were the x-axis represents time and the y-axix represents value and negative value displayed as costs. &lt;p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002.gif"&gt;&lt;img title="clip_image002" style="BORDER-TOP-WIDTH:0px;DISPLAY:inline;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="312" alt="clip_image002" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002_thumb.gif" width="452" border="0"&gt;&lt;/a&gt; &lt;p&gt; Obviously the lifecycle of the application starts with its development. During this phase we have to make costs to design, develop and test the application. At that time the application doesn’t bring us (actually the business) any value and the complete development phase of the project only costs money. From the moment the application (parts of it?) are installed into production the appliaction starts to generate value till the moment it needs to phase out where it starts to cost money again. &lt;p&gt; What we see is, that most organizations are focusing on reducing the developments costs and (sometimes) try to shorten the time to market. Btw. it doesn’t come as a surprise that these are exactly the areas where the current releases of Visual Studio Team System focus on. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/3.png"&gt;&lt;img title="clip_image004" style="BORDER-TOP-WIDTH:0px;DISPLAY:inline;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="312" alt="clip_image004" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image004.gif" width="452" border="0"&gt;&lt;/a&gt; &lt;p&gt; Reducing costs and make the application add value earlier is good but if we have a look at the image above we can see that the application lifecycle doesn’t end at the moment the application goes into production (where lifecycle line crosses x axis). So, wouldn’t it be great if our ALM practices help us optimize (reduce costs and/or increase value) during the remainder of the application lifecycle also? &lt;p&gt; For example, one of the things we can do to increase the business value is to practice a proper User Experience design (see &lt;a rel="nofollow" target="_blank" href="http://bloggingabout.net/blogs/andries/archive/2009/02/10/why-is-user-experience-design-important.aspx"&gt;this post&lt;/a&gt; of my colleague &lt;a rel="nofollow" target="_blank" href="http://bloggingabout.net/blogs/andries/default.aspx"&gt;Andries&lt;/a&gt; for more info on this). By taking ‘Operations’ into account during the design and development phase of the application we can reduce operations costs during the remainder of the lifecycle. These things combined will result in an application that is more successful for a longer period of time (because it adds more value and costs less to maintain). Also, because we have done a good job developing the application, we know exactly what it does, where it is interfacing with (something VSTA 2010 will help with) and most importantly when it stops adding value which will help reducing the ‘phase out costs’ of the application. &lt;p&gt; Adding this to the graphical representation of our application lifecycle results in a graph that looks like this. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/7.png"&gt;&lt;img title="clip_image006" style="BORDER-TOP-WIDTH:0px;DISPLAY:inline;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="314" alt="clip_image006" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image006.gif" width="452" border="0"&gt;&lt;/a&gt; &lt;p&gt; Based on this, we can now draw our new&amp;nbsp; application lifecycle which might looks something like this (dotted line is new lifecycle). &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/8.png"&gt;&lt;img title="clip_image008" style="BORDER-TOP-WIDTH:0px;DISPLAY:inline;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="312" alt="clip_image008" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image008.gif" width="452" border="0"&gt;&lt;/a&gt; &lt;p&gt; The good news is that the green area between the ‘old’ and ‘new’ lifecycle is the area were we can make money by adding extra value. The red colored areas is the place where we can make money by reducing costs. Doesn’t that look great??? &lt;p&gt; &lt;em&gt;Please note that ‘Reduce operations costs’ might be misunderstood from this graph. We don’t mean less value but less costs. I didn’t know how to display this correctly :-) &lt;/em&gt; &lt;p&gt; Of course, all of these things don’t come by itself. We have to actually work for that to make that happen and we can’t do everything at once. In this post I am not going to detail all the steps that we can do to make that happen and where we can use the current or future tooling for. However, hopefully this last image makes it very clear that there are others areas, besides development, within the application lifecycle where we can either reduce costs or increase value. So, if anybody aks you why they should invest in ALM this image should give you a starting point for your discussion… &lt;p&gt; At least, it *did* help me explain why I should spend my time on ALM and experimenting with VSTS 2010, &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; and &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArchGuide"&gt;App Arch Guide&lt;/a&gt; :-) &lt;p&gt; &amp;nbsp; &lt;p&gt; &amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=7f9d68ae-76fd-4b71-a688-482b2e8cc883"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</guid>
      <pubDate>Fri, 20 Feb 2009 13:26:33 -0800</pubDate>
      <category>ALM;Application Lifecycle Managment;VSTS 2010</category>
    </item>
    <item>
      <title>Visual Studio Team System 2010  Episode 2: No Risk No Test</title>
      <link>http://robkuijt.nl/index.php?entry=entry090210-200830</link>
      <description>&lt;i&gt;In episode 1, &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/Visual-Studio-Team-System-2010-e28093-Episode-1-A-Focus-on-Testing.aspx"&gt; &lt;u&gt;Clemens&lt;/u&gt; &lt;/a&gt; introduced the focus of Visual Studio Team System 2010 on the collaborative effort between the tester and the other roles in the application lifecycle. In this second episode I will start with a short introduction on testing.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;Testing is not an aim in itself! Testing is, in fact, a balancing act. What risks must be covered, what results are to be delivered and how much time and money can be spend, based on rational and economic grounds?&lt;br /&gt; &lt;center&gt;&lt;img width="480" height="196" border="0" alt=""/&gt;&lt;br /&gt; &lt;i&gt;The right test strategy will balance among risks and costs&lt;/i&gt; .&lt;/center&gt; &lt;br /&gt;&lt;br /&gt;Testing supplies insight in the difference between the actual and the required status of an object. Where quality is roughly to be described as &amp;#039;meeting the requirements and expectations&amp;#039;, testing delivers information on the quality.&lt;br /&gt;&lt;br /&gt;In this, there is no difference for developers who are testing, specialist testers during system testing or generalist testers during the final acceptance test. Choosing the right test strategy is a joined effort between every tester and the other roles in the application lifecycle. This collaboration is needed because, beside insight in the business risks, much (technical and test) knowledge is needed to find the most important defects as early as possible at the lowest price.&lt;br /&gt;&lt;br /&gt;The collaboration doesn&amp;#039;t stop after choosing the best test strategy. After designing the test cases, also test execution must be organized as a joined effort. Collaboration between the different roles in the application lifecycle is not self-evident. By nature, it looks like developers and testers don&amp;#039;t (want to) understand each other. Having this attitude, it is difficult to find out you need each other to deliver software of good quality.&lt;br /&gt; &lt;center&gt;&lt;img width="321" height="195" border="0" alt=""/&gt;&lt;br /&gt; &lt;i&gt;...dont (want to) understand each other.&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;&lt;br /&gt;The consequence of this virtual (and sometimes real) wall is calamitous for quality. Many bugs arise by doing wrong assumptions and interpretations of the, in generally, unclear specifications and requirements. Reporting, analyzing and resolving these bugs take a lot of time, especially when they prove to be not reproducible or wrong. &lt;br /&gt;&lt;br /&gt;An Example: After a development project of 5 man year, testing is done by a team of generalist testers. With much enthusiasm the test team executes the test cases they designed during the building of the system. After 3 months the verdict is given: Negative release advice, because of (8) blocking and (22) big defects, the test team gives the advice NOT to go into production. As you may understand this was a big disappointment for both the project team as the business department. A taskforce was established to keep the delay (damage) in control. After the defect analysis the general feeling became better, after filtering the test faults (20%), the functional wishes (20%) and changes (not passed through to the testers; 30%) the repair costs were approximately 200 hours ( for the remaining 30%). In fact the development team had done a great job. Better communication from both sides, before and during test execution, probably had made the verdict a, celebration worthy, positive release advice. Much, much better than this cold shower!&lt;br /&gt;&lt;br /&gt;The above paragraphs show that the collaboration between the tester and developer is important for success. If the collaboration between the different roles in the application lifecycle is not actively stimulated and facilitated, the proverbial wall will arise.&lt;br /&gt;&lt;br /&gt;In the next episode &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl"&gt; &lt;u&gt;Clemens&lt;/u&gt; &lt;/a&gt; shows us how Visual Studio Team System 2010 will support and stimulate this collaboration...&lt;br /&gt;</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry090210-200830</guid>
      <pubDate>Tue, 10 Feb 2009 11:08:30 -0800</pubDate>
      <category>ALM, Quality, Testing, TMap®, Rosario</category>
    </item>
    <item>
      <title>Security update for Team System Web Access SP1</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/01/27/Security-update-for-Team-System-Web-Access-SP1.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;I just found out that on January 16th Microsoft has released an security update for Team System Web Access that I would urge everybody to install. You can read more on the update on Hakan Eskici's blog &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/hakane/archive/2009/01/16/security-update-for-tswa-2008-sp1.aspx"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;Note that this is a full install so you must run an uninstall and install to complete. This means you will have some downtime to apply this update.&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;I just wanted to give everybody a heads up on this.&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;Cheers&lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=14986" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:14986</guid>
      <pubDate>Tue, 27 Jan 2009 14:11:00 -0800</pubDate>
    </item>
    <item>
      <title>Testing or Documenting?</title>
      <link>http://robkuijt.nl/index.php?entry=entry090112-222821</link>
      <description>&lt;i&gt;How sure is a company about the quality of their Calculation Component(s)? Are they bug free? Even after, for instance, nine changes? Testing changed components is tricky, because you never get the time to test a Calculation Component with lots of values, because most of the testing is still done manually.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;There are many test tools that could do this job much faster, but they are complex to use and mostly pretty expensive. &lt;br /&gt;So I did some thinking .I want to do lean and mean Calculation Component Analyzing! &lt;br /&gt;Preferably: User-friendly, quick, low cost and in a way that the outcome is easy to check!&lt;br /&gt;&lt;br /&gt;Personally I like pictures instead of figures. So I started some PHP programming, and voila these are my results:&lt;br /&gt;The first version is a service that can analyze a one parameter Calculation Component. Let me give an example.&lt;br /&gt;The test object is a web component with one input parameter. In my home made analyzer service I give the URL of the test object, the start input value, the end input value and the step size (see fig.1)&lt;br /&gt;&lt;br /&gt; &lt;img width="480" height="338" border="0" alt=""/&gt; &lt;br /&gt; &lt;center&gt; &lt;i&gt;Fig.1 Input screen of my home made Analyzer&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;After sending the input, the analyzer performs, in this case, 21 calls to the test object, and responses with the following graphics:&lt;br /&gt; &lt;img width="480" height="397" border="0" alt=""/&gt; &lt;br /&gt; &lt;center&gt; &lt;i&gt;Fig.2 Output screen of my home made Analyzer&lt;/i&gt; &lt;/center&gt; &lt;br /&gt;This output gives a first impression of the calculation. It looks like: &lt;b&gt;output=input*input (if input &amp;gt; zero)&lt;/b&gt; or &lt;b&gt;output=input*input (if input &amp;gt;= zero)&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;But to be sure, let&amp;#039;s make the steps in the range smaller(step=10):&lt;br /&gt; &lt;img width="480" height="402" border="0" alt=""/&gt; &lt;br /&gt;Thats strange! The input value 10 gives a response: zero! &lt;br /&gt;&lt;br /&gt;Again, let&amp;#039;s choose step=1:&lt;br /&gt; &lt;img width="480" height="402" border="0" alt=""/&gt; &lt;br /&gt;Now I&amp;#039;m pretty sure that the calculation function is: &lt;b&gt;output=input*input (if input greater than ten)&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;And for a last check (in this example) I choose step=0.1:&lt;br /&gt; &lt;img width="480" height="403" border="0" alt=""/&gt; &lt;br /&gt;Yes, it still looks like: &lt;b&gt;output=input*input (if input greater than ten)&lt;/b&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Conclusion: &lt;/b&gt; &lt;br /&gt;I think that this kind of functionality is valuable, not only for testing, but also for documenting Calculation Components. &lt;br /&gt;Above that, it is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Easy to use (one simple input screen), &lt;/li&gt;&lt;li&gt;Low cost (I did build the function in 2 hours (with the help of open source: PHPLOT)),
&lt;/li&gt;&lt;li&gt;Quick (the above analyzing took me 3 minutes (including capturing the pictures for my blog)),
&lt;/li&gt;&lt;li&gt;Simple to read.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;And it&amp;#039;s FUN to play with!&lt;br /&gt;Now I&amp;#039;ll try to find some use for this kind of functionality, and l start thinking how to handle (and present the outcome) for a two parameter Calculation Component.&lt;br /&gt;&lt;br /&gt;Rob</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry090112-222821</guid>
      <pubDate>Mon, 12 Jan 2009 13:28:21 -0800</pubDate>
      <category>Quality, Testing</category>
    </item>
    <item>
      <title>Blueprints: Visual Studio 2010 (2)</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,d8b88244-a09a-4f4f-a3fc-83fa08187c8d.aspx</link>
      <description>&lt;p&gt;In an &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx"&gt;earlier post&lt;/a&gt; we mentioned that it is relatively easy to get the &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints/Release/ProjectReleases.aspx?ReleaseId=20784"&gt;current Blueprints bits&lt;/a&gt; running on the &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;Visual Studio 2010 CTP&lt;/a&gt; by modifying the .MSI in Orcas. At that time we forgot to mention that we need a few extra steps to really get things going with Blueprints in Visual Studio 2010. &lt;/p&gt;
&lt;p&gt; When trying to build a Blueprint solution in Visual Studio 2010 we will notice the following error in the error window. &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsVisualStudio20102_C3B3/Error.png"&gt;&lt;img title="Error" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="163" alt="Error" src="http://www.edwardbakker.nl/content/binary/BlueprintsVisualStudio20102_C3B3/Error_thumb.png" width="870" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt; As we can see, the build task ‘BASM’ is failing to retrieve the correct path. This task is implemented in the ‘&lt;strong&gt;Microsoft.SoftwareFactories.Blueprints.Builds.Tasks.dll&lt;/strong&gt;’ that can be found in ‘&lt;strong&gt;..&amp;#92;Program Files&amp;#92;MSBuild&amp;#92;Microsoft&amp;#92;Blueprints&amp;#92;2.0&lt;/strong&gt;’. It turns out that the execute method of this tasks looks for a (hardcoded) ‘String Value’ called ‘Blueprints’ under the ‘HKEY_LOCAL_MACHINE&amp;#92;SOFTWARE&amp;#92;Microsoft&amp;#92;VisualStudio&amp;#92;&lt;strong&gt;9.0&lt;/strong&gt;&amp;#92;MSBuild&amp;#92;SafeImports’ tree. Because we replaced all ‘9.0’ in ‘10.0’ in the Blueprints .MSI to get it to install on Visual Studio 2010 this value doesn’t exist under ‘&lt;strong&gt;9.0&lt;/strong&gt;’ anymore (but does under ‘&lt;strong&gt;10.0&lt;/strong&gt;’).
&lt;/p&gt;
&lt;p&gt; To fix this we can either make sure to skip this particular replacement when modifying the .MSI in Orcas or manually add the Blueprints ‘String Value’ under the ‘&lt;strong&gt;HKEY_LOCAL_MACHINE&amp;#92;SOFTWARE&amp;#92;Microsoft&amp;#92;VisualStudio&amp;#92;9.0&amp;#92;MSBuild&amp;#92;SafeImports&lt;/strong&gt;’ and give it the value ‘&lt;strong&gt;C:&amp;#92;Program Files&amp;#92;MSBuild&amp;#92;Microsoft&amp;#92;Blueprints&amp;#92;2.0&amp;#92;Microsoft.SoftwareFactories.Blueprints.targets&lt;/strong&gt;’. &lt;/p&gt;
&lt;p&gt; Another issue occurs when debugging our Blueprint in Visual Studio 2010. Currently, there is no property page implemented for the Blueprint project type (.bpproj) and therefore starting up Visual Studio &lt;strong&gt;2008&lt;/strong&gt; is hardcoded in the Blueprints core. To get around this we can add an empty C# ‘Class Library’ project to our solution, set this project as the ‘StartUp’ project and make this project startup Visual Studio 2010 (property page) when debugging. Although this solution does work it makes the Visual Studio instances in my Virtual PC image VERY slow (don’t know why). Another option, that does work for me, is to leave the Blueprint project as the ‘StartUp’ project, let it start up a Visual Studio 2008 instance, (and simple ignore it) manually start another Visual Studio 2010 instance and attach this instance to the debugging process of the Visual Studio instance we started the debug session in. &lt;/p&gt;
&lt;p&gt; Now everything is in place to *really* start developing Blueprints for Visual Studio 2010 CTP!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=d8b88244-a09a-4f4f-a3fc-83fa08187c8d"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,d8b88244-a09a-4f4f-a3fc-83fa08187c8d.aspx</guid>
      <pubDate>Mon, 12 Jan 2009 06:07:57 -0800</pubDate>
      <category>Blueprints;VSTS 2010</category>
    </item>
    <item>
      <title>Integrating Blueprints, Layering Diagrams and Architecture Guide</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</link>
      <description>&lt;p&gt;In a &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx"&gt;previous post&lt;/a&gt; we already mentioned &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; as a means for integrating architectural guidance from the &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArchGuide"&gt;p&amp;amp;p App Arch Guide&lt;/a&gt; in the VS2010 IDE. Clemens already &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/post/Getting-App-Arch-Guid-Knowledge-in-VSTS2010-e28093-Part3-Create-Diagrams-from-Code.aspx"&gt;mentioned&lt;/a&gt; how we can capture some of this knowledge in an item template and use the &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.templatewizard.iwizard(VS.80).aspx"&gt;IWizard&lt;/a&gt; interface to populate the diagram. Now, let’s see how we can use Item Templates in a slightly different way and use them in a Blueprint to unfold a predefined architecture (Layering Diagram) in VS2010. &lt;p&gt; The first step is to capture the architectural guidance in a Layering Diagram that we can reuse. To do this we can we create a new Modeling project and add a Layering Diagram to this project. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate.png"&gt;&lt;img title="AddTemplate" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="340" alt="AddTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate_thumb.png" width="558" border="0"&gt;&lt;/a&gt; &lt;p&gt; In this diagram we can model all layers, dependencies, etc. to make it reflect our architectural guidance. Once we are done it might look something like this. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined.png"&gt;&lt;img title="Predefined" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="386" alt="Predefined" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined_thumb.png" width="631" border="0"&gt;&lt;/a&gt; &lt;p&gt; To make this diagram reusable we have to create an Item Template for it. Unfortunately VS2010 doesn’t let us select the layering diagram in the Export Template Wizard so we have to manually create an item template for our layering diagram. The easiest way to do this is to create an Item Template for another file type (i.e. C# class) and modify the ‘MyTemplate.vstempate’ file in the .zip file that VS2010 generates and add the two diagram files (.layer and .layer.diagram) to the .zip file. The modified MyTemplate.vstemplate file should look something like this. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate.png"&gt;&lt;img title="VSTemplate" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="201" alt="VSTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate_thumb.png" width="989" border="0"&gt;&lt;/a&gt; &lt;p&gt; Now we are done creating a reusable layering diagram we can integrate this with a Blueprint. (of course we can create more item templates for other architectures defined in the p&amp;amp;p App Arch Guide) &lt;p&gt; In this post we will not explain how to create a Blueprint from scratch but this is pretty easy. Especially after watching the &lt;a rel="nofollow" target="_blank" href="http://channel9.msdn.com/Niners/Michael%20Lehman/"&gt;How To videos&lt;/a&gt;. Once we have created our Blueprint we can use a Workflow Foundation based workflow to actually add our predefined layering diagram to our solution. &lt;p&gt; To do this, we first have to add a Workflow Command to our Blueprint (&lt;a rel="nofollow" target="_blank" href="http://channel9.msdn.com/posts/MichaelLehman/Authoring-Blueprints-Custom-Command-Extensions-using-Window-Workflow-WF/"&gt;screen cast&lt;/a&gt; for more details) that will enable our Blueprint users add a layering diagram to their solution. The documentation that comes with the Blueprint Workflow Command provide us with the code we need to execute a workflow. However, this code assumes we are executing a ‘XOML only’ workflow. In our case we choose to use a codebehind for our workflow so therefor we use the ‘ExecuteWorkFlow’ method instead of the ‘ExecuteXomlWorkflow’ method. The code in your command might look like this (added some hardcoded paths instead of calls to helper class to get the correct paths). &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code.png"&gt;&lt;img title="Code" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="197" alt="Code" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code_thumb.png" width="1008" border="0"&gt;&lt;/a&gt; &lt;p&gt; Now that we have the command in place we have to create the actual workflow that we execute from the command. After installing Blueprints we get a few extra activities that we can use in the workflows in our Blueprint. Below we can see how this workflow might look like. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow.png"&gt;&lt;img title="Workflow" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="667" alt="Workflow" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow_thumb.png" width="418" border="0"&gt;&lt;/a&gt; &lt;p&gt; The ‘ShowDialog’ activity in this workflow is a normal ‘Code’ activity that in this case shows the (very simple) dialog that is displayed below. This dialog lets the user select the architecture that will be used in his solution. &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog.png"&gt;&lt;img title="Dialog" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="231" alt="Dialog" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog_thumb.png" width="417" border="0"&gt;&lt;/a&gt; &lt;p&gt; Once the architecture is selected, the workflow continues with the ‘CheckProjectExists’ activity. This Blueprint specific activity checks if the current solution contains a ‘Modeling project’ with the name ‘Architecture’ (I am sure you can come up with a better name ;)). If not, the project is created. After that the ‘AddLayeringTemplate’ activity is executed to actually unfold the selected item template that will add the predefined layering diagram to our modeling project in our solution. &lt;p&gt; In this post we deliberately left out some implementation details that you might need to implement this yourself. However, hopefully it does explain the basic scenario of how to add some architectural guidance from &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/AppArchGuide"&gt;p&amp;amp;p App Arch Guide&lt;/a&gt; by using &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; and VS2010 Layering diagrams. In future posts we will ellaborate on this scenario, share some more technical details and eventually might even end up with a working solution that we can share :-). &lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=e8551df6-102b-4477-bb38-69fddbef32a8"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</guid>
      <pubDate>Wed, 07 Jan 2009 05:20:17 -0800</pubDate>
      <category>Blueprints;ALM;Architectural Guidance</category>
    </item>
    <item>
      <title>Yessssss, Another year as MVP!</title>
      <link>http://blogs.infosupport.com/blogs/marcelv/archive/2009/01/02/Yessssss_2C00_-Another-year-as-MVP_2100_.aspx</link>
      <description>&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;When I got back in the office this morning I was very pleased to see the Congratulations email in my inbox. Little excerpt from the mail:&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;&lt;em&gt;Congratulations! We are pleased to present you with the 2009 Microsoft&amp;reg; MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;&lt;em&gt;The Microsoft MVP Award provides us the unique opportunity to celebrate and honor your significant contributions and say "Thank you for your technical leadership."&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;&lt;em&gt;Toby Richards&lt;br /&gt;General Manager &lt;br /&gt;Community Support Services&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;I feel really privileged to be awarded for a 4th year in a row as Team System MVP. &lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;The most important reason I am so glad to be awarded Team System MVP is that it enables me to be part of a community of really great and knowledgeable people. Not only is the Team System team a great group of people to work with, they also really value the feedback we give and transform our feedback in shaping the product to be the best ALM offering around against a really affordable price.&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;I want to thank Microsoft in recognizing the work I have done last year for the Team System and developer community. I also want to thank Info Support since they enable me to work at the bleeding edge of technology and support the work I do in the community as Architect, Speaker and Author.&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;Happy New Year!&lt;/p&gt;&lt;p class="MsoNormal" style="margin:6pt 0in 3pt 11.35pt;"&gt;Cheers,&lt;br /&gt;Marcel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.infosupport.com/aggbug.aspx?PostID=14893" width="1" height="1"&gt;</description>
      <guid isPermaLink="false">56f6167b-0c51-4839-ab2d-34653eeb5c9c:14893</guid>
      <pubDate>Fri, 02 Jan 2009 01:21:00 -0800</pubDate>
    </item>
    <item>
      <title>Blueprints: EnableDeveloperFeatures</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,cccad39d-80dc-4d91-905d-b5753b44e291.aspx</link>
      <description>&lt;p&gt;During the development of our Blueprints we can sometimes use a little extra help to understand what is really going on. It turns out that if we add a Registry setting called ‘&lt;strong&gt;EnableDeveloperFeatures&lt;/strong&gt;’ under the ‘&lt;strong&gt;HKey_Local_Machine&amp;#92;Software&amp;#92;Microsoft&amp;#92;Blueprints&lt;/strong&gt;’ key and set its value to ‘true’ we get a few extra features enabled in the Blueprint Manager that might help understand (debugging) Blueprints . In the screenshot below we can see the checkboxes that become visible after we have added the ‘&lt;strong&gt;EnableDeveloperFeatures&lt;/strong&gt;’ setting to the Registry. The checkboxes are read only in the Blueprint Manager dialog but can be set through the Registry. &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsEnableDeveloperFeatures_131E1/Settings.png"&gt;&lt;img title="Settings" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="330" alt="Settings" src="http://www.edwardbakker.nl/content/binary/BlueprintsEnableDeveloperFeatures_131E1/Settings_thumb.png" width="606" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; As we can see, the ‘Custom Menu Filter’ checkbox is checked which means custom menu filters are enabled by default for our Blueprints. We can disable this feature by adding a ‘&lt;strong&gt;DisableCustomMenuFilters&lt;/strong&gt;’ setting under the ‘&lt;strong&gt;HKey_Local_Machine&amp;#92;Software&amp;#92;Microsoft&amp;#92;Blueprints&lt;/strong&gt;’ key and set its value to ‘false’. &lt;/p&gt;
&lt;p&gt; To enable logging in the Blueprint Manager we can add the ‘&lt;strong&gt;BPMLogging&lt;/strong&gt;’ setting to the Registry and set its value to ‘true’. &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/PermaLink,guid,9077ee23-2f38-4521-aa01-2b5baa45cc0c.aspx"&gt;In an earlier post&lt;/a&gt; I demonstrated how to create a custom menu filter. After adding a ‘&lt;strong&gt;MenuDebugging&lt;/strong&gt;’ setting to the Registry and set its value to ‘true’ we can see that Blueprint Manager now logs (output window) that it actually detects the custom menu filter that we created and also determines if it should be visible or not.
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsEnableDeveloperFeatures_131E1/Log.png"&gt;&lt;img title="Log" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="255" alt="Log" src="http://www.edwardbakker.nl/content/binary/BlueprintsEnableDeveloperFeatures_131E1/Log_thumb.png" width="688" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; Hopefully, enabling these features help a little during the development of your Blueprints…
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=cccad39d-80dc-4d91-905d-b5753b44e291"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,cccad39d-80dc-4d91-905d-b5753b44e291.aspx</guid>
      <pubDate>Sat, 27 Dec 2008 14:24:13 -0800</pubDate>
      <category>Blueprints;Software Factories</category>
    </item>
    <item>
      <title>Blueprints: Visual Studio 2010 CTP</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</link>
      <description>&lt;p&gt;For some (experimental) work that I am currently doing with &lt;a rel="nofollow" target="_blank" href="http://clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; we needed a version of &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; that installs on the current &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;VS 2010 CTP&lt;/a&gt;. I am sure every developer already knows how to modify an .MSI package by using ‘Orca’ (part of Windows SDK) so I am not going to explain in detail how to do that. However, the good news is, that if we open the &lt;a rel="nofollow" target="_blank" href="http://www.codeplex.com/blueprints/Release/ProjectReleases.aspx?ReleaseId=20784"&gt;Blueprints 2.1.2 CTP&lt;/a&gt; in Orca, replace every occurrence of ‘Visual Studio 9.0’ by ‘Visual Studio 10.0’ and save it again we are good to go. No other changes needed. The modified installer runs without issues on &lt;a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;VS 2010 CTP&lt;/a&gt; and so far we haven’t found any problems with Blueprints on VS 2010. &lt;p&gt; If you are interested in the work we are doing, I suggest to go read an &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx"&gt;introductional post&lt;/a&gt; that &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; just posted which describes some early ideas. Expect some more details in the next coming days, weeks, months on both &lt;a rel="nofollow" target="_blank" href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; blog and/or this one. &lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=f9693cff-97a4-4e40-8eea-b944c3b62eef"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</guid>
      <pubDate>Tue, 23 Dec 2008 12:58:40 -0800</pubDate>
      <category>Blueprints;VSTA;ALM</category>
    </item>
    <item>
      <title>Sticky Notes!</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,bf6a2bd7-4ac1-4de5-8b65-dc78fa79f733.aspx</link>
      <description>&lt;p&gt;My friend &lt;a rel="nofollow" target="_blank" href="http://www.clariusconsulting.net/blogs/pga/"&gt;Pablo&lt;/a&gt; just released &lt;a rel="nofollow" target="_blank" href="http://stickynotes4code.com/"&gt;Sticky Notes&lt;/a&gt;. As one of the beta testers for this cool Visual Studio extension I had the opportunity to play with it for some time and I found this a very handy and easy to use tool for ‘managing’ comments in source code. I mentioned to Pablo it might be cool to include TFS integration so I really hope this will be a feature for Sticky Notes vNext! I suggest you take a look at the &lt;a rel="nofollow" target="_blank" href="http://stickynotes4code.com/Screenshots.aspx"&gt;screenshots and videos&lt;/a&gt; and decide for yourself how this can help your development activities. Great work Pablo!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=bf6a2bd7-4ac1-4de5-8b65-dc78fa79f733"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,bf6a2bd7-4ac1-4de5-8b65-dc78fa79f733.aspx</guid>
      <pubDate>Tue, 23 Dec 2008 00:20:50 -0800</pubDate>
      <category>general</category>
    </item>
    <item>
      <title>Blueprints: Custom menu filters</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,9077ee23-2f38-4521-aa01-2b5baa45cc0c.aspx</link>
      <description>&lt;p&gt;For one of the Blueprints I am currently writing I had to add a menu item that enables the Blueprint user to execute a specific task (command). Adding menu items to a Blueprint is pretty easy by using the Blueprint configuration dialog. As we can see in the screenshot below we can also set the ‘visibility for the menu item by specifying a menu filter in the ‘Visibility box’ on the dialog. &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/config.png"&gt;&lt;img title="config" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="343" alt="config" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/config_thumb.png" width="535" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; The current Blueprints CTP comes with a few ‘built-in’ menu filters like: Project=roject name, FolderEndsWith=folder name, etc. (complete list can be found in de Blueprints documentation). Of course I needed a menu filter that wasn’t available out of the box. Unfortunately the documentation doesn’t say anything about adding custom menu filters but luckily a little experimenting (and Reflector ;)) was enough to get this to work.
&lt;/p&gt;
&lt;p&gt; Here are the steps to implement your own custom menu filter:&amp;nbsp; &lt;/p&gt;
&lt;p&gt; The first thing to do is to simply add the name of your new custom menu filter in the ‘Visibility’ box of the menu item you want the custom menu filter to be applied on. In this example we also pass a custom argument (‘BlaBla’) to our custom menu filter.
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/con1.png"&gt;&lt;img title="con1" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="350" alt="con1" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/con1_thumb.png" width="546" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; The second step is to actually implement the custom menu filter. This can be easily done by adding a ‘Command Extension’ project to your Blueprint solution (Blueprints menu –&amp;gt; Add Command Extension). This project already implements a post build event to make sure the .dll that hosts your command extension is copied to the correct location to let Blueprint Manager find it during execution of your Blueprint. &lt;/p&gt;
&lt;p&gt; for this example we can delete all default files in the extension project and add a new class to this project that implements the ‘IMenuFilter’ interface (add a reference to the ‘Microsoft.SoftwareFactories.BASMAPI.dll’ assembly that can be found under the Blueprint installation directory).
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code1.png"&gt;&lt;img title="code1" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="243" alt="code1" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code1_thumb.png" width="649" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; In this class, the ‘FilterSupported’ method is used to decide whether a&amp;nbsp; custom menu filter is supported in our Blueprints. Àll we have to do in this method is return ‘true’ for the custom menu filters (name) that we want to support in our Blueprint. (note that we can handle multiple custom filters here).
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code2.png"&gt;&lt;img title="code2" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="code2" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code2_thumb.png" width="398" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; The ‘Visible’ method is used to decide whether the menu item that has our custom menu filter applied should be visible or not. The screenshot below demonstrates a, not very useful (and not bulletproof), implementation of a custom menu filter that only shows the menu item in case the Blueprint user right clicks the Solution (Solution Explorer) and the name of the selected Solution starts with the parameter supplied to the custom menu filter (‘BlaBla’ in this case).&amp;nbsp; As said, not a very useful filter but it hopefuly demonstrates what can can be done here. &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code3.png"&gt;&lt;img title="code3" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="521" alt="code3" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/code3_thumb.png" width="549" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt; After we finished the ‘Visible’ method, we are done implementing our custom menu filter and all we have to do is make sure the Blueprints Manager knows about our custom menu filter. How?
&lt;/p&gt;
&lt;p&gt; As we can see in the screenshot below, the menus that we define in our Blueprint configuration dialog (see above) are stored in the ‘config.xml’ file of our Blueprint (located in the properties folder in our Blueprint project).
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/Menu.png"&gt;&lt;img title="Menu" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="50" alt="Menu" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/Menu_thumb.png" width="745" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; At some point, the Blueprint Manager parses this config file, searches for custom menus, detects the ‘MyCustomMenuFilter’ that we specified in our menu item and notices it isn’t one of the ‘built-in’ menu filters. At that time the Blueprint Manager checks if any additional ‘resources’ are registered for our Blueprint that might host an implementation of the ‘IMenuFilter’ interface. To make sure the Blueprint Manager can find our extension, we register our custom menu filter by adding the following (screenshot below) to the config file of our Blueprint.
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/Resources.png"&gt;&lt;img title="Resources" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="50" alt="Resources" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustommenufilters_127A7/Resources_thumb.png" width="906" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; After that, if the Blueprints Manager detects a menu filter that is doesn’t recognize, it will search its additional resources and find our custom menu filter implementation. It will then call the ‘FilterSupported’ and ‘Visible’ methods on our ‘CustomMenuFilters’ class to decide whether or not the custom menu item is supported and under what circumstances display our menu item.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=9077ee23-2f38-4521-aa01-2b5baa45cc0c"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,9077ee23-2f38-4521-aa01-2b5baa45cc0c.aspx</guid>
      <pubDate>Mon, 22 Dec 2008 15:40:59 -0800</pubDate>
      <category>Blueprints;Software Factories</category>
    </item>
    <item>
      <title>Blueprints: Customize template unfolding</title>
      <link>http://www.edwardbakker.nl/PermaLink,guid,19ed9391-55ca-4e49-aeef-e3c7289f199e.aspx</link>
      <description>&lt;p&gt;When working with a Blueprint to deliver a product, we very often start with unfolding a solution/project structure (template) that reflects some architectural guidance. When building a Blueprint, we have a few options for unfolding templates within our Blueprint (that we can set through configuration as displayed below). The option ‘None’ obviously doesn’t unfold a template at all, ‘Auto-generated’ unfolds a predefined project template (C# class library) and ‘User-supplied’ provides us with the possibility to define our own solution/project templates. (The guidance that comes with the current release of Blueprints does a pretty good job describing these three options)
&lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/configuration.png"&gt;&lt;img title="configuration" style="border-right:0px;border-top:0px;display:inline;border-left:0px;border-bottom:0px;" height="291" alt="configuration" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/configuration_thumb.png" width="454" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; However, sometimes we need even more control before, during or after template unfolding (ie create folder structures, complex dialogs, Add to source control, etc.). Luckily, there is another mechanism that we can use for this scenario that gives us full control!
&lt;/p&gt;
&lt;p&gt; We can add a ‘Command Extension’ (right click on your Blueprint and select ‘Add Command Extension’ from the Blueprints menu) and write an extension that unfolds our custom project templates.&amp;nbsp; &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/AddExtension.png"&gt;&lt;img title="AddExtension" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="209" alt="AddExtension" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/AddExtension_thumb.png" width="294" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; Adding a Command Extension to our Blueprint gives us a new project in our Blueprint solution. This new project already contains an example extension that we can modify to implement our custom unfolding logic.&amp;nbsp; Below, a simplyfied implementation of this modified Command Extension is given that uses the custom ‘MyTemplate.vstemplate’ template and unfolds that to a (hard coded) location. &lt;p&gt; &amp;nbsp; &lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/Extension.png"&gt;&lt;img title="Extension" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="224" alt="Extension" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/Extension_thumb.png" width="559" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt; After we fully implemented our extension, we can add this Command Extension to the commands collection of our Blueprint (More info on how to add commands can be found in the Blueprints documentation). &lt;/p&gt;
&lt;p&gt; &lt;a rel="nofollow" target="_blank" href="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/Command.png"&gt;&lt;img title="Command" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="243" alt="Command" src="http://www.edwardbakker.nl/content/binary/BlueprintsCustomizetemplateunfolding_13634/Command_thumb.png" width="379" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; The real ‘trick’ here is to name the command ‘&lt;strong&gt;INIT&lt;/strong&gt;’ which will force the Blueprints Manager to execute the command automatically for us when unfolding our Blueprint to a (empty) Visual Studio solution. Also, don’t forget to set the ‘Template’ option in the Blueprint configuration dialog to ‘&lt;strong&gt;None&lt;/strong&gt;’! Note that we also added a switch statement to our implementation of the Command Extension to only execute the template unfolding in case the ‘INIT’ command gets executed. &lt;/p&gt;
&lt;p&gt; With this in place we can write complex ‘vstemplates’, that include &lt;a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/ms171411.aspx"&gt;WizardExtensions&lt;/a&gt; to collect user input and rely on the Blueprints Manager to execute our ‘INIT’ command to unfold these templates when developers add our Blueprint to their Visual Studio solutions. &lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=19ed9391-55ca-4e49-aeef-e3c7289f199e"/&gt;</description>
      <guid isPermaLink="false">http://www.edwardbakker.nl/PermaLink,guid,19ed9391-55ca-4e49-aeef-e3c7289f199e.aspx</guid>
      <pubDate>Sat, 20 Dec 2008 14:27:52 -0800</pubDate>
      <category>Blueprints;Software Factories</category>
    </item>
    <item>
      <title>Does Scrooge exist?</title>
      <link>http://robkuijt.nl/index.php?entry=entry081126-201908</link>
      <description>&lt;i&gt;Fiction or reality? On a, further nice, kind of conference meeting, I did met Ebenezer Scrooge! &lt;br /&gt;I didn&amp;#039;t know that such Scrooge-type testers do exist!&lt;/i&gt; &lt;br /&gt; &lt;center&gt;:-((&lt;/center&gt; &lt;br /&gt;&lt;br /&gt;Scrooge was fully focused on finding bugs, and if I say fully, I mean &lt;b&gt;FULLY&lt;/b&gt; ! &lt;br /&gt;Scrooge was completely focused on his own world, collecting as much as bugs as possible, and enjoying it with a kind of scary laughter..... I must say his test results seems to be excellent, very fast in creating test cases, and he knows and uses more test techniques, I ever did. And he has, as we say it, a nose for finding bugs. But his eyes did spit fire when I suggested helping the developers to find the bugs earlier in the cycle. "Why should I destroy my own work" Scrooge replied..... I must confess, I didn&amp;#039;t have a response right away. I know that most of the (good) testers enjoy finding bugs. But such a fanatic ego-centric type was new and a complete surprise for me. In fact, I think that Scrooge-type testers, especially this fanatic, are a disgrace for the test profession I love.&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/scrooge.gif" width="200" height="161" border="0" alt=""/&gt;&lt;/center&gt; &lt;br /&gt;So I tried to convince him to change his attitude. Of course I didn&amp;#039;t succeed the remaining 15 minutes we met. Probably he needs a visit from the ghosts of the past, present and future! &lt;br /&gt; &lt;center&gt;;-)&lt;/center&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;For the Scrooges among us&lt;/b&gt; &lt;br /&gt;For the Scrooges in the test world I have a message: Finding bugs can deliver applause from your surrounding and it may look that your manager is pleased with the extra test hours (he can send a bigger invoice). But in the long term no one (beside you) is happy with a Scrooge attitude. The business users don&amp;#039;t get their systems on time, the developers won&amp;#039;t help you if you need them, and if the project manager becomes aware of this attitude, he will kick you out (so your manager can&amp;#039;t send any invoice at all). So broaden your small ego centric world! Adopt Application Lifecycle Management [ALM] and find bugs as early as possible in a collaborative driven attitude.&lt;br /&gt;&lt;br /&gt; &lt;b&gt;For the non-Scrooges&lt;/b&gt; &lt;br /&gt;How do we fight this irritating phenomenon? In my opinion, the best testers are the ones helping (actively) the developers to build better software. Luckily some of the big test gurus of this world preach the same opinion (see the entry &lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/james_whittaker/archive/2008/07/22/measuring-testers.aspx"&gt;&lt;u&gt;measuring testers&lt;/u&gt;&lt;/a&gt; in the weblog of James Whittaker).&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Wild thought&lt;/b&gt; &lt;br /&gt;Can we make testers responsible for the quality of the software? For instance: Is it possible to award testers depending decreasing defect rates. I think a kind of Collaboration-bonus awarding mean time between failures and/or decreasing defect rates can work! Has someone a suggestion for the formulation of such a performance indicator or Collaboration-bonus?&lt;br /&gt; &lt;center&gt; &lt;img src="http://robkuijt.nl/images/scrooge2.gif" width="300" height="348" border="0" alt=""/&gt; &lt;/center&gt; &lt;br /&gt;I&amp;#039;ll look for some like-minded friends and give it a try in the coming period. Im sure this entry will be continued....&lt;br /&gt;And again: Suggestions are very welcome!&lt;br /&gt;&lt;br /&gt;Rob</description>
      <author>Rob Kuijt</author>
      <guid isPermaLink="false">http://robkuijt.nl/index.php?entry=entry081126-201908</guid>
      <pubDate>Wed, 26 Nov 2008 11:19:08 -0800</pubDate>
      <category>ALM, Testing</category>
    </item>
  </channel>
</rss>
<!-- fe4.pipes.sp1.yahoo.com uncompressed/chunked Thu Mar 11 05:24:11 PST 2010 -->