<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Terje Sandstrom</title>
        <link>http://geekswithblogs.net/terje/Default.aspx</link>
        <description>------ Chief Software Geek at Osiris Data in Scandinavia ----- and a Team System MVP</description>
        <language>en-US</language>
        <copyright>terje</copyright>
        <managingEditor>terje@osiris.no</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Terje Sandstrom</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/terje/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>On branches and builds in Team Foundation Server</title>
            <link>http://geekswithblogs.net/terje/archive/2009/10/25/on-branches-and-builds-in-team-foundation-server.aspx</link>
            <description>&lt;p&gt;On codeplex the VSTS Rangers have published the &lt;a href="http://tfsbranchingguideii.codeplex.com/"&gt;Branching Guidance II&lt;/a&gt; (yes, a while ago, but still very true).  The basic idea there is the separation between 3 major branches,  the Main (or trunk), the Development and the Release branch.  One can elaborate on these and use multiple Development branches, and also a tree of release branches, but the basic principle can be summed up with these three. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/OnbranchesandbuildsinTeamFoundationServe_132C8/image_2.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://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/OnbranchesandbuildsinTeamFoundationServe_132C8/image_thumb.png" width="590" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Now, if we look at the different sets of build types we have, see &lt;a title="http://geekswithblogs.net/terje/archive/2009/02/04/defining-the-build-set.aspx" href="http://geekswithblogs.net/terje/archive/2009/02/04/defining-the-build-set.aspx"&gt;http://geekswithblogs.net/terje/archive/2009/02/04/defining-the-build-set.aspx&lt;/a&gt; for details, and combine this information with the branching model above, we can see what types of builds should be set up for each branch.  I’ve used the terms None, Mandatory and Optional to indicate the relationships. &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="610"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="168"&gt;&lt;strong&gt;Builds \   Branches&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="162"&gt;&lt;strong&gt;Development&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="144"&gt;&lt;strong&gt;Main&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="134"&gt;&lt;strong&gt;Release&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="180"&gt;&lt;strong&gt;Developer (CI build)&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="170"&gt;Mandatory&lt;/td&gt;        &lt;td valign="top" width="150"&gt;Mandatory&lt;/td&gt;        &lt;td valign="top" width="139"&gt;Mandatory&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="183"&gt;&lt;strong&gt;QA build&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="173"&gt;Mandatory&lt;/td&gt;        &lt;td valign="top" width="151"&gt;Mandatory&lt;/td&gt;        &lt;td valign="top" width="141"&gt;None/Optional&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="184"&gt;&lt;strong&gt;Deployment to Test&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="174"&gt;Optional&lt;/td&gt;        &lt;td valign="top" width="151"&gt;None&lt;/td&gt;        &lt;td valign="top" width="142"&gt;Mandatory&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="183"&gt;&lt;strong&gt;Deployment to Production&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="175"&gt;None&lt;/td&gt;        &lt;td valign="top" width="150"&gt;None&lt;/td&gt;        &lt;td valign="top" width="143"&gt;Mandatory&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Some comments may be needed:&lt;/p&gt;  &lt;p&gt;In any kind of branch, ALWAYS use a Check-in Build (for the Developer). It gives early warning if anything is going wrong.&lt;/p&gt;  &lt;p&gt;Always use a QA Build (running daily/nightly at least) on your Development and Main branches, to ensure you have the right code quality, code coverage etc.  I say None/Optional on the Release branch, meaning if you do a lot of code changes there, it might be wise to run it also on the release branch, otherwise there should be no need.&lt;/p&gt;  &lt;p&gt;Decide from where you want to release to your Test Systems.  You could choose any of the child branches, depending on how you want to ensure your quality.  If you’re making a large development effort, you need to go through a Quality Gate before you do a Reverse Integration back to main, then you should deploy to test from your Development branch. But you always need to test before release, so a deployment to Test should be done from the release branch.  A test on the development branch does only ensure the quality of the RI to main, you still need to do the Test on the release branch.&lt;/p&gt;  &lt;p&gt;Deployment to production build should ONLY be done from the Release branch. Never ever from any of the other.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135706"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135706" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/135706.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/10/25/on-branches-and-builds-in-team-foundation-server.aspx</guid>
            <pubDate>Sun, 25 Oct 2009 20:49:19 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/135706.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/10/25/on-branches-and-builds-in-team-foundation-server.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/135706.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/135706.aspx</trackback:ping>
        </item>
        <item>
            <title>Branched history working in Visual Studio 2010 using TFS Server 2008</title>
            <link>http://geekswithblogs.net/terje/archive/2009/10/24/branched-history-working-in-visual-studio-2010-using-tfs-server.aspx</link>
            <description>&lt;p&gt;Visual Studio 2010 (beta 2) can be connected to an existing TFS 2008 Server.  Much of the new great stuff is then not available, quite naturally.  But I was quite positively surprised that some stuff I had not expected to work in fact did.  Which of course means it’s client stuff more than server stuff. Anyway, here comes:&lt;/p&gt;  &lt;p&gt;History across branches:  You can now see the history of a versioned item even it started it’s life in another branch, and even if you are connected to a TFS 2008 server.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/BranchedhistoryworkinginVisualStudio2010_14334/History_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="History" border="0" alt="History" src="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/BranchedhistoryworkinginVisualStudio2010_14334/History_thumb.jpg" width="516" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can see that this item started out in a Development (Feature) branch, changeset 33008, but in changeset 34502 it was merged into the Main.  &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135691"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135691" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/135691.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/10/24/branched-history-working-in-visual-studio-2010-using-tfs-server.aspx</guid>
            <pubDate>Sat, 24 Oct 2009 20:59:05 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/135691.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/10/24/branched-history-working-in-visual-studio-2010-using-tfs-server.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/135691.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/135691.aspx</trackback:ping>
        </item>
        <item>
            <title>Seminar on news in Team System 2010, September 15th in Oslo, Norway</title>
            <link>http://geekswithblogs.net/terje/archive/2009/08/24/seminar-on-news-in-team-system-2010-september-15th-in.aspx</link>
            <description>&lt;p&gt;In June we ran a free 2,5 hour seminar at Microsoft on the Team System 2010.  It went rather well, so it's being set up again, on September 15th.  It's being done as a practical demo case, we've "invented" a problem, and uses the 2010 to solve the problem. In the process of doing that, we're going through the Architect parts, the work items, the build system, coding, branching, code reviews with the static code analysis, testing with the new Test Edition ("Camano") and more.   We've done it nearly power point free :-). &lt;/p&gt;  &lt;p&gt;The agenda, which is more like a summary of the stuff we go through during the case study, is as follows (in Norwegian) :&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Introduksjon&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Introduksjon til ny funksjonalitet for arkitekter, utviklere, testere og prosjektledere&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No-repro bug. Automatisk lagring av testscenarier for reprodusering av feil&lt;/li&gt;    &lt;li&gt;Testing av brukergrensesnitt - ende til ende fra test bruker med full lagring av alle hendelseer, klikk og reproduksjon i utviklingsmiljøet&lt;/li&gt;    &lt;li&gt;Økt effektivitet og sporbarhet i testing&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Source control&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sporing og visualisering av endringer i branch.&lt;/li&gt;    &lt;li&gt;Annotated across merges&lt;/li&gt;    &lt;li&gt;Rollback&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Project control&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hierarchical work items&lt;/li&gt;    &lt;li&gt;New work item controls&lt;/li&gt;    &lt;li&gt;Field comparison queries&lt;/li&gt;    &lt;li&gt;Ad-hoc Excel reports&lt;/li&gt;    &lt;li&gt;Utvidet Project Server-integrasjon&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Architect Edition&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Mange nye designer-elementer for bl. Use case, component, logical class, class, sequence m. fl&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Build &amp;amp; release&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Byggkøer&lt;/li&gt;    &lt;li&gt;Gated checking&lt;/li&gt;    &lt;li&gt;Automatisk installering&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Register here : &lt;a title="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032420915&amp;amp;EventCategory=1&amp;amp;culture=nb-NO&amp;amp;CountryCode=NO" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032420915&amp;amp;EventCategory=1&amp;amp;culture=nb-NO&amp;amp;CountryCode=NO"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032420915&amp;amp;EventCategory=1&amp;amp;culture=nb-NO&amp;amp;CountryCode=NO&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Rune has written up more on it here: &lt;a title="http://blogs.msdn.com/grothaug/archive/2009/08/21/under-panseret-p-visual-studio-team-system-2010.aspx" href="http://blogs.msdn.com/grothaug/archive/2009/08/21/under-panseret-p-visual-studio-team-system-2010.aspx"&gt;http://blogs.msdn.com/grothaug/archive/2009/08/21/under-panseret-p-visual-studio-team-system-2010.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134291"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=134291" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/134291.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/08/24/seminar-on-news-in-team-system-2010-september-15th-in.aspx</guid>
            <pubDate>Mon, 24 Aug 2009 22:55:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/134291.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/08/24/seminar-on-news-in-team-system-2010-september-15th-in.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/134291.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/134291.aspx</trackback:ping>
        </item>
        <item>
            <title>Team System 2010:  Static Code Analysis, easier to set rules</title>
            <category>TFS</category>
            <category>Visual Studio</category>
            <category>Code Analysis</category>
            <link>http://geekswithblogs.net/terje/archive/2009/07/12/team-system-2010--static-code-analysis-easier-to-set.aspx</link>
            <description>&lt;p&gt;In Visual Studio the settings for static analysis is done on the project property page, a tab called Code Analysis. You can set which code analysis rules you want to be active.  The default in Visual Studio 2008 is to use all.   If you run with this default setting you will generate a lot of "noise", since there are a large set of rules.  You need to create a set containing the rules you and your team find are suitable for your organization and project.  This set you have to apply to every C# project in your solution.  In Visual Studio 2008 there is no easy way to do this.  At Osiris we made an Addin to Visual Studio to ease this.  We defined the set in a separate file, and used the Addin to apply that to all projects in a solution. &lt;/p&gt;
