<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>team-foundation-server &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/team-foundation-server/</link>
	<description>Feed of posts on WordPress.com tagged "team-foundation-server"</description>
	<pubDate>Fri, 24 May 2013 15:44:16 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[THIS BLOG HAS MOVED!]]></title>
<link>http://robseder.wordpress.com/2012/11/10/this-blog-has-moved/</link>
<pubDate>Sat, 10 Nov 2012 05:20:18 +0000</pubDate>
<dc:creator>Rob Seder</dc:creator>
<guid>http://robseder.wordpress.com/2012/11/10/this-blog-has-moved/</guid>
<description><![CDATA[I&#8217;ve migrated this site over to http://blog.robertseder.com You can also find it from going to]]></description>
<content:encoded><![CDATA[I&#8217;ve migrated this site over to http://blog.robertseder.com You can also find it from going to]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Permanently Remove TFS Source Control Bindings from Visual Studio Solutions (VS2012)]]></title>
<link>http://camerondwyer.wordpress.com/2012/11/07/how-to-permanently-remove-tfs-source-control-binding-from-visual-studio-solutions-vs2012/</link>
<pubDate>Wed, 07 Nov 2012 01:18:46 +0000</pubDate>
<dc:creator>Cameron Dwyer</dc:creator>
<guid>http://camerondwyer.wordpress.com/2012/11/07/how-to-permanently-remove-tfs-source-control-binding-from-visual-studio-solutions-vs2012/</guid>
<description><![CDATA[I often have the need to distribute Visual Studio source code to external parties. Internally this s]]></description>
<content:encoded><![CDATA[<p>I often have the need to distribute Visual Studio source code to external parties. Internally this source code is under source control in Team Foundation Server (TFS).</p>
<p>It would be nice if you could just take a copy of the source files and remove the source control binding (in Visual Studio). Unfortunately I haven’t found a way to be able to do this. Even when Visual Studio says that all bindings have been removed, if you try to open up the solution you get an error message along the lines “The solution you are opening is bound to source control on the following Team Foundation Server …”</p>
<p><a href="http://camerondwyer.files.wordpress.com/2012/11/image.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" alt="image" src="http://camerondwyer.files.wordpress.com/2012/11/image_thumb.png?w=487&#038;h=230" width="487" height="230" /></a></p>
<p>Under earlier versions of Visual Studio I had used Visual Source Safe for source control and had used a utility called <a href="https://github.com/mikoskinen/vssbindingremover" target="_blank">VSSBindingRemover</a> which did the job quite effectively. It removed all source control files with the solution and project directories and modified the solution and project files themselves to remove source binding information.</p>
<p>My search for a similar tool for Visual Studio 2012 / TFS resulted in a utility available on CodePlex called <a href="http://vsunbindsourcecc.codeplex.com/" target="_blank">VSUnbindSourceControl</a>.</p>
<p>The process for removing bindings is simple:</p>
<ul>
<li>Ensure you don’t have the solution/projects open in Visual Studio</li>
<li>Copy your solution to a new directory (because the tool does modify files)</li>
<li>Run the utility from the command line: VSUnbindSourceControl.exe d:\mysolution folder</li>
</ul>
<p>Once the tool is finished, all the source control bindings have been removed from any solution and project files.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Test Attachment Cleaner]]></title>
<link>http://ssinghvi.wordpress.com/2012/11/06/test-attachment-cleaner/</link>
<pubDate>Tue, 06 Nov 2012 22:57:00 +0000</pubDate>
<dc:creator>Sid</dc:creator>
<guid>http://ssinghvi.wordpress.com/2012/11/06/test-attachment-cleaner/</guid>
<description><![CDATA[Recently we started noticing that out TFS database started growing rapidly (nearly 100 GB per month)]]></description>
<content:encoded><![CDATA[<p>Recently we started noticing that out TFS database started growing rapidly (nearly 100 GB per month). On further investigation we found that the tests that were executed as part of a CI build had some big files that were being uploaded to TFS. </p>
<p>Grant Holliday has a good blog on using the test attachment cleaner to remove these big attachments &#8211; <a title="http://blogs.msdn.com/b/granth/archive/2011/02/12/tfs2010-test-attachment-cleaner-and-why-you-should-be-using-it.aspx" href="http://blogs.msdn.com/b/granth/archive/2011/02/12/tfs2010-test-attachment-cleaner-and-why-you-should-be-using-it.aspx">http://blogs.msdn.com/b/granth/archive/2011/02/12/tfs2010-test-attachment-cleaner-and-why-you-should-be-using-it.aspx</a></p>
<p>We used the tool to clean up a lot of database space. For preventing further growth of the database we also installed the hotfix (<a title="http://support.microsoft.com/kb/2608743" href="http://support.microsoft.com/kb/2608743">http://support.microsoft.com/kb/2608743</a>) on all our build boxes.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The TF Word]]></title>
<link>http://hotchocolate05.com/2012/11/06/the-tf-word/</link>
<pubDate>Tue, 06 Nov 2012 17:05:32 +0000</pubDate>
<dc:creator>hotchocolate05</dc:creator>
<guid>http://hotchocolate05.com/2012/11/06/the-tf-word/</guid>
<description><![CDATA[This conversation is from dinner last night: Jason: Momma Jada said a bad word! Jada: No I didn]]></description>
<content:encoded><![CDATA[This conversation is from dinner last night: Jason: Momma Jada said a bad word! Jada: No I didn]]></content:encoded>
</item>
<item>
<title><![CDATA[Main Support Report. ]]></title>
<link>http://borisfrolov.wordpress.com/2012/11/05/main-support-report/</link>
<pubDate>Mon, 05 Nov 2012 09:05:09 +0000</pubDate>
<dc:creator>Boris Frolov</dc:creator>
<guid>http://borisfrolov.wordpress.com/2012/11/05/main-support-report/</guid>
<description><![CDATA[In this post I would like to speak about support reports. We have systems that are in production for]]></description>
<content:encoded><![CDATA[<p>In this post I would like to speak about support reports. We have systems that are in production for quite a long period of time. And business wants some additional changes and new functionality to be implemented to the current systems. We unite such tasks into several categories and allocate some amount of hours each month to meet business needs. From each section we have a business responsible person who determines priorities of the tasks.</p>
<p>The first part Trend Report shows how amount of work is changing for each «Support Section». We have capacity of 80 hours a month for each “Support section”.</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-1.png"><img class="alignnone size-full wp-image-116" title="TFSPost010.1" alt="" src="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-1.png?w=556&#038;h=356" height="356" width="556" /></a></p>
<p>The next part of the report is called Planning and Execution Quality:</p>
<ul>
<li>The report shows in hours:
<ul>
<li>Whether we do correct planning inside each support sections’ quotas (+-20%).</li>
<li>Whether we spend no more and not less hours for each section each month (+-20%).</li>
</ul>
</li>
</ul>
<p><a href="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-2.png"><img class="alignnone size-full wp-image-117" title="TFSPost010.2" alt="" src="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-2.png?w=640&#038;h=344" height="344" width="640" /></a></p>
<p>We’re trying to spend exactly the promised amount of hours, as on the one side we have to support our business, but on the other side we have commitments to projects and have to meet deadlines. So it’s not good if we spend too little or too much time for each Support Section.</p>
<p>The next part of the report is called Move to production report. We cannot afford to keep tasks on the test or development environments for a long period of time; they must be developed, sent to test and moved to production ASAP (as soon as possible). Tasks that are not deployed can be cleaned off by environment restore, or they can block other tasks from implemented into production (if the same files were modified inside both tasks). This report is also used in addition to Aging report (<a href="http://borisfrolov.wordpress.com/2012/10/21/aging-report/">http://borisfrolov.wordpress.com/2012/10/21/aging-report/</a>) to get the complete picture of postponed requests.</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-3.png"><img class="alignnone size-full wp-image-118" title="TFSPost010.3" alt="" src="http://borisfrolov.files.wordpress.com/2012/11/tfspost010-3.png?w=640&#038;h=351" height="351" width="640" /></a></p>
<ul>
<li>So this report shows how we move tasks to production in hours:
<ul>
<li>Active – tasks on all statuses except Finished, Tested, Closed.</li>
<li>Finished – tasks in status Finished, Tested.</li>
<li>Closed – tasks that were moved to production or cancelled.</li>
</ul>
</li>
<li>With the help of this report we can see if our work is not implemented into production environment.</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Continuous Integration with Team Build 2010]]></title>
<link>http://sebastienboinot.wordpress.com/2012/10/31/continuous-integration-with-team-build-2010/</link>
<pubDate>Wed, 31 Oct 2012 12:55:38 +0000</pubDate>
<dc:creator>sebastienboinot</dc:creator>
<guid>http://sebastienboinot.wordpress.com/2012/10/31/continuous-integration-with-team-build-2010/</guid>
<description><![CDATA[Bla bla bla]]></description>
<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/hh395023.aspx">B</a>la bla bla</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 – Overview – 2 Hours]]></title>
<link>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-overview-2-hours/</link>
<pubDate>Mon, 29 Oct 2012 05:10:41 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-overview-2-hours/</guid>
<description><![CDATA[Microsoft Team Foundation Server 2012 Overview &nbsp; Overview: This course will provide an overview]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Microsoft Team Foundation Server 2012 Overview</span></p>
<p>&#160;</p>
<p>Overview:</p>
<p>This course will provide an overview of the ‘Team Foundation Server 2012’. It will cover features and services of Team Foundation Server (TFS) 2012 including project management, source code control.</p>
<p>Duration: 2 Hour</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience as Developers or Testers or project Leads and Project Manager</li>
</ul>
<p>Course Contents</p>
<p>1. Visual Studio 2012 Overview                                                                                 1 Hour</p>
<p>2. Project Management features</p>
<ul>
<li>Introduction to the Project Management features</li>
<li>Demonstration
<ul>
<li>Team Project Collection</li>
<li>Team Project Creation</li>
<li>Work item tracking</li>
<li>Traceability between work items</li>
<li>Agile Project Management features through Web Access</li>
<li>Team Portal</li>
<li>Reports</li>
<li>Storyboarding capabilities</li>
<li>Microsoft Feedback Client</li>
</ul>
</li>
</ul>
<p>&#160;</p>
<p>3. Enterprise ready Source Code Control                                                    1 Hour</p>
<ul>
<li>Introduction to Enterprise ready Source Code Control</li>
<li>Demonstration
<ul>
<li>Checkouts / Check-ins</li>
<li>Branch Visualization</li>
<li>Suspend and Resume</li>
<li>Check-in policies</li>
</ul>
</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 – Overview – 1 Day]]></title>
<link>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2010-overview-1-day-2/</link>
<pubDate>Mon, 29 Oct 2012 05:08:30 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2010-overview-1-day-2/</guid>
<description><![CDATA[Microsoft Team Foundation Server Overview Overview: This course will provide an overview of the ‘Tea]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Microsoft Team Foundation Server Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the ‘Team Foundation Server 2012’. It will cover features and services of Team Foundation Server 2012 including project management, Version control, and team build.</p>
<p>Duration: 1 Day</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience as Developers or Testers or project Leads and Project Manager</li>
</ul>
<p>Course Contents</p>
<p>Day 1:</p>
<p>1. Visual Studio 2012 Overview</p>
<p>2. Project Management features</p>
<ul>
<li>Introduction to the Project Management features</li>
<li>Demonstration
<ul>
<li>Team Project Collection</li>
<li>Team Project Creation</li>
<li>Work item tracking</li>
<li>Work item linking &#38; hierarchy</li>
<li>Agile Project Management features through Web Access</li>
<li>Team Portal</li>
<li>Reports</li>
<li>Storyboarding capabilities</li>
<li>Microsoft Feedback Client</li>
</ul>
</li>
</ul>
<p>3. Enterprise ready Source Code Control</p>
<ul>
<li>Introduction to Enterprise ready Source Code Control</li>
<li>Demonstration
<ul>
<li>Checkouts / Check-ins</li>
<li>Branch Visualization</li>
<li>Suspend and Resume</li>
<li>Check-in policies</li>
<li>Using the TFS Rollback command</li>
<li>Understanding Workspaces</li>
</ul>
</li>
</ul>
<p>4.  Team Build Features</p>
<ul>
<li>Introduction to Team Build features</li>
<li>Demonstration
<ul>
<li>Configuring builds</li>
<li>Gated Check-in</li>
<li>Scheduling builds</li>
<li>Build agent pooling</li>
</ul>
</li>
</ul>
<p>&#160;</p>
<p>5. TFS Report Features</p>
<ul>
<li>Introduction to TFS Report Features</li>
<li>Demonstration
<ul>
<li>Built in reports</li>
<li>Accessing reports from various client tools</li>
</ul>
</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 – Overview – 0.5 days]]></title>
<link>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2010-overview-0-5-days-2/</link>
<pubDate>Mon, 29 Oct 2012 05:06:35 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2010-overview-0-5-days-2/</guid>
<description><![CDATA[Microsoft Team Foundation Server 2012 Overview Overview: This course will provide an overview of the]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Microsoft Team Foundation Server 2012 Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the ‘Team Foundation Server 2012’. It will cover features and services of Team Foundation Server (TFS) 2012 including project management, source code control, team build and reporting.</p>
<p>Duration: Half Day</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience as Developers or Testers or project Leads and Project Manager</li>
</ul>
<p>Course Contents</p>
<p>1. Visual Studio 2012 Overview</p>
<p>2. Project Management features</p>
<ul>
<li>Introduction to the Project Management features</li>
<li>Demonstration
<ul>
<li>Team Project Collection</li>
<li>Team Project Creation</li>
<li>Work item tracking</li>
<li>Traceability between work items</li>
<li>Agile Project Management features through Web Access</li>
<li>Team Portal</li>
<li>Reports</li>
<li>Storyboarding capabilities</li>
<li>Microsoft Feedback Client</li>
</ul>
</li>
</ul>
<p>&#160;</p>
<p>3. Enterprise ready Source Code Control</p>
<ul>
<li>Introduction to Enterprise ready Source Code Control</li>
<li>Demonstration
<ul>
<li>Checkouts / Check-ins</li>
<li>Branch Visualization</li>
<li>Suspend and Resume</li>
<li>Check-in policies</li>
</ul>
</li>
</ul>
<p>&#160;</p>
<p>4. Introduction to Team Build Features</p>
<ul>
<li>Introduction to Team Build features</li>
<li>Demonstration
<ul>
<li>Configuring builds</li>
<li>Gated Check-in</li>
<li>Scheduling builds</li>
<li>Build agent pooling</li>
</ul>
</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 Administration – 3 Days]]></title>
<link>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-administration-3-days/</link>
<pubDate>Mon, 29 Oct 2012 05:02:33 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-administration-3-days/</guid>
<description><![CDATA[Visual Studio 2012 (VS 2012) Administration Overview Overview: This course will provide an overview]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Visual Studio 2012 (VS 2012) Administration Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the administration and configuration of ‘Visual Studio 2012’. It will cover introduction to VS 2012, Team Foundation Server (TFS) and VS 2012 administration namely installing and Configuring Microsoft Team Foundation Server, permission settings, creation of team project collection and team projects, configure Build and customize process template.</p>
<p>Duration: 3 Day</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience using Virtual PC software, Visual Studio IDE, SharePoint Foundation, and SQL Reporting Services.</li>
</ul>
<p>Course Contents</p>
<p>Day 1:</p>
<p>1.  Introducing Team Foundation Server 2012</p>
<ul>
<li>Overview of the Visual Studio 2012 family</li>
<li>Overview of TFS architecture</li>
<li>Installing and configuring TFS prerequisites</li>
<li>Planning a TFS Deployment for different scenarios</li>
<li>TFS 2012 Installation</li>
</ul>
<p>&#160;</p>
<p>2.  Migrating to TFS</p>
<ul>
<li>Overview of Migration Options</li>
<li>Upgrading from previous versions of TFS</li>
<li>Migrating from Visual SourceSafe</li>
</ul>
<p>&#160;</p>
<p>3.  Managing TFS instances</p>
<ul>
<li>Using the TFS Administration Console</li>
<li>TFS Backup and Restore strategies</li>
<li>Managing a TFS Instance</li>
<li>Managing TFS Health and Availability</li>
<li>Managing TFS service accounts</li>
</ul>
<p>&#160;</p>
<p>Day 2:</p>
<p>4.  Creating and managing Team Projects</p>
<ul>
<li>Creating Team Projects</li>
<li>Understanding Team Project Collections</li>
<li>Deleting Team Projects</li>
</ul>
<p>5.  Managing Security and Permissions</p>
<ul>
<li>Overview of TFS security</li>
<li>Configuring security using standard groups</li>
<li>Understanding and configuring Teams</li>
<li>Fine-grain security options</li>
<li>Troubleshooting security</li>
</ul>
<p>6.  Working with Work Items</p>
<ul>
<li>Overview of Work Item Tracking</li>
<li>Creating custom work item queries</li>
<li>Configuring alerts</li>
</ul>
<p>7.  Source Control Configuration</p>
<ul>
<li>Create source control folder structures</li>
<li>Setting team project wide source control settings</li>
<li>Setup and manage workspaces</li>
<li>Understanding branching and merging</li>
<li>Using the TF command line utility</li>
<li>Using the TFS Rollback command</li>
<li>Backward compatibility using the MSSCCI provider</li>
</ul>
<p>8.  Team Build</p>
<ul>
<li>Installing and configuring the Build Controller and Agents</li>
<li>Understanding Build workflow</li>
<li>Defining  and executing the Team Build</li>
</ul>
<p>&#160;</p>
<p>Day 3:</p>
<p>9.  Managing Process Templates</p>
<ul>
<li>Understanding project templates</li>
<li>Basics of template customization</li>
<li>Adding new fields to Work Item Types</li>
<li>Adding new Work Item Types</li>
<li>Adding new queries and reports</li>
<li>Updating an upgraded Team Project</li>
</ul>
<p>10.  Reporting</p>
<ul>
<li>Understanding the Reporting Architecture</li>
<li>Adding new reports</li>
<li>Creating ad-hoc reports using Excel</li>
<li>TFS Warehouse and OLAP Cube overview</li>
</ul>
<p>11.  Useful third party tools</p>
<ul>
<li>Power Tools</li>
<li>Third party products</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 Administration – 2 Days]]></title>
<link>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-administration-2-days/</link>
<pubDate>Mon, 29 Oct 2012 05:00:18 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/29/team-foundation-server-2012-administration-2-days/</guid>
<description><![CDATA[Visual Studio 2012 (VS 2012) Administration Overview Overview: This course will provide an overview]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Visual Studio 2012 (VS 2012) Administration Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the administration and configuration of ‘Visual Studio 2012’. It will cover introduction to VS 2012, Team Foundation Server (TFS) and VS 2012 administration namely installing and Configuring Microsoft Team Foundation Server, permission settings, creation of team project collection and team projects, configure Build and customize process template.</p>
<p>Duration: 2 Day</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience using Virtual PC software, Visual Studio IDE, SharePoint Foundation, and SQL Reporting Services.</li>
</ul>
<p>Course Contents</p>
<p>Day 1:</p>
<p>1.  Introducing Team Foundation Server 2012</p>
<ul>
<li>Overview of the Visual Studio 2012 family</li>
<li>Overview of TFS architecture</li>
<li>Installing and configuring TFS prerequisites</li>
<li>Planning a TFS Deployment for different scenarios</li>
<li>TFS 2012 Installation</li>
</ul>
<p>2.   Managing TFS instances</p>
<ul>
<li>Using the TFS Administration Console</li>
<li>TFS Backup and Restore strategies</li>
<li>Managing a TFS Instance</li>
<li>Managing TFS Health and Availability</li>
<li>Managing TFS service accounts</li>
</ul>
<p>3.   Creating and managing Team Projects</p>
<ul>
<li>Creating Team Projects</li>
<li>Understanding Team Project Collections</li>
<li>Deleting Team Projects</li>
</ul>
<p>4.   Managing Security and Permissions</p>
<ul>
<li>Overview of TFS security</li>
<li>Configuring security using standard groups</li>
</ul>
<p>Day 2:</p>
<p>5.   Working with Work Items</p>
<ul>
<li>Overview of Work Item Tracking</li>
<li>Creating custom work item queries</li>
<li>Configuring alerts</li>
</ul>
<p>6.   Source Control Configuration</p>
<ul>
<li>Setup and manage workspaces</li>
<li>Understanding branching and merging</li>
<li>Using the TFS Rollback command</li>
<li>Backward compatibility using the MSSCCI provider</li>
</ul>
<p>7.   Team Build</p>
<ul>
<li>Installing and configuring the Build Controller and Agents</li>
<li>Understanding Build workflow</li>
<li>Defining  and executing the Team Build</li>
</ul>
<p>8.   Managing Process Templates</p>
<ul>
<li>Understanding project templates</li>
<li>Basics of template customization</li>
<li>Adding new fields to Work Item Types</li>
<li>Adding new Work Item Types</li>
</ul>
<p>9.   Reporting</p>
<ul>
<li>Understanding the Reporting Architecture</li>
<li>Adding new reports</li>
<li>Creating ad-hoc reports using Excel</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Every day\every week planning: Two last reports]]></title>
<link>http://borisfrolov.wordpress.com/2012/10/28/every-dayevery-week-planning-two-last-reports/</link>
<pubDate>Sun, 28 Oct 2012 09:41:00 +0000</pubDate>
<dc:creator>Boris Frolov</dc:creator>
<guid>http://borisfrolov.wordpress.com/2012/10/28/every-dayevery-week-planning-two-last-reports/</guid>
<description><![CDATA[This post will end the first look on every day\every week planning with two reports: Hours Planned f]]></description>
<content:encoded><![CDATA[<p>This post will end the first look on every day\every week planning with two reports: Hours Planned for Developers and Triage.</p>
<p>The report Hours Planned for Developers gives simple picture what workload developers have on each week:</p>
<ul>
<li>Whether there are hours that stay in the past.</li>
<li>Whether developer does not have enough work to do</li>
<li>Whether developer is overloaded</li>
</ul>
<p>The report looks like the following:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/hours-planned-for-developers.png"><img class="alignnone size-full wp-image-112" title="Hours Planned for Developers" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/hours-planned-for-developers.png?w=640&#038;h=313" height="313" width="640" /></a></p>
<p>The report is usually used together with Project Capacity report and they provide me with the full information of planning status in the team.</p>
<p>The last report is Triage report. This report is included in TFS 2008 pack, so I have just modify it a bit to fit my needs. The report shows how many tasks are not analyzed by IT (are not accepted by IT manager and do not have estimated number of planned hours).</p>
<p>We use the following control metrics:</p>
<ul>
<li>Not more than 5 Change Request must be triaged.</li>
<li>Not more than 1 Error, 1 Support, 1 Data Edit and 1 Internal Request must be triaged.</li>
</ul>
<p>This report helps me to have estimated amount of work in hours we have to do. So all reports that are based on amount of work we have to do are working correctly.</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/triage.png"><img class="alignnone size-full wp-image-111" title="Triage" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/triage.png?w=594&#038;h=373" height="373" width="594" /></a></p>
<p>The next posts will be dedicated to planning and evaluation support process of existence systems.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 Administration – 1 Day]]></title>
<link>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administration-1-day/</link>
<pubDate>Fri, 26 Oct 2012 10:42:42 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administration-1-day/</guid>
<description><![CDATA[Visual Studio 2012 (VS 2012) Administration Overview Overview: This course will provide an overview]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Visual Studio 2012 (VS 2012) Administration Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the administration and configuration of ‘Visual Studio 2012’. It will cover introduction to VS 2012, Team Foundation Server (TFS) and VS 2012 administration namely installing and Configuring Microsoft Team Foundation Server, permission settings, creation of team project collection and team projects, configure Build and customize process template.</p>
<p>Duration: 1 Day</p>
<p>Pre-Requisites for the course:</p>
<p>Participants should have</p>
<ul>
<li>Experience using Virtual PC software, Visual Studio IDE, SharePoint Foundation, and SQL Reporting Services.</li>
</ul>
<p>Course Contents</p>
<p>1. Visual Studio 2012 Overview</p>
<p>2. Installing and Configuring Microsoft Team Foundation Server (TFS)</p>
<ul>
<li>Planning a TFS Deployment</li>
<li>Planning a TFS Installation</li>
<li>Installing TFS</li>
<li>Validating Installation</li>
<li>Configuring TFS Components</li>
</ul>
<p>3. Administering Team Foundation Server Instances and Team Projects</p>
<ul>
<li>Managing a TFS Instance</li>
<li>Managing Team Projects</li>
<li>Configuring Authorization and Security for TFS</li>
<li>Managing TFS Users and Groups</li>
<li>Managing TFS Health and Availability</li>
<li>Managing TFS service accounts</li>
</ul>
<p>4. Administering and Customizing Process Templates</p>
<ul>
<li>Exploring an Existing Process Template</li>
<li>Customizing a Process Template</li>
<li>Customizing Work Item Types</li>
</ul>
<p>5. Administering Team Foundation Server Version Control</p>
<ul>
<li>Working with Team Foundation Version Control</li>
<li>Advanced Functionality of Version Control</li>
<li>Configuring Version Control Security</li>
</ul>
<p>6. Administering Team Foundation Build</p>
<ul>
<li>Introducing Team Foundation Build</li>
<li>Configuring Team Foundation Build Definitions</li>
<li>Running a Team Build</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 Administration(System Admins) – 1 Day]]></title>
<link>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administrationsystem-admins-1-day/</link>
<pubDate>Fri, 26 Oct 2012 10:39:07 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administrationsystem-admins-1-day/</guid>
<description><![CDATA[Visual Studio 2012 (VS 2012) Administration Overview Overview: This course will provide an overview]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Visual Studio 2012 (VS 2012) Administration Overview</span></p>
<p>Overview:</p>
<p>This course will provide an overview of the administration and configuration of ‘Visual Studio 2012’. It will cover introduction to VS 2012, Team Foundation Server (TFS) and VS 2012 administration namely installing and Configuring Microsoft Team Foundation Server, permission settings, creation of team project collection and team projects, configure Build and customize process template.</p>
<p>Duration: 1 Day</p>
<p>Course Contents</p>
<p>1. Visual Studio 2012 Overview</p>
<p>2. Installing and Configuring Microsoft Team Foundation Server (TFS)</p>
<ul>
<li style="text-align:left;">Planning a TFS Deployment</li>
<li style="text-align:left;">Planning a TFS Installation</li>
<li style="text-align:left;">Installing TFS</li>
<li style="text-align:left;">Validating Installation</li>
<li style="text-align:left;">Configuring TFS Components</li>
</ul>
<p>3.  Administering Team Foundation Server Instances and Team Projects</p>
<ul>
<li>Managing a TFS Instance</li>
<li>Managing Team Projects</li>
<li>Configuring Authorization and Security for TFS</li>
<li>Managing TFS Users and Groups</li>
<li>Managing TFS Health and Availability</li>
<li>Managing TFS service accounts</li>
</ul>
<p>4.  Migration and Upgrade from older TFS version to TFS 2012</p>
<ul>
<li>Migrate\upgrade from TFS 2010 to TFS 2012</li>
<li>Migrate\upgrade from TFS 2008 to TFS 2012</li>
<li>Selecting a Disaster Recovery Plan for TFS (Back-up and Restore)</li>
<li>Back and restore of individual Team Project Collection</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Team Foundation Server 2012 - Administration - 5 days]]></title>
<link>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administration-5-days/</link>
<pubDate>Fri, 26 Oct 2012 10:35:50 +0000</pubDate>
<dc:creator>Nagaraj Bhairaji</dc:creator>
<guid>http://ecanarys.wordpress.com/2012/10/26/team-foundation-server-2012-administration-5-days/</guid>
<description><![CDATA[Microsoft Team Foundation Server 2012 Overview About this Course: This five-day instructor-led cours]]></description>
<content:encoded><![CDATA[<p><span style="text-decoration:underline;">Microsoft Team Foundation Server </span><span style="text-decoration:underline;">2012 Overview</span></p>
<p>About this Course:</p>
<p>This five-day instructor-led course provides candidates with the knowledge and skills to manage Microsoft Team Foundation Server 2012.  The course focuses on the technologies used in Team Foundation Server 2012 and the techniques used to deploy, manage and support Team Foundation Server 2012.</p>
<p>Audience Profile</p>
<p>This course is intended for novice experienced administrators with either a background in software development or a background in system administration.  This course is intended to provide administrators with knowledge to effectively manage and administer TFS 2012.</p>
<p>This course is not intended to provide developers with comprehensive knowledge covering how to use Team Foundation Server to support development, but instead provides administrators with the requisite knowledge to manage Team Foundation Server in a development environment</p>
<p>At Course Completion</p>
<p>After completing this course, candidates will be able to:</p>
<ul>
<li>Plan for and deploy Team Foundation Server.</li>
<li>Manage Tam Foundation Server security and permissions.</li>
<li>Configure and manage Team Foundation Server Build.</li>
<li>Perform basic customization of Process Templates, work items and workflow.</li>
<li>Support developers that use workspaces and shelvesets.</li>
<li>Deploy Team Server Proxy.</li>
<li>Backup, restore and monitor Team Foundation</li>
</ul>
<p><b>This course contains Hands on Labs as well.</b></p>
<p>Duration: 5 Days</p>
<p>Course Contents</p>
<p>Day 1:</p>
<p>Introduction to Team Foundation Server Administration</p>
<p>This module introduces the candidate to the TFS administration process by explaining, in brief, the development process, how TFS supports a development environment and the role of the administrator in supporting the development process.  Application Lifecycle Management concepts will be explained and TFS specific terminology will be defined and explained. Candidates will be introduced to the responsibilities of administering TFS 2012</p>
<p><b>Lessons </b></p>
<ul>
<li>What is Application Lifecycle Management?</li>
<li>Visual Studio and Application Lifecycle Management</li>
<li>What is Team Foundation Server?</li>
<li>Overview of the Development Process</li>
<li>TFS Components and Terms</li>
<li>Role of the Administrator in the Development Process</li>
<li>TFS Administration Overview</li>
</ul>
<p><b>Lab: Becoming Familiar with Hyper-V</b></p>
<ul>
<li>Candidates will be instructed in the use of Hyper-V and the corresponding lab images.</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe the ALM Model</li>
<li>Describe how TFS supports ALM</li>
<li>Be able to identify the responsibilities and various tasks a TFS administrator performs in a development environment</li>
</ul>
<p>Day 2 &#38; 3:</p>
<p><b>Planning and Deploying TFS 2012</b></p>
<p>This module explains how to plan for, install and configure TFS.  Candidates will become familiar with the architectural requirements and options, installation steps and basic TFS topological and configuration options.  Instructors will cover the basic knowledge required to deploy TFS and supply foundational information that will be required for successful completion of other modules.</p>
<p><b>Lessons </b></p>
<ul>
<li>TFS Topologies</li>
<li>Architectural requirements, Hardware considerations and Software considerations</li>
<li>Networking requirements including firewall and ports</li>
<li>Domain, Workgroup and Service accounts</li>
<li>SQL Server and SharePoint requirements</li>
<li>Topology considerations for small teams, single server, existing infrastructure or more than 1 server,      and server farms</li>
<li>Planning for Version Control Proxy</li>
</ul>
<p><b>Lab: Installing TFS</b></p>
<ul>
<li>Verifying IIS 7.0 is installed on Windows 7</li>
<li>Preparing for Installing Team Foundation Server</li>
<li>Installing SQL Express using the TFS Configuration Tool</li>
</ul>
<p><b>Lab: Installing TFS</b></p>
<ul>
<li>Verifying IIS 7.0 is installed on Windows server 2008</li>
<li>Preparing for Installing Team Foundation Server</li>
<li>Installing SQL server 2008</li>
<li>Installing and configuring TFS 2012 with Advanced option</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe the various TFS Topologies</li>
<li>Describe the architectural requirements, hardware and software considerations when planning to deploy      Team Foundation Server</li>
<li>Plan for Domain and Workgroup service accounts for TFS</li>
<li>Describe the SQL Server and SharePoint requirements for an effective TFS 2012 deployment</li>
<li>Deploy TFS in a small environment</li>
<li>Deploy TFS on a Single Server</li>
<li>Describe the process for deploying TFS on various Topologies<b> </b></li>
</ul>
<p><b>Configuration and Operations of TFS 2012</b></p>
<p>This module explains the basic principles of configuration and operation of TFS 2012.  Candidates will become familiar with the various TFS security groups and permissions, the practice of administering project collections and team projects, and the administrative knowledge required to support Build.  Candidates will also review administrative information on testing and configuring reporting and analysis services.</p>
<p><b>Lessons </b></p>
<ul>
<li>Default TFS Security groups and configuring permissions</li>
<li>Managing team project collections and team projects</li>
<li>Managing the TFS build System</li>
<li>Configuring Reporting and Analysis Services<b> </b></li>
</ul>
<p><b>Lab: Working with Team Project Collections and Team Projects</b></p>
<ul>
<li>Create a team project collection and team project</li>
<li>Modify the root folder for report subfolders</li>
</ul>
<p><b>Lab: Configuring Security and Permissions</b></p>
<ul>
<li>Configuring Security and Permissions</li>
<li>Authorizing Access to a Team Foundation Server Projection</li>
<li>Modifying SharePoint Services security</li>
<li>Modifying SQL Server Reporting Services Security</li>
</ul>
<p><b>Lab: Reconfiguring Reporting and Analysis Services</b></p>
<ul>
<li>Reconfiguring Reporting and Analysis Services</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Work with TFS Security groups and TFS permissions</li>
<li>Create and manage team project collections and team projects</li>
<li>Manage the TFS build system</li>
<li>Configure Reporting and Analysis services</li>
</ul>
<p>Day 4:</p>
<p><b>Client Connectivity</b></p>
<p>This module covers the various clients that can be used to connect to Team Foundation Server 2012.  Candidates will connect to TFS 2012 with Team Explorer, Microsoft Office Excel 2012 and Team Web Access.  Candidates will review the different license requirements, different clients that can be used to connect to TFS and will be able to describe how to configure Visual Studio and Team Explorer for Team Server Proxy.</p>
<p><b>Lessons </b></p>
<ul>
<li>Client Connectivity License Requirements</li>
<li>IDE Configuration for TFS Integration</li>
<li>Team Explorer 2012</li>
<li>Microsoft Office Connectivity</li>
<li>Team Web Access</li>
<li>Configuring Visual Studio and Team Explorer for Proxy Server</li>
<li>Resolving TFS connectivity issues</li>
</ul>
<p><b>Lab: Add Work Items Using Excel</b></p>
<ul>
<li>Add Work Items using Excel</li>
</ul>
<p><b>Lab: Use Team Web Access to connect to TFS</b></p>
<ul>
<li>Use Team Web Access to connect to TFS</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe the client connectivity license requirements</li>
<li>Connect to Team Foundation Server using Team Explorer, Team Web Access and Excel</li>
<li>Publish data to Team foundation Server using Excel</li>
<li>Describe how to configure Team Server Proxy</li>
</ul>
<p><b>Customization of Team Projects</b></p>
<p>This module explains how to customize team project workflow, work item features. Candidates will work with the Team Foundation Server Power Tools and modify the existing project workflow and work items.  Candidates will also create work item queries and modify work item templates.</p>
<p><b>Lessons </b></p>
<ul>
<li>Managing Work item Queries</li>
<li>Customizing Work items and Workflow</li>
<li>TFS Power tools</li>
<li>Reporting</li>
</ul>
<p><b>Lab: Working with Queries</b></p>
<ul>
<li>Creating a Query Folder, Subfolder and new Query</li>
<li>Copying work Item Queries</li>
<li>Renaming Work Item Queries</li>
<li>Moving a Query<b> </b></li>
</ul>
<p><b>Lab: Administering Work Items</b></p>
<ul>
<li>Create Add a new Work Item Type</li>
<li>Create a New Global List</li>
<li>Explore an existing process template</li>
<li>Customize a process template</li>
<li>Customize the fields of a work item</li>
<li>Customize work item type</li>
</ul>
<p><b>Lab: Setting up Alerts</b></p>
<ul>
<li>Setting up an Alert</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Create, modify and manage Work Item Queries</li>
<li>Create new Work Item Types</li>
<li>Customize Work Items</li>
<li>Create new Process Templates</li>
<li>Create new global lists</li>
<li>Setup alerts</li>
</ul>
<p><b>Module 6: Administering Version Control</b></p>
<p>This module explains how to administer version control in Team Foundation Server.  Candidates will review the processes for managing workspaces, work with branching and merging, create shelve sets and discuss the 5 key scenarios for using shelvesets.</p>
<p><b>Lessons </b></p>
<ul>
<li>Managing Workspaces</li>
<li>Administering Branching and Merging</li>
<li>Managing Shelvesets</li>
</ul>
<p><b>Lab: Administering Version Control</b></p>
<ul>
<li>Managing Workspaces</li>
<li>Branching and Merging</li>
<li>Version Policies and Settings</li>
<li>Working with labels and Shelvesets</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Create, modify and remove workspaces</li>
<li>Describe what administrators need to know to administer workspaces</li>
<li>Describe the use of cloaking and uncloaking folders</li>
<li>Describe how to effectively manage workspaces</li>
<li>Describe the effects branching and merging has on the server environment</li>
<li>Describe the use of shelvesets and what administrators need to be aware of when working with shelvesets</li>
</ul>
<p>Day 5:</p>
<p><b>Upgrading, Migrating, and Integration</b></p>
<p>This module covers the process of upgrading to Team Foundation Server, migrating data to Team Foundation Server and how to integrate Team Foundation Server with other Source Control systems.</p>
<p><b>Lessons </b></p>
<ul>
<li>Upgrading to TFS 2012</li>
<li>Migrating to TFS 2012</li>
<li>Visual Source Safe Migrations</li>
<li>Integration with TFS</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe the various methods for upgrading to TFS 2012</li>
<li>Describe how to migrate to TFS 2012</li>
<li>Describe the process for migrating from Visual Source Safe</li>
<li>Describe integrating other systems with TFS 2012</li>
</ul>
<p><b>Advanced Administration</b></p>
<p>This module explains several different advanced administration topics that expand on concepts covered in previous modules.  Candidates will review the process of installation validation, advanced management of TFS Application and Data Tiers, Rebuilding a warehouse, moving a TFS instance to a new server or new domain, and installing and configuring Team Foundation Server Proxy.</p>
<p><b>Lessons </b></p>
<ul>
<li>Validating an installation</li>
<li>Manual configuration of SharePoint and reporting services post-installation</li>
<li>Advanced management of TFS Application and Data Tiers</li>
<li>Rebuilding the Warehouse</li>
<li>Service Account management</li>
<li>Version Control Proxy Deployment</li>
<li>Fault Tolerant Solutions</li>
</ul>
<p><b>Lab: Configuring Email Alerts</b></p>
<ul>
<li>Configuring SMTP for email alerts</li>
</ul>
<p><b>Lab: Deploy and Configure a Version Control Proxy</b></p>
<ul>
<li>Deploy and configuring a Team Server Proxy</li>
</ul>
<p><b>Lab: Deploy a new Build Controller</b></p>
<ul>
<li>Configuring a Build Machine</li>
<li>Creating a Team Build</li>
</ul>
<p><b>Lab: Deploy a new Application Tier</b></p>
<ul>
<li>Configuring a new Application Tier Server</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe how to validate an installation</li>
<li>Manually configure SharePoint and reporting services</li>
<li>Deploy a new App-tier</li>
<li>Deploy a new Build Controller</li>
<li>Deploy and configure a Team Server Proxy</li>
<li>Describe the various TFS Fault Tolerant Solutions</li>
</ul>
<p><b>Backup, Restore and Monitoring TFS 2012</b></p>
<p>This module explains how backup and restore Team Foundation Server 2012 and the best practices for monitoring TFS 2012.  Candidates will review the various tools for monitoring TFS 2012 and will review the steps for backing up and restoring TFS in a disaster recovery situation.</p>
<p><b>Lessons </b></p>
<ul>
<li>Backing Up TFS 2012</li>
<li>Restoring TFS 2012</li>
<li>Monitoring TFS 2012</li>
</ul>
<p><b>Lab: Monitoring TFS 2012</b></p>
<ul>
<li>Run the Best Practices Analyzer</li>
</ul>
<p>After completing this module, candidates will be able to:</p>
<ul>
<li>Describe the process for Backing up and restoring TFS 2012</li>
<li>Describe the various tools for monitoring TFS 2012</li>
<li>Run the Best Practices Analyzer to monitor TFS 2012</li>
</ul>
<p><b>Additional Reading</b></p>
<p>To help you prepare for this class, review the following resources:</p>
<ul>
<li>TFS Administration Guide</li>
<li>TFS Installation Guide</li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Reusable Editors - TFS build arguments]]></title>
<link>http://devtfs.wordpress.com/2012/10/23/reusable-editors-tfs-build-arguments/</link>
<pubDate>Tue, 23 Oct 2012 15:29:07 +0000</pubDate>
<dc:creator>gyoreg</dc:creator>
<guid>http://devtfs.wordpress.com/2012/10/23/reusable-editors-tfs-build-arguments/</guid>
<description><![CDATA[TFS uses the &#8220;standard&#8221; PropertyEditor control to set up the arguments for a build defin]]></description>
<content:encoded><![CDATA[<p>TFS uses the &#8220;standard&#8221; PropertyEditor control to set up the arguments for a build definition. This isn&#8217;t bad &#8211; gives a pretty flexible way to specify our build parameters. TFS can recognize many data types, and use the corresponding custom editor automatically, however you might often need to have more&#8230; But no problem, you can define your own&#8230;</p>
<p>Hereby I collected some editors which are available in .Net 4 or in TFS2010 assemblies. You can find some further help on usage below also.</p>
<h2>&#8220;Built-in&#8221; Editors</h2>
<p>These &#8220;out-of-the-box&#8221; editors can be used for your build arguments. They are part of <a class="zem_slink" title="Team Foundation Server" href="http://en.wikipedia.org/wiki/Team_Foundation_Server" target="_blank" rel="wikipedia">TFS</a> DLLs (and coming with Visual Studio), or part of .Net 4 framework.</p>
<h4>File / Folder Browsing</h4>
<table>
<thead>
<tr>
<th style="text-align:left;">Function</th>
<th style="text-align:left;">Class, Assembly</th>
</tr>
</thead>
<tbody>
<tr>
<td>Server folder browser</td>
<td>Microsoft.TeamFoundation.Build.Controls.ServerFolderBrowserEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td>Server file browser</td>
<td>Microsoft.TeamFoundation.Build.Controls.ServerFileBrowserEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td>Local folder browser*</td>
<td>System.Windows.Forms.Design.FolderNameEditor, System.Design</td>
</tr>
<tr>
<td>Local file browser*</td>
<td>System.Windows.Forms.Design.FileNameEditor, System.Design</td>
</tr>
</tbody>
</table>
<p><em>* consider, that local pathes is not available from other computer obviously. For network pathes FQDN might be required dpending on network topolgy. Also enure sufficient permission to the build service user(s).</em></p>
<h4>TFS Build Related Editors</h4>
<table>
<thead>
<tr>
<th style="text-align:left;">Function</th>
<th style="text-align:left;">Class, Assembly</th>
</tr>
</thead>
<tbody>
<tr>
<td>Build Agent selector</td>
<td>Microsoft.TeamFoundation.Build.Controls.BuildAgentSelectionEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td>Buld Number Format Editor </td>
<td>Microsoft.TeamFoundation.Build.Controls.BuildNumberFormatEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.BuildProjectListEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.BuildSettingsEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.PlatformConfigurationListEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.TagsEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.TestSpecEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.TestSpecListEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
<tr>
<td> </td>
<td>Microsoft.TeamFoundation.Build.Controls.WorkItemTypeSelectionEditor, Microsoft.TeamFoundation.Build.Controls</td>
</tr>
</tbody>
</table>
<h4> </h4>
<h4>Other Editors</h4>
<p>Below editors (UITypeEditor child classes) are available in .Net4 &#8211; however I did not check whether they are really usable here or not (most probably you won&#8217;t need to specify a color for your build&#8230;). However you can try to get them worked, if you&#8217;d really like to.</p>
<p>Microsoft.TeamFoundation.Build.Controls.dll:<br />
&#8212;&#8211;<br />
Microsoft.TeamFoundation.Build.Controls.EnumPropertyEditor<br />
Microsoft.TeamFoundation.Build.Controls.StringListEditor</p>
<p>System.Design.dll:<br />
&#8212;&#8211;<br />
System.ComponentModel.Design.CollectionEditor<br />
System.ComponentModel.Design. BinaryEditor<br />
System.ComponentModel.Design.DateTimeEditor<br />
System.ComponentModel.Design.MultilineStringEditor<br />
System.ComponentModel.Design.ObjectSelectorEditor<br />
System.Windows.Forms.Design.FileNameEditor (+)<br />
System.Windows.Forms.Design.FolderNameEditor (+)<br />
System.Windows.Forms.Design.FormatStringEditor<br />
System.Windows.Forms.Design.ImageIndexEditor (??)<br />
System.Windows.Forms.Design.LinkAreaEditor<br />
System.Windows.Forms.Design.MaskedTextBoxTextEditor<br />
System.Windows.Forms.Design.MaskPropertyEditor<br />
System.Windows.Forms.Design.ShortcutKeysEditor<br />
System.Web.UI.Design.ConnectionStringEditor<br />
System.Web.UI.Design.UrlEditor<br />
System.Web.UI.Design.XmlFileEditor<br />
System.Web.UI.Design.RegexTypeEditor<br />
System.Web.UI.Design.SqlDataSourceQueryEditor</p>
<p>System.Drawing.Design.dll:<br />
&#8212;&#8211;<br />
System.Drawing.Design.ImageEditor<br />
System.Drawing.Design.ColorEditor<br />
System.Drawing.Design.ContentAlignmentEditor<br />
System.Drawing.Design.CursorEditor<br />
System.Drawing.Design.FontEditor<br />
System.Drawing.Design.FontNameEditor<br />
System.Drawing.Design.IconEditor</p>
<p>System.Workflow.Activities.dll:<br />
&#8212;&#8211;<br />
System.Workflow.Activities.WebServicePickerEditor<br />
System.Workflow.Activities.StateDropDownEditor<br />
System.Workflow.Activities.ImageBrowserEditor<br />
System.Workflow.Activities.LogicalExpressionEditor</p>
<h2> Need more?</h2>
<p>Oshry Horn explained in his <a title="How to: Use The Internal Microsoft Custom UI Type Editors In TFS 2010 Build Definition" href="http://blogs.microsoft.co.il/blogs/oshryhorn/archive/2011/03/22/how-to-use-the-internal-microsoft-custom-ui-type-editors-in-tfs-2010-build-definition.aspx" target="_blank">blog</a>, how to find further editors.</p>
<h2>How to Use Custom Editors for Arguments?</h2>
<p>There are two ways of doing this. One is to specify the editor for your property in the class definition with the <em>EditorAttribute </em>attribute:</p>
<pre><code><span style="color:#0000ff;">public class </span><span style="color:#008080;">MyClass</span> {

  </code>[<span style="color:#008080;">Editor</span>(<span style="color:#800000;">"Microsoft.TeamFoundation.Build.Controls.ServerFolderBrowserEditor,"</span> +
          <span style="color:#800000;">"</span><span style="color:#800000;">Microsoft.TeamFoundation.Build.Controls"</span>, <span style="color:#0000ff;">typeof</span>(<span style="color:#008080;">UITypeEditor</span>))]

  <span style="color:#0000ff;">public string</span> MySeverPath{ <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span>; }
  // ...

}</pre>
<p>The second way is if you specify a custom editor in the Metadata build workflow property. It is desribed in many blogs and books:</p>
<ul>
<li><a title="TFS Build: using the built-in editors" href="http://bartwullems.blogspot.de/2012/07/tfs-build-using-built-in-editors.html" target="_blank">TFS Build: using the built-in editors (Bart Wullems)</a></li>
<li><a title="Customize Team Build 2010 – Part 6: Use custom type for an argument" href="http://www.ewaldhofman.nl/post/2010/05/17/Customize-Team-Build-2010-e28093-Part-6-Use-custom-type-for-an-argument.aspx" target="_blank">Customize Team Build 2010 – Part 6: Use custom type for an argument (Ewald Hofman)</a></li>
<li><a title="Professional Team Foundation Server 2010 (Wrox Programmer to Programmer)" href="http://www.amazon.com/Professional-Team-Foundation-Server-Programmer/dp/0470943327" target="_blank">Wrox&#8217;s Professional Team Foundation Server 2010 book</a> (Chapter 16: Customizing The Build Process, Specifying Metadata, Page 392)</li>
</ul>
<h2>Write Your Own Editor</h2>
<p>You can find pretty good example e.g. in <a title="Professional Team Foundation Server 2010 (Wrox Programmer to Programmer)" href="http://www.amazon.com/Professional-Team-Foundation-Server-Programmer/dp/0470943327" target="_blank">Wrox&#8217;s Professional Team Foundation Server 2010 book</a> (Chapter 16: Customizing The Build Process, Custom Editor Parameters, Page 394)  or in <a title="Ewald Hofman - Customize Team Build 2010 - Part 6: Use custom type for an argument" href="http://www.ewaldhofman.nl/post/2010/05/17/Customize-Team-Build-2010-e28093-Part-6-Use-custom-type-for-an-argument.aspx" target="_blank">Ewald Hofman&#8217;s blog</a>. Therefore I don&#8217;t repeat them here. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Aging Report]]></title>
<link>http://borisfrolov.wordpress.com/2012/10/21/aging-report/</link>
<pubDate>Sun, 21 Oct 2012 14:22:00 +0000</pubDate>
<dc:creator>Boris Frolov</dc:creator>
<guid>http://borisfrolov.wordpress.com/2012/10/21/aging-report/</guid>
<description><![CDATA[I would like to speak about Aging Report this post. This report helps us to look on the age of Work]]></description>
<content:encoded><![CDATA[<p>I would like to speak about Aging Report this post. This report helps us to look on the age of Work Items. I want this report to show me not only some totals, but also allow me to drill through to each single work item that is out of date.</p>
<p>Just created report looks like follow:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-1.png"><img class="alignnone size-full wp-image-102" title="TFSPost008.1" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-1.png?w=640&#038;h=178" height="178" width="640" /></a>In the column Person – the name of the developer, and in the column Review date the number of tasks that are proposed to be aged.</p>
<p>You can expand each developer and go to the list of tasks:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-2.png"><img class="alignnone size-full wp-image-103" title="TFSPost008.2" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-2.png?w=640&#038;h=358" height="358" width="640" /></a>The report’s logic is based on the Pending Status bar of the Work Item.</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-3.png"><img class="alignnone size-full wp-image-104" title="TFSPost008.3" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/tfspost008-3.png?w=624&#038;h=101" height="101" width="624" /></a>Our team’s internal process of filling these fields is described below.</p>
<ul>
<li>When the task is assigned to developer and got Finished Date, the fields Review Date and Responsible are filled automatically from Finish Date and Assigned To fields accordingly.</li>
<li>The Planning Manager has to set these fields manually to all new tasks that are not planned to be closed in several days.</li>
<li>So responsible person has to assign this task till Review Date, or to prepare design and return the task to Planning Manager, or communicate with business to clarify something etc.</li>
</ul>
<p>So the logic of report is the following:</p>
<ul>
<li>When Review date is missing more than 10 days – the tasks appears in the report.</li>
<li>When Review date is missing more than 30 days – the task becomes red.</li>
</ul>
<p>Also, team members can put down comments about why task dates are missed and what are the next steps to fix this situation. This simplifies communications with managers and saves time preventing every week refreshing of each task issue.</p>
<p>With the help of Aging Report I can see if we have problems with testing, if task cannot be deployed for a long time, or if task is not assigned to a developer. But its main advantage lies in the ability for developers themselves monitor their work items and take actions before tasks go red.</p>
<p>So it’s very useful. )))</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Some words about Bild Reasons...]]></title>
<link>http://devtfs.wordpress.com/2012/10/18/some-words-about-bild-reasons/</link>
<pubDate>Thu, 18 Oct 2012 09:18:40 +0000</pubDate>
<dc:creator>gyoreg</dc:creator>
<guid>http://devtfs.wordpress.com/2012/10/18/some-words-about-bild-reasons/</guid>
<description><![CDATA[Build reason seems very straightforward to understand.. However it can give some surprises &#8211; a]]></description>
<content:encoded><![CDATA[<p>Build reason seems very straightforward to understand.. However it can give some surprises &#8211; at least it gave to me. So here comes some explanation how doe it look like on a bit deeper level.</p>
<h2>Build Reason values</h2>
<p>Build Reason is stored in an <a title="Enum" href="http://msdn.microsoft.com/en-us/library/cc138362.aspx" target="_blank">Enum</a> with <a title="FlagsAttribute" href="http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx" target="_blank">FlagsAttribute </a>- so many values can be selected at he same type. There are some combination already set up as values.</p>
<table>
<thead>
<tr>
<th style="text-align:center;" rowspan="2" colspan="2">Combinations / </th>
<th style="text-align:center;"><strong>CheckInShelveset /</strong></th>
<th style="text-align:center;"><strong> ValidateShelveset/</strong></th>
<th style="text-align:center;"><strong> UserCreated /</strong></th>
<th style="text-align:center;"><strong> ScheduleForced /</strong></th>
<th style="text-align:center;"><strong> Schedule /</strong></th>
<th style="text-align:center;"><strong> BatchedCI /</strong></th>
<th style="text-align:center;"><strong> IndividualCI /</strong></th>
<th style="text-align:center;"><strong> Manual</strong></th>
</tr>
<tr>
<th style="text-align:center;">128</th>
<th style="text-align:center;">64</th>
<th style="text-align:center;">32</th>
<th style="text-align:center;">16</th>
<th style="text-align:center;">8</th>
<th style="text-align:center;">4</th>
<th style="text-align:center;">2</th>
<th style="text-align:center;">1</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">None</td>
<td style="text-align:center;">0</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td style="text-align:left;">Triggered</td>
<td style="text-align:center;">191</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;"> </td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
</tr>
<tr>
<td style="text-align:left;">All</td>
<td style="text-align:center;">255</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
<td style="text-align:center;">X</td>
</tr>
</tbody>
</table>
<h2>Ok.. but what values shall I get when I start a build?</h2>
<table>
<thead>
<tr>
<th><strong>Action</strong></th>
<th><strong>BuildReason value</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Manual start, Latest sources</td>
<td> Manual</td>
</tr>
<tr>
<td>Manual start, Latest sources with shelveset </td>
<td>ValidateShelveset / CheckInShelveset</td>
</tr>
<tr>
<td>Continuous Integration</td>
<td> IndividualCI</td>
</tr>
<tr>
<td>Gated Check-in</td>
<td> CheckInShelveset</td>
</tr>
<tr>
<td>Rolling builds</td>
<td> BatchedCI</td>
</tr>
<tr>
<td>Scheduled</td>
<td> Schedule / ScheduleForced</td>
</tr>
</tbody>
</table>
<h2>How to use Build Reason in the build workflow</h2>
<ul>
<li>You can find the build reason in the BuildDetail variable of the default workflow.</li>
<li>If you have something special, you can get this object with the <a title="GetBuildDetail Class" href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.getbuilddetail.aspx" target="_blank">GetBuildDetail</a> activity, which returns with an <a title="IBuildDetail" href="http://msdn.microsoft.com/en-us/library/cc340413.aspx" target="_blank">IBuildDetail</a>  instance, which has it in its <a title="IBuildDetail.Reason Property " href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuilddetail.reason.aspx" target="_blank">Reason</a> property.</li>
<li>You can simply use the <a title="InvokeForReason Class" href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.invokeforreason.aspx" target="_blank">InvokeForReason</a> activity if you want to execute some activities for some specific build reasons only.</li>
</ul>
<h2>Effects of the Build Reason</h2>
<p>I have not tried all, just collecting the usages and side effects of it&#8230;</p>
<p>- In the default build process, the Drop Folder is not created, when the BuildReason is <em>ValidateShelveset</em> or <em>None</em>, even if droplocation is specified and <em>Copy Outputs to Drop Folder</em> is true. In other words, if you just build a shelveset, then it won&#8217;t have any drop folder, even if you are trying to write log file into it. (Obviously you can align your wokflow to solve this&#8230;)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Every dayevery week planning: Task Capacity report]]></title>
<link>http://borisfrolov.wordpress.com/2012/10/14/every-dayevery-week-planning-task-capacity-report/</link>
<pubDate>Sun, 14 Oct 2012 16:26:10 +0000</pubDate>
<dc:creator>Boris Frolov</dc:creator>
<guid>http://borisfrolov.wordpress.com/2012/10/14/every-dayevery-week-planning-task-capacity-report/</guid>
<description><![CDATA[Today I would like to focus on the main tool that my team is using for every day control of planning]]></description>
<content:encoded><![CDATA[<p>Today I would like to focus on the main tool that my team is using for every day control of planning process. I called it Task Capacity report.</p>
<p>If you are familiar with Microsoft Project and Gantе chart you will find much common between this tools and Task Capacity report, which looks like the following:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report01.png"><img class="alignnone size-full wp-image-92" title="Task Capcity Report01" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report01.png?w=640&#038;h=169" height="169" width="640" /></a></p>
<ul>
<li>The report spreads tasks the same way as Microsoft Project does:
<ul>
<li>It starts from the Planning date (Finish Date),</li>
<li>Checks how much percent of time developer must spend on this task (special field Units in Work Item)</li>
<li>If field Units is not filled, it considers the value is equal to 80%.</li>
</ul>
</li>
<li>Calculates hours for each day and each active task on developer.</li>
</ul>
<p>As the result we have clear picture who is overloaded and who does not have enough workload. Why not to use MS Project for such activity? Because we have separate file for each project and it’s impossible to get whole picture in one place. And MS Project Server is rather expensive for start and support; also it will be too much for us. We are not so large team to have need for so complex and universal tool.</p>
<p>That’s why in order to have all developers’ workload in one place I decided to create this report, and I can say it works great. Now, to clarify how report works, I would like to post example of calculations:</p>
<ul>
<li>Developer has two tasks assigned to him (let say today is 18/07/2012):
<ul>
<li>Task 1: 16 hour task with finish date – 21/07/2012 and Unit does not filled (so report consider it 80%).</li>
<li>Task 2: 10 hour task with finish date – 19/07/2012 and Units = 50%.</li>
</ul>
</li>
</ul>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report02.png"><img class="alignnone size-full wp-image-94" title="Task Capcity Report02" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report02.png?w=640&#038;h=116" height="116" width="640" /></a></p>
<p>&#160;</p>
<ul>
<li>All cells that have value more than 8 hours or have values in the past – are marked as red.</li>
<li>All hours in the past are summarize in one yesterday cell.</li>
<li>If you click on any cell – the specification report will open, in which you would see the list of tasks that have created the day sum.</li>
</ul>
<p>So there is one thing that is needed to make report works – somebody must fill units for all new tasks. In my team we have the following process:</p>
<ul>
<li>Planning manager on everyday basis checks all tasks assigned to developers that have not filled Units.</li>
<li>Based on Scenario information and Business Priority of each task, he fills empty Units.</li>
</ul>
<p>As there are no more than 5-10 tasks assigned each day in average, this activity takes no more than 2-3 minutes every day. Also great that TFS gives us possibility to do such work in MS Excel, so it’s quite easy. So it is not much for the report that gives me the possibility in one look see the current workload of my team.</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report03.png"><img class="alignnone size-full wp-image-95" title="Task Capcity Report03" alt="" src="http://borisfrolov.files.wordpress.com/2012/10/task-capcity-report03.png?w=640&#038;h=300" height="300" width="640" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[TFS Custom Build Activities and Friends]]></title>
<link>http://devtfs.wordpress.com/2012/10/09/tfs-custom-build-activities/</link>
<pubDate>Tue, 09 Oct 2012 10:30:13 +0000</pubDate>
<dc:creator>gyoreg</dc:creator>
<guid>http://devtfs.wordpress.com/2012/10/09/tfs-custom-build-activities/</guid>
<description><![CDATA[Well, it should not be that strange. It is pretty common, that you need custom activity to perform y]]></description>
<content:encoded><![CDATA[<p>Well, it should not be that strange. It is pretty common, that you need custom activity to perform your build. However sometimes you run into strange situations, where you might not find any help on the net&#8230; So I tryed to collect my experiences about this here.</p>
<p><em>(There are also many articles about this topic&#8230; I don&#8217;t want to repeat them &#8211; you can find links for some of them at the bottom.)</em></p>
<h1>Project structure</h1>
<h3>Activities and Controls</h3>
<p>Usually it is a good practice to keep the things together, and put your classes (activities, controls, argument classes) into a single assembly. Obviously in some cases it is not possible, or not preferrable &#8211; but in many cases makes your (and the config manager&#8217;s ) life easier. It is also elminates the issue of not loading an assembly when it is necessary.</p>
<p>However it is also a good practice to separate classes based on their function and level &#8211; so you can do it with namespaces. I&#8217;m using the below namespaces currently in order to separate my classes:</p>
<ul>
<li>MyProject</li>
<li>MyProject.Controls</li>
<li>MyProject.Activities</li>
<li>MyProject.ViewModels</li>
</ul>
<p>An exception is the assembly with the unit tests &#8211; obviously it is separated into another DLL, as it won&#8217;t get deployed to the productive TFS server.</p>
<h3>Adding the Build Template (XAML)</h3>
<p>Create a separate project (simple windows library) for the XAML files. (If it is in the same project as your activities, then VS may forgot to include the assembly explicitly when you import the namespace to the xaml. However don&#8217;t forget to add the required TFS and project references to the workflow project.</p>
<p>You can set the <em>Build Action</em> property of the xaml file to <em>XamlAppDef</em> &#8211; then VS will try to interpret it during the build, and may drive your attention to some error during the local build.</p>
<h1>How the activity should look like</h1>
<p><em>I will write details about the build activity types and their usages later on.</em></p>
<h1>Testing and Debugging</h1>
<p>Yes. The build runs on the Build Controller/Build Agent and not on the developer&#8217;s PC. To set up server environment on the dev PC might be too complex, sometimes maybe impossible, and testing on the server directly is not the most convenient way &#8211; but don&#8217;t worry, there are other possibilities also.</p>
<h3>Unit Tests</h3>
<p>Unit Tests are supported in most VS editions (if not in all). It runs locally, and can be debugged pretty easy. This can be automated also, so you can reuse your unit test to ensure that your code is always working. So let&#8217;s call your custom activity from a unit test, and mock the surrounding environment (or create a test environment). You can use the <em>WorkflowInvoker</em> for this.</p>
<pre>        <span style="color:#0000ff;">using</span> Microsoft.VisualStudio.TestTools.UnitTesting;
<span style="color:#008000;">        // ...</span>

        [<span style="color:#008080;">TestMethod</span>]
        <span style="color:#0000ff;">public void </span>MyActivitytest()
        {
            <span style="color:#0000ff;">var </span>testObject =<span style="color:#0000ff;"> new object</span>();
            <span style="color:#0000ff;">var </span>activityInputArguments = new <span style="color:#008080;">Dictionary</span>&#60;<span style="color:#0000ff;">string</span>, <span style="color:#0000ff;">object</span>&#62;
                                {
                                    {<span style="color:#800000;">"Argument1"</span>, <span style="color:#800000;">"Value1"</span>},
                                    {<span style="color:#800000;">"Argument2"</span>, testObject }
                                };
            <span style="color:#0000ff;">var </span>activityOutputArguments = <span style="color:#008080;">WorkflowInvoker</span>.Invoke(<span style="color:#0000ff;">new </span><span style="color:#008080;">MyCustomActivity</span>(), activityInputArguments);

            <span style="color:#0000ff;">var </span>res = activityOutputArguments[<span style="color:#800000;">"Result"</span>] <span style="color:#0000ff;">as </span><span style="color:#008080;">MyResultClass</span>;

            <span style="color:#008080;">Assert</span>.IsNotNull(res, <span style="color:#800000;">"Activity returned with null result."</span>);
  <span style="color:#008000;">          //...
</span>        }</pre>
<h3>Remote Debugging</h3>
<p>Run a remote debugger (<em>msvsmon.exe</em>) on the Build Controller/Build Agent, and attach your Visual Studio to the remote TFS service process: <em>TFSBuildServiceHost.exe</em>. Then you can debug your code directly. Howevere unfortunatelly it does not always work, and may not stop at your breakpoint. (<em>Any further suggestion, experience is welcomed.</em>)</p>
<h3>Old Times Are Back &#8211; Debug messages</h3>
<p>When there is no other way you can use the old-style &#8211; add debug and trace output to your workflow/activity.</p>
<ul>
<li>On activity level you can simply use the out-of-the box <a title="WriteBuildMessage" href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.writebuildmessage.aspx" target="_blank">WriteBuildMessage</a>, <a title="WriteBuildWarning" href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.writebuildwarning" target="_blank">WriteBuildWarning</a>, <a title="WriteBuildError" href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.writebuilderror" target="_blank">WriteBuildError </a>or <a title="WriteBuildInformation&#60;T&#62;" href="http://msdn.microsoft.com/en-us/library/gg419488" target="_blank">WriteBuildInformation&#60;&#62;</a> activities, which will write the output to the build log (according to <a title="log verbosity" href="http://msdn.microsoft.com/en-us/library/hh190720.aspx#log_verbosity_param" target="_blank">log verbosity</a>).</li>
<li>On code level you can call the <em>context.TrackBuildMessage()</em>,<em> TrackBuildWarning()</em> and <em>TrackBiuldError()</em> methods:</li>
</ul>
<pre style="padding-left:60px;"><span style="color:#333399;"><span style="color:#0000ff;">using</span> </span>Microsoft.TeamFoundation.Build.Workflow.Activities;

<span style="color:#0000ff;">public class </span><span style="color:#008080;">MyCustomActivity</span> : <span style="color:#008080;">CodeActivity
</span>{
   <span style="color:#0000ff;"> protected override void</span> Execute(<span style="color:#008080;">CodeActivityContext </span>context)
    {
      <span style="color:#008000;">  // ...</span>
        context.TrackBuildMessage(<span style="color:#800000;">"My build message"</span>);
       <span style="color:#008000;"> // ...
</span>    }
}</pre>
<p>  </p>
<h1>Signing Custom Assemblies</h1>
<p>When you sign your custom assembly (and check in to the custom assemblies folder&#8230;), you might receive the below error message:</p>
<blockquote><p><span style="color:#333399;"><span style="color:#993300;"><strong>TF215097:</strong></span> An error occurred while initializing a build for build definition \MyProject\MyBuild: Cannot create unknown type &#8216;{clr-namespace:MyProject.Activities;assembly=MyProject}MyTestActivity&#8217;.</span></p></blockquote>
<p>Well. fancy message, and there is no other trace usually to pick up the root cause. If you google the error code (TF215097), you will find plenty of pages, where several scenarios are described with the same error code. A reason behind this in this case, that the assembly is not linked properly from your build template xaml. If you have a strong-named assembly, then you need to specify the assembly properly, including version number and the public key token.</p>
<p>The proper syntax in the xaml file is below:</p>
<pre><span style="color:#333399;">&#60;</span><span style="color:#993300;">Activity</span>  <span style="color:#808080;">...
</span>  <span style="color:#800000;">xmlns:mpa</span><span style="color:#333399;">="clr-namespace:MyProject.Activities;assembly=MyProject, <strong>Version=1.0.0.0</strong>, <strong>Culture=neutral</strong>, <strong>PublicKeyToken=123456789abcdef0</strong>"
</span>  <span style="color:#808080;">... </span><span style="color:#333399;">&#62;</span></pre>
<p>After doing this, the build should work.</p>
<h1>How custom DLLs are loaded</h1>
<p>Hehh.. Maybe not as you&#8217;d expect&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Assemblies are seached in the below order:</p>
<ul>
<li>Specified CustomAssemby Path (on Build controller)</li>
<li>Visual Studio&#8217;s PrivateAssemblies folder</li>
<li>Global Assembly Cache</li>
</ul>
<p>When you run the build, TSF loads all the assemblies from the CustomAssemblies folder, that contains activity in the specific HostEnvironment. Other assemblies from the CustomAssemblies folder might be not loaded at all!</p>
<p>Assemblies from PrivateAssemblies folder and GAC can be loaded on-demand.</p>
<p>Best practice: custom build assemblies should be kept in CustomAssemblies folder, and not in e.g. GAC. Otherwise the maintenance of these assemblies will be more complex (e.g. you have to deploy your DLLs to each build controllers/agents separately, although when it is kept in CustomAssemblies folder, they will be updated automatically for all build servers).</p>
<h1>Troubleshooting</h1>
<p>Sometimes you may see, that locally everything is fine, however the build server does not work as expected. In this case this checklist can help to find, what has been dropped out of the &#8220;deployment workflow&#8221;:</p>
<ul>
<li>Always ensure that your workflow (xaml) and custom DLLs are checked in</li>
<li>Ensure that the custom assembly folder has been set up properly on the build controller</li>
<li>Ensure that assemblies are referenced properly in your xaml (with version and public key token for signed assemblies)</li>
<li>Ensure that no older copy exists in the GAC and/or in VS PrivateAssemblies folder</li>
</ul>
<p>Also you may experience, that sometimes an assembly is just cannot be loaded from the CustomAssemblies folder, although it is referenced properly from xaml. In such case defining a dummy activity in the assembly with attribute <em>[BuildActivity(HostEnvironmentOption.All)]</em> may solve the problem.</p>
<h1>References</h1>
<p>Here comes some pretty good articles about the topic.</p>
<ul>
<li><a href="http://www.ewaldhofman.nl/post/2010/04/20/Customize-Team-Build-2010-e28093-Part-1-Introduction.aspx">http://www.ewaldhofman.nl/post/2010/04/20/Customize-Team-Build-2010-e28093-Part-1-Introduction.aspx</a></li>
<li><a href="http://msmvps.com/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx">http://msmvps.com/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx</a></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Creating a Silverlight/RIA TFS Build using Visual Studio]]></title>
<link>http://lemeaow.wordpress.com/2012/10/09/creating-a-silverlightria-tfs-build-using-visual-studio/</link>
<pubDate>Tue, 09 Oct 2012 07:42:40 +0000</pubDate>
<dc:creator>squirellwing</dc:creator>
<guid>http://lemeaow.wordpress.com/2012/10/09/creating-a-silverlightria-tfs-build-using-visual-studio/</guid>
<description><![CDATA[1. Do NOT use Visual Studio 2012. Use Visual Studio 2010 instead. Visual studio 2012 won&#8217;t let]]></description>
<content:encoded><![CDATA[<p><strong>1. Do NOT use Visual Studio 2012.</strong></p>
<p>Use Visual Studio 2010 instead. Visual studio 2012 won&#8217;t let you configure the build template. Adding projects to build in &#8220;Items to build&#8221; At process section will bombs up with &#8220;Property value is invalid&#8221; message. Changing the &#8220;Configurations to build&#8221; will throws up an &#8220;Unable to cast object of type &#8216;Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfigurationList&#8217; to type &#8216;System.Collections.Generic.List\1[Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfiguration\].&#8221; error.</p>
<p><strong>2. Change &#8221;Copy outputs to drop folder&#8221; to false in Build Process Template if necessary.</strong></p>
<p>If you choose not to copy output files to a drop folder in &#8220;Build Defaults&#8221; section (untick &#8220;This build copies output files to a drop folder&#8221;, do not forget to change the value of &#8220;Copy outputs to drop folder&#8221; in Process-Advanced as well. Otherwise, your build will failed with a &#8220;TF270006: The drop location for this build was empty. The build definition &#8216;NrwManualBuild&#8217; (or the build request) must specify a valid UNC path as the drop location for the build. Update the build definition and try again.&#8221; message.</p>
<p><strong>3. Change MSBuild version to x86</strong></p>
<p>Sometimes, build process will fail and complains that it could not find Silverlight 4 SDK and you are 100% sure that you&#8217;ve installed this in the build machine. Change the MSBuildPlatform in Process-Advanced to x86.</p>
<p><strong>4. Edit project file for all projects that configured with RIA Link.</strong></p>
<p>If you have a problem with the build bombing out in the RIA&#8217;s auto generated files, it is because the build server somehow ignored the build order of the solution. To solve this:</p>
<p>add this to the &#60;Project tag</p>
<p>&#8220;InitialTargets=&#8221;CustomWorkaroundBuildOrderBug&#8221;</p>
<p>then add this after last property group and before first item group :</p>
<pre class="brush: xml; title: ; notranslate" title="">

&#60;Target Name=&#34;CustomWorkaroundBuildOrderBug&#34;&#62;
  &#60;ItemGroup&#62;
    &#60;ProjectReference Include=&#34;..\X.Web\X.Web.csproj&#34;&#62;
      &#60;ReferenceOutputAssembly&#62;false&#60;/ReferenceOutputAssembly&#62;
    &#60;/ProjectReference&#62;
  &#60;/ItemGroup&#62;
&#60;/Target&#62;

</pre>
<p><strong>5.Remove all items from Silverlight applications&#8217; tab in the web project&#8217;s setting.</strong></p>
<p>If your build process fails because it complains that it can&#8217;t copy xap files, try to remove all items from Silverlight applications tab in the web projects&#8217; setting. After doing this, make sure that you copy the file manually after building all the xaps:</p>
<pre class="brush: xml; title: ; notranslate" title="">
&#60;Copy SourceFiles=&#34;$(SolutionDir)&#34;
&#60;Project&#62;
  \bin\$(Configuration)\$(XapFilename)&#34;
  DestinationFolder=&#34;..\&#60;WebProject&#62;
    \ClientBin&#34;
    Condition=&#34;Exists('$(SolutionDir)&#60;Project&#62;\bin\$(Configuration)\$(XapFilename)')&#34;
/&#62;
</pre>
<p>In web project, comment all the include tag like this one:</p>
<pre class="brush: xml; title: ; notranslate" title="">
&#60;Content Include=&#34;ClientBin\&#60;fubar.xap&#62;&#34;  Condition=&#34;$(IsRelease) == true&#34;  /&#62;
</pre>
<p>This is a massive hack (i.e would love to know if anyone else found a better way to do it). This will cause the xap file not to be copied if you click right on &#8220;Publish&#8221;. You can either do it manually or configure publishing profile.</p>
<p>I ended up making the build server to always build in &#8220;Debug&#8221; configuration and (obviously) release in &#8220;Release configuration&#8221; and change the include tag to :</p>
<pre class="brush: xml; title: ; notranslate" title="">
&#60;Content Include=&#34;ClientBin\&#60;fubar.xap&#62;&#34;  Condition=&#34;$(IsRelease) == true&#34;  /&#62;
</pre>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Durban: Software Quality Engineer]]></title>
<link>http://compuways.wordpress.com/2012/10/08/durban-software-quality-engineer/</link>
<pubDate>Mon, 08 Oct 2012 18:53:08 +0000</pubDate>
<dc:creator>Arnold Compuways</dc:creator>
<guid>http://compuways.wordpress.com/2012/10/08/durban-software-quality-engineer/</guid>
<description><![CDATA[Software quality control · Defect management · Excellent documentation skills including technical an]]></description>
<content:encoded><![CDATA[<p>Software quality control</p>
<p>· Defect management</p>
<p>· Excellent documentation skills including technical and functional documentation</p>
<p>· Knowledge of testing methodologies</p>
<p>· SDLC Process Knowledge</p>
<p>· Understanding of Release Engineering</p>
<p>· Code Testing including Unit Testing, UI Testing, Integration Testing</p>
<p>· Excellent English communication</p>
<p>Matric</p>
<p>· Degree/Diploma in IT</p>
<p>· 3+ years working experience in:</p>
<p>o Code Testing including Unit Testing, UI Testing, Integration Testing</p>
<p>o Release Engineering advantageous</p>
<p>· Understanding of C#</p>
<p>· Software Testing ISEB certification advantageous</p>
<p>· WPF and WCF services</p>
<p>· Windows WF Foundation</p>
<p>· Comfortable working with:</p>
<p>o Visual Studio 2010 Premium</p>
<p>o Microsoft&#8217;s CUIT (Coded User Interface Tests)</p>
<p>o MS Test</p>
<p>o Team Foundation Server (TFS)</p>
<p>Ownership and passionate about high quality software development</p>
<p>· High sense of urgency</p>
<p>· Team player</p>
<p>· Sense of humour</p>
<p>To apply for this position, click <a href="http://www.compuways.co.za/can_viewspec.asp?job=3532">here:</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Installer Configurer - Team Foundation Server Express 11]]></title>
<link>http://almbyaghilasyakoub.wordpress.com/2012/10/08/installer-configurer-team-foundation-server-express-11/</link>
<pubDate>Mon, 08 Oct 2012 17:54:46 +0000</pubDate>
<dc:creator>aghilasyakoub</dc:creator>
<guid>http://almbyaghilasyakoub.wordpress.com/2012/10/08/installer-configurer-team-foundation-server-express-11/</guid>
<description><![CDATA[« Microsoft Visual Studio Team Foundation Server Express 2012 » est la plateforme collaborative sur]]></description>
<content:encoded><![CDATA[<p><em>« </em>Microsoft Visual Studio Team Foundation Server Express 2012 <em>»</em> est la plateforme collaborative sur laquelle repose la suite d&#8217;outils de développement Microsoft qui aide les développeurs et les équipes à mieux travailler, à collaborer plus efficacement et à livrer des logiciels de meilleure qualité plus rapidement.</p>
<p><strong>Pré requis :</strong></p>
<p><strong>Systèmes d’exploitation: </strong>Windows 7 (x86 et x64), Windows 8 Release Preview (x86 et x64), Windows Server 2008 R2 (x64), Version finale candidate de Windows Server 2012 (x64).</p>
<p><strong>Architectures : </strong>32 bits (x86), 64 bits (x64).</p>
<p><strong>Configuration matérielle : </strong>Processeur 2,2 GHz minimum, 1 Go de mémoire vive (RAM), 4 Go d&#8217;espace disque disponible.</p>
<p>Lien : <a href="http://www.microsoft.com/fr-fr/download/details.aspx?id=29919"><em>http://www.microsoft.com/fr-fr/download/details.aspx?id=29919</em></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/install.png"><img class="alignnone  wp-image-26" title="Install" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/install.png?w=352&#038;h=288" alt="" width="352" height="288" /></a></p>
<p><span style="text-decoration:underline;">Note :</span></p>
<ol>
<li><em>Il est important d’installer le Service Pack 2 afin d’obtenir les mises à jour relatives à « Sql Server », ou bien réaliser un <em>«</em> Windows Update <em>»</em>.</em></li>
<li><em>Il est aussi important de lancer l’installation en tant qu’administrateur du poste.</em></li>
</ol>
<p><strong>Configuration</strong></p>
<p>Une fois l&#8217;installation terminée, il est primordial de configurer le serveur.</p>
<p>Lancer la console d&#8217;administration</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration1.png"><img class="alignnone  wp-image-27" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration1.png?w=341&#038;h=201" alt="" width="341" height="201" /></a></p>
<p>Sélectionner <em>«</em> Configure Installed Features <em>»</em> pour lancer l’installation.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration2.png"><img class="alignnone  wp-image-28" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration2.png?w=344&#038;h=210" alt="" width="344" height="210" /></a></p>
<p>Sélectionner <em>«</em> Start Wizard <em>»</em> pour lancer l’assistant de configuration.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration3.png"><img class="alignnone  wp-image-29" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration3.png?w=340&#038;h=226" alt="" width="340" height="226" /></a></p>
<p>Le serveur doit être installé avec les credentials de l’administrateur.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration4.png"><img class="alignnone  wp-image-30" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration4.png?w=340&#038;h=163" alt="" width="340" height="163" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration5.png"><img class="alignnone  wp-image-31" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration5.png?w=338&#038;h=220" alt="" width="338" height="220" /></a></p>
<p>Sélectionner <em>«</em> Configure <em>».</em></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration6.png"><img class="alignnone  wp-image-32" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration6.png?w=348&#038;h=219" alt="" width="348" height="219" /></a></p>
<p><strong>Configuration du service de Build</strong></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration61.png"><img class="alignnone  wp-image-33" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration61.png?w=335&#038;h=229" alt="" width="335" height="229" /></a></p>
<p>Le service de <em>«</em> Build <em>» </em>est définit par rapport à la collection de projet : <em>«</em> defaultCollection <em>».</em></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration62.png"><img class="alignnone  wp-image-34" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration62.png?w=336&#038;h=226" alt="" width="336" height="226" /></a></p>
<p>Il est important de sélectionner l’agent de <em>«</em> Build <em>»</em> permettant de construire l’application sur le serveur « Team Foundation » et le <em>«</em> controlleur de Build <em>»</em>.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/agent-controlleur.png"><img class="alignnone size-medium wp-image-35" title="Agent Controlleur" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/agent-controlleur.png?w=300&#038;h=209" alt="" width="300" height="209" /></a></p>
<p>L&#8217;agent de <em>«</em> Build <em>»</em> exécute les étapes de votre processus de construction qui sont contenues dans l&#8217;activité <em>«</em> AgentScope <em>»</em>. En règle générale, ces mesures comprennent les fichiers du contrôle de version, le pro-visionnement de l&#8217;espace de travail, la compilation du code, l&#8217;exécution des tests, et la fusion dans le contrôle de version.</p>
<p>Chaque agent de <em>«</em> Build <em>»</em> est piloté par un contrôleur, comme bonne pratique l’agent de <em>«</em> Build <em>»</em> est déployé sur un autre serveur.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration63.png"><img class="alignnone  wp-image-36" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration63.png?w=325&#038;h=223" alt="" width="325" height="223" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration64.png"><img class="alignnone  wp-image-37" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration64.png?w=321&#038;h=229" alt="" width="321" height="229" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration65.png"><img class="alignnone  wp-image-38" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration65.png?w=329&#038;h=226" alt="" width="329" height="226" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration66.png"><img class="alignnone  wp-image-39" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration66.png?w=329&#038;h=221" alt="" width="329" height="221" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration67.png"><img class="alignnone  wp-image-40" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration67.png?w=324&#038;h=225" alt="" width="324" height="225" /></a></p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration68.png"><img class="alignnone  wp-image-41" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration68.png?w=324&#038;h=213" alt="" width="324" height="213" /></a></p>
<p>Dans la console d’administration, vous pouvez accéder aux journaux de traçage pour parcourir le détail des différentes phases d’installation et de configuration.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration69.png"><img class="alignnone  wp-image-42" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration69.png?w=318&#038;h=208" alt="" width="318" height="208" /></a></p>
<p>Pour l’instant les environnements virtuels dédiés à  <em>«</em> Microsoft Test Management <em>»</em>, n’ont pas encore été installés.</p>
<p><a href="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration610.png"><img class="alignnone  wp-image-43" title="Configuration" src="http://almbyaghilasyakoub.files.wordpress.com/2012/10/configuration610.png?w=321&#038;h=205" alt="" width="321" height="205" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Every day\every week planning: Base principles]]></title>
<link>http://borisfrolov.wordpress.com/2012/10/07/every-dayevery-week-planning-base-principles/</link>
<pubDate>Sun, 07 Oct 2012 14:12:30 +0000</pubDate>
<dc:creator>Boris Frolov</dc:creator>
<guid>http://borisfrolov.wordpress.com/2012/10/07/every-dayevery-week-planning-base-principles/</guid>
<description><![CDATA[Let’s go to the next activity: I called it every day\every week planning. These periods cannot be se]]></description>
<content:encoded><![CDATA[<p>Let’s go to the next activity: I called it every day\every week planning. These periods cannot be separated as they’re going hand by hand through the planning process. We create plans for a week and control it on every day basis.</p>
<p>Some key moments of this type of planning are:</p>
<ul>
<li>The planning process consists of two parts:
<ul>
<li>Everyday activity of planning manager, to review current state of work, re-plan tasks that were overdue, to analyze new tasks from business and IT. Takes about 1.5 hours every day.</li>
<li>Weekly activity for detailed planning of what we have done during the week and assigning requests to developers for two week period. Takes 2-3 hours of work of planning manager and 1.5 hour of application leads to discuss results, review scenarios and make some corrections.</li>
</ul>
</li>
<li>For planning of projects’ activities we use Microsoft Project, so there is no need of additional tools for planning. But reports listed further can also be used to track whether we do correct planning process in Microsoft Project. We use a list of reports that shows the current project state, but they will be described in the next posts, when I come to projects’ planning.</li>
</ul>
<p>So, the first point I have to start with – is Daily Management. My team is doing it on a whiteboard for the following reasons:</p>
<ul>
<li>We have a place where we’re gathering each morning and discuss what was done, who has perform yesterday’s plan, and who has not and why.</li>
<li>Also we discuss everybody’s plan for today.</li>
<li>We can make corrections immediately during the meeting. If we use monitor – we would not have such possibility.</li>
</ul>
<p>The whiteboard is looks like the following:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/clipboard01.jpg"><img class="alignnone size-full wp-image-84" title="Clipboard01" src="http://borisfrolov.files.wordpress.com/2012/10/clipboard01.jpg?w=405&#038;h=271" alt="" width="405" height="271" /></a></p>
<p>The main features are:</p>
<ul>
<li>Tasks that were planned and where performed are marked in black.</li>
<li>Tasks above plan – are marked as green (or if developer has done the task faster as it was planned).</li>
<li>Tasks that were planned but were not done – are marked as red. And developer has to put down reasons why daily goal was not achieved.</li>
<li>We also use colored points to mark project tasks. So it is very easy to see in what project the developer is participating.</li>
<li>The everyday team meeting takes 5-10 minutes, but not longer than 15 minutes.</li>
<li>We also have a whiteboard that indicates current statuses of all active projects, but I will return to it while posting about projects management.</li>
</ul>
<p>To fill the whiteboard the planning manager of my team uses two reports: one that shows planned tasks for each developer and other that shows yesterday plan. Using these reports, it takes about 20 minutes for planning manager to fill all needed information on the whiteboard. Main features of these two reports are:</p>
<ul>
<li>These reports are very detailed and used only for Daily management purposes.</li>
<li>They directly show what information must be put on whiteboard.</li>
</ul>
<p>Report that show plan for the nearest future:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/clipboard011.jpg"><img class="alignnone size-full wp-image-85" title="Clipboard01" src="http://borisfrolov.files.wordpress.com/2012/10/clipboard011.jpg?w=593&#038;h=257" alt="" width="593" height="257" /></a>Report that show what was done yesterday:</p>
<p><a href="http://borisfrolov.files.wordpress.com/2012/10/clipboard012.jpg"><img class="alignnone size-full wp-image-86" title="Clipboard01" src="http://borisfrolov.files.wordpress.com/2012/10/clipboard012.jpg?w=556&#038;h=228" alt="" width="556" height="228" /></a></p>
]]></content:encoded>
</item>

</channel>
</rss>
