<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Software Development is a Team Sport! : TFS</title><link>http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx</link><description>Tags: TFS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Capacity vs. Velocity</title><link>http://blogs.msdn.com/aridle/archive/2007/04/03/capacity-vs-velocity.aspx</link><pubDate>Wed, 04 Apr 2007 02:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021690</guid><dc:creator>aridle</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/aridle/comments/2021690.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=2021690</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=2021690</wfw:comment><description>&lt;P&gt;My team&amp;nbsp;just completed a discussion - at times a rather passionate discussion - about what work items we should be tracking in TFS.&amp;nbsp; &lt;A href="http://blogs.msdn.com/sanjeg" mce_href="http://blogs.msdn.com/sanjeg"&gt;Sanjeev&lt;/A&gt;, our PM, argued in favor of tracking everything we do - except meetings.&amp;nbsp; I, lead dev and agile purist that&amp;nbsp;I am, argued in favor of only tracking those work items that directly contributed functionality to the software we are building.&amp;nbsp; But, ultimately, we decided to track both.&amp;nbsp; Here's why:&lt;/P&gt;
&lt;P&gt;The argument for tracking everything is that unless we track all activity, we might miss some task that we are required to do.&amp;nbsp; For example, the development process used in Developer Division at Microsoft requires us to pass several "quality gates" (such as a security review) before we integrate our work into the central repository.&amp;nbsp; This work must be done, in order to satisfy the process.&amp;nbsp; And, there are several different tasks that fall out of this work.&amp;nbsp; Tracking them all makes sure we don't miss any required steps.&lt;/P&gt;
&lt;P&gt;The argument for tracking only those things that directly contribute to the software is that by tracking everything, we will not be able to accurately predict when we will be done with our backlog.&amp;nbsp; Non-backlog items would be given equal weight to backlog items.&amp;nbsp; So, it would be impossible to set priorities.&amp;nbsp; And, it would be impossible to accurately predict when we will be "done" with our backlog.&lt;/P&gt;
&lt;P&gt;Needless to say, both Sanjeev and I felt strongly about our positions.&amp;nbsp; (We had to break out the "talking stick" in order to keep from talking over each other.)&amp;nbsp; But, ultimately, we decided that we were both right.&amp;nbsp; So, we're going to track everything (capacity) and flag those items that directly contribute to reducing the backlog (velocity).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Our hope is that this will give us meaningful information about the taxes our development process imposes on us, as well as a way of prioritizing work that directly relates to reducing the backlog.&amp;nbsp; Once we have both numbers, we will begin trying to squeeze as much velocity into our capacity as possible.&amp;nbsp; Ultimately, I would like to see a burn-down chart that looks something like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/aridle/WindowsLiveWriter/Capacityvs.Velocity_E38C/image%7B0%7D%5B27%5D.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/aridle/WindowsLiveWriter/Capacityvs.Velocity_E38C/image%7B0%7D%5B27%5D.png"&gt;&lt;IMG height=291 src="http://blogs.msdn.com/blogfiles/aridle/WindowsLiveWriter/Capacityvs.Velocity_E38C/image%7B0%7D_thumb%5B13%5D.png" width=483 border=0 mce_src="http://blogs.msdn.com/blogfiles/aridle/WindowsLiveWriter/Capacityvs.Velocity_E38C/image%7B0%7D_thumb%5B13%5D.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Where:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Total Work =&amp;nbsp;All work, including features &amp;amp; overhead&lt;/LI&gt;
&lt;LI&gt;Feature Work = All feature work (sans overhead)&lt;/LI&gt;
&lt;LI&gt;Overhead Work = All non-feature work, including "infrastructure" or "process" imposed work items that do not directly contribute functionality to the resulting software.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Calling attention to the overhead (as this chart does) allows the team (and their managers) to think about how much more productive they could be without it.&amp;nbsp; Some of it will be out of the team's control - like the "quality gates" here at Microsoft.&amp;nbsp; But, other bits of it will be within the team's control - like sending everyone to group status meetings when a single representative might suffice.&lt;/P&gt;
&lt;P&gt;In other words, the three trend lines could be restated as:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Projected Total = This is when we think we will finish everything.&lt;/LI&gt;
&lt;LI&gt;Projected Feature = This is when we think we will finish the features.&lt;/LI&gt;
&lt;LI&gt;Projected&amp;nbsp;Feature without Overhead = This is the soonest we could possibly finish the backlog, assuming all overhead items were to disappear.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So, in the example chart, the team in question expects to be done in&amp;nbsp;iteration 14.&amp;nbsp; They also believe that they will be finished with their feature work in&amp;nbsp;iteration 12.&amp;nbsp; And, if they were to drop everything but the feature work, the soonest they could finish would be iteration 9.&amp;nbsp; So, the overhead is costing this team a full 5 iterations!&lt;/P&gt;
&lt;P&gt;Ultimately, what we hope to accomplish with this data is to understand what our overhead looks like, and what impact it is having on our ability to deliver.&amp;nbsp; We hope this will be incredibly useful feedback to the process about the process.&lt;/P&gt;
&lt;P&gt;Now, how do I get TFS to produce this chart?!?!&amp;nbsp; Where did I put that book on on MDX?&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2021690" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/Teams/default.aspx">Teams</category><category domain="http://blogs.msdn.com/aridle/archive/tags/Planning/default.aspx">Planning</category></item><item><title>VSTS Guidance</title><link>http://blogs.msdn.com/aridle/archive/2007/03/30/vsts-guidance.aspx</link><pubDate>Fri, 30 Mar 2007 20:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1994750</guid><dc:creator>aridle</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/aridle/comments/1994750.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=1994750</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=1994750</wfw:comment><description>&lt;P&gt;A few years ago, patterns &amp;amp; practices published a book entitled &lt;EM&gt;&lt;A title="Team Development with Visual Studio .NET and Visual SourceSafe" href="http://msdn2.microsoft.com/en-us/library/ms998239.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms998239.aspx"&gt;Team Development with Visual Studio .NET and Visual SourceSafe&lt;/A&gt;&lt;/EM&gt;.&amp;nbsp; The book offered solid advice for teams developing software atop .NET using Visual Studio and Visual SourceSafe.&amp;nbsp; It covered things like structuring solutions and projects, setting up a build process, working with source control, and even setting up the infrastructure for a team development environment.&lt;/P&gt;
&lt;P&gt;As you might imagine, the introduction of Visual Studio Team System pretty much obsoleted the book.&amp;nbsp; It was a fantastic book in 2002.&amp;nbsp;&amp;nbsp;But, it was very specific to Visual Studio .NET (2002) and Visual SourceSafe (6.0c).&amp;nbsp; So, naturally, p&amp;amp;p started receiving requests to update the guide as soon as customers began using VSTS with all of its new team oriented features.&lt;/P&gt;
&lt;P&gt;Well, we've been busy working on software factories for a while now.&amp;nbsp; But, recently, &lt;A href="http://blogs.msdn.com/jmeier" mce_href="http://blogs.msdn.com/jmeier"&gt;J.D. Meier&lt;/A&gt; and crew have been building up a library of &lt;A title="VSTS Guidance" href="http://www.codeplex.com/VSTSGuidance" mce_href="http://www.codeplex.com/VSTSGuidance"&gt;VSTS guidance&lt;/A&gt; over on &lt;A class="" href="http://www.codeplex.com/" mce_href="http://www.codeplex.com"&gt;CodePlex&lt;/A&gt;.&amp;nbsp; I just spent a few minutes exploring the site.&amp;nbsp; And, I've got to say that I'm very impressed with the volume and quality of work that J.D.'s team is doing.&amp;nbsp; (Full disclosure:&amp;nbsp; I'm a reviewer on some of the work.)&amp;nbsp; I'm also a big fan of publishing the work as a Wiki on CodePlex.&lt;/P&gt;
&lt;P&gt;My congratulations to&amp;nbsp;J.D. and the entire team!&amp;nbsp; Way to go!&amp;nbsp; Keep up the great work!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1994750" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/Recommended/default.aspx">Recommended</category></item><item><title>Team System Roadmap</title><link>http://blogs.msdn.com/aridle/archive/2007/03/28/team-system-roadmap.aspx</link><pubDate>Wed, 28 Mar 2007 21:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1979331</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/1979331.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=1979331</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=1979331</wfw:comment><description>&lt;P&gt;Also announced recently, for those who missed it, was our &lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx"&gt;Team System Future Releases Roadmap&lt;/A&gt;.&amp;nbsp; The roadmap contains detailed information about the upcoming Visual Studio Orcas release, as well as a high level discussion of Rosario (the Team System release after Orcas).&amp;nbsp; Well worth the read.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1979331" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Microsoft Acquires TeamPlain</title><link>http://blogs.msdn.com/aridle/archive/2007/03/28/microsoft-acquires-teamplain.aspx</link><pubDate>Wed, 28 Mar 2007 21:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1979312</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/1979312.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=1979312</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=1979312</wfw:comment><description>&lt;P&gt;In case you missed it, Microsoft announced this week the acquisition of DevBiz Business Solutions, makers of TeamPlain Web Access for Team System.&amp;nbsp; Brian Harry has all the &lt;A href="http://blogs.msdn.com/bharry/archive/2007/03/26/microsoft-acquires-teamplain.aspx" mce_href="http://blogs.msdn.com/bharry/archive/2007/03/26/microsoft-acquires-teamplain.aspx"&gt;details&lt;/A&gt;.&amp;nbsp; The best part?&amp;nbsp; Existing Team Foundation Sever customers can &lt;A href="http://www.devbiz.com/downloads.aspx" mce_href="http://www.devbiz.com/downloads.aspx"&gt;download&lt;/A&gt; and use TeamPlain for free!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1979312" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Be Careful What You Wish For...</title><link>http://blogs.msdn.com/aridle/archive/2007/03/24/be-careful-what-you-wish-for.aspx</link><pubDate>Sat, 24 Mar 2007 23:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1943757</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/1943757.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=1943757</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=1943757</wfw:comment><description>&lt;P&gt;A few months ago, I &lt;A href="http://blogs.msdn.com/aridle/archive/2006/07/19/it-happens-every-time.aspx" mce_href="http://blogs.msdn.com/aridle/archive/2006/07/19/it-happens-every-time.aspx"&gt;ranted&lt;/A&gt; about TFS Process Templates.&amp;nbsp; Now, I'm a member of the team responsible for building these templates for future versions of TFS.&amp;nbsp; Funny how that works!&lt;/P&gt;
&lt;P&gt;At the moment, the team is closing down work on Orcas and starting to think about what might be in the next release.&amp;nbsp; It is an exciting time.&amp;nbsp; And, I'm glad to be a member of the team!&lt;/P&gt;
&lt;P&gt;Watch this space for TFS/process related posts in the future...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1943757" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/MSF/default.aspx">MSF</category></item><item><title>It happens every time...</title><link>http://blogs.msdn.com/aridle/archive/2006/07/19/it-happens-every-time.aspx</link><pubDate>Wed, 19 Jul 2006 20:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:671621</guid><dc:creator>aridle</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/aridle/comments/671621.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=671621</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=671621</wfw:comment><description>&lt;DIV font="Courier New"&gt;
&lt;P&gt;&amp;lt;RANT&amp;gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;It happens every time I start a new project.&amp;nbsp; Team Foundation Server makes me choose a process template when I create a new Team Project.&amp;nbsp; But, since I’m not happy with any of the process templates I’ve tried so far (MSF Agile, Conchango Scrum, and one custom template), I end up asking myself do I want to put up with an inadequate template or take the time to customize a new one.&amp;nbsp; Neither choice is a winner.&lt;/P&gt;
&lt;P&gt;What I would prefer is the ability to start with something, customize it a bit as I learn how it works and how it doesn’t work, and then save those changes as a new template.&amp;nbsp; But, TFS doesn’t make that very easy.&amp;nbsp; Sure, I can add work item types and add fields to an existing work item type.&amp;nbsp; But, that only applies to one project.&amp;nbsp; It doesn’t affect the template.&amp;nbsp; And, it doesn’t update any other projects that are based on that same template.&lt;/P&gt;
&lt;P&gt;Invariably, this means that each team makes local customizations to their process template that other teams don’t know about.&amp;nbsp; This results in a lack of consistency that makes reporting across projects difficult.&amp;nbsp; Obviously, we could take away people’s admin privileges to prevent customization.&amp;nbsp; But, that also takes away their ability to adapt which conflicts with the Agilist in me.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, here I am again, beginning a project, needing to decide which process template to use.&amp;nbsp; What&amp;nbsp;should I do?&lt;/P&gt;
&lt;DIV font="Courier New"&gt;
&lt;P&gt;&amp;lt;/RANT&amp;gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=671621" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category></item><item><title>Continuous Integration</title><link>http://blogs.msdn.com/aridle/archive/2005/11/11/continuous-integration.aspx</link><pubDate>Sat, 12 Nov 2005 06:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492007</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/492007.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=492007</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=492007</wfw:comment><description>&lt;DIV class=aor&gt;
&lt;P&gt;This week, I spent some time learning Team Build and configuring a build server for Continuous Integration (CI).&amp;nbsp; I’ll tell you more about that experience in a separate post.&amp;nbsp; But, before I go there, I want to make sure everyone is on the same page.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;For those of you unfamiliar with the practice…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Continuous Integration&amp;nbsp;is a mainstay in many agile tool belts.&amp;nbsp; The idea behind&amp;nbsp;it is that the longer you wait to integrate your code with the code of your peers, the harder it will be to do the integration.&amp;nbsp; Many developers have direct experience with this phenomenon.&amp;nbsp;&amp;nbsp;Those who have been through it have a name for it:&amp;nbsp;&amp;nbsp;integration hell.&lt;/P&gt;
&lt;P&gt;When combined with a comprehensive suite of unit tests, CI helps to prevent integration hell by encouraging developers (and testers) to make frequent check-ins.&amp;nbsp; In fact, many agile developers integrate their code as frequently as every ten minutes (or faster!).&amp;nbsp; That might seem extreme.&amp;nbsp; But, it’s true.&amp;nbsp; We do it here in &lt;EM&gt;patterns &amp;amp; practices.&lt;/EM&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;In general, the CI&amp;nbsp;integration process looks like this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get the source from the repository and merge your local changes (if there are conflicts)&lt;/LI&gt;
&lt;LI&gt;Run all of the unit&amp;nbsp;tests (to make sure you didn’t break anything)&lt;/LI&gt;
&lt;LI&gt;Fix any broken tests (even if you didn’t write them)&lt;/LI&gt;
&lt;LI&gt;Once all of the tests pass, commit your changes to the repository&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In the early days of agile, many teams serialized this process by only allowing one developer (or one pair of developers) to integrate their code at a time.&amp;nbsp; This prevented people from committing conflicting changes to the repository at the same time, which made integration much easier.&amp;nbsp; But, the serialization clearly introduced a bottleneck.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Enter Continuous Integration Servers…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A CI server is a build server that runs a new build every time someone commits a change to the source code repository.&amp;nbsp; When a team introduces a CI server, they can stop serializing integrations because the server will inform them immediately when something breaks the build or causes a test to fail.&amp;nbsp; Instead of mitigating the risk of simultaneous integration through serialization, CI servers mitigate this risk by providing&amp;nbsp;immediate feedback about integration problems.&lt;/P&gt;
&lt;P&gt;For the curious, CI Servers integrate with source control servers in one of two ways:&amp;nbsp; passively or actively.&amp;nbsp; Passive integration involves the Observer pattern:&amp;nbsp; the&amp;nbsp;CI server registers for events fired by the source control server.&amp;nbsp; Active integration involves polling the source control server at predetermined intervals, looking for changes.&amp;nbsp;&amp;nbsp;If your source control server doesn’t expose it’s event model, then you’re stuck with active integration.&amp;nbsp; The advantage of passive integration is that it gives your CI server the opportunity to control exactly which changes make it into each build.&amp;nbsp; The fewer changes compiled in a build, the easier it is to debug any problems that do occur.&lt;/P&gt;
&lt;P&gt;Are you doing CI?&amp;nbsp; Got questions?&amp;nbsp; Drop me a line!&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=492007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/aridle/archive/tags/CI/default.aspx">CI</category></item><item><title>TFS Beta 3 Refresh</title><link>http://blogs.msdn.com/aridle/archive/2005/10/28/tfs-beta-3-refresh.aspx</link><pubDate>Fri, 28 Oct 2005 10:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:486075</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/486075.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=486075</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=486075</wfw:comment><description>&lt;DIV class=aor&gt;
&lt;P&gt;Today is the day! Visual Studio 2005 and SQL Server 2005 are now available for download by MSDN subscribers. And, Team Foundation Server is releasing Beta 3 Refresh to stay in sync with the RTM bits. &lt;/P&gt;
&lt;P&gt;Since most of us in &lt;EM&gt;patterns &amp;amp; practices &lt;/EM&gt;have already made the leap to the golden bits,&amp;nbsp;I need to install the TFS Beta 3 Refresh.&amp;nbsp; Basically, the upgrade process is a simple uninstall/reinstall.&amp;nbsp; Start by uninstalling Beta 3 in the opposite order of installation, then follow the Beta 3 Refresh installation checklist for your server deployment.&amp;nbsp; In a nutshell, here’s what I did to remove TFS Beta 3 from my servers:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Uninstall Application Tier:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Team Explorer 
&lt;LI&gt;Visual Studio 2005, including the items listed at the end of the &lt;A class=aor href="http://blogs.msdn.com/aridle/articles/486001.aspx" mce_href="http://blogs.msdn.com/aridle/articles/486001.aspx"&gt;VSTS uninstall&lt;/A&gt; 
&lt;LI&gt;TFS Services&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It is not necessary to uninstall WSS or IIS from the application server.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Uninstall Data Tier:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;TFS Databases 
&lt;LI&gt;SQL Server 2005, in the same order as listed in the &lt;A class=aor href="http://blogs.msdn.com/aridle/articles/486001.aspx" mce_href="http://blogs.msdn.com/aridle/articles/486001.aspx"&gt;VSTS uninstall&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It is not necessary to uninstall IIS from the data server.&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=486075" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category></item><item><title>Installing TFS Beta 3</title><link>http://blogs.msdn.com/aridle/archive/2005/10/26/installing-tfs-beta-3.aspx</link><pubDate>Thu, 27 Oct 2005 07:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:485476</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/485476.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=485476</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=485476</wfw:comment><description>&lt;DIV class=aor&gt;
&lt;P&gt;I alluded to the fact that it took us a couple of tries to get the TFS Beta 3 install right in a &lt;A class=aor href="http://blogs.msdn.com/aridle/archive/2005/10/17/482043.aspx" mce_href="http://blogs.msdn.com/aridle/archive/2005/10/17/482043.aspx"&gt;prior post&lt;/A&gt;.&amp;nbsp; Here’s the full story…&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;If at first you don’t succeed…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To begin, we chose to implement&amp;nbsp;a dual-server deployment,&amp;nbsp;because we anticipated the most area for feedback in this scenario.&amp;nbsp; We also chose to isolate TFS&amp;nbsp;on a VLAN in our lab, because it seemed like the prudent thing to do with pre-release software.&amp;nbsp; The dual-server deployment requires Active Directory.&amp;nbsp; So, the actual servers looked like this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Active Directory (AD)&lt;/LI&gt;
&lt;LI&gt;TFS Data Tier (DT)&lt;/LI&gt;
&lt;LI&gt;TFS Application Tier (AT)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The installation procedure is very well documented.&amp;nbsp; At a high level, it looks like this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create service accounts and grant permissions&lt;/LI&gt;
&lt;LI&gt;Install IIS 6.0 on DT&lt;/LI&gt;
&lt;LI&gt;Install SQL Server 2005 on DT&lt;/LI&gt;
&lt;LI&gt;Install TFS&amp;nbsp;databases on DT&lt;/LI&gt;
&lt;LI&gt;Install IIS 6.0 on AT&lt;/LI&gt;
&lt;LI&gt;Install Windows SharePoint Services (WSS) on AT&lt;/LI&gt;
&lt;LI&gt;Install TFS services on AT&lt;/LI&gt;
&lt;LI&gt;Install Team Explorer on AT&lt;/LI&gt;
&lt;LI&gt;Using Team Explorer, add users to the TFS Admin group&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There were no major hang-ups in the process.&amp;nbsp; The guys in our lab were able to build the servers in a few&amp;nbsp;days.&amp;nbsp; (They’re busy!)&amp;nbsp; The only feedback I received from them was this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Beta 2, the installation checklists included instructions to “verify the installation.”&amp;nbsp; In the Beta3 help file, the instructions are gone.&amp;nbsp; After doing a little digging, I think the guys are referring to a couple of bullets in the Beta2 help file that describe how to verify that SQL Server and the Reporting services are running.&amp;nbsp; In Beta3, the help file references the SQL Server Books Online for this content.&lt;/LI&gt;
&lt;LI&gt;The topic “To add a user to the Team Foundation Administrators security group using the TFS Group Security Client Tool (GSSUTIL.EXE)” is misleading since the VS SDK is no longer installed with Beta 3.&amp;nbsp; I verified that the file is not installed on either server.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;At this point, we had a fully functional, albeit empty, TFS Beta 3 server running in our lab.&amp;nbsp; Unfortunately, once we tried to migrate data from our internal work item tracking and source control servers, we realized that the migration would be a whole lot easier if both the source and destination servers were on the same network.&amp;nbsp; (Doh!)&amp;nbsp; Rather than moving the existing servers to the corporate network,&amp;nbsp;we installed TFS a second time.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Try again...&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This time, I wanted to get a better understanding of the process.&amp;nbsp; So, the lab paved a couple of servers for me, and I took it from there.&amp;nbsp; Since the servers were on the corporate network this time, I used the corporate Active Directory server.&amp;nbsp; Just as the lab did before me, I followed the &lt;EM&gt;Dual-Server Deployment Checklist&lt;/EM&gt; in the installation guide (TFSInstall.chm).&amp;nbsp; Not being a sysadmin by trade, I&amp;nbsp;did hit a couple of snags:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;After successfully installing SQL Server and the TFS Data Tier on one server, the TFS Application Tier installation failed when it was unable to detect the SQL Reporting Services web site running on the data tier server.&amp;nbsp; This was a blocking issue for me.&amp;nbsp; But, a more experienced sysadmin would have known to check that ASP.NET was enabled.&amp;nbsp; Turns out it wasn’t.&amp;nbsp; So, turning it on allowed the install proceeded normally.&amp;nbsp; (If I had taken the time to read the “verify” steps in SQL Server Books Online, I might not have hit this problem.)&lt;/LI&gt;
&lt;LI&gt;The only other issue I had was with the service accounts.&amp;nbsp; The documentation clearly explains that you will need three service accounts: one administrator account used for setting up TFS, and two non-administrator accounts for running the TFS and reporting services.&amp;nbsp; But, I did not have three service accounts, and creating them on the corporate network would have taken a few days.&amp;nbsp; So, I tried to use the one service account that I did have.&amp;nbsp; Unfortunately, setup prevented me from using this account multiple times.&amp;nbsp; To complete the installation, I used my account and the account of one of my coworkers until we could request real service accounts.&amp;nbsp; (No big deal, since these are not production servers.)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Again, nothing earth-shattering to write home about.&amp;nbsp; In all, I spent about a day on the installation (not counting the time to pave the servers).&amp;nbsp; But, considering the number of moving parts involved, and my lack of experience with many of them, that was pretty darn good.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Merrily, merrily, merrily, merrily…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I am happy to report that these same two servers have been running now since early October.&amp;nbsp; We’ve moved forward successfully with&amp;nbsp;work item and source code migration.&amp;nbsp; And, I am starting to play with the new build server.&amp;nbsp; I plan to install it tomorrow.&amp;nbsp; I’ll post more installation notes once I’m done.&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=485476" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category></item><item><title>Piloting TFS Beta 3</title><link>http://blogs.msdn.com/aridle/archive/2005/10/17/piloting-tfs-beta-3.aspx</link><pubDate>Tue, 18 Oct 2005 02:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:482043</guid><dc:creator>aridle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/aridle/comments/482043.aspx</comments><wfw:commentRss>http://blogs.msdn.com/aridle/commentrss.aspx?PostID=482043</wfw:commentRss><wfw:comment>http://blogs.msdn.com/aridle/rsscomments.aspx?PostID=482043</wfw:comment><description>&lt;DIV class=aor&gt;
&lt;P&gt;A few weeks ago, Microsoft released the third beta of &lt;A class=aor href="http://lab.msdn.microsoft.com/teamsystem/teamcenters/team/default.aspx" mce_href="http://lab.msdn.microsoft.com/teamsystem/teamcenters/team/default.aspx"&gt;Team Foundation Server&lt;/A&gt; (TFS).&amp;nbsp; If you are not familiar with it, TFS is an integrated suite of enterprise software development tools, including source code management, work item tracking, build automation,&amp;nbsp;and detailed project reporting.&amp;nbsp; At its core, TFS is a &lt;A class=aor href="http://msdn.microsoft.com/SQL/2005/default.aspx" mce_href="http://msdn.microsoft.com/SQL/2005/default.aspx"&gt;SQL Server 2005&lt;/A&gt; repository with an application server component and new client software that integrates with &lt;A class=aor href="http://lab.msdn.microsoft.com/vs2005/default.aspx" mce_href="http://lab.msdn.microsoft.com/vs2005/default.aspx"&gt;Visual Studio 2005&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Having spent my fair share of time fighting VSS and a dozen or more bug tracking systems, I was very excited to see TFS when I first heard about it.&amp;nbsp;&amp;nbsp;So, when the TFS team asked for us to dogfood the product as they work to finalize it, I was thrilled to help.&lt;/P&gt;
&lt;P&gt;But, like you, &lt;EM&gt;patterns &amp;amp; practices&lt;/EM&gt;&amp;nbsp;has a significant investment in its existing tools and practices.&amp;nbsp; And, like you, we have many active projects, all with their own deadlines.&amp;nbsp; So, in order to balance our need to meet our commitments with our desire to see what TFS can do to improve our processes, we chose to pilot TFS in our lab against a few of our key development scenarios before implementing it broadly.&amp;nbsp; This gives us&amp;nbsp;the opportunity to provide feedback to the product group while&amp;nbsp;insulating our project teams from major infrastructure changes so close to the Whidbey launch.&lt;/P&gt;
&lt;P&gt;Over the next several weeks, I will be running the pilot project.&amp;nbsp; We have already built the servers (twice) and ported our work items to TFS from an internal Microsoft tool.&amp;nbsp; At the moment, I'm working on migrating our source code to TFS from another internal Microsoft tool.&amp;nbsp; Obviously, the converters I'm using are not a part of the shipping product.&amp;nbsp; But, they were written by the same team that is writing the VSS converter among others.&amp;nbsp; Check out &lt;A class=aor href="http://blogs.msdn.com/akashmaheshwari" mce_href="http://blogs.msdn.com/akashmaheshwari"&gt;Akash Maheshwari’s blog&lt;/A&gt; for more information about that.&lt;/P&gt;
&lt;P&gt;For the time being, I just wanted to let you know what I’ve been up to for the last few weeks.&amp;nbsp; Over the next month or so, expect some posts around my experiences with TFS in these areas:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://https//blogs.msdn.com/aridle/archive/2005/10/26/485476.aspx" mce_href="http://https://blogs.msdn.com/aridle/archive/2005/10/26/485476.aspx"&gt;Installation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Work item migration&lt;/LI&gt;
&lt;LI&gt;Source code migration&lt;/LI&gt;
&lt;LI&gt;Build management&lt;/LI&gt;
&lt;LI&gt;Continuous integration&lt;/LI&gt;
&lt;LI&gt;Iteration planning&lt;/LI&gt;
&lt;LI&gt;Reporting&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And, please feel free to tell me what’s important to you!&amp;nbsp; I’m happy to run down any TFS related questions.&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=482043" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/aridle/archive/tags/TFS/default.aspx">TFS</category></item></channel></rss>