&lt;p&gt;With Visual Studio 2010 this will be more easy, because in 2010 you can define sets of rules.  It comes with a default list of sets.   You can also define your own sets, based on any of the others. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border="0" alt="Code Analysis page" width="559" height="351" src="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;To make your own rule set, just open any of the default ones, make any changes you like to it, and save it under a suitable name.  A rule set file is created, which can be checked in together with the other files of the project.  This file [rule set] can now be used by any other project you have.  So you only need to define it once.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border="0" alt="image" width="560" height="408" src="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;You still have to select it for all the projects in the solution, but this has been made easier by having solution properties, where Code Analysis is one of these setting pages:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border="0" alt="image" width="565" height="397" src="http://geekswithblogs.net/images/geekswithblogs_net/terje/WindowsLiveWriter/TeamSystem2010StaticCodeAnalysis_5770/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It's then easy to select the rule set you want for all projects within your solution.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133435"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133435" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/133435.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/07/12/team-system-2010--static-code-analysis-easier-to-set.aspx</guid>
            <pubDate>Sun, 12 Jul 2009 16:41:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/133435.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/07/12/team-system-2010--static-code-analysis-easier-to-set.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/133435.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/133435.aspx</trackback:ping>
        </item>
        <item>
            <title>Team System 2010 seminar - New features - and a storytelling approach</title>
            <link>http://geekswithblogs.net/terje/archive/2009/07/08/team-system-2010-seminar---new-features---and-a.aspx</link>
            <description>&lt;p&gt;We have run 10 seminars with myself, &lt;a href="http://twitter.com/Nitell"&gt;Mikael Nitell&lt;/a&gt; and &lt;a href="http://geekswithblogs.net/jakob/Default.aspx"&gt;Jakob Ehn&lt;/a&gt; on TFS 2008 during the last two years. These seminars were made from the point of our company's experience with the TFS system.  We debated different aspects of it, and showed people how we had chosen to solve the different issues that arose.  These seminars took in the range of 4 hours, and we've had around 700 people all in all participating in these seminars, with very favorable feedback.  &lt;/p&gt;  &lt;p&gt;Now in June, June 10th, we, myself and Mikael,  ran a new seminar on new features in TFS 2010. For this seminar we chose a different approach from the earlier series.  The earlier series consisted of quite a lot of power points, a nice series of demos, and a lot of talking.  We kept the talking, but reduced the powerpoints to near nil, and increased the demos to cover mostly the whole seminar.  To get this floating, we chose a kind of storytelling approach.  We made up a development story, started from scratch with requirements, and worked through modeling, coding, static code analysis, bugs, testing - in fact we managed to cover a lot of the new "Camano"/Test Edition, and we even managed to show the connections between test and specifications.  The approach neatly showed how good the new edition of Team System is to cover much more of the lifecycle of an application.  &lt;/p&gt;  &lt;p&gt;The feedback from the seminar was very good, which proved to us that the storytelling approach did work.  So, if you weren't there, Microsoft Norway wanted to run this again, so you have a new chance the 15th of September, see the &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032420915&amp;amp;EventCategory=1&amp;amp;culture=nb-NO&amp;amp;CountryCode=NO"&gt;invitation here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133360"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133360" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/133360.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/07/08/team-system-2010-seminar---new-features---and-a.aspx</guid>
            <pubDate>Wed, 08 Jul 2009 20:06:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/133360.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/07/08/team-system-2010-seminar---new-features---and-a.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/133360.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/133360.aspx</trackback:ping>
        </item>
        <item>
            <title>Mapping use cases to code</title>
            <category>TFS</category>
            <category>Visual Studio</category>
            <link>http://geekswithblogs.net/terje/archive/2009/07/08/mapping-use-cases-to-code.aspx</link>
            <description>&lt;p&gt;There has always been a controversy between modeling and coding.  All from the point where models are to be turned into code automatically, through the state where models are written and then forgotten after coding has started, to the point where one generates models from the code. &lt;/p&gt;  &lt;p&gt;To me, code and model is representations of the same thing - the problem to be solved, or the solution to the problem.  And when the solution matches the problem, which sometimes happens, all is well.&lt;/p&gt;  &lt;p&gt;So the artifacts one make in a model IMHO it should be possible  to map to code.  I do believe that should be a strong guideline for which artifacts one uses in a model.  If that holds, one can always reverse engineer a model from code, at least to a certain degree.&lt;/p&gt;  &lt;p&gt;In order to make the picture more complete when one uses Use Cases for specifications is to add navigation diagrams to the suite. The term is coined by &lt;a href="http://www.amazon.com/Practical-Software-Engineering-Addison-Wesley-Technology/dp/0321136195/ref=sr_1_1/181-4839365-5186464?ie=UTF8&amp;amp;s=books&amp;amp;qid=1247072819&amp;amp;sr=1-1"&gt;Manassis&lt;/a&gt; I think, and it shows how the different GUI pages are navigated.  This takes form of a set of classes (one for each GUI page or independent part of a page) which depends on each other, where the dependency is named based on how you access the dependency. Ex.:  “Button: Create New”.    Although they say a use case diagram should be independent of the realization in form of GUI’s, I normally take a more pragmatic viewpoint, and connects these things together.  One is to make a software program after all – not a theoretical thesis.  I often connects a use case with a graphical page, or in some cases a page may encompass multiple use cases.  Anyway, by using tracing from the use cases to the GUI pages, those relationships are taken care of, and a relationship matrix can show which use cases and which GUI’s are not connected, thus revealing missing specifications. &lt;/p&gt;  &lt;p&gt;So, the use cases links to user interfaces (or messages for a message based system). Since the logic for the use case is not to be engraved into the user interface it has to be the Controller (or presenter or service component) that orchestrates the use case steps, hopefully most of it delegated down to the domain model.  See Controller pattern within the &lt;a href="http://en.wikipedia.org/wiki/GRASP_(Object_Oriented_Design)"&gt;GRASP patterns&lt;/a&gt; (Craig Larman). &lt;/p&gt;  &lt;p&gt;Very often one uses the Use Case as the main work item for realizing a certain set of functionality, which encompass code on several layers, from the GUI layer, the controller layer, and on the domain layer, possibly also on the database layer. This duality, the use case both representing the code for the logic of the use case, and representing the whole work package for that behavior, is something I believe one just should accept, and not try to mitigate.  It really poses no big problems, and mitigation of this would probably only cause over-complexity in the work item tracking or model.   &lt;/p&gt;  &lt;p&gt;Team System 2010 introduces the Layer Model, which can be used to enforce a more strict layering model in an application, making sure code is not placed inadvertently at the wrong layer, or crossing layer boundaries inappropriately.  When one starts to take layering more seriously one also needs to be clear on which artifacts relates to which code-layer.  The navigation diagram classes maps to GUI pages or GUI control classes.  The Use cases maps to Controller classes.  The domain model classes maps firstly to business class domain classes in code, and then, through some O/R mapping into a database model. Having a layering model, together with the necessary model elements, it should be possible to maintain a consistent relationship between model and code.  One can then use whatever view one chooses and finds most convenient, and be sure that code and model is in sync.  If the model then represents the specifications, the problem to be solved and the solution is also kept in sync. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133359"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133359" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/133359.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/07/08/mapping-use-cases-to-code.aspx</guid>
            <pubDate>Wed, 08 Jul 2009 19:30:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/133359.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/07/08/mapping-use-cases-to-code.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/133359.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/133359.aspx</trackback:ping>
        </item>
        <item>
            <title>Use Cases, User Stories and Scenarios - what are they - and how do they relate to TFS 2010</title>
            <category>TFS</category>
            <category>Visual Studio</category>
            <link>http://geekswithblogs.net/terje/archive/2009/07/08/use-cases-user-stories-and-scenarios---what-are-they.aspx</link>
            <description>&lt;p&gt;All these three terms are used to describe the behavior of an application.  They come from different process methodologies, and have different meanings, characteristics and are intended to be used differently. &lt;/p&gt;  &lt;p&gt;Larry Guger also discuss these aspects and several others in his blog entries &lt;a title="http://continuouslyintegrating.blogspot.com/2009/07/use-cases-and-visual-studio-2010-part-1.html" href="http://continuouslyintegrating.blogspot.com/2009/07/use-cases-and-visual-studio-2010-part-1.html"&gt;http://continuouslyintegrating.blogspot.com/2009/07/use-cases-and-visual-studio-2010-part-1.html&lt;/a&gt; and &lt;a title="http://continuouslyintegrating.blogspot.com/2009/07/beginning-use-cases-identifying-actors.html" href="http://continuouslyintegrating.blogspot.com/2009/07/beginning-use-cases-identifying-actors.html"&gt;http://continuouslyintegrating.blogspot.com/2009/07/beginning-use-cases-identifying-actors.html&lt;/a&gt;.   &lt;/p&gt;  &lt;p&gt;The Use Case is the term used in UML and in the different Unified Process based methodologies.  See &lt;a title="http://en.wikipedia.org/wiki/Use_case" href="http://en.wikipedia.org/wiki/Use_case"&gt;http://en.wikipedia.org/wiki/Use_case&lt;/a&gt; for a good overall description.  A use case is often looked upon as a more formal way of describing behavior, and which has to be accompanied by a detailed description following certain rules.  However, a Use case can in fact be as light weight or as formal as one wants it to be.  I find that this depends more on the process methodology one uses more than characteristics of the use case itself. &lt;/p&gt;  &lt;p&gt;The User Story comes from the Scrum based processes, and is meant as a short concise way of capturing a users need for a certain behavior.  See &lt;a title="http://en.wikipedia.org/wiki/User_story" href="http://en.wikipedia.org/wiki/User_story"&gt;http://en.wikipedia.org/wiki/User_story&lt;/a&gt; for a useful description. &lt;/p&gt;  &lt;p&gt;Scenarios comes as two different meanings, one is as a separate term used in agile modeling, see &lt;a title="http://en.wikipedia.org/wiki/Scenario_(computing)" href="http://en.wikipedia.org/wiki/Scenario_(computing)"&gt;http://en.wikipedia.org/wiki/Scenario_(computing)&lt;/a&gt; for a description.  It is very equal to a User Story, but I tend to see it as a more general term.  The other meaning is as a certain path of actions for a use case.  One talks of a "happy path" scenario, or an alternate scenario.  &lt;/p&gt;  &lt;p&gt;One can argue that a User Story can be converted into a Use Case, and there is a point in this.  A Use Case is meant to describe an application behavior, whereas a User Story is used more freely to catch behavior "as is" from the product owner.   This may lead to the case where multiple User Stories matches up to one Use Case, possibly as an Use Case with multiple scenarios, each scenario matching a User Story.  &lt;/p&gt;  &lt;p&gt;In the TFS 2010 these terms are used at different places in the suite.  In the architect diagrams one can draw up a Use Case diagram, and in the Work Item store you can create User Stories.  You can even create a User Story item from the Use Case artifact in the Use Case diagram.  So these items can be related in TFS 2010.  However, since they are not coming from the same methodologies, the mixing of these can be confusing.   &lt;/p&gt;  &lt;p&gt;I’m very pragmatic (even if I’m a theoretical guy), and I’ve noticed people have problems with these terms.  I often just say that it’s more important to catch the behavior aspect of the requirements, regardless of whether you call it Use Case, User Story or Scenario.  Scott Ambler has an interesting article on Agile Maturity (&lt;a title="http://www.ibm.com/developerworks/blogs/page/ambler?entry=apmm_overview" href="http://www.ibm.com/developerworks/blogs/page/ambler?entry=apmm_overview"&gt;http://www.ibm.com/developerworks/blogs/page/ambler?entry=apmm_overview&lt;/a&gt;).  I’ve noticed the same thing, that dependent upon the maturity of the product owners, the developers (really all involved), one uses the process differently.  Also, dependent upon the size of the project, the maturity of the organization, the clarity of what is to be developed, and who’s the client and how is the contract specified, the need for formalized specifications vary based on these factors.   A use case specification is more formal, than a set of user stories.  Although as you so nicely shows, use stories can be converted into use cases.  I fully agree.  But I feel there is a one-to-many relationship between use case and user story.  And then I’m not quite sure if I want that within the TFS's work item system. It just becomes too much.&lt;/p&gt;  &lt;p&gt;I tend to take a pragmatic approach to things like this, and just say that you could argue that these terms are "equal enough" to be used interchangeably.  In a real setting I would tend to try to catch as much as possible from a client (product owner) in terms of user stories, and during analysis convert these to Use Cases.  After having made my set of use cases, and made sure I had captured enough to start working with code, I would convert these into work items to start the show.  In order to make the terms less confusing, I would rename the User Story work item types into Use Case work item types.  No other changes really required.  And then I would simply use the actual User Stories as yellow notes in a customer meetings. &lt;/p&gt;  &lt;p&gt;It is said that a Use Case need a more thorough specification, detailing the action steps it should take.  One thing I’ve started to recognize is that a set of test cases is very similar to a set of use case action steps, and should never be less than these steps.  So, to save on work to be done, one could simply skip the action steps, and just use the test cases with their steps as the specification.  It might be that the Microsoft guys have been thinking in this route when they connected the User Story so directly with the Test Cases.  It makes sense, and gives a leaner specification.  But, it makes the User Story look even more like a Use Case. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133347"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133347" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/133347.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/07/08/use-cases-user-stories-and-scenarios---what-are-they.aspx</guid>
            <pubDate>Wed, 08 Jul 2009 12:07:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/133347.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/07/08/use-cases-user-stories-and-scenarios---what-are-they.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/133347.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/133347.aspx</trackback:ping>
        </item>
        <item>
            <title>Sometimes things happen, and everything stops</title>
            <link>http://geekswithblogs.net/terje/archive/2009/07/08/sometimes-things-happen-and-everything-stops.aspx</link>
            <description>&lt;p&gt;When I started blogging I made a decision to concentrate on technical stuff.  I would not write about personal things, not about what happened in my everyday life, not about my social life, not about personal trivia, but just keep it technical - write about software and software technology.  And keeping my personal life and my technical life separated seemed like a good idea, and shouldn't pose any problem what so ever.  &lt;/p&gt;  &lt;p&gt;But, as everything in life, things doesn't work out quite the way one thinks.  My mother  got a cancer diagnostic last summer, she was operated - which went very well, or so it seemed just afterwards.  At the end of last year the cancer came back, and this time the doctors could not do anything more.  She was not at all prepared to die, but understood very well what was going to happen - that this was the end.  She just got weaker and weaker, and on the 29th of March she died.  &lt;/p&gt;  &lt;p&gt;I hadn't expected to be so affected by my mother's death, but it surely hit me hard.  I just stopped blogging, twittering, and mostly everything came to a dead stop.  It has taken me a couple of months now to recover.  I knew that I would react to her death, but didn't expect it that hard. &lt;/p&gt;  &lt;p&gt;I learned quite a lot more about myself during the process, and I learned what is important and not.  I stayed with my mother continusly during her last days - a week in fact, when she was almost all the time in coma, and I would never have done otherwise.  It was a good way of saying farewell. Just the moment when she woke up for some seconds, looked at me and said "I'm dreaming of you" and smiled....just that was worth more than anything.  &lt;/p&gt;  &lt;p&gt;When I got back to work afterwards, which really had piled up too, most of it seemed unreal, and uninteresting.  It was really hard to get anything done. Now I'm starting to get out of it, and back to normal.  And summer holiday now will probably do me good too, get away from the rush of everyday life, and getting back more slowly.   I plan to write up a few blog entries now during summer, about things that have been turning around in my head during the last few months.  Especially the TFS 2010, and the beta which we have been playing with for some time now.  We also ran a seminar on the TFS 2010 now in June, which went very well. There are a lot of new goodies coming with the TFS 2010 release - I'm really looking forward to that release. &lt;/p&gt;  &lt;p&gt;So, to sum it all up, "Hello World !   I'm back,  I think....."&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133346"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133346" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/133346.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/07/08/sometimes-things-happen-and-everything-stops.aspx</guid>
            <pubDate>Wed, 08 Jul 2009 12:06:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/133346.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/07/08/sometimes-things-happen-and-everything-stops.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/133346.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/133346.aspx</trackback:ping>
        </item>
        <item>
            <title>Me, a Team System MVP &amp;ndash; Wow !</title>
            <link>http://geekswithblogs.net/terje/archive/2009/04/03/me-a-team-system-mvp-ndash-wow.aspx</link>
            <description>&lt;p&gt;I was informed April 1st that I had received the &lt;a href="http://mvp.support.microsoft.com/" target="_blank"&gt;MVP&lt;/a&gt; Award for Team System. It first appeared on the blogsite of &lt;a href="http://blogs.msdn.com/grothaug/default.aspx" target="_blank"&gt;Rune Grothaug&lt;/a&gt;, and later the same day a mail dropped into my Inbox from Microsoft.  I knew about the nomination, but when it materialized I still got very happy and excited about it.  It’s great to join such a group of talented people,  but it also makes me feel the pressure to do even more for and within &lt;a href="http://lh5.ggpht.com/_bD33qBI9JXc/SdOXTeNoe0I/AAAAAAAAAGk/_WBAz3fOhO8/s1600-h/image%5B15%5D.png"&gt;&lt;img title="image" style="margin: 50px 50px 50px 0px" height="240" alt="image" src="http://lh5.ggpht.com/_bD33qBI9JXc/SdOXT4gKpcI/AAAAAAAAAGo/loXIVK2zjk8/image_thumb%5B7%5D.png?imgmax=800" width="153" align="left" border="0" /&gt;&lt;/a&gt;the community.  I have always enjoyed sharing knowledge with other people, but this has normally happened in small groups. I’ve not been the typical writer or blogger, although I enjoy writing and communicating. Either I’m out of time, or I don’t feel the stuff is well enough prepared, or I’m just holding a bit back. The shy guy, you know….   &lt;/p&gt;  &lt;p&gt;The last couple of years I have been running a series of TFS seminars, which I’ve really enjoyed. I’ve also enjoyed staying on the Microsoft’s forums answering problems from other peers for some years now.  This activity is mostly a spare time, or holiday activity – when I’m in projects I often run out of time to stay on the forums.  And now it’s Easter, so….&lt;/p&gt;  &lt;p&gt;I see the Team Foundation Server as a major Microsoft product, and a product which fits my interests in software development perfectly.  It covers so many areas of software development, The capability of the TFS to adapt to whatever scenario you like, be it the build system, the work item system, or the data warehouse or whatever, is a tremendous advantage, and something which makes it possible for others to easily implement the system in their organization.  I see it more like a framework than an out-of-the-box experience. It is THE tool to use to realize the vision of a Software Factory.  I’m now really looking forward to a tighter communication with the product teams working on Team System, there is so much interesting stuff regarding Team System. The 2010 version is coming up, hopefully the betas are not far away and I just can’t wait to give my humble inputs to the process. &lt;/p&gt;  &lt;p&gt;The MVP Award is a personal award, but for me I feel that this is also a tribute to the work we have been doing in the Project Support team at  &lt;a href="http://www.osiris.no" target="_blank"&gt;Osiris&lt;/a&gt;.  It is this team which have realized the software factory within Osiris, and the experience from this led to the series of TFS seminars, 10 now in all – and not stopping, which started all this.   The concept of “Credit where credit is due” is important to me, and &lt;a href="http://geekswithblogs.net/Jakob/Default.aspx" target="_blank"&gt;Jakob Ehn&lt;/a&gt; and &lt;a href="http://twitter.com/Nitell" target="_blank"&gt;Mikael Nitell&lt;/a&gt;, which together with me makes up the Project Support team,  should both have their share of this. Both have been creating and doing the seminars together with me.  I simply couldn’t have done them without these two guys.  Both are &lt;strong&gt;extremely&lt;/strong&gt; competent, and I’m very happy to be working with them.  They really make my days worthwhile! (Rune – need more MVP candidates? (hint, hint)).  And &lt;a href="http://blogs.msdn.com/grothaug/default.aspx" target="_blank"&gt;Rune (Grothaug)&lt;/a&gt; of course himself also deserves credit, kicking off the nomination and working hard for us guys,  and not to forget &lt;a href="http://blogs.msdn.com/olavt/default.aspx" target="_blank"&gt;Olav Tollefsen&lt;/a&gt; which has been pushing me into the TFS seminars and also into all kinds of TFS related &lt;strike&gt;problems&lt;/strike&gt; opportunities. Also thanks to &lt;a href="http://insightdelivered.spaces.live.com/blog/" target="_blank"&gt;Trond Brande&lt;/a&gt;, Microsoft Regional Director from &lt;a href="http://www.objectware.no" target="_blank"&gt;Objectware&lt;/a&gt; and &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/user?user=mjlarezzo" target="_blank"&gt;Mark Larezzo&lt;/a&gt;, Build Master from &lt;a href="http://www.waterfrontmedia.com/" target="_blank"&gt;Waterfront Media&lt;/a&gt; for their very kind references.  &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=130720"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=130720" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/130720.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/04/03/me-a-team-system-mvp-ndash-wow.aspx</guid>
            <pubDate>Sat, 04 Apr 2009 00:29:37 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/130720.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/04/03/me-a-team-system-mvp-ndash-wow.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/130720.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/130720.aspx</trackback:ping>
        </item>
        <item>
            <title>Code coverage checkin policy</title>
            <link>http://geekswithblogs.net/terje/archive/2009/03/04/code-coverage-checkin-policy.aspx</link>
            <description>&lt;p&gt;Jakob got out a cool checkin policy after a question on the microsoft forums about this. The policy ensures that you have run a code coverage, and that the coverage percentage is above a certain set limit.  See Jakob's blog for a description &lt;a title="http://geekswithblogs.net/jakob/archive/2009/02/23/writing-a-code-coverage-checkin-policy.aspx" href="http://geekswithblogs.net/jakob/archive/2009/02/23/writing-a-code-coverage-checkin-policy.aspx"&gt;http://geekswithblogs.net/jakob/archive/2009/02/23/writing-a-code-coverage-checkin-policy.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The code is available on codeplex, see here &lt;a title="http://www.codeplex.com/TFSCCCheckinPolicy" href="http://www.codeplex.com/TFSCCCheckinPolicy"&gt;http://www.codeplex.com/TFSCCCheckinPolicy&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=129841"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=129841" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/terje/aggbug/129841.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>terje</dc:creator>
            <guid>http://geekswithblogs.net/terje/archive/2009/03/04/code-coverage-checkin-policy.aspx</guid>
            <pubDate>Thu, 05 Mar 2009 03:36:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/terje/comments/129841.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/terje/archive/2009/03/04/code-coverage-checkin-policy.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/terje/comments/commentRss/129841.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/terje/services/trackbacks/129841.aspx</trackback:ping>
        </item>
    </channel>
</rss>