<?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/tag/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>Source Control Only Team Projects</title>
		<link>http://elegantcode.com/2009/04/22/source-control-only-team-projects/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=source-control-only-team-projects</link>
		<comments>http://elegantcode.com/2009/04/22/source-control-only-team-projects/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 20:24:55 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2009/04/22/source-control-only-team-projects/</guid>
		<description><![CDATA[One customization I make frequently to a TFS Team Project is to create source control + Team Build only team projects. Reasons to do this vary, but the reason I have is that I like using the Scrum for Team System process template as a Master or Enterprise backlog and holding all work items in [...]]]></description>
			<content:encoded><![CDATA[<p>One customization I make frequently to a TFS Team Project is to create source control + Team Build only team projects.</p>
<p>Reasons to do this vary, but the reason I have is that I like using the Scrum for Team System process template as a Master or Enterprise backlog and holding all work items in there. For that Team Project, I have no source control, as it is just for Work Items. Correspondingly, I need Team Projects that have no work items in them. </p>
<p>There are several ways to pull off a “Source Control + Build Only” TFS Team Project.</p>
<ol>
<li>Create a Process Template with no Work Items, Queries, or Reports in it and install it on the server to create new Team Projects. I have done this and it works. </li>
<li>Spool up a Team Project using an existing Process Template . Lock down permissions on the Team Project to not allow any new Work Items to be created by anyone. This works, but is a bit ghetto, IMO. </li>
<li>Spool up a Team Project using an existing Process Template and then pull out everything you don’t want. </li>
</ol>
<p>This article will demonstrate how to accomplish #3.</p>
<h2>Killing Everything But Source Control and Build</h2>
<p>This example uses the MSF for Agile process template as the basis for the Team Project we will customize.</p>
<h3>Creating the Team Project</h3>
<ol>
<li>Create a Team Project as normal. </li>
<li>Open Team Explorer </li>
</ol>
<h3>Delete the Queries</h3>
<ol>
<li>Open PROJECTNAME |Work Items | Team Queries </li>
<li>Highlight all the queries </li>
<li>Right click | Delete </li>
</ol>
<h3>Delete the Reports</h3>
<ol>
<li>Open PROJECTNAME |Reports </li>
<li>Highlight all the reports </li>
<li>Right click | Delete </li>
</ol>
<h3>Delete WI Type Definitions</h3>
<p>Here we need to use the Team Foundation Power Tool available <a href="http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx" target="_blank">here</a>. Ensure it is installed on the server and the machine you are working on to execute this work.</p>
<p>Create a .cmd file with the following commands in it, supplying your own params for the correct server and team project:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">tfpt destroywitd /server:http://tfsrtm08:8080 /project:PS_SCC /workitemtype:Bug /noprompt</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">tfpt destroywitd /server:http://tfsrtm08:8080 /project:PS_SCC /workitemtype:<span style="color: #006080">&quot;Quality of Service Requirement&quot;</span>  /noprompt</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">tfpt destroywitd /server:http://tfsrtm08:8080 /project:PS_SCC /workitemtype:Risk  /noprompt</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">tfpt destroywitd /server:http://tfsrtm08:8080 /project:PS_SCC /workitemtype:Scenario  /noprompt</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">tfpt destroywitd /server:http://tfsrtm08:8080 /project:PS_SCC /workitemtype:Task  /noprompt</pre>
<p><!--CRLF--></div>
</div>
<p>Run that sucker!</p>
<p>Now, when I try to add a Work Item in the Team Project, this is what it looks like:</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2009/04/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://elegantcode.com/wp-content/uploads/2009/04/image-thumb1.png" width="370" height="320" /></a> </p>
<p>Notice there is no option for creating a new Work Item. It simply vanished!</p>
<p>I like to leave the ability to create queries because teams will often create queries looking back the Work Items in other Team Projects and simply use the SCC only project as a means of isolating their queries.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2009/04/22/source-control-only-team-projects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Shelving is the June Cleaver of TFS Source Control</title>
		<link>http://elegantcode.com/2008/09/09/shelving-is-the-june-cleaver-of-tfs-source-control/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shelving-is-the-june-cleaver-of-tfs-source-control</link>
		<comments>http://elegantcode.com/2008/09/09/shelving-is-the-june-cleaver-of-tfs-source-control/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 22:51:31 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Esoterica]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/09/09/shelving-is-the-june-cleaver-of-tfs-source-control/</guid>
		<description><![CDATA[Ever notice that no matter what shenanigans Beaver would get into, June always believed everything was fine? No matter how many scotches Ward had after dinner, there was no problem, according to June. June Cleaver is the classic enabler with a bad case of denial. So is the TFS Source Control Shelving feature. Don’t get [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" ?="?"><img alt="June Cleaver" src="http://upload.wikimedia.org/wikipedia/en/thumb/b/bb/B_barb02.JPG/202px-B_barb02.JPG" align="right" ?="?" /></div>
<p>Ever notice that no matter what shenanigans Beaver would get into, June always believed everything was fine? No matter how many scotches Ward had after dinner, there was no problem, according to June. June Cleaver is the classic enabler with a bad case of denial.</p>
<p>So is the TFS Source Control Shelving feature.</p>
<p>Don’t get me wrong. Sometimes everything really is okay. Sometimes I just want to push my code into a shelf set because I have to go to my kid’s play in 5 minutes and I just want to make sure I am backed up in case the building burns down in the next 2 hours. Sometimes.</p>
<p>More often, Ward is shelving his code because he hasn’t checked in for 3 days and can’t be bothered to do the necessary merges before he heads home to that scotch bottle.</p>
<p>I would go so far as this: <em>Frequent shelving is a smell.</em></p>
<p>Reasons you don’t need shelving include:</p>
<ol>
<li>Team members are checking in frequently as they make changes to code, passing tests and keeping code coverage high. Frequently means every few passing unit tests or so. </li>
<li>Team members are in the habit, nay, are required to check in the day’s work and get a clean build before they go home for the day. </li>
<li>When a team member is looking for a code review, that person has direct (as in “within voice range”) access to other team members who can perform said review. Even better, they are pairing.
<p>Note for distributed teams: <a href="http://connect.microsoft.com/site/sitehome.aspx?SiteID=94">Microsoft’s SharedView</a> works great for remote pairing. </li>
</ol>
<p>I find it best to think of the Shelving feature as <a href="http://skydrive.live.com/">SkyDrive</a> for source code. It isn’t sufficient as a source control strategy, but can be pretty handy on occasion.</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
<p>One more way that Shelving is like June Cleaver? Pretty. Not smart.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/09/09/shelving-is-the-june-cleaver-of-tfs-source-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft&#8217;s ALM Story</title>
		<link>http://elegantcode.com/2008/06/12/microsofts-alm-story/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsofts-alm-story</link>
		<comments>http://elegantcode.com/2008/06/12/microsofts-alm-story/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 04:31:31 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/12/microsofts-alm-story/</guid>
		<description><![CDATA[Microsoft has embraced the idea of Application Lifecycle Management as a framework upon their software development tools can be positioned. This is a great notion, and one that will take several years of investment even from a company with as many resources as Microsoft. ALM is the enterprise software development holy grail that IBM sought [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has embraced the idea of <a href="http://en.wikipedia.org/wiki/Application_Lifecycle_Management" target="_blank">Application Lifecycle Management</a> as a framework upon their software development tools can be positioned. This is a great notion, and one that will take several years of investment even from a company with as many resources as Microsoft. </p>
<p>ALM is the enterprise software development holy grail that IBM sought for years and invested in with the <a href="http://www-306.ibm.com/software/rational/" target="_blank">Rational tools</a>. And although there is a tremendous value in prescriptive guidance in enterprise development models, there is a natural tension between the ALM crowd and <em>Development as a Craft</em> advocates. ALM, after all, is all about quantifying, measuring, predicting, planning, and economies of scale. Ironically, the kind of transparency and predictability called for by the minimalist Agile community is the same goal of ALM tooling offered by Big Blue and now by the new blue in Redmond.</p>
<p>How are Microsoft products staged to lay across the ALM model? The story today is mixed.</p>
<table cellspacing="0" cellpadding="2" width="366" border="1">
<tbody>
<tr>
<td valign="top" width="160"><strong>ALM Principle</strong></td>
<td valign="top" width="204"><strong>MS Product Answer</strong></td>
</tr>
<tr>
<td valign="top" width="176">Project Management</td>
<td valign="top" width="213">Portfolio Server, Project Server, MS Project</td>
</tr>
<tr>
<td valign="top" width="181">Project Tacking</td>
<td valign="top" width="214">TFS, MS Project</td>
</tr>
<tr>
<td valign="top" width="184">Requirements Planning</td>
<td valign="top" width="213">3rd Party Solutions</td>
</tr>
<tr>
<td valign="top" width="185">Design and Development</td>
<td valign="top" width="212">Visio, Visual Studio</td>
</tr>
<tr>
<td valign="top" width="186">Quality Assurance</td>
<td valign="top" width="211">Visual Studio</td>
</tr>
<tr>
<td valign="top" width="187">Release Management</td>
<td valign="top" width="211">System Center, Team Build</td>
</tr>
<tr>
<td valign="top" width="187">Helpdesk</td>
<td valign="top" width="211">SharePoint?</td>
</tr>
</tbody>
</table>
<p>Your familiarity with these products may lead you to the same conclusion that many have already reached. The products in the stack currently fail to integrate cleanly and many provide only a starting taste of the functionality needed to realize the ALM vision. The story is obviously a little muddy today. But what&#8217;s next?</p>
<p>Team System Rosario promises much improvement in the areas of tracking, design, quality assurance, and development. Significant bridges are also being started toward improving the release management story.</p>
<p>That won&#8217;t do it all, of course. There are other pieces needed in the stack that will need to be freshened up including operational support tools. Microsoft is in hot pursuit of filling this gap with a host of products under the <a href="http://www.microsoft.com/systemcenter/en/us/products.aspx" target="_blank">System Center umbrella of products</a>. An actual helpdesk management system to displace the TechExcels and Remedys of the world is essential here.</p>
<p>The point is, MS has its sights set on a complete ALM story and are focusing on the midsize market, as Microsoft is so good at doing. </p>
<h2>The Good</h2>
<p>A focus on ALM in the Microsoft stack will have a tremendous impact on software development and delivery as we know it. Interoperable components in the pipeline will help bridge those gaps in midsize organizations that are typically only filled in large enterprises. Transparency will be ubiquitous.</p>
<p>Given the open nature of products being developed at MS these days, I have high hopes that these systems will truly be pluggable, so that if you want to bridge TFS to Remedy (for example) doing so is not rocket surgery. Web services are great, aren&#8217;t they?</p>
<h2>Concerns</h2>
<p>There is a fine line between managing for predictability and &#8216;command and control&#8217;. Tools like those in this stack are like guns. They can be used for good, but misuse is more common than not. </p>
<p>Tooling like this gives every non-tool Agilist out there genuine pause, and with good reason. The history of stewardship in complex models like this is less than stellar. That is to say, this tooling can provide huge value, and the basis for crushing souls. Let&#8217;s be careful how we wield them.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/12/microsofts-alm-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Version Control with 2008 SP1</title>
		<link>http://elegantcode.com/2008/06/12/version-control-with-2008-sp1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=version-control-with-2008-sp1</link>
		<comments>http://elegantcode.com/2008/06/12/version-control-with-2008-sp1/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 14:44:46 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team System]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/12/version-control-with-2008-sp1/</guid>
		<description><![CDATA[I am a simple man. All I ever wanted was drag and drop for source control. That folder chooser dialog was a bear. Now we will get it with Visual Studio 2008 SP1. Thank goodness. From the web site: Simplified the user experience through cleaner &#8220;Add to Source Control&#8221; dialogs, drag and drop support to [...]]]></description>
			<content:encoded><![CDATA[<p>I am a simple man. All I ever wanted was drag and drop for source control. That folder chooser dialog was a bear. Now we will get it with <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx" target="_blank">Visual Studio 2008 SP1</a>. Thank goodness. From the web site:</p>
<ul>
<li>Simplified the user experience through cleaner &#8220;Add to Source Control&#8221; dialogs, drag and drop support to the Source Control Explorer and a much easier to use &#8220;Workspace&#8221; dialog for working folder mappings.
<li>Version control now automatically supports non-solution controlled files.
<li>Various changes to the Source Control Explorer such as a new checkin date/time display column, local path hyperlink support and en editable source location field.</li>
</ul>
<p>I am not a big fan of installing a beta SP on may dev laptop, but I gotta tell ya, I did it for that feature alone.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/12/version-control-with-2008-sp1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get Latest on Checkout is Satan</title>
		<link>http://elegantcode.com/2008/06/11/get-latest-on-checkout-is-satan/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=get-latest-on-checkout-is-satan</link>
		<comments>http://elegantcode.com/2008/06/11/get-latest-on-checkout-is-satan/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 22:28:17 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/11/get-latest-on-checkout-is-satan/</guid>
		<description><![CDATA[If you are running Team System, there is feature in the source control option in your project level settings that you should be aware of. Right click your team project in the Project Explorer window of Visual Studio. Go here: And get this screen. Why? Because if you have made some changes to a file [...]]]></description>
			<content:encoded><![CDATA[<p>If you are running Team System, there is feature in the source control option in your project level settings that you should be aware of. Right click your team project in the Project Explorer window of Visual Studio.</p>
<p>Go here:</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="219" alt="image" src="http://elegantcode.com/wp-content/uploads/2008/06/image-thumb.png" width="404" border="0"></a> </p>
<p>And get this screen.</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/image1.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="369" alt="image" src="http://elegantcode.com/wp-content/uploads/2008/06/image-thumb1.png" width="404" border="0"></a> </p>
<p>Why? Because if you have made some changes to a file while it wasn&#8217;t checked out, you will not have the option to merge to your local machine. This option will simply overwrite your local code file.</p>
<p>Why does this feature exist? Because oodles of people asked for it because they were used to it in Source Safe, and the team relented.</p>
<p>Repeat: This is a bad idea!</p>
<p>If, however, you are a person who simply must have this turned on in order to feel snug, there is a way to do it without making your entire team experience the hell that will be yours.</p>
<p>In Visual Studio, go to Tools &gt; Options &gt; Source Control &gt; Environment and do this:</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/image2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="image" src="http://elegantcode.com/wp-content/uploads/2008/06/image-thumb2.png" width="404" border="0"></a> </p>
<p>I warned you.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/11/get-latest-on-checkout-is-satan/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architecture Modeling in Rosario with Peter Provost</title>
		<link>http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=architecture-modeling-in-rosario-with-peter-provost</link>
		<comments>http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 15:33:16 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Architecture and Design]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/</guid>
		<description><![CDATA[Yes, that Peter Provost, and this is a great Tech Ed session. We know that the modeling tools in Team System 2008 are, well&#8230; there&#8217;s room for improvement. How valuable is a Logical Data Center Design Model when we can&#8217;t derive it from a reverse engineering action? There has also been much frustration with the [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, that Peter Provost, and this is a great Tech Ed session. </p>
<p>We know that the modeling tools in Team System 2008 are, well&#8230; there&#8217;s room for improvement. How valuable is a Logical Data Center Design Model when we can&#8217;t derive it from a reverse engineering action? There has also been much frustration with the lack of standard UML support in Visual Studio. Guess what?</p>
<p>Rosario proposes that we promote modeling to a first class citizen of the complete Application Lifecycle Management model. Here&#8217;s my major takeaway: The way modeling is being supported enables visual exploration of your code base in a way that is seamless with the development process. This can honestly change the fundamental code development experience.</p>
<p>Also, I can plan on sun setting all my organizations Sparx licenses. Cool.</p>
<ul>
<li>UML 2.1 at the logical layer</li>
<li>DSLs at the physical layer</li>
<li>Generate models from existing assets. This is being discussed as &#8220;Architectural Discovery&#8221; which is a hilarious term in itself.</li>
<li>The April CTP has the following </li>
<ul>
<li>UML Class Diagram</li>
<li>UML Use Cases Diagram</li>
<li>UML Sequence Diagram</li>
<li>UML Component Diagram</li>
<li>UML Activity Diagram</li>
<li>Architecture Explorer</li>
<li>There is a unifying model underlying all of this, the diagrams are simply views upon that model.</li>
</ul>
<li>Newer versions will have some of the features we got to see today. These will come in another CTP later this year.</li>
<ul>
<li>Layer Diagram</li>
<ul>
<li>Seriously cool, this allows to separate concerns of our tiers in a system.</li>
<li>I can bind my namespaces to logical layers of my application</li>
</ul>
<li>Also has some seriously cool visualization tools for looking through your code. </li>
<ul>
<li>Using these views, we can see our cohesion and inheritance in physical form. </li>
<li>How about namespace visualization using a graph model? Dang, this is cool.</li>
<li>How about a dependency visualization? NDepend better look out because this one isn&#8217;t half bad.</li>
<li>AND, all views enable us to click right through to our source code. Neato.</li>
</ul>
<li>XMI support (seriously, wow). This means we can export models from other applications like Sparx EA, Altova, and Rational and bring them right into Visual Studio. Oh, and it will pull Visio models as well.</li>
<li>Round tripping of component models to code</li>
</ul>
<li>Peter actually built some sequence diagrams and I gotta say that this UX is going to be MUCH better than Enterprise Architect, which will soon loose it&#8217;s Market Share. Even use cases look neater.</li>
<li>Sequence diagrams can be round tripped with classes and even methods. This means we can examine the complexity of our code at a usable level, and do it visually. </li>
</ul>
<p>What if you could prescribe separation of tiers and limit leaky abstractions?</p>
<h2>Nuggets</h2>
<p>&#8220;Any system should be possible to represent on a white broad in no more than 13 boxes.&#8221;</p>
<p>&#8220;Using model is simply a way of managing complexity.&#8221;</p>
<p>&#8220;There will be a model store capability that means we don&#8217;t need to keep our models in the same solutions with our code.&#8221; But you can <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Because the models are all built on DSLs, there is someone out there who has automated the process of building test cases from activity diagrams. That is hotter than a 2 dollar pistol.</p>
<p>We can attach other files like Word files to your model itself. </p>
<p>What if we could could light up the models in the debugger to see highlighting of current activity in a sequence diagram? Neato.</p>
<p>They are trying to figure out how to include support for generating design patterns like found in EA and Rational. This is fun because you can generate domain specific code with a fundamental implementation in a known design pattern like Forward Controller or something.</p>
<p>I need a bigger monitor. Seriously, boss. I need a bigger monitor.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/06/architecture-modeling-in-rosario-with-peter-provost/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Data Dude Extensibility &#8211; How IBM integrated DB2 into Visual Studio</title>
		<link>http://elegantcode.com/2008/06/06/data-dude-extensibility-how-ibm-integrated-db2-into-visual-studio/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=data-dude-extensibility-how-ibm-integrated-db2-into-visual-studio</link>
		<comments>http://elegantcode.com/2008/06/06/data-dude-extensibility-how-ibm-integrated-db2-into-visual-studio/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 13:52:59 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Team System]]></category>
		<category><![CDATA[Tools & Utilities]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/06/data-dude-extensibility-how-ibm-integrated-db2-into-visual-studio/</guid>
		<description><![CDATA[I am sitting in a room at Tech Ed 208 with about 15 people who got up early enough for this session. I am blown away there aren&#8217;t more people in here, but I guess the after-party at Universal Studios last night kept people in bed late this morning. This session is a joint presentation [...]]]></description>
			<content:encoded><![CDATA[<p>I am sitting in a room at Tech Ed 208 with about 15 people who got up early enough for this session. I am blown away there aren&#8217;t more people in here, but I guess the after-party at Universal Studios last night kept people in bed late this morning. This session is a joint presentation by <a href="http://blogs.msdn.com/gertd/" target="_blank">Gert Drapers</a> (the actual Data Dude) and Brent Gross the from IBM for the DB2 integration project team.</p>
<p>It is clear (and stated) that other RDBMS vendors will follow suit as MS has provided a fundamentally pluggable model for vendors to integrate their DBs into Visual Studio with a provider model. Can you smell Oracle, boys and girls? I can. Gert is being vague about who they are working with. MySQL will be cool.</p>
<p>There are several levels of extensibility:</p>
<ul>
<li>DB Provider</li>
<ul>
<li>This is the actual connectivity to your own RDBMS. This provider is responsible for talking to the VS model layer for the DB project and translating between your DB and the model. </li>
</ul>
<li>VS Features</li>
<ul>
<li>The ability to alter features in Visual Studio, like: </li>
<ul>
<li>Refactorings available for a given provider.</li>
<li>Syntax highlighting</li>
<li>language formatting rules for reverse engineering operations</li>
</ul>
<li>Static analysis rules for your particular SQL language</li>
<ul>
<li>Yes, you get static analysis rules for TSQL. This is the death clock for select * from &#8230;</li>
<li>Static analysis in BD2 SQL may be different than that in MS TSQL</li>
<li>You can write your own static analysis rules in .Net by inheriting from the provided Rule class or *yeah* implementing an interface (are we hearing a theme out of MS?) I suppose if your company were anal enough, you could actually implement your proprietary naming convention rules as static analysis rules. Gert actually did this is an demo by writing a rule that checked column names to ensure they were in Pascal case. Neato. The funny part is when some of the developers in the room started telling him how his demo code could be refactored. Lol.</li>
</ul>
</ul>
<li>Model Extensibility</li>
<ul>
<li>VS actually works against a model of the data store and lets the provider do the translation.</li>
<li>Using the model paradigm for DB development provides full round trip model to implementation support for any given DB.</li>
<li>Gert actually showed a little command line app that looked at a Northwind DB in Access and a different Northwind DB in SQL Server and compared them. There would be very different SQL syntaxes if we were simply comparing creation scripts. The DBs showed as the same. More accurately, the models checked as the same. Cool.</li>
<li>So, I could script the process of taking a DB2 database and migrating it to SQL Server, or visa versa, in this model paradigm.</li>
</ul>
</ul>
<p>This session signaled several things to me.</p>
<ol>
<li>MS products really are being designed with extensibility and integration in mind. No really, this time.</li>
<li>The Data Dude model of working with databases has genuine merit. The days of SSMS (SQL Server Management Studio) and the Query Analyzer fan base are numbered. Treating DBAs as developers really is a better model.</li>
<li>Something different is occurring at MS with the changing of the guard.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/06/data-dude-extensibility-how-ibm-integrated-db2-into-visual-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech Ed Developer 2008 Day 2</title>
		<link>http://elegantcode.com/2008/06/04/tech-ed-developer-2008-day-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tech-ed-developer-2008-day-2</link>
		<comments>http://elegantcode.com/2008/06/04/tech-ed-developer-2008-day-2/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 02:47:34 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/04/tech-ed-developer-2008-day-2/</guid>
		<description><![CDATA[Elegant Code Cast With Ward Bell Ward Bell is the Vice President of Product Management at IdeaBlade, which makes a .Net ORM product called DevForce. I met Ward and had a great discussion about ORM solutions and the evolving world of ORM and business tier technologies from MS and others.&#160; Ward was good enough to [...]]]></description>
			<content:encoded><![CDATA[<h2>Elegant Code Cast With Ward Bell</h2>
<p><a href="http://neverindoubtnet.blogspot.com/" target="_blank">Ward Bell</a> is the Vice President of Product Management at <a href="http://ideablade.com" target="_blank">IdeaBlade</a>, which makes a .Net ORM product called DevForce. I met Ward and had a great discussion about ORM solutions and the evolving world of ORM and business tier technologies from MS and others.&nbsp; Ward was good enough to share 30 minutes or so on the mics and you&#8217;ll be hearing hi interview on the Elegant Code Cast in the weeks to come.</p>
<h2>Platforms for SOA and Business Process Management: Comparing .NET and Java</h2>
<p><a href="http://davidchappell.com" target="_blank"><img height="145" src="http://www.davidchappell.com/EMAIL_images/the_man.jpg" width="122" align="right" border="0"></a>This session looks at the worlds of Java and .Net while paying particular attention to the problems found in the ESB space. For example, how does each stack solve for workflow, rules, messaging, etc.</p>
<p><a href="http://davidchappell.com/" target="_blank">David Chappell</a> has presented this session at the Java One conference, so it is important to remember that this information as been vetted through the Java community.</p>
<p>The basic message came down to this: Sun&#8217;s stewardship of Java has promoted a fragmentation of technologies implemented in the Java language. This is great news for MS, who provides a unified stack of solutions in these spaces. The presenter asked the room this question, &#8220;Who believes that many solutions to workflow is good for the Java community?&#8221; About half the room went one way, the other half went another.</p>
<p>This gets to the core truth of the whole 1 vs. many solution discussion. Developers obviously love choice in their tools. After all, developers like to tinker and play with new technologies. Are these people also the ones most capable of making core platforms decisions for an enterprise? Typically not, because there is a bias toward new technology adoption over uniform practices.</p>
<p>As an example, the speaker told a story:</p>
<blockquote><p>A Java developer asked him at a conference, &#8220;Help me construct an argument for my management to get permission for me to use Spring.&#8221;</p>
<p>&#8220;Why do you want to use Spring?&#8221; asked David.</p>
<p>&#8220;Because it&#8217;s cool, man,&#8221; answered the developer. &#8220;I want to play with it because everyone knows it is a better way to write applications.&#8221;</p>
<p>&#8220;You should be fired,&#8221; he answered.</p>
</blockquote>
<p>The point here is that executives and logical decision makers who choose platforms are interested in the long game, not what technology is cool. Can I depend on vendor support? Will the product continue to evolve and grow? These are the questions that yearn for an answer of a unified platform that can be depended on to carry the business forward.</p>
<p>David actually cited the Garter quote that predicts the ultimate death of the J2EE platform in favor of vendor supported Java platforms by IBM and Oracle. If that actually comes to fruition, it is fascinating not just for its technical implications, but also for the comment this makes on the ultimate viability of community-based technology stewardship.</p>
<p>Maybe this 3 legged race of IBM v. Oracle v. MS offers an easier soup to stir than one consisting of many open source implementations. Interesting talk. The most interesting part of that discussion is the notable absence of Sun as a player in the Java discussion. What a weird world.</p>
<p>My favorite quote of the session, &#8220;Model Driven Architecture is where the rubber meets the sky.&#8221; Awesome. This comment on the huge abstraction of MDA feels right on.</p>
<h2>FDD With Team System</h2>
<p><a href="http://weblogs.asp.net/JSemeniuk/" target="_blank">Joel Semenuik</a> provided a great overview of how his organization uses a formal Feature Driven Development process in conjunction with Scrum to deliver software. They do this using of Team System, which is no surprise since Joel is the co-author of <a href="http://www.amazon.com/Managing-Projects-Microsoft-Visual-Pro-Developer/dp/0735622167/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1212632983&amp;sr=1-1">Managing Projects with Microsoft Visual Studio Team System</a> with Martin Danner. </p>
<p>I later learned from Martin, who used to be my office mate, that he and Joel are sponsoring a CodePlex project to aggregate open source process templates. What a nice idea! One stop shopping for process templates. I went hunting for it, but couldn&#8217;t find it on CodePlex yet.</p>
<h2>How I Became a Team Build Muscle Man</h2>
<p>Steve Borg blew packing material all over me when the build failed in his demo. To be more precise, he had a build monitor application hooked to a fan that blew packing peanuts all over me when his build failed. Nice. It tok 10 minutes to get all the stic clingy bits off me.</p>
<p>Anyway, Steve ran through a demo on using Team Build for CI and for deployment. It was pretty good, although I think many of us could have done without the Richard Simmons imitation. <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Deploying to IIS</strong></p>
<p>Steve used the MSBuild tasks found in the <a href="http://www.codeplex.com/sdctasks" target="_blank">SDC CodePlex project</a> to deploy his web application to IIS on a deployment and smoke test machine. </p>
<p><strong>Deploying SQL Data</strong></p>
<p>Even better, he used Visual Studio 2008 DB Pro to create a DB sample data loading script and deployed that to his test DB server via the SDC task DeployDatabase. This ensures that his web tests will always be run against his app with the same underlying data. This makes writing and running automated web tests as part of your build MUCH easier.</p>
<p><strong>Misc</strong></p>
<p>Also in 2008, we get the new BuildStep task that we can use to emote nice messages into our build log to provide some debugging information. Handy.</p>
<p>Implement the ITask interface to create your own tasks BTW. This is easy, I&#8217;ve actually done it!</p>
<p>WIX (Windows Installer for XML) is an open source tool that MS actually wrote and released to CodePlex. It is a nice little tool that helps us build MSI installers for our application. This utility is actually used by MS to create their installers like the MS Office and other binaries. This is basically a Visual Studio project that works like MAKE, but better. You can use WIX to accomplish all kinds of things like prepping your target machine&#8217;s dependencies as part of the MSI. Nice.</p>
<h2>Source Control Branching Strategies</h2>
<p>This was a great after-hours Birds of a Feather session that deserves a post of its own and will get it. </p>
<p>Here&#8217;s the takeaway: <em>I had no idea source control strategy was a religious issue or that one can see an organization&#8217;s dysfunction in a source control system&#8217;s folder structure. </em></p>
<p>Now I know.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/04/tech-ed-developer-2008-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Conchango&#8217;s Scrum Process Template 2.1 for Team System</title>
		<link>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=conchangos-scrum-process-template-21-for-team-system</link>
		<comments>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 02:18:18 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/</guid>
		<description><![CDATA[I went to my favorite session of Tech Ed today, but it was for personal gratification reasons that I enjoyed this so much. I am so happy about the work coming out of Conchango that I could pop. Why? Because when I get home I have the task of implementing TFS 2008 for my organization [...]]]></description>
			<content:encoded><![CDATA[<p>I went to my favorite session of Tech Ed today, but it was for personal gratification reasons that I enjoyed this so much. I am so happy about the work coming out of Conchango that I could pop. Why? Because when I get home I have the task of implementing TFS 2008 for my organization using the Scrum process template. I was nervous about this because of the tremendous amount of customizations I have been making to the Scrum work items in the prior version of the template I had been working with.</p>
<p><a href="http://blogs.conchango.com/colinbird/" target="_blank">Colin Bird</a>, CTO for <a href="http://www.conchango.com/" target="_blank">Conchango</a>, showed the 2.1 version of the process template today. It solved almost 100% of the problems I had been struggling with in my customized versions of the template.</p>
<ol>
<li>Support for different teams on every work item type. This is HUGE because it allows for all teams to pull work from a single backlog. </li>
<li>Burn down reports for sprint, product, and release, that all split against teams. This is the biggy. If you haven&#8217;t tried working with reporting in TFS, you don&#8217;t know how HUGE this is. Awesome.</li>
<li>Code churn reporting</li>
<li>Value flow diagrams</li>
<li>Elimination of the Sprint data element in a work item in favor of using a release model based on iterations. Thank you.</li>
<li>Bugs as work items that appear on the product backlog</li>
</ol>
<p>Honestly, there is very little left to do! I can only think if a few things I will be adding to this already existing functionality.</p>
<ul>
<li>Epics and Themes as work items and reports to support them. Even this will get better in Rosario with hierarchical work items.</li>
<li><a href="http://elegantcode.com/2008/04/21/tagging-team-system-work-items/" target="_blank">Tagging</a></li>
</ul>
<p>That&#8217;s about it.</p>
<p><a href="http://elegantcode.com/wp-content/uploads/2008/06/img006.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="img006" src="http://elegantcode.com/wp-content/uploads/2008/06/img006-thumb.jpg" width="244" align="right" border="0"></a> Colin also showed us an awesome new product that Conchango will be charging for and I would happily pay for. It is a WPF application that is a Scrum board working right off of TFS directly. There are other attempts at solving this same problem in the open source world, but this one is fully baked and soon to be available. It looks very usable. I can&#8217;t wait to see this thing in my shop. It will help the daily standup so much, and the overhead of making out physical cards will be a thing of the past.</p>
<p>I took a picture of it with my cell phone, but I don&#8217;t think I was supposed to do that. Oh, what the hell. Here it is. </p>
<p>You can actually drag the cards around and they change state and work remaining. If Colin weren&#8217;t English I would have hugged him. And then tickled him.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/04/conchangos-scrum-process-template-21-for-team-system/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tech Ed Developer 2008, Day 1</title>
		<link>http://elegantcode.com/2008/06/03/tech-ed-developer-2008-day-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tech-ed-developer-2008-day-1</link>
		<comments>http://elegantcode.com/2008/06/03/tech-ed-developer-2008-day-1/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 01:03:17 +0000</pubDate>
		<dc:creator>David Starr</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Team System]]></category>

		<guid isPermaLink="false">http://elegantcode.com/2008/06/03/tech-ed-developer-2008-day-1/</guid>
		<description><![CDATA[Keynote by Bill Gates and a cast of Microsoft Executives Guess what? SilverLight, Visual Studio, Unified Communications, surface computing, and robots are going to save the earth. So will WCF. Brian Harry on TFS Now and Future This was a great session. I know we are all tired of hearing it, but Rosario really is [...]]]></description>
			<content:encoded><![CDATA[<h2>Keynote by Bill Gates and a cast of Microsoft Executives</h2>
<p>Guess what? SilverLight, Visual Studio, Unified Communications, surface computing, and robots are going to save the earth. So will WCF.</p>
<h2>Brian Harry on TFS Now and Future</h2>
<p>This was a great session. I know we are all tired of hearing it, but Rosario really is the release of TFS that will be the ONE. We are all struggling with Work Items and being able to manage our work the way we actually think of our work.</p>
<p>The one question I posed was simply how may an organization manage one single backlog of work within TFS and parse out that work to separate teams? The answer is that for right now, there isn&#8217;t a good story here. I will be blogging later in the summer about how I am solving for this in our organization.</p>
<h2>Open Q&amp;A on TFS &#8211; Jeff Levinson</h2>
<p>Jeff is a Team System MVP and trainer and consultant for <a href="http://www.nwcadence.com/" target="_blank">NW Cadence</a>. He talked people through a lot of the typical questions that get asked soon after you install TFS in your organization.</p>
<ol>
<li>What source control branching model makes sense for me?
<li>How can I customize my work items?
<li>What&#8217;s in the service packs?
<li>How should I deploy for my build environments?</li>
</ol>
<p>You get the idea. Here are some likeable nuggets I took away from this session.</p>
<ul>
<li>If you are installing TFS into an organization with fewer than 500 active developers, install it all on one box.</p>
<p>I have installed on one machine for simplicity&#8217;s sake and recommend the same model , but I had no idea the scalability of that model went as high as 500. Jeff claims that this kind of load will only flutter the CPU. Bear in mind, though: This is NOT regarding the build machine. Build machines need to be separate and preferably virtual. <br /> 
<li>Microsoft will be paying closer attention to X in Rosario. X can equal any of these things:
<ul>
<li>Project server integration
<li>Portfolio server integration
<li>Query-able link control in work items
<li>Tooling for testers, and that doesn&#8217;t mean test tools for developers.</li>
</ul>
</li>
</ul>
<h2>Application Lifecycle Management Panel Discussion</h2>
<p>An entire stage of Team System MVPs, discussing Application Lifecycle Management. Rich Hundhausen, Jeff Levinson, Mike Azocar, Steve Borg, Jeff Beehler,&nbsp; Mickey Gousset, and several others.</p>
<p>This is about ALM which includes all phases of the lifecycle, so how are we helped by rapid delivery.</p>
<p>I only asked one question of the panel. &#8220;What&#8217;s the view forward for integrating the entire ownership lifecycle? Don&#8217;t we really need tooling like support in TFS for System Center to get where you are all talking about?&#8221;</p>
<p>Answer: It turns out that MS is solving for different phases of the overall ALM problem at different phases with different tools. TFS for developers, System Center for I.T., Project and Portfolio Server for the business folks. What ties it all together? Nothing yet. Maybe BizTalk will do the trick, eh? Right.</p>
<h2>Scrum-tastic Process Template</h2>
<p>Presented by, Mike Azocar, the author and project manager of the actual <a href="http://www.codeplex.com/VSTSScrum" target="_blank">CodePlex project</a> for the Light Weight Scrum Process Template for Team System (whew).</p>
<p>I am particularly interested in this work because of the aforementioned focus I have on customizing the <a href="http://scrumforteamsystem.com/en/default.aspx" target="_blank">Scrum process template from Conchango</a>.</p>
<p>Nuggets:</p>
<ul>
<li>An interactive system can never be fully specified &#8211; Wagner&#8217;s Law
<li>Scrum is appealing to many organizations because it is:
<ul>
<li>Simple
<li>Free
<li>Transparent
<li>Common sense</li>
</ul>
<li>&#8220;No one runs beyond 3 or 4 sprints before changing their out-of-the-box process template.&#8221; &#8211; Mike</li>
</ul>
<h2>Lastly</h2>
<p>Keep a watch on <a href="http://msdn.microsoft.com/en-us/events/teched/cc676818.aspx" target="_blank">this page</a>, which hosts videos from the Tech Ed floor. </p>
<p>Oh, and I met Richard Campbell of <a href="http://dotnetrocks.com/" target="_blank">DotNetRocks</a>. I told him it was sort of like meeting Madonna. He asked me not to follow him into the bathroom.</p>
]]></content:encoded>
			<wfw:commentRss>http://elegantcode.com/2008/06/03/tech-ed-developer-2008-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

