<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Elegant Code &#187; Team System</title>
	<atom:link href="http://elegantcode.com/category/team-system/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 04:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Git-Tfs &#8211; Where Have You Been All My Life</title>
		<link>http://elegantcode.com/2011/03/15/git-tfs-where-have-you-been-all-my-life/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=git-tfs-where-have-you-been-all-my-life</link>
		<comments>http://elegantcode.com/2011/03/15/git-tfs-where-have-you-been-all-my-life/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 11:00:00 +0000</pubDate>
		<dc:creator>Jan Van Ryswyck</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2011/03/11/git-tfs-where-have-you-been-all-my-life/</guid>
		<description><![CDATA[My very first encounter with a version control system was CVS. I’ve used this tool for many years (late 90’s, early 2000’s), learning a lot of best practices about source control usage in the process. But there was a lot of friction as well. That is why I switched to Subversion many years ago and [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">My very first encounter with a version control system was <a href="http://www.nongnu.org/cvs/">CVS</a>. I’ve used this tool for many years (late 90’s, early 2000’s), learning a lot of best practices about source control usage in the process. But there was a lot of friction as well. That is why I switched to Subversion many years ago and I’ve been pretty happy with it ever since. Sure, it has its quirks but at the very least it is a lot better than <a href="http://vanryswyckjan.blogspot.com/search?q=sourcesafe">Visual SourceSafe</a> which was an established alternative back in the days, especially in the Microsoft space.&#160;&#160;&#160;&#160; </p>
<p align="justify">Fast forward a couple of years. With a few exceptions, Visual SourceSafe has been replaced with <a href="http://en.wikipedia.org/wiki/Team_Foundation_Server">TFS Version Control</a> in those run-of-the-mill enterprise corporations. This was quite an improvement but also <a href="http://www.google.be/#sclient=psy&amp;hl=nl&amp;q=TFS+friction&amp;aq=f&amp;aqi=&amp;aql=&amp;oq=&amp;pbx=1&amp;fp=4322361dab9ab550">a lot of the friction remained</a>, at least in my humble opinion. Just as with Visual SourceSafe, TFS is being forced upon entire flocks of developers, mostly by <a href="http://elegantcode.com/2010/10/27/laborers-versus-professionals/">management</a> and/or <a href="http://www.joelonsoftware.com/articles/fog0000000018.html">non-coding architects</a>. I still find this to be quite odd as managers never tend to use TFS themselves as this is generally considered a developer tool. </p>
<p align="justify">Anyway, this is usually the part where one starts writing down a five page rant against TFS. But I’m not going to. Why? Because I decided to&#160; look for a good solution instead and holy sweet batman, I found one. A while back I decided to learn more about <a href="http://git-scm.com/">Git</a>. It’s definitely not a silver bullet either but I was so impressed with all its capabilities that I moved all the code for my home projects from Subversion to Git. But the largest friction remained. I was still forced to use TFS day in and day out. But a couple of weeks ago I ran into <a href="http://www.richard-banks.org/2010/04/git-tfs-working-together-version-2.html">this post</a> from <a href="http://www.richard-banks.org/">Richard Banks</a> where he discussed a plugin for Git named <a href="https://github.com/spraints/git-tfs">git-tfs</a>. This extension is basically a two-way bridge between TFS and Git that lets you treat TFS source control as a remote repository. The way Git works is that the entire repository is contained in a local .git folder. This way it’s able to play nicely with a TFS repository as they don’t collide.&#160;&#160;&#160;&#160;&#160;&#160; </p>
<p align="justify">Setting up git-tfs is quite easy. Just download the latest version, put it in a directory and add the location to the PATH environment variable. Now you’re good to go.</p>
<p align="justify">To get the source from a TFS repository you have to execute the ‘<em>git tfs clone’</em> command. </p>
<blockquote><p align="justify"><em>git tfs clone </em><a href="http://some_tfs_server:8080"><em>http://some_tfs_server:8080</em></a><em> $/some_team_project/trunk</em></p>
</blockquote>
<p align="justify">Note that by using this command, it will fetch the entire history by retrieving all change sets. If you’re anxious to get started (as I first was <img src='http://elegantcode.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ), then there’s also the <em>‘git tfs quick-clone’</em> command that will skip the history and just get the latest version.&#160;&#160; </p>
<blockquote><p align="justify"><em>git tfs quick-clone </em><a href="http://some_tfs_server:8080"><em>http://some_tfs_server:8080</em></a><em> $/some_team_project/trunk</em></p>
</blockquote>
<p align="justify">All source files that are fetched from a TFS repository are also no longer read-only, which is quite nice compared to how TFS source control does things. Now that you have all the source files, you can start by adding a .gitignore file and follow the <a href="http://nvie.com/posts/a-successful-git-branching-model/">development workflow</a> that you would normally use with Git. </p>
<p align="justify">Suppose that you completed a new feature and you want to push those changes back into TFS. This can be done using the <em>‘git tfs shelve’</em> command. </p>
<blockquote><p align="justify"><em>git tfs shelve user_story_x</em></p>
</blockquote>
<p align="justify">This will create a shelve set that contains the changes which you can then unshelve and check in as you would normally do with TFS source control. The latest release of git-tfs even lets you <a href="http://www.richard-banks.org/2011/03/git-tfs-recent-improvements.html">check in your source files directly without needing to shelve</a>. This can be achieved by using the <em>‘git tfs ct’</em> command. Note that this only works for TFS 2010.&#160;&#160; </p>
<p align="justify">Suppose that another developer on your team checked in some code in TFS that you want to pull into your local working copy. For this you can use the <em>‘git tfs pull’</em> command that first fetches the latest change sets and merges them with your version of the code.&#160;&#160;&#160;&#160; </p>
<p align="justify">One thing that you also need to take into account are the TFS source control bindings. These are stored directly in the solution file (horrible, just horrible). When opening the solution in Visual Studio, I just choose to work offline and reestablish the bindings when I’m back in TFS. </p>
<p align="justify">If you’re forced to use TFS source control and you’re fed up with it, then I strongly advice you to learn more about Git, install git-tfs and be merry. Kudos to all the contributors of this wonderful open-source project. You guys are truly amazing!&#160;&#160; </p>
<p align="justify">I hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2011/03/15/git-tfs-where-have-you-been-all-my-life/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Tell me what you don&#8217;t like about TFS 2010</title>
		<link>http://elegantcode.com/2010/05/15/tell-me-what-you-dont-like-about-tfs-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tell-me-what-you-dont-like-about-tfs-2010</link>
		<comments>http://elegantcode.com/2010/05/15/tell-me-what-you-dont-like-about-tfs-2010/#comments</comments>
		<pubDate>Sat, 15 May 2010 15:48:18 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/05/15/tell-me-what-you-dont-like-about-tfs-2010/</guid>
		<description><![CDATA[I know that a lot of people have had bad experiences with TFS over the years, and so does the TFS development team. The team at Microsoft is very intent on learning what it is that people find irritating, problematic, or difficult, and correcting it. Some major headway was made with the 2010 release of [...]]]></description>
			<content:encoded><![CDATA[<p>I know that a lot of people have had bad experiences with TFS over the years, and so does the TFS development team. The team at Microsoft is very intent on learning what it is that people find irritating, problematic, or difficult, and correcting it. Some major headway was made with the 2010 release of Team Foundation Server to make it easier to setup and administer, and also to improve the usability of several of its key features.</p>
<p>That said, there is still room for improvement and both the team and I understand there are still opportunities to improve. In all seriousness, the team at Microsoft wants to make TFS an approachable, no-brainer install decision for .NET teams, even small ones. This means they want to be able to compete for your attention with the likes of SVN, Git, Jira, Perforce, and anyone else making collaboration tools for developers.</p>
<p>The point of this post is for you to help me know what feedback I can give the TFS product development team as they look ahead to the next release of TFS. I am looking for legitimate feedback I can give the team on how to improve the TFS product.</p>
<p>Please bear in mind that I am interested in your feedback on TFS 2010, as TFS 2008 was improved upon 10 fold in the latest release. Also, I am not necessarily looking for feedback on Visual Studio, just the TFS side of the house. Please realize that the team who makes this product at Microsoft is just as committed and passionate about making great software as you are. They just really need your feedback to make the thing you want. In fact, they want to make a tool that every developer loves to use. Really. So what needs to change to make that the case?</p>
<p>Recall that TFS functionality is broken into the following major areas and I am looking for feedback on the 2010 version.</p>
<ul>
<li>Version Control </li>
<li>Work Item management </li>
<li>Team Foundation Build </li>
<li>SharePoint integration (optional) </li>
<li>Reporting and SSRS Integration (optional) </li>
</ul>
<p>Thanks for anything you have. Thank you also for being respectful and not making this a bash-fest.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/05/15/tell-me-what-you-dont-like-about-tfs-2010/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Scrum and the C-Word</title>
		<link>http://elegantcode.com/2010/04/29/scrum-and-the-c-word/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scrum-and-the-c-word</link>
		<comments>http://elegantcode.com/2010/04/29/scrum-and-the-c-word/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 05:14:15 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2010/04/29/scrum-and-the-c-word/</guid>
		<description><![CDATA[There has been much deriding of both Scrum and the word “certification” in the past few months. It has become quite vogue to look down on formal training of any kind it seems, particularly among the ALT.NETerati. I get it, and I think several of the criticisms are deserved. Some aren’t. Disclosure I am a [...]]]></description>
			<content:encoded><![CDATA[<p>There has been much deriding of both Scrum and the word “certification” in the past few months. It has become quite vogue to look down on formal training of any kind it seems, particularly among the ALT.NETerati. I get it, and I think several of the criticisms are deserved. Some aren’t.</p>
<h2>Disclosure</h2>
<ul>
<li>I am a Professional Scrum Developer Trainer. That is: I have been <em>certified</em> by Microsoft and Scrum.org to teach others about Scrum and modern engineering practices on the Microsoft platform. More information about all of that <a href="http://msdn.microsoft.com/en-us/vstudio/ff433643.aspx" target="_blank">is available here</a> and <a href="http://scrum.org" target="_blank">here</a>. </li>
<li>I teach for a living. Mostly Visual Studio ALM along with topics I believe are focused on making better software craftspeople. </li>
<li>I have watched teams get it wrong (and sometimes right) for about 20 years now. That admission makes me feel very old. </li>
</ul>
<h3>A Bit More Background</h3>
<p>Choosing to enter the Microsoft and Scrum.org program and be part of the certification process for developers was not an easy one for me. Indeed, as several people I irritated with my waffling for over 6 months will attest, it was a decision I spent a long time considering. In the end, I obviously elected to become an instructor for certification courseware and this in this post I will tell you why.</p>
<h2>On Scrum</h2>
<p>I first practiced Scrum in or around 2003/4, if memory serves. I didn’t see it done well for several years after that. </p>
<p>On paper, everything sounded just spiffy when I studied Scrum and considered bringing it to my team and organization. Who wouldn’t want the benefits it promises of frequent feedback, clear accountability, and no-nonsense shipping of product? To get started we hired Jeff Sutherland to come in and teach the original Certified Scrum Master course offered through the Scrum Alliance. I was baffled that at the end of the 2 day discussion to receive this thing called a “certification”. My colleagues and I actually joked about it at the time as being proof that we didn’t fall asleep in class. As Ken Schwaber pointed out to me <a href="http://www.pluralsight-training.net/community/blogs/pluralcast/archive/2010/03/29/pluralcast-12-the-future-of-scrum-with-ken-schwaber.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pluralcast+%28Pluralcast+by+Pluralsight%29" target="_blank">in an interview</a> recently, we probably could have nodded off and been fine, actually.</p>
<p>My team struggled a great deal trying to use Scrum well. I won’t bother including the long list of mistakes we made, but we eventually got traction and settled into a cohesive rhythm. After we figured things out, Scrum became an amazing vehicle for delivering product, which was the original intent.</p>
<p>To my knowledge, Scrum is still used today in that organization. At the time of my departure was in fairly healthy shape. </p>
<p>Looking back on Scrum’s contribution to my professional life and its contribution to our industry as a whole, I am humbled. Scrum as an idea has done more to drive agile software development than perhaps any idea other than the original manifesto itself. TDD ranks right up there, but fewer CEOs have heard of TDD. There are a lot of reasons Scrum has won the marketing war, but the simple fact is that our profession is a better place for the presence of the Scrum framework and the people who provided stewardship to it, Ken Schwaber and Jeff Sutherland.</p>
<p>I know good and well that other techniques are very effective. Kanban is a wonderful way for many teams to operate. Feature Driven Development is a powerful model for the teams who need to formality of it. And of course, the gaping hole left by the absence Extreme Programming reminds us that zealotry has its costs. Scrum, as it advertises, is not a silver bullet. It won’t fix anything, in fact. Only people of good intent who come together and try to do something well can make that happen. Scrum can merely provide the rules of engagement.</p>
<p>Scrum is popular for several reasons. When it comes to the mechanics of the framework:</p>
<ol>
<li>It is easy to understand. </li>
<li>It is easy implement and follow the basics. </li>
<li>It can show dramatic return in a short period of time. </li>
<li>The first Scrum in an organization is a highly visible <a href="http://www.strategosinc.com/kaizen_blitz.htm" target="_blank">Kaizen Blitz</a>.</li>
</ol>
<p>With all of those benefits, Scrum is plagued by the same problems as every other process or methodology framework in the world.</p>
<ol>
<li>Human beings are the ones who try an implement it. </li>
<li>Human beings are the ones who try an implement it. </li>
</ol>
<p>Scrum is great when wielded for good. It is the lowest barrier-to-entry agile technique I know (excluding engineering practices, like TDD and CI). Teams who currently live in plan-driven organizations derive great benefit from Scrum and <em>so do the organizations themselves</em>. Scrum can be very, very effective.</p>
<p>I chose to work with Scrum.org specifically because I <strong>know from experience</strong> there are more shops out there that need to change than those who don’t. I believe most of those shops cannot handle something like Kanban. [<a href="http://elegantcode.com/2009/02/21/how-scrum-is-like-marijuana/" target="_blank">See this for more</a>] My professional life as a trainer is focused on helping developers love our craft again. Those of us who got a thrill from lighting up a pixel many years ago have just been beaten to hell and back since deciding to do this for money. Although Scrum is only one arrow in the quiver, Scrum as a great vehicle for improving people’s professional lives.</p>
<h2>On Certification</h2>
<p>Ken has readily admitted that using C-word in the beginning of the Scrum Alliance has resulted in a complete and total mess. Primarily because certification involves a demonstration of <em>something</em>, typically knowledge. Unfortunately that requirement was never required to obtain a Certified Scrum Master “credential”. We can all recognize this is not a credential in it’s current form as offered by the Scrum Alliance, but merely a roster of class attendees. ‘Nuff said.</p>
<p>I also see there is value in demonstrating knowledge through a <em>genuine</em> certification process. For example, we all take driver’s tests. I look for ASE (Automobile Service Excellence) certified mechanics to work on my car. I trust a BMW certified technician to work on my motorcycle. What is a university diploma if not a certification award?</p>
<p>In almost any field, it is impossible to certify competence. Certification can demonstrate knowledge, but not ability, talent, experience, or wisdom. It is exactly for this reason that I never got hung up on a college degree as a hiring manager but went to great lengths to try and know a person. A college degree did show me what that person experienced, though, because I basically know what it means to get a university degree. There is value in that credential because it had to be earned.</p>
<p>Given the current state of the industry, there are 3 logical progression paths for Scrum certification.</p>
<ol>
<li>Change nothing and remain a mockery.</li>
<li>Drop the certification word and idea altogether. </li>
<li>Add meat to C-word by actually testing for it. </li>
</ol>
<p>Scrum.org is taking the 3rd option and I am going for that ride. My reasons include:</p>
<ol>
<li>Working for change within a system is typically far more effective than pushing from the outside.</li>
<li>Scrum as an idea continues to help teams and individuals improve.</li>
<li>I respect the people involved in the stewardship of Scrum.org.</li>
<li>“Certification” means a demonstration of knowledge by a taking a test in this crowd. Not perfect, but a good start.</li>
<li>I believe the teams and other trainers I work with have the best interest of the craft at heart. Really.</li>
</ol>
<h2>On The Future of the Craft</h2>
<p>In the last 60 years of programming computers, we have have learned that developing in small batches and delivering incrementally works. Scrum gives us a model for doing exactly that, and it will still be helping teams until the next great thing is found. Now that I know Ken a bit better I can say that Scrum itself will likely evolve to incorporate whatever works better.</p>
<p>Ridiculing certification or Scrum may well be the in-crowd thing de jour, but I see that Scrum addresses a core need in our industry, and genuine certification has its own benefits. Lean offers some wonderful directions for us, and shows all the signs of providing a path forward. But, let’s not forget that Scrum is an inherently Lean idea.</p>
<p>But I digress. </p>
<p>Another time, perhaps.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2010/04/29/scrum-and-the-c-word/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Goodbye Team System. We Hardly Knew Ye.</title>
		<link>http://elegantcode.com/2009/10/19/goodbye-team-system-we-hardly-knew-ye/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=goodbye-team-system-we-hardly-knew-ye</link>
		<comments>http://elegantcode.com/2009/10/19/goodbye-team-system-we-hardly-knew-ye/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:17:47 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/10/19/goodbye-team-system-we-hardly-knew-ye/</guid>
		<description><![CDATA[Visual Studio 2010 Beta 2 is available on MSDN this morning. It will be more widely available soon. With a new look and feel it is off an running. After working with it for awhile, I can honestly report that it is a pleasurable product to use. Much attention has been paid to aesthetic, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"><img border="0" src="http://kxacog.blu.livefilestore.com/y1pkebgoBa6pln05efVyO3ftfvmzg8FUza_tCwAnDTymMKOFnXFMxAuZ8w61ZLwBY-gfnqD1Jw9wdsu2gHh0vDumg/VisualStudio.jpg" width="602" height="163" /></a></p>
<p>Visual Studio 2010 Beta 2 is <a href="https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx" target="_blank">available on MSDN this morning</a>. It will be more widely available soon. With a new look and feel it is off an running. After working with it for awhile, I can honestly report that it is a pleasurable product to use. Much attention has been paid to aesthetic, and the customization story for products like ReSharper and Code Rush is even richer. This means that companies have a great platform upon which to make our favorite development environment dance.</p>
<p>One change we see as part of the Beta 2 drop is the exclusion of the term “Team System”.</p>
<p>That’s right! Team System is no longer going to be used as a product name going forward, even though all the favorite tools are still in the box. So, what’s going on here?</p>
<p>We’ve been struggling with the following product lineup for several years now:</p>
<ul>
<li>Visual Studio Professional 2008 with MSDN Premium</li>
<li>Visual Studio Team System 2008 Development Edition with MSDN Premium</li>
<li>Visual Studio Team System 2008 Architecture Edition with MSDN Premium</li>
<li>Visual Studio Team System 2008 Test Edition with MSDN Premium</li>
<li>Visual Studio Team System 2008 Database Edition with MSDN Premium</li>
</ul>
<p>There’s a mouth full, eh? Not so funnily enough, the more frequent questions I get from customers investigating Team System has been around licensing. Frankly, it is confusing. MSFT heard this loud and clear and has taken steps to rectify the situation with this release. Instead of continuing with the Team System brand, we’ll now be talking about fewer and simpler options for purchasing Microsoft tools.</p>
<ul>
<li>Visual Studio 2010 Professional</li>
<li>Visual Studio 2010 Premium</li>
<li>Visual Studio 2010 Ultimate</li>
</ul>
<p>OK, so fewer choices must be simpler, so what do I buy now? Well, <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" target="_blank">this page</a> shows the various tools available in the different versions. The truth is that there is still a decision process around what tools you want to pay for. Let’s take a look at just the testing tools available in Visual Studio.</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<h5>VS 2010 Professional with MSDN</h5>
</td>
<td valign="top" width="100">
<h5>VS 2010 Premium with MSDN</h5>
</td>
<td valign="top" width="100">
<h5>VS 2010 Ultimate with MSDN</h5>
</td>
</tr>
<tr>
<td valign="top" width="100">Unit Testing (MS Test)</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
<tr>
<td valign="top" width="100">Code Coverage</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
<tr>
<td valign="top" width="100">Test Impact Analysis</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
<tr>
<td valign="top" width="100">Coded UI Test</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
<tr>
<td valign="top" width="100">Web Performance Testing</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
<tr>
<td valign="top" width="100">Load Testing</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">&#160;</td>
<td valign="top" width="100">
<p align="center">X</p>
</td>
</tr>
</tbody>
</table>
<p>If I want Code Coverage, I buy Premium. If I want Load Testing, I buy Ultimate.</p>
<p>Hopefully this packaging will actually be easier to understand and digest.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/10/19/goodbye-team-system-we-hardly-knew-ye/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Team Build without Tests Lists</title>
		<link>http://elegantcode.com/2009/10/02/team-build-without-tests-lists/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=team-build-without-tests-lists</link>
		<comments>http://elegantcode.com/2009/10/02/team-build-without-tests-lists/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 19:40:04 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/10/02/team-build-without-tests-lists/</guid>
		<description><![CDATA[Test lists drive me nuts. I recently recorded a screen cast showing how to pull of CI without the test lists. Here ya go! Here’s a link to the screen cast.]]></description>
			<content:encoded><![CDATA[<p>Test lists drive me nuts. I recently recorded a screen cast showing how to pull of CI without the test lists. Here ya go!</p>
<p><a href="http://www.pluralsight.com/main/screencasts/screencast.aspx?id=vsts08-continuous-integration" target="_blank">Here’s a link to the screen cast</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/10/02/team-build-without-tests-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Healthy Team Habits with Team System</title>
		<link>http://elegantcode.com/2009/10/02/healthy-team-habits-with-team-system/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=healthy-team-habits-with-team-system</link>
		<comments>http://elegantcode.com/2009/10/02/healthy-team-habits-with-team-system/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 19:36:21 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team System]]></category>
		<category><![CDATA[Tools and Utilities]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/10/02/healthy-team-habits-with-team-system/</guid>
		<description><![CDATA[I wrote an article recently for the Pluralsight newsletter discussing how to use a tool like Team System to drive positive organizational change. Here’s a pointer to the article.]]></description>
			<content:encoded><![CDATA[<p>I wrote an article recently for the Pluralsight newsletter discussing how to use a tool like Team System to drive positive organizational change. </p>
<p><a href="http://bit.ly/3CAC8Z" target="_blank">Here’s a pointer to the article</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/10/02/healthy-team-habits-with-team-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Cast 32 &#8211; Tommy Norman</title>
		<link>http://elegantcode.com/2009/09/28/code-cast-32-tommy-norman/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-cast-32-tommy-norman</link>
		<comments>http://elegantcode.com/2009/09/28/code-cast-32-tommy-norman/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 05:10:00 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[CodeCast]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/09/29/code-cast-32-tommy-norman/</guid>
		<description><![CDATA[At the Agile 2009 conference in Chicago, I got to meet some great people I’d previously known only in electronic form. Tommy Norman is one of those folks, as he and I have had many conversations on Twitter. Tommy is a System Architect at Compuware in Nashville, TN where focuses on Application Lifecycle Management. He [...]]]></description>
			<content:encoded><![CDATA[<p>At the Agile 2009 conference in Chicago, I got to meet some great people I’d previously known only in electronic form. Tommy Norman is one of those folks, as he and I have had many <a href="http://twitter.com/tommynorman">conversations on Twitter</a>. Tommy is a System Architect at Compuware in Nashville, TN where focuses on Application Lifecycle Management. He is also heavily into Scrum, Team System, and the <a href="http://www.nashdotnet.org/">Nashville .NET User Group</a>. When not working he enjoys being at home with his family of 5, playing guitar and baby dolls, and making music.</p>
<p>In this episode, Tommy visited with me about effectively applying Team System to some agile software development practices. This ranges from Continuous Integration to the tool aisle at your neighborhood Sears store, but I’ll leave that for you to discover.</p>
<ul>
<li><a href="http://tommynorman.blogspot.com/">Tommy’s Blog</a></li>
<li><a href="http://scrumforteamsystem.com/">Scrum for Team System</a></li>
<li><a href="http://manifesto.softwarecraftsmanship.org/">Manifesto for Software Craftsmanship</a></li>
<li><a href="http://msdn.microsoft.com/en-us/teamsystem/default.aspx">Visual Studio Team System</a></li>
</ul>
<p><a href="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_32_TommyNorman.mp3">Get the show here</a></p>
<p><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=271207118"><img src="http://elegantcode.com/cast/files/images/itunes_button.gif" border="0" alt="View in iTunes" /></a> <a href="http://feeds2.feedburner.com/elegantcodecast"><img src="http://elegantcode.com/cast/files/images/rss_podcast.jpg" border="0" alt="Any Podcatcher" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/09/28/code-cast-32-tommy-norman/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://pluralsight-free.s3.amazonaws.com/david-starr/ecc/ECC_32_TommyNorman.mp3" length="37603314" type="audio/mpeg" />
		</item>
		<item>
		<title>Agile in the Very Large &#8211; Sam Guckenheimer</title>
		<link>http://elegantcode.com/2009/08/26/agile-in-the-very-large-sam-guckenheimer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile-in-the-very-large-sam-guckenheimer</link>
		<comments>http://elegantcode.com/2009/08/26/agile-in-the-very-large-sam-guckenheimer/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 15:29:50 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/26/agile-in-the-very-large-sam-guckenheimer/</guid>
		<description><![CDATA[I am sitting in Sam Guckenheimer’s talk at the Agile 2009 conference entitled, “Agile in the Impossibly Large – Experiences in Microsoft Developer Division.” Sam is effectively the product owner for Team System and an avid Agilista. He has been sharing experiences in Agility from DevDiv for years and freely publishes stats on Microsoft’s teams. [...]]]></description>
			<content:encoded><![CDATA[<p>I am sitting in Sam Guckenheimer’s talk at the Agile 2009 conference entitled, “Agile in the Impossibly Large – Experiences in Microsoft Developer Division.” Sam is effectively the product owner for Team System and an avid Agilista. He has been sharing experiences in Agility from DevDiv for years and freely publishes stats on Microsoft’s teams.</p>
<p>Here are my ad-hoc notes from Sam’s talk.</p>
<ul>
<li>Organizational structure is a better predictor of defect density than any other measure.
<p>Here are ad-hoc notes from Sam’s talk.</p>
</li>
<li>
<p>Get clean, stay clean </p>
<ul>
<li>Understand your technical debt </li>
<li>Put limits on acceptable technical debt </li>
<li>Clean your house </li>
<li>Keep your house clean by putting limits on defects with a stop-the-line mentality. </li>
</ul>
</li>
<li>Scenario &gt; Value Proposition &gt; Experience &gt; Feature </li>
<li>Scenario – Our business would like to </li>
<li>Value Proposition – How can I accomplish … </li>
<li>Experience – Here’s how you … </li>
<li>Feature – As a… I want… so that… </li>
<li>When prioritizing features to add to products, clients vote VERY differently than MVPs. This was illustrated in an amazing slide showing how customers vs. MVPs voted for new features. </li>
<li>Red bits – development on product already in the field. Must be stringently controlled and reviewed to ensure backward compatibility </li>
<li>Green bits – development on features not yet released, so fewer constraints, but always reviewed to guard against rick after the feature turns into red bits. </li>
<li>Sizing for features had to take quality gates into account
<ul>
<li>Code complete is a dead term. You must now be feature complete. </li>
<li>This includes things like threat analysis </li>
</ul>
</li>
<li>It takes several <strong><em>weeks</em></strong> to run all the automated tests that execute against Visual Studio Team System. </li>
<li>OGF – Overall Gut Feel – A subjective measure based on expected customer experience. </li>
<li>BVT – Build Verification Tests. Tests that verify a check in – typically unit tests. </li>
<li>VS2008 vs. VS2008 SP1 – SP1 saw an improvement in quality of 10X </li>
<li>While it is important to celebrate success, never declare victory. </li>
<li>Do not undersell the investment to start a project well, and the cost of being truly done. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/26/agile-in-the-very-large-sam-guckenheimer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visual Studio Team System for Small Teams</title>
		<link>http://elegantcode.com/2009/08/24/visual-studio-team-system-for-small-teams/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visual-studio-team-system-for-small-teams</link>
		<comments>http://elegantcode.com/2009/08/24/visual-studio-team-system-for-small-teams/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 23:27:41 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[ALM]]></category>
		<category><![CDATA[Craftsmanship]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Tools and Utilities]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/24/visual-studio-team-system-for-small-teams/</guid>
		<description><![CDATA[There was a recent brouhaha on Twitter and in some blogs about the appropriateness of Team System in small teams. The gist of the discussion was simply that there are a lot of alternatives to TFS and VSTS tooling and many of them come cheaper out of the box. In many cases, free! Duh. I [...]]]></description>
			<content:encoded><![CDATA[<p>There was a recent brouhaha on Twitter and in some blogs about the appropriateness of Team System in small teams. The gist of the discussion was simply that there are a lot of alternatives to TFS and VSTS tooling and many of them come cheaper out of the box. In many cases, free!</p>
<p>Duh.</p>
<p>I have worked with Team System quite a bit and with alternatives just as much. With a lot of experience behind me on this, I feel confident I can make a legitimate case for using Team System in a small team.</p>
<p>I consider a small team a development organization of fewer than 10 people.</p>
<h3>Some Context and Disclosure</h3>
<ul>
<li>I am a Team System MVP </li>
<li>I use Team System on a daily basis </li>
<li>I use SVN+Team City on a daily basis </li>
<li>I care more about pragmatism and craftsmanship than tooling, and that means focusing on how to use tools, not just the tools themselves </li>
<li>I have been present on day one of a brand new team </li>
<li>I have been in a team that has grown quickly over a short time </li>
</ul>
<h3>Focus on the Work</h3>
<p>What happens when teams squabble about tools instead of just getting on with it? Lots of churn and wasted energy, is my experience. </p>
<p>I can report having seen small teams succeed and fail. The success or failure in both cases obviously has a lot more to do with leadership and business than developer tools, but I can also say the way companies approach developer tooling can have a lot to do with culture.</p>
<p>Any startup or small team simply <em>must</em> be focused to succeed. This can also be extremely difficult to achieve. A small team simply doesn’t have the capacity or depth to be distracted with issues not pertaining to delivering product. Paradoxically, team members are often wearing several hats. That is, everyone is doing a little of everything. That can quickly trend to entropy, because no one ends focusing on the work at hand.</p>
<p>The last thing I want to do on day 1 of a new team, or very often in a small teams, is visit tooling. Not deliberately making choices about tooling, though, will eventually bite you. Hard. How many of us are in organizations with over 2 brands of source control systems because new ones were added in an ad-hoc manor? I’ve been there. How many unit test frameworks are being used? I have been on a team that used 4 at once. Think that caused some problems?</p>
<p>As team lead, I care far less about optimizations of specific tools, and far more about a cohesive and fluid process enabling flow within the team. I care a great deal that there is a single source of truth for requirements and very little that we are using the coolest new unit test framework.</p>
<p>Often, focusing on work simply means implementing a system of tools and getting past the discussion. Have you ever heard developers purse fight over text editors? Now, there’s a constructive use of energy. The same thing can happen when geeks whip out their favorite source control, merge tools, unit testing frameworks, Visual Studio add-ins, logging library, laptop brand, or bug tracking system. </p>
<p>Point number one is let’s get past the time suck of the my-NAnt-is-better-than-your-MS-Build and just prescribe a toolset so we can get on with the real business of our team. </p>
<h3>Team System is Like a Box of Tools at Sears</h3>
<p>When I go to Sears and browse the Craftsman (or DeWalt) tools, I usually see some interesting little specialty tools. I might buy a funky swivel socket or a single ratchet, but I rarely browse the aisle with the large all-in-one kits. The reason I don’t browse the kit aisle is because my father-in-law bought be a basic Craftsman starter kit almost 20 years ago and my collection of tools has grown over time. </p>
<p>I don’t still have all of the tools in that original kit, but I do still have many of them. Further, my need for hand tools have gotten more specialized over time. Also, I am making a bit more money than I was when I married my wife, so I may spend extra for a special-purpose hammer rather than always relying on the one that came in the original kit.</p>
<p>Without that original kit, though, I would never have been able to even get started. No, it didn’t have every tool I would ever need, but it had almost everything I needed right then.</p>
<p>Team System is much the same. A team can absolutely hit the ground running with the rich toolset VSTS provides. Maybe you’ll augment the toolbox over time. Maybe you’ll even change tools (can anyone say [TestClass]?) but the kit that comes in the box really can provide most of what a small team needs to get going, and do it in a single solution.</p>
<p>That’s huge. </p>
<p>As soon as I start looking around to sub-optimize my hammer or my source control, I am going to start slowing the team down. GIT? SVN? PerForce? There are a ton of options for source control, each with their strengths and weaknesses. It’s freaking source control. Get on with it. I mean, how sexy can a hammer be?</p>
<h3>It May Not Cost What You Think</h3>
<p>You can buy a big toolkit at Sears for far less than it costs to buy all the tools individually. Further, buying the toolkit for the person without tools is a good move because they will have all the basics covered in a single purchase. </p>
<p>Craftsman Toolkits are a favorite gift of mine for graduates and newlyweds for this very reason.</p>
<p>Microsoft has the same insight that Sears had. If a person gets accustomed to Craftsman by selling the kit cheaply, they’ll be a customer for life. This is the exact idea behind the BizSpark program. If you aren’t familiar with it, BizSpark is a Microsoft program that allows free (that’s right, free!) access to all developer tools, operating systems, and other software for startups.</p>
<p>Is your company less than 2 years old? Do you make software? If yes, you qualify, I kid you not.</p>
<h3>Integration Matters</h3>
<p>Even if you are paying full price (which you shouldn’t <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) I believe the value of VSTS is still there. The productivity loss involved in setting up a system of disparate and non-integrated developer tools is tremendous. I have been there and done that.</p>
<p>I know SVN is good. I know Team City is good. I also know that setting up a basic Continuous Integration build in Team System is stupid simple. And the real money shot comes with Work Item management. How many teams out there are using work item management systems or defect tracking systems they hate?</p>
<p>Well, we all are. </p>
<p>So, we may as well have one that works right in the IDE and allows me to tie check ins to work I am performing. The context switching that occurs in non-integrated systems of reporting, SCC, build, and work item management is HUGE. Huge! No really. </p>
<h3>Get On With It</h3>
<p>The people involved in the recent online Team System kerfuffle are folks I would consider in the top 1% of developer talent. Quite frankly, it makes a lot of sense to me that people at that level will have replaced their hammer from the kit with one that has an ergonomic grip.</p>
<p>That said, there are a lot of startups and small teams in entropy out there. For those folks, I firmly believe that standardizing on an integrated toolset for the development team is a bigger savings than “free like a puppy” solutions that can work well, but with more churn.</p>
<p>Now quit fussing about source control and learn how to use a decent ORM, people.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/24/visual-studio-team-system-for-small-teams/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Team System Videos Online!</title>
		<link>http://elegantcode.com/2009/08/15/team-system-videos-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=team-system-videos-online</link>
		<comments>http://elegantcode.com/2009/08/15/team-system-videos-online/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 15:33:43 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/08/15/team-system-videos-online/</guid>
		<description><![CDATA[My wife and friends have been wondering what I’ve been doing up in my office at night and on the weekends. After several weeks (months, really) of getting this project off the ground, I am happy to finally share the result. Pluralsight On-Demand! now has the opening modules of our online course, Visual Studio Team [...]]]></description>
			<content:encoded><![CDATA[<p>My wife and friends have been wondering what I’ve been doing up in my office at night and on the weekends. After several weeks (months, really) of getting this project off the ground, I am happy to finally share the result.</p>
<p><a href="http://pluralsight.com" target="_blank">Pluralsight</a> On-Demand! now has the opening modules of our online course, <a href="http://pluralsight.com/main/olt/Course.aspx?n=vsts-fundamentals" target="_blank">Visual Studio Team System Fundamentals</a>. This course focuses on Team System 2008. I am continuing to build out the content and hope to be releasing new modules at the rate of 1 a week or so. </p>
<p>In addition, watch <a href="http://pluralsight.com/main/screencasts/default.aspx" target="_blank">Pluralsight’s Screen Cast</a> pages for smaller, focused tidbits. I will be covering “The Top 10 Team System Tidbits” in the free screen casts over the next few months. Any suggestions for what you’d like to see in the top 10?</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/08/15/team-system-videos-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

