<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.hinshelwood.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Martin Hinshelwood (MrHinsh) on Visual Studio ALM</title>
        <link>http://geekswithblogs.net/hinshelm/Default.aspx</link>
        <description>A Scottish software developer | SSW Solution Architect | Microsoft Visual Studio ALM MVP | Microsoft Visual Studio ALM Ranger | Scrum Developer Trainer</description>
        <language>en-GB</language>
        <copyright>Martin Hinshelwood</copyright>
        <managingEditor>martin@hinshelwood.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license>
        <image><link>http://blog.hinshelwood.com</link><url>http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_MVPLogo.png</url><title>Martin Hinshelwood</title></image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.hinshelwood.com/MartinHinshelwood" /><feedburner:info uri="martinhinshelwood" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>55.794354</geo:lat><geo:long>-4.272217</geo:long><feedburner:emailServiceId>MartinHinshelwood</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.hinshelwood.com/MartinHinshelwood" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.hinshelwood.com%2FMartinHinshelwood" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
            <title>Running Android 2.2 (Frodo) on your HD2</title>
            <category>Android</category>
            <category>HD2</category>
            <category>WM6</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/zU9pkOJlXpo/running-android-2.2-frodo-on-your-hd2.aspx</link>
            <description>&lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_d8608964-fd57-49aa-b352-c89898a733ae.png" width="51" height="54" /&gt;While my HD2 was away getting fixed I had to slum it using an Android phone from Vodafone. It was a small cheap Vodafone 845 running Android 2.1 and you know what… I loved it. &lt;/p&gt;  &lt;p&gt;Don’t get me wrong… the phone was crap… but Android is good. &lt;/p&gt;  &lt;p&gt;While I wait to get my hands on Windows Phone 7 I would rather use Android than Windows Mobile 6, but how can I do that without buying a new phone? &lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;hr /&gt;  &lt;p&gt;Running Android on your HD2 is not the easiest thing to wrap your head around. Basically you start Android from Windows, but it turns off Windows Mobile during the process. This means that you can start any version of Android, or even Ubuntu you want. &lt;/p&gt;  &lt;p&gt;It is worth mentioning is that the entire OS runs from your SD card, which does impact battery life but the performance is very close to native.&lt;/p&gt;  &lt;p&gt;I started by finding a version of Android that I liked on the  &lt;a href="http://forum.xda-developers.com/forumdisplay.php?f=735"&gt;HD2 Android Development&lt;/a&gt; forum. I have been running &lt;a href="http://forum.xda-developers.com/showthread.php?t=747492"&gt;FroyoStone Sense - V1 from darkstone&lt;/a&gt; for about 24 hours without a problem. While writing this post I noticed that they have just released v2, so I will be updating to that. &lt;/p&gt;  &lt;p&gt;If you are going down this road then you are going to have to accept that there are some things that just do not work, and others that mostly work. However if you keep an eye on the forums you will see that they release updates quite regularly and more things work with every version. &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTMLa83b3e" border="0" alt="SNAGHTMLa83b3e" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/SNAGHTMLa83b3e.png" width="541" height="391" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Downloading may take some time unless you have a premium account&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you have it downloaded you need to copy it to SD card. It is best to keep each version in its own folder so you can easily switch if you are not happy with the new one.&lt;/p&gt;  &lt;p&gt; &lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML147d31d" border="0" alt="SNAGHTML147d31d" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/SNAGHTML147d31d.png" width="757" height="525" /&gt;    &lt;br /&gt;&lt;strong&gt;Figure: Always keep the old version around until you are happy&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I like to use the default “Android” folder as it causes me a lot less pain than trying to use a custom folder. If you are a more advanced user I am sure you could solve the problems, but I could not be bothered. I just want something that works…&lt;/p&gt;  &lt;p&gt;Make sure you read the “readme” to get the latest information, but you can now just run the “CLRCAD.exe” and then the “haret.exe” applications. However I have found this to be problematic and I guess other have as well as there is now a little runner application for Windows Mobile.&lt;/p&gt;  &lt;p&gt;Install &lt;a href="http://forum.xda-developers.com/showthread.php?t=737001"&gt;Exceller Multiple Build Loader for Android/Ubuntu 2.1&lt;/a&gt; on your windows mobile so you can choose the version you want. You can also use this application to Auto-Run the version of Android you want, which is nice.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_05b8e7ee-133c-42d4-95e0-9a43fa3ce289.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: I have added the Loader application to the home screen&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There is really no requirement to do this, it just makes it quicker to launch after booting into Windows.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_94003d28-b837-4a8a-9cc5-8c30beeddc01.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: You need to tap to change the version of Android you want to load&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can see the Auto boot options at the bottom that allow you to just turn on your phone and have it ultimately running Android.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/image_a35c8897-8f9b-41f2-9f8f-7f748a9163cc.png" width="461" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: You can tap anywhere around the Android logo to run this version&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once you start Android you will have to wait for a while &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/wlEmoticon-smile_2.png" /&gt; and even longer if this is the first time you have booted that version. In fact it could take as long as 5-10 minutes on first boot, but you just need to wait. With this new v2 it creates a 1gb data file which takes a while and eats your battery. This is normal, and will only happen the first time you boot.&lt;/p&gt;  &lt;p&gt;If you notice the message “failed to find rootfs.img on SD card” then you probably have an issue. Similarly if you notice that your phone has been “Booting” for over 30 minutes its probably configured incorrectly. If this is the case then you should retry and watch the boot sequence. You will see an “Error with XXX” or a “Could not access XXX” and just Google the exact message to find the problem. This is why I went back to using just the “Android” folder.&lt;/p&gt;  &lt;p&gt; &lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Android4" border="0" alt="Android4" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RunningAndroid2.2FroDoonyourHD2_89C9/Android4_8a87d52d-bd6a-4908-9c18-063215c7996e.png" width="461" height="768" /&gt;    &lt;br /&gt;&lt;strong&gt;Figure: Running Android on your HD2 is very nice on the 4.2” screen.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I really do like Android, and if Windows Phone 7 does not live up to its expectations this is probably the OS I will run. I had first exposure to it when my wife got her first Android (HTC Tattoo) and recently I used a Vodafone 845. These phones are small, but they still offer a far better experience than Windows Mobile 6.&lt;/p&gt;  &lt;p&gt;Running Android on my HD2 is such a superior experience that Windows Phone 7 will need to be almost perfect beat it; I really hope it is…&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:58f60d48-70be-4a5f-8856-0562cb4c83d5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Android" rel="tag"&gt;Android&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HD2" rel="tag"&gt;HD2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WM6" rel="tag"&gt;WM6&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141600"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141600" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/141600.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=zU9pkOJlXpo:6VuGEAT2bCg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=zU9pkOJlXpo:6VuGEAT2bCg:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=zU9pkOJlXpo:6VuGEAT2bCg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=zU9pkOJlXpo:6VuGEAT2bCg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/zU9pkOJlXpo" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx</guid>
            <pubDate>Thu, 02 Sep 2010 15:14:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/141600.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/141600.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/141600.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx</feedburner:origLink></item>
        <item>
            <title>Rangers shipped Visual Studio 2010 Database Guide</title>
            <category>ALM</category>
            <category>TFS 2010</category>
            <category>VS 2010</category>
            <category>Visual Studio</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/3qFKgdGSuFM/rangers-shipped-visual-studio-2010-database-guide.aspx</link>
            <description>&lt;p&gt;&lt;b&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 20px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vs2010almRanger" border="0" alt="vs2010almRanger" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/RangersshippedVisualStudio2010DatabaseGu_C070/vs2010almRanger_eb3d31d1-7f29-4c62-bb43-1f671372fc2c.png" width="102" height="68" /&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Have you ever struggled with the Database Developer (was DataDude) components of Visual Studio? Well I have…and now the ALM Rangers have released a new guide to help us all get the benefits. There is Guidance as well as Hands-On-Labs and even how to do WIX integration for deployment. &lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;hr /&gt;  &lt;p&gt;The &lt;a href="http://vsdatabaseguide.codeplex.com/"&gt;Visual Studio 2010 Database Guide&lt;/a&gt; is available to download from Codeplex and you should try it out and submit some feedback. Wondering what this is all about? Well…&lt;/p&gt;  &lt;h2&gt;Project Description&lt;/h2&gt;  &lt;p&gt;Practical guidance for Visual Studio 2010 Database projects, which is focused on 5 topic areas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Solution and Project Management &lt;/li&gt;    &lt;li&gt;Source Code Control and Configuration Management &lt;/li&gt;    &lt;li&gt;Integrating External Changes with the Project System &lt;/li&gt;    &lt;li&gt;Build and Deployment Automation with Visual Studio Database Projects &lt;/li&gt;    &lt;li&gt;Database Testing and Deployment Verification &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This release includes common guidance, usage scenarios, hands on labs, and lessons learned from real world engagements and the community discussions.    &lt;br /&gt;The goal is to deliver examples that can support you in real world scenarios, instead of an in-depth tour of the product features.&lt;/p&gt;  &lt;h2&gt;Visual Studio ALM Rangers&lt;/h2&gt;  &lt;p&gt;This guidance is created by the Visual Studio ALM Rangers, who have the mission to provide out of band solutions for missing features or guidance. This content was created with support from Microsoft Product Group, Microsoft Consulting Services, Microsoft Most Valued Professionals (MVPs) and technical specialists from technology communities around the globe, giving you a real-world view from the field, where the technology has been tested and used.    &lt;br /&gt;For more information on the Rangers please visit &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee358786.aspx"&gt;http://msdn.microsoft.com/en-us/vstudio/ee358786.aspx&lt;/a&gt; and for more a list of other Rangers projects please see &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee358787.aspx"&gt;http://msdn.microsoft.com/en-us/vstudio/ee358787.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;What is in the package?&lt;/h2&gt;  &lt;p&gt;The content is packaged in 3 separate zip files to give you the choice of selective downloads, but the default download is the first of the listed packages: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio Guidance for Database Projects &lt;b&gt;--&amp;gt; Start here&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Visual Studio Database Projects Hands-On-Labs document &lt;/li&gt;    &lt;li&gt;Hands-On-Labs (HOLs), including:      &lt;ul&gt;       &lt;li&gt;Solution and Project Management          &lt;ul&gt;           &lt;li&gt;Refactoring a Visual Studio Database Solution to Leverage Shared Code &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Source Code Control and Configuration Management          &lt;ul&gt;           &lt;li&gt;Single Team Branching Model &lt;/li&gt;            &lt;li&gt;Multiple Team Branching Model &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Integrating External Changes with the Project System          &lt;ul&gt;           &lt;li&gt;Maintaining Linked Servers in a Visual Studio Database Project &lt;/li&gt;            &lt;li&gt;Complex data movement &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Build and Deployment Automation          &lt;ul&gt;           &lt;li&gt;WiX-Integration with deployment of databases &lt;/li&gt;            &lt;li&gt;The Integrate with Team Build Scenario &lt;/li&gt;            &lt;li&gt;Building and deploying outside team build &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Database Testing and Deployment Verification          &lt;ul&gt;           &lt;li&gt;The “Basic” Create Unit Test Scenario &lt;/li&gt;            &lt;li&gt;The “Advanced” Create Unit Test Scenario &lt;/li&gt;            &lt;li&gt;Find Model drifts Scenario &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Team&lt;/h2&gt;  &lt;p&gt;Obviously this type of work would not be possible without many people contributing their free time to make it happen.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Contributors:&lt;/strong&gt; Shishir Abhyanker (MSFT), Chris Burrows (MSFT), &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/08/21/www.dynconcepts.com"&gt;David V Corbin (MVP)&lt;/a&gt;, Ryan Frazier (MSFT), &lt;a href="http://continuouslyintegrating.blogspot.com/"&gt;Larry Guger (MVP)&lt;/a&gt;, Barclay Hill (MSFT), Bob Leithiser (MSFT), Pablo Rincon (MSFT), Scott Sharpe (MSFT), Jens K. Süßmeyer (MSFT), LeRoy Tuttle (MSFT) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reviewers:&lt;/strong&gt; Christian Bitter (MSFT), Regis Gimenis (MSFT), Rob Jarrat (MSFT), Bijan Javidi (MSFT), &lt;a href="http://msmvps.com/blogs/molausson/"&gt;Mathias Olausson (MVP)&lt;/a&gt;, Willy-Peter Schaub (MSFT) &lt;/li&gt; &lt;/ul&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:408f6118-5802-4d3b-af43-f74ed76db255" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ALM" rel="tag"&gt;ALM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+2010" rel="tag"&gt;TFS 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VS+2010" rel="tag"&gt;VS 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141470"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141470" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/141470.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=3qFKgdGSuFM:NNeET-C0HEg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=3qFKgdGSuFM:NNeET-C0HEg:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=3qFKgdGSuFM:NNeET-C0HEg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=3qFKgdGSuFM:NNeET-C0HEg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/3qFKgdGSuFM" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/08/25/rangers-shipped-visual-studio-2010-database-guide.aspx</guid>
            <pubDate>Wed, 25 Aug 2010 13:04:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/141470.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/08/25/rangers-shipped-visual-studio-2010-database-guide.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/141470.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/141470.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/08/25/rangers-shipped-visual-studio-2010-database-guide.aspx</feedburner:origLink></item>
        <item>
            <title>Commit to Visual Studio ALM on Area51</title>
            <category>ALM</category>
            <category>TFS 2010</category>
            <category>Visual Studio</category>
            <category>VS 2010</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/mA3XOqAEzzk/more-votes-required-for-visual-studio-alm-on-area51.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/VisualStudioALMonArea51_98A3/image_300c39d4-21d3-4de4-82e8-737504496d8b.png" width="100" height="51" /&gt;&lt;/p&gt;  &lt;p&gt;A few weeks ago I proposed a new community for StackExchange and it has been growing at an exponential rate. We are about half way there, but we need &lt;strong&gt;your&lt;/strong&gt; help to make this community a success.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Update 16th August 2010 – The Proposal has now moved from Proposed to the Committed stage and we need your commitment.     &lt;br /&gt;&lt;a title="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2" href="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2"&gt;http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;/p&gt;&lt;hr /&gt;  &lt;h3&gt;Monday 16th August 2010 – Commit to Visual Studio ALM on Area51&lt;/h3&gt;  &lt;p&gt;If you are not familiar with StackExchange, it has a community driven voting system for creating new sites like Stack Overflow.&lt;/p&gt;  &lt;p&gt;Thanks everyone for your efforts and excellent questions. Although we suffered a little from question overload at the Proposal stage I think this is a good omen for the future beta. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/VisualStudioALMonArea51_98A3/clip_image002_615938c5-541a-484d-8b2a-5f2dd17bf430.jpg" width="196" height="226" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We are now in the Commitment stage and need a score of 2000 user points (which gets us to 100%) to proceed to the Beta. This is apparently calculated based on a user’s reputation:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;To get a feel for it:&lt;/i&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;i&gt;A user with no reputation gets a score of 1&lt;/i&gt;&lt;/li&gt;      &lt;li&gt;&lt;i&gt;A user with 200 reputation on 1 site gets a score of 1.7&lt;/i&gt;&lt;/li&gt;      &lt;li&gt;&lt;i&gt;A user with 200 reputation on 3 sites gets a score of 3.1&lt;/i&gt;&lt;/li&gt;      &lt;li&gt;&lt;i&gt;A user with 10000 reputation on 1 site gets a score of 7.2&lt;/i&gt;&lt;/li&gt;      &lt;li&gt;&lt;i&gt;A user with 10000 reputation on 3 sites gets a score of 19.6 (these are extremely rare)         &lt;br /&gt;&lt;/i&gt;&lt;i&gt;Source &lt;a href="http://meta.stackoverflow.com/questions/53650/area-51-commit-percent"&gt;http://meta.stackoverflow.com/questions/53650/area-51-commit-percent&lt;/a&gt; &lt;/i&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;So if you are interested in Visual Studio ALM or any of its features, be sure to Commit and send this to anyone you know who might be interested.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2"&gt;Commit to Visual Studio ALM&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Friday 13th August 2010 – Vote for Visual Studio ALM on Area51&lt;/h3&gt;  &lt;p&gt;&lt;a title="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2" href="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2"&gt;Visual Studio ALM StackExchange Proposal&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We have now reached 1 of the three milestones required to get the site to the “commit” stage.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/VisualStudioALMonArea51_98A3/image_f1657582-f18c-4f1a-9111-b61bf518fcba.png" width="188" height="195" /&gt;     &lt;br /&gt;&lt;b&gt;Figure: We have enough followers but not enough votes&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;We now have question overload and need to concentrate on getting those top 5 On Topic and 5 Off Topic questions to have 20 votes each. &lt;/p&gt;  &lt;h5&gt;Top 5 On-Topic&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;What’s a backup and recovery process for Team Foundation Server 2010? &lt;/li&gt;    &lt;li&gt;How can I automatically version my assemblies in TFS Build 2010? &lt;/li&gt;    &lt;li&gt;How can I sync two Team Foundation Servers? &lt;/li&gt;    &lt;li&gt;How do I do branching if I want to be able to create hotfixes? &lt;/li&gt;    &lt;li&gt;Default value: Are they assigned only when a work item is created? &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Top 5 Off-Topic&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Do I need to purchase additional Client access Licenses for TFS 2010? &lt;/li&gt;    &lt;li&gt;How do I migrate my TFS content to Visual SourceSafe? &lt;/li&gt;    &lt;li&gt;What and who are the ALM Rangers and what role do they play within Microsoft? &lt;/li&gt;    &lt;li&gt;How do you install Visual Studio 2003? &lt;/li&gt;    &lt;li&gt;How do I debug my WPF application? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;If everyone can concentrate their votes in at least the current top 10 we should have enough! If you currently have a vote on a question with fewer than 10 votes it may be worth removing it and adding it to one of the questions higher up.&lt;/b&gt;&lt;/p&gt; &lt;a title="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2" href="http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2"&gt;Visual Studio ALM StackExchange Proposal&lt;/a&gt;   &lt;br /&gt;You have 5 on-topic and 5 off-topic votes to cast.   &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141317"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141317" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/141317.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=mA3XOqAEzzk:DOvKLCAS5ck:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=mA3XOqAEzzk:DOvKLCAS5ck:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=mA3XOqAEzzk:DOvKLCAS5ck:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=mA3XOqAEzzk:DOvKLCAS5ck:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/mA3XOqAEzzk" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/08/15/more-votes-required-for-visual-studio-alm-on-area51.aspx</guid>
            <pubDate>Sun, 15 Aug 2010 10:10:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/141317.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/08/15/more-votes-required-for-visual-studio-alm-on-area51.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/141317.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/141317.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/08/15/more-votes-required-for-visual-studio-alm-on-area51.aspx</feedburner:origLink></item>
        <item>
            <title>Active Directory Groups not Syncing with Team Foundation Server 2010</title>
            <category>TFS 2010</category>
            <category>TFS</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/atH2pWU3fIQ/active-directory-groups-not-syncing-with-team-foundation-server-2010.aspx</link>
            <description>&lt;p&gt;&lt;img style="display: inline" align="left" src="http://www.d-a-l.com/wp-content/uploads/2008/12/symbol-error.png" width="79" height="79" /&gt;For a little while now I had been investigating an odd occurrence in Team Foundation Server. Users added to Active Directory groups have not been filtering back into the Team Foundation Server groups cache. The meant that we had to add users directly to Team Foundation Server in order to give them permission. While this was not ideal, it did not really inconvenience us that much, but we are now trying to streamline our security and need it fixed.&lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Updated 27th July 2010&lt;/font&gt; – SOLUTION - Craig Harry spoke to a couple of the product team guys for both TFS and Active Directory and they came up with a temporary solution.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;Although we do not have a high turnover of core staff, we take on a lot of developers for Work Experience and we now have three guys in the root Project Collection Administrators when we already have an Active Directory group the are in added at this level.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/clip_image002_4dab75ef-55ae-496e-951a-ddbccdea7b69.jpg" width="652" height="419" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure: These are all work experience, and are in the AD group, but don’t show in the AD group SSW2000\Developers on the TFS server&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Snapshots from &lt;b&gt;the SSW2000\Developers&lt;/b&gt; groups (as records on the TFS server)&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/clip_image004_4207bb25-3431-4031-a0aa-349def22b9d9.jpg" width="360" height="81" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/clip_image006_a07b82d5-179a-44ac-85d9-3bf50f73888c.jpg" width="326" height="73" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/clip_image008_8969fa64-a3b5-43b0-bb11-05cec03f134d.jpg" width="348" height="93" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure: TFS does not show these guys even though they are in AD&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now, don’t get me started as to why all developers get Project Collection Admin! It better than in TFS 2008 when they all have Server admin, but we have not yet tackled the security model update that we need. We have over 170 Team Projects and I have not yet had the time to go through and add them all in. Yes I know I could build a tool for that, but again, I have not yet had the time.&lt;/p&gt;  &lt;p&gt;The first thing to look at is the Event Log, but as you can see there are rather a lot of entries, over 13000 of them so applying a filter to just the TFS events is a good idea.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/image_0568bc7a-997f-454a-b6ea-41dc32fa7db1.png" width="632" height="629" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Check the event log for common errors&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can see the hourly “TFS Services” errors, and in fact they reoccur every 24 hours. If you check the 3071 error you will see that the core error is TF53010 that is caused by a timeout in the “Team Foundation Server Identity Synchronization job”.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The description for Event ID 3071 from source TFS Services cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.&lt;/p&gt;    &lt;p&gt;If the event originated on another computer, the display information had to be saved with the event.&lt;/p&gt;    &lt;p&gt;The following information was included with the event: &lt;/p&gt;    &lt;p&gt;TF53010: The following error has occurred in a Team Foundation component or extension:      &lt;br /&gt;Date (UTC): 7/07/2010 1:38:49 PM       &lt;br /&gt;Machine: BASALISK       &lt;br /&gt;Application Domain: TfsJobAgent.exe       &lt;br /&gt;Assembly: Microsoft.TeamFoundation.Framework.Server, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727       &lt;br /&gt;Service Host: fba54aae-87d6-47bf-a192-0e58693b9ade (TEAM FOUNDATION)       &lt;br /&gt;Process Details:       &lt;br /&gt;  Process Name: TFSJobAgent       &lt;br /&gt;  Process Id: 7976       &lt;br /&gt;  Thread Id: 9136       &lt;br /&gt;  Account name: NT AUTHORITY\NETWORK SERVICE&lt;/p&gt;    &lt;p&gt;Detailed Message: The Team Foundation Server Identity Synchronization job has timed out. Please restart the job service.&lt;/p&gt;    &lt;p&gt;the message resource is present but the message is not found in the string/message table      &lt;br /&gt;&lt;strong&gt;-Event Log entry from TFS Server&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The next thing you want to look for is the job definition. Is it there and is it configured correctly. To do this you need to run some SQL on your TFS server. Please remember that you loose support if you make changes to the data without the aid of MSFT Support. Note that I am not doing this alone, Mr Craig Harry MSFT has my back on this one.&lt;/p&gt;  &lt;pre class="brush: sql; ruler: true;"&gt;USING tfs_Configuration 
SELECT TOP 1000 *  
FROM [Tfs_Configuration].[dbo].[tbl_JobDefinition] 
WHERE JobId='544DD581-F72A-45A9-8DE0-8CD3A5F29DFE'&lt;/pre&gt;

&lt;p&gt;You will likely get the following single entry returned by SQL Server.&lt;/p&gt;

&lt;table border="0" cellspacing="0" cellpadding="4" width="590"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;JobId:&lt;/td&gt;

      &lt;td valign="top" width="472"&gt;544DD581-F72A-45A9-8DE0-8CD3A5F29DFE&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;JobName:&lt;/td&gt;

      &lt;td valign="top" width="472"&gt;Team Foundation Server Periodic Identity Synchronization&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;ExtensionName:&lt;/td&gt;

      &lt;td valign="top" width="472"&gt;Microsoft.TeamFoundation.JobService.Extensions.Core.IdentitySyncJobExtension&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;Data:&lt;/td&gt;

      &lt;td valign="top" width="472"&gt;NULL&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;EnabledState: &lt;/td&gt;

      &lt;td valign="top" width="472"&gt;0&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;Flags:  &lt;/td&gt;

      &lt;td valign="top" width="472"&gt;0&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="116" align="right"&gt;LastExecutionTime: &lt;/td&gt;

      &lt;td valign="top" width="472"&gt;NULL&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Figure: Job Definition returned from SQL for the AD Sync job&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Looks OK to me, and as I understand it is normal for the LastExecution to be NULL. &lt;/p&gt;

&lt;p&gt;The next thing to check is the history for the Job runs.&lt;/p&gt;

&lt;pre class="brush: sql; ruler: true;"&gt;USING tfs_Configuration 
SELECT TOP 1000 *
FROM [Tfs_Configuration].[dbo].[tbl_JobHistory] 
WHERE JobId='544DD581-F72A-45A9-8DE0-8CD3A5F29DFE'&lt;/pre&gt;

&lt;p&gt;You will hopefully not get the same result as me:&lt;/p&gt;

&lt;table border="0" cellspacing="0" cellpadding="2" width="401"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;HistoryId:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;519100    &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;JobSource:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;FBA54AAE-87D6-47BF-A192-0E58693B9ADE&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;JobId:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;544DD581-F72A-45A9-8DE0-8CD3A5F29DFE&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;QueueTime:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;2010-04-21 01:00:00.000    &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;StartTime:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;2010-04-21 01:00:00.597    &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;EndTime: &lt;/td&gt;

      &lt;td valign="top" width="288"&gt;2010-07-02 16:34:13.653    &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;AgentId:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;5D5939AB-4F76-4BDC-A518-FC09EC352152    &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;Result:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;7 &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;ResultMessage:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;NULL&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;QueuedReasons:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;1&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td valign="top" width="111" align="right"&gt;QueueFlags:&lt;/td&gt;

      &lt;td valign="top" width="288"&gt;0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Figure: Data from the Job History table shows something interesting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because of the timeout in the error message above the TFS Job Agent has marked the job as “Inactive” with a 7 above.&lt;/p&gt;

&lt;p&gt;So, how do we figure out what can we do to try and identify where the problem is. Well its time to enable the built in tracing functionality and look at what is going on and where the error is occurring.&lt;/p&gt;

&lt;p&gt;The job agent is located in “C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\TFSJobAgent” and you need to edit the “TfsJobAgent.exe.config” file to enable the trace. This file is stored in a location that needs admin access to the folders, so start notepad in Administrator mode and find the trace section and uncomment the Listners.&lt;/p&gt;

&lt;pre class="brush: xml; ruler: true; highlight: [4,9];"&gt;&amp;lt;trace autoflush="false" indentsize="4"&amp;gt;
  &amp;lt;!--To enable tracing to file, simply uncomment listeners section and set trace switch(es) below.
      Directory specified for TextWriterTraceListener output must exist, and job agent service account must have write permissions. --&amp;gt;
  &amp;lt;!--&amp;lt;listeners&amp;gt;
    &amp;lt;add name="myListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="C:\temp\jobagent.log" /&amp;gt;
    &amp;lt;remove name="Default" /&amp;gt;
  &amp;lt;/listeners&amp;gt;--&amp;gt;
&amp;lt;/trace&amp;gt;&lt;/pre&gt;

&lt;p&gt;You can see on lines 4 and 9 there is the standard XML/HTML comments and you just need to remove them and set the “initializeData” attribute to a location that you can write to; this is usually “c:\temp”.&lt;/p&gt;

&lt;p&gt;Once you have that there is one more thing to do. Usually traces are broken up into categories and we want to enable verbose tracing on at least the “General”, “API” and “Authentication” switches.&lt;/p&gt;

&lt;pre class="brush: xml; ruler: true; highlight: [6,10];"&gt;&amp;lt;switches&amp;gt;
  &amp;lt;!--  Trace Switches
        Each of the trace switches should be set to a value between 0 and 4, inclusive.
          0: No trace output
          1-4: Increasing levels of trace output; see Systems.Diagnostics.TraceLevel--&amp;gt;
  &amp;lt;add name="API" value="0" /&amp;gt;
  &amp;lt;add name="Authentication" value="0" /&amp;gt;
  &amp;lt;add name="Authorization" value="0" /&amp;gt;
  &amp;lt;add name="Database" value="0" /&amp;gt;
  &amp;lt;add name="General" value="0" /&amp;gt;
  &amp;lt;add name="traceLevel" value="0" /&amp;gt;
&amp;lt;/switches&amp;gt; &lt;/pre&gt;

&lt;p&gt;Set the “value” attribute to a 4 for “Verbose” for those switches and save the file.&lt;/p&gt;

&lt;p&gt;After examining the logs Mr Harry sent me a little bit of code to run on the server… Rather innocuous looking in its terseness, but it helped isolate the issue.&lt;/p&gt;

&lt;pre class="brush: csharp; ruler: true;"&gt;using System;
using System.Collections.Generic;
using System.DirectoryServices;
using System.Linq;
using System.Text;

namespace ReadLocal
{
    class Program
    {
        static void Main(string[] args)
        {
            using (DirectoryEntry de = new DirectoryEntry())
            {
                de.Path = string.Concat("WinNT://./Administrators");
                Console.WriteLine(de.SchemaClassName);
                de.Path = string.Concat("WinNT://BUILTIN/Administrators");
                Console.WriteLine(de.SchemaClassName);
            }
        }
    }
}&lt;/pre&gt;

&lt;p&gt;This code have been running on the TFS server for nearly an hour with no sign of returning. The code is trying to resolve accounts against the local machine so as not to have to call out to Active Directory and make things a little faster. I am amazed that Craig was able to diagnose this over IM (Yes the code came through IM as well) and all credit should be sent in his direction.&lt;/p&gt;

&lt;p&gt;This is an edge case code problem on our domain and the TFS product team is going to have to speak to the Active Directory guys and see if it is a domain setting change or a hotfix that is needed.&lt;/p&gt;

&lt;p&gt;Craig spoke to the relevant guys and it seams that although they will be fixing the code and releasing a hotfix, there is a work around for the problem.&lt;/p&gt;

&lt;p&gt;If you remove the “BUILTIN\Administrators” group from the “Team Foundation Administrators” group the code takes a different path and does not encounter the hang.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ADGroupsnotSyncingwithTeamFoundationServ_DEC1/image_f74b6076-6caf-40c2-9d51-79fe005303d4.png" width="800" height="600" /&gt;

  &lt;br /&gt;&lt;strong&gt;Figure: Open “Team Foundation Server Administration Console | Application Tier | Group Membership | [TEAM FOUNDATION]\Team Foundation Administrators” and remove the “BUILTIN\Administrators” group.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I then restarted the “Team Foundation Server Job Agent” service and after a few minutes the problem above had resolved itself correctly.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2262bc5e-0b7a-4721-bbad-10c7c47ae8d0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+2010" rel="tag"&gt;TFS 2010&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140818"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140818" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140818.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=atH2pWU3fIQ:lr-sU4PAf6U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=atH2pWU3fIQ:lr-sU4PAf6U:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=atH2pWU3fIQ:lr-sU4PAf6U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=atH2pWU3fIQ:lr-sU4PAf6U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/atH2pWU3fIQ" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/07/07/active-directory-groups-not-syncing-with-team-foundation-server-2010.aspx</guid>
            <pubDate>Wed, 07 Jul 2010 22:02:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140818.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/07/07/active-directory-groups-not-syncing-with-team-foundation-server-2010.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140818.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140818.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/07/07/active-directory-groups-not-syncing-with-team-foundation-server-2010.aspx</feedburner:origLink></item>
        <item>
            <title>TFS Event Handler for Team Foundation Server 2010</title>
            <category>TFS 2010</category>
            <category>TFS Custom</category>
            <category>TFS</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/HkboTQhfy4k/tfs-event-handler-for-team-foundation-server-2010.aspx</link>
            <description>&lt;p&gt;I am looking at re-working the &lt;a title="Team Foundation Server" href="http://msdn2.microsoft.com/en-us/teamsystem/aa718934.aspx" target="_blank"&gt;TFS&lt;/a&gt; Event Handler and I was hoping that you would help me decide what handlers to build!&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://tfseventhandler.codeplex.com/WorkItem/Create.aspx?ProjectName=TFSEventHandler"&gt;Request an event handler&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;The original Event Handler sends emails when:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A work item is assigned to you &lt;/li&gt;    &lt;li&gt;A work item that is assigned to you is reassigned to someone else &lt;/li&gt;    &lt;li&gt;A work item that you created is assigned to someone else. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The TFS Event Handler that I built for Team Foundation Server 2005 and Team Foundation Server 2008 used a service subscription to then handle events in a separate service host. This posed its own problems of writing the wrapper, API and host for the handlers. Well, now the Team Foundation Server team have stepped up and created their own.&lt;/p&gt;  &lt;p&gt;The new TFS Event Handler will use these new Server Event Sinks to process the events more efficiently and quickly, but there is also the option to handle certain decision points on the server. This opens the window for Server Side check-in policies as well as a whole host of other options. These events should run more efficiently and benefit from the entire TFS Object Model that was extremely inefficient to load in the old Event Handlers.&lt;/p&gt;  &lt;p&gt;There are lots of new integration points so I have listed all of the events here so you can get an idea what can be achieved.&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://tfseventhandler.codeplex.com/WorkItem/Create.aspx?ProjectName=TFSEventHandler"&gt;Request an event handler&lt;/a&gt;]&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;&lt;strong&gt;Version Control&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;strong&gt;Decision&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;strong&gt;Notification&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;CheckinNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;PendChangesNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;UndoPendingChangesNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;ShelvesetNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;WorkspaceNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;LabelNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;CodeChurnCompletedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Figure: Version Control events&lt;/strong&gt;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;&lt;strong&gt;Build&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;strong&gt;Decision&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;strong&gt;Notification&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;BuildCompletionNotificationEvent &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;BuildQualityChangedNotificationEvent &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Figure: Work Item Tracking events&lt;/strong&gt;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;Work Item Tracking &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;strong&gt;Decision&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;WorkItemChangedEvent &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;WorkItemMetadataChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;minimal&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;WorkItemsDestroyedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;minimal&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Figure: Team Build Events&lt;/strong&gt;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;&lt;strong&gt;Test Management&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;strong&gt;Decision&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;strong&gt;Notification&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestSuiteChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestRunChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestPlanChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestCaseResultChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestPointChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestRunCoverageUpdatedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;BuildCoverageUpdatedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;TestConfigurationChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Figure: Test Manager Events&lt;/strong&gt;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="230"&gt;&lt;strong&gt;Framework &lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;strong&gt;Decision&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;strong&gt;Notification&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;StructureChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;AuthorizationChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;IdentityChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;SecurityChangedNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;SendEmailNotification &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="230"&gt;HostReadyEvent &lt;/td&gt;        &lt;td valign="top" width="63"&gt;&lt;img style="margin: 0px 20px" title="no" alt="Does not have this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Error-icon.png" /&gt;&lt;/td&gt;        &lt;td valign="top" width="108"&gt;&lt;img style="margin: 0px 20px" title="yes" alt="Has this feature" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/5366/o_Tick-icon.png" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Figure: Framework Events&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I will do a series of blog posts as I build the handlers so you can build your own, but I wanted to get the most common cases pre-built and ready to go. I know that emailing an assignment is a good one to start with, but what else do you see on the cards?&lt;/p&gt;  &lt;p&gt;The Email handlers would not work so well in the Scrum environment, but what would?&lt;/p&gt;  &lt;p&gt;[&lt;a href="http://tfseventhandler.codeplex.com/WorkItem/Create.aspx?ProjectName=TFSEventHandler"&gt;Request an event handler&lt;/a&gt;]&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:53884297-a5f9-4895-a1b2-ae1ef366b920" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+2010" rel="tag"&gt;TFS 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+Custom" rel="tag"&gt;TFS Custom&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140803"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140803" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140803.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=HkboTQhfy4k:nikxLa0gV9c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=HkboTQhfy4k:nikxLa0gV9c:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=HkboTQhfy4k:nikxLa0gV9c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=HkboTQhfy4k:nikxLa0gV9c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/HkboTQhfy4k" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/07/07/tfs-event-handler-for-team-foundation-server-2010.aspx</guid>
            <pubDate>Wed, 07 Jul 2010 10:20:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140803.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/07/07/tfs-event-handler-for-team-foundation-server-2010.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140803.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140803.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/07/07/tfs-event-handler-for-team-foundation-server-2010.aspx</feedburner:origLink></item>
        <item>
            <title>The search for a single point of truth</title>
            <category>Sync</category>
            <category>LinkedIn</category>
            <category>Live</category>
            <category>Links</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/S_bQTn-2R6w/the-search-for-a-single-point-of-truth.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_e750a958-7b37-4b27-bb88-9cdc3d6e7333.png" width="43" height="33" /&gt;It may be a trivial matter to get your contacts on your phone, but if you do the social network thing, then you need to do a little jiggery pokery to get everything to sync so you have the same contacts everywhere. Over the last couple of weeks I have vowed to get them sorted.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;[Updated 7th July 2010]&lt;/font&gt; – I found a client that works with Outlook 2010 &lt;a title="http://sourceforge.net/projects/syncmldotnet/" href="http://sourceforge.net/projects/syncmldotnet/"&gt;http://sourceforge.net/projects/syncmldotnet/&lt;/a&gt; &lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt; &lt;/p&gt; What we want is a “single point of truth” that will suck all of our contacts in and try and make sure that we have no duplicates.   &lt;br clear="all" /&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML2e12b72" border="0" alt="SNAGHTML2e12b72" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/SNAGHTML2e12b72.png" width="800" height="521" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure: Target model of a single point of truth&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Before today I was a premium Plaxo user, but I have been steadily disenfranchised by their increase in social networking features and decrees in effort on the core Contact Sync features. I used to be able to sync my LinkedIn, Live Contacts, Google contacts and more. They provided a basic Windows Mobile application and a decent outlook client. If you are also a Plaxo user you will have seen a steady move from Sync points to Imports, which in my opinion sucks. It also does not sync pictures.&lt;/p&gt;  &lt;p&gt;I have over 1700 contacts built up over a long time. Yes, some of them are crap, but it is very difficult to get rid of the crap in favour of the good stuff. Today I went looking for a solution. &lt;/p&gt;  &lt;p&gt;I tried lots of local apps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;OutSync&lt;/strong&gt; – Invaluable for importing your Facebook pictures &lt;/li&gt;    &lt;li&gt;androgyny – Good Facebook app for getting the pictures into Google, but lacks stability. &lt;/li&gt;    &lt;li&gt;GO Contact Sync – Sucks... could not get it to work with Outlook 2010 &lt;/li&gt;    &lt;li&gt;Xobni – No sync capability as it is just an overlay (to lock you in) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This is all well and good for Facebook, but what about LinkedIn or Live? I want all my contacts and pictures to be the same on all of my sites that “stores” contacts. So no Sync with LinkedIn or Facebook, but it should pull the valuable updates to details and pictures.&lt;/p&gt;  &lt;p&gt;I tried re-doing Plaxo, but no luck. I used uber-google-fu to find very little and the I stumbled across some sites. But first lets look at what I want to sync. In an ideal world I want to be able to sync everything.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Outlook &lt;/li&gt;    &lt;li&gt;Google Contacts &lt;/li&gt;    &lt;li&gt;Google Calander &lt;/li&gt;    &lt;li&gt;Facebook (One way) &lt;/li&gt;    &lt;li&gt;LinkedIn (One way) &lt;/li&gt;    &lt;li&gt;Windows Live Contacts &lt;/li&gt;    &lt;li&gt;Yahoo Contacts &lt;/li&gt;    &lt;li&gt;Twitter (Not sure how this would work) &lt;/li&gt;    &lt;li&gt;Windows Mobile &lt;/li&gt;    &lt;li&gt;Android &lt;/li&gt;    &lt;li&gt;Plaxo &lt;/li&gt;    &lt;li&gt;Soocial &lt;/li&gt;    &lt;li&gt;SheduleWorld &lt;/li&gt;    &lt;li&gt;UNYK &lt;/li&gt;    &lt;li&gt;Vodafone 360 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You may be thinking, why the hell do you have so many services. Well, I have been on the internet a number of years and I have contacts and links and settings on services that I  have moved away from, but me contacts have not. I even still pull email from my old cable &amp;amp; wireless email account that I had pre 2000. Why, because people may only have my old email address and try to contact me. You know, old friends and family who are incapable of updating their contacts.&lt;/p&gt;  &lt;p&gt;Its the same reason that I have had the same mobile phone number for 12 years and landline number for just as long even though I have moved house, district and providers. I like to be consistent.&lt;/p&gt;  &lt;p&gt;Its not hard to do, it just takes a little effort, and I can’t understand why I get a new mobile number from some people every year when they change mobile.&lt;/p&gt;  &lt;p&gt;What &lt;strong&gt;&lt;em&gt;is&lt;/em&gt;&lt;/strong&gt; that all about?&lt;/p&gt;  &lt;p&gt;Lets look at a couple of the “sync your contacts” services.&lt;/p&gt;  &lt;h3&gt;Plaxo – &lt;a href="http://plaxo.com"&gt;http://plaxo.com&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_efe6157b-309f-4a2b-a7d5-c7500a2b058b.png" width="143" height="51" /&gt;I used to consider this the best, but it seems to have gone backwards in features and is no longer useful as a single point of truth.&lt;/p&gt;  &lt;p&gt;Used to sync with Google, Live and Facebook… now? Nothing…&lt;/p&gt;  &lt;p&gt;Its still good for keeping the contacts you do have in there updated, and it is worth checking periodically if people have joined as you will get updated details automatically.    &lt;br clear="all" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML278f1ba" border="0" alt="SNAGHTML278f1ba" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/SNAGHTML278f1ba.png" width="479" height="396" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure: Plaxo&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Syncing with Plaxo is a must…&lt;/p&gt;  &lt;h3&gt;Soocial - &lt;a title="http://www.soocial.com/" href="http://www.soocial.com/"&gt;http://www.soocial.com/&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_ee98f740-6abd-4365-82c5-17d50736bbf7.png" width="120" height="68" /&gt;Soocial provides good but limited functionality for syncing. After checking the feature requests and when they were requested there seems to be very little development going on. It has by far the nicest UI, but what use is a nice UI with no features.     &lt;br clear="all" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML27b1e17" border="0" alt="SNAGHTML27b1e17" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/SNAGHTML27b1e17.png" width="479" height="396" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Soocial&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So what does it sync with?&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_d172aa68-1f93-4b3e-909e-038732f41c3e.png" width="355" height="257" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Soocial syncs with a few, Yahoo, Gmail and Live&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This was the first service I tried after Plaxo, and with 1700 contacts I had to pay to prove that it was no use for me. Sucks, but true.&lt;/p&gt;  &lt;p&gt;But where is Facebook? Well, I went looking and found a support thread that stated that they would have the feature within they next couple of months. Hmmm, dated 12 months ago… not good. I checked other threads and found a similar story.&lt;/p&gt;  &lt;p&gt;If you are going to provide Sync you have to sync everything and do it well…&lt;/p&gt;  &lt;h3&gt;Memotoo - &lt;a title="http://www.memotoo.com/" href="http://www.memotoo.com/"&gt;http://www.memotoo.com/&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_2eed3563-8702-495a-a27c-75d2b317d404.png" width="174" height="57" /&gt;Memotoo has an initially unfriendly user interface, but boy do the features make up for it. Not only that but I reported 3 bugs and asked for 1 new feature and had them all implemented in under 24 hours. Its stable and fast as well.     &lt;br clear="all" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML275a292" border="0" alt="SNAGHTML275a292" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/SNAGHTML275a292.png" width="486" height="390" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Memotoo&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is the only service that can act as the core of any single source of truth due to it breadth of connections.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_d1609fdb-6d86-4b38-a781-35b91e863875.png" width="389" height="768" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Could you imagine more connections?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Well I can imagine more connection &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/wlEmoticon-smile_2.png" /&gt; But did you see the “Synchronize a SynML server”?&lt;/p&gt;  &lt;p&gt;You would be surprised by how many services use SyncML. I was. &lt;/p&gt;  &lt;p&gt;I remember reading an article in the mid naugties that talked about community sites. If you were building them, you just had to provide a method of getting peoples connection in and out in an easy standard manor. SyncML has grown to be this solution and there are some open source SyncML solutions out there. So there is no excuses for not using them.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_eccbe156-dcce-4d62-87e8-afeff75804b7.png" width="435" height="58" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Built in SyncML settings&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Memotoo will let you add any other SyncML server that you want with a nifty form to setup the connections, but clicking the icon for your favourite service above will fill out the form for you, phew.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_4d0d5897-c786-4f27-8914-90df1cd0be5e.png" width="564" height="417" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Set up any SyncML settings you like.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Memotoo is only £12 for a year, so it is not even that costly. It will even do files, calendar, email, tasks and notes.&lt;/p&gt; Another nice thing that Memotoo does is to allow custom types and it matches your contacts on that basis. There is a field for the Facebook URL and one for LinkedIn. This allows the background sync system to know that it should match your “one way” syncs to there particular contacts. Most of the other services will probably do this behind the scenes, but you cant configure it, nor identify which contact is which without it.   &lt;br /&gt;  &lt;p&gt;When adding a contact you have the usual Home and Work details, but the real magic happens on the “Other” tab.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_ffe480b9-efa1-4c17-b105-b2f14e8fccf0.png" width="722" height="442" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Built-in and added fields&lt;/strong&gt;     &lt;br /&gt;&lt;/p&gt; If you have the MSN ID fields filled out that will make sure you don’t get duplicates from you Live Messenger contacts, I assume that it is the same for AIM ID. In the configured fields at the bottom it matches and updated information and pictures from Facebook and LinkedIn buy using the profile URL.   &lt;br /&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_921937f0-e97a-4990-984f-26d2cc2d32b7.png" width="800" height="323" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Custom field definitions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I had added my own twitter field and then emailed Thomas (The genius behind Memotoo) and within 6 hours not only had he added it as a standard, but he has written a basic Twitter sync point.&lt;/p&gt;  &lt;p&gt;So if you use an obscure profile service, or even want to add the profile of your internal corporate intranet you can…&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_1c829bb3-3d49-4191-bd40-84c4c421bf66.png" width="298" height="72" /&gt;&lt;/p&gt;  &lt;p&gt;The only problem I have is that Office 2010 is not currently supported by the Funambol Sync software that Memotoo recommends. &lt;/p&gt;  &lt;p&gt;[Updated 7th July 2010]&lt;/p&gt;  &lt;p&gt;I have found a SyncML client that does support Outlook 2010, and it is even written in .NET&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/image_a3454a09-1fe4-4337-840d-cee21a900258.png" width="400" height="138" /&gt;    &lt;br /&gt;&lt;strong&gt;Figure: SyncML.NET client will not win a beauty pageant&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sourceforge.net/projects/syncmldotnet/" href="http://sourceforge.net/projects/syncmldotnet/"&gt;http://sourceforge.net/projects/syncmldotnet/&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Putting it all together&lt;/h3&gt;  &lt;p&gt;In order to get this to work, you are going to get duplicates that you are going to have to deal with. If like me you have gazillions of contacts you could end up with lots of duplicates. In fact I ended up with over 1200 duplicate matches, but once I had merged the ones I really cared about and deleted the rest of the duplicates it all fell in to place.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML127a069" border="0" alt="SNAGHTML127a069" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/SNAGHTML127a069.png" width="800" height="539" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure: MrHinsh’s Single point of truth – [Updated 7th July 2010]&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You will occasionally get duplicates over time, but sorting them often will keep them at bay. This pretty much covers all of your bases and I am sure that any new services will be added by Thomas (Mr Memotoo) very quickly.&lt;/p&gt;  &lt;p&gt;I am very happy with my contact syncing setup &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/7b88707dd37e_F009/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9d5c9124-6c6f-4820-a8c8-72a760330539" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Sync" rel="tag"&gt;Sync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LinkedIn" rel="tag"&gt;LinkedIn&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Live" rel="tag"&gt;Live&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140789"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140789" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140789.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=S_bQTn-2R6w:TpSHZWOQxdw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=S_bQTn-2R6w:TpSHZWOQxdw:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=S_bQTn-2R6w:TpSHZWOQxdw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=S_bQTn-2R6w:TpSHZWOQxdw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/S_bQTn-2R6w" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/07/07/the-search-for-a-single-point-of-truth.aspx</guid>
            <pubDate>Tue, 06 Jul 2010 23:44:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140789.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/07/07/the-search-for-a-single-point-of-truth.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140789.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140789.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/07/07/the-search-for-a-single-point-of-truth.aspx</feedburner:origLink></item>
        <item>
            <title>Changing the Team Project Collection of the Team Build Controller</title>
            <category>ALM</category>
            <category>TFBS</category>
            <category>TFS 2010</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/Hg1AZpT1ibA/changing-the-team-project-collection-of-the-team-build-controller.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="BuildIcon_Large" border="0" alt="BuildIcon_Large" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ab2235c2ab06_E4A0/BuildIcon_Large_97146c16-538d-4b34-9136-d0c459b0d89e.png" width="90" height="80" /&gt;&lt;/p&gt;  &lt;p&gt;When you are doing demos or training for Team Foundation Server 2010 (TFS 2010) you may have multiple Team Project Collections (TPC) for different scenarios or process templates. You may even be attaching a pre-built TPC image so you can start from a particular point. If you try to do create a build you will find that it complains about there not being a Team Build Controller (TBC).&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;One thing you learn very quickly when working with TFS 2010 is that you can only attach ONE Team Build Controller to ONE Team Project Collection. This one-one relationship can cause issues if you have many Team Project Collections because there can only be one Team Project Collection configured per server.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blog.qetza.net/wp-content/uploads/2009/11/image12.png" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Two Team Project Collections&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This means that if you have 2 Team Project Collection you will need two serve to manage the builds. It can be the same server as your build server, but that depends on your throughput and load.&lt;/p&gt;  &lt;p&gt;In the presentation scenario you will need to reconfigure your Team Build Controller on the fly. But how do you do this.&lt;/p&gt;  &lt;p&gt;If you open the Team Foundation Server Administration Console you will see a “Build Configuration” node. If you select this it will show all of the configuration options for your build server on that box.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ab2235c2ab06_E4A0/image_a05c6498-c41a-4b28-b668-760df9a6bd8b.png" width="800" height="496" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Team Build Configuration screen shows the Controller and any Agents running on that server&lt;/strong&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;p&gt;In this case this is our TFS server and we only have the Build Controller running with no Agent. We run all of the agents on another box as it takes lots of processor to do a build and we don’t want that impacting our TFS server.&lt;/p&gt;  &lt;p&gt;In order to make the change, we need to alter the options not on the Controller instance itself, but on the Build Service Instance.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ab2235c2ab06_E4A0/image_512c491b-7477-4d77-94e8-a6554cc3fa83.png" width="800" height="496" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Change the options on the service instance &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Select the “Properties” option on the Build service and then stop the service to make the changes.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ab2235c2ab06_E4A0/image_4983f414-8d6c-4320-9aef-d1f97c89ff8e.png" width="399" height="467" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: The Build Service Properties are only available when the service is stopped&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ab2235c2ab06_E4A0/image_2fa0e487-458d-4cac-b1d7-d353196c7626.png" width="349" height="408" /&gt;     &lt;br /&gt;&lt;strong&gt;Figure: Select any server and then Project Collection you want to bind to&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;You need to select the server and then the Team Project Collection that you want to bind to. In fact you could have this Build Service bind to any Team Foundation Server even if the current server hosts TFS. I don’t know why you would want to, but it is possible.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Now that you have the Build Service configured to work against your new Team Project Collection the Build Controller and any Build Agents configured under it will now work for that collection.&lt;/p&gt;  &lt;p&gt;You can now go forth and create builds…&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5b0ab82b-6cfb-4ce8-8e0d-649259b6f08f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ALM" rel="tag"&gt;ALM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFBS" rel="tag"&gt;TFBS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TFS+2010" rel="tag"&gt;TFS 2010&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140775"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140775" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140775.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=Hg1AZpT1ibA:Qaulu00RqVc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=Hg1AZpT1ibA:Qaulu00RqVc:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=Hg1AZpT1ibA:Qaulu00RqVc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=Hg1AZpT1ibA:Qaulu00RqVc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/Hg1AZpT1ibA" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/07/05/changing-the-team-project-collection-of-the-team-build-controller.aspx</guid>
            <pubDate>Mon, 05 Jul 2010 15:57:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140775.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/07/05/changing-the-team-project-collection-of-the-team-build-controller.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140775.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140775.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/07/05/changing-the-team-project-collection-of-the-team-build-controller.aspx</feedburner:origLink></item>
        <item>
            <title>SSW Brain Quest: Team Foundation Server and SharePoint 2010 (London)</title>
            <category>SP 2010</category>
            <category>SSW</category>
            <category>TFS 2010</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/qxA2Hhvxg-Y/ssw-brain-quest-team-foundation-server-and-sharepoint-2010-london.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="thumb_SharePoint_and_TFS_2010" border="0" alt="thumb_SharePoint_and_TFS_2010" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/SSWBrainQuestTeamFoundationServerandShar_955C/thumb_SharePoint_and_TFS_2010_b0783854-d7db-4c95-b534-1f030ffc1e21.jpg" width="65" height="65" /&gt;If you are unable to commit to the 5 day &lt;a href="http://blog.hinshelwood.com/archive/2010/06/18/professional-scrum-developer-.net-training-in-london.aspx"&gt;Professional Scrum Developer&lt;/a&gt; course we are holding in London, &lt;a href="http://www.ssw.com.au/ssw/Employees/EmployeesProfile.aspx?EmpID=AC"&gt;Adam Cogan&lt;/a&gt; is running his famous &lt;a href="http://www.ssw.com.au/ssw/Events/Brain-Quest-VisualStudio2010-TFS2010-Sharepoint2010.aspx"&gt;Brain Quest&lt;/a&gt; 1 day session on Wednesday 21st July. &lt;/p&gt;  &lt;p&gt;This full day training course brings developers up-to-speed on the new features and benefits of Visual Studio 2010 Ultimate, Team Foundation Server 2010 and SharePoint 2010. With detailed insight into project management, requirements gathering, user stories, testing, workflow, document management and Office integration, attendees will leave with a strong understanding of how to embrace &lt;a title="Team Foundation Server" href="http://msdn2.microsoft.com/en-us/teamsystem/aa718934.aspx" target="_blank"&gt;TFS&lt;/a&gt; 2010 and SharePoint 2010 in their organization.&lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;hr /&gt;  &lt;p&gt;This course is split into two parts and you can attend one (£61.08) or both (£105.51). Sorry for the crazy prices, but you know these Aussies… &lt;/p&gt;  &lt;p&gt;These two sessions are fantastic and for the price I think you will find it difficult to argue that it is over priced.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ssw.com.au/ssw/Events/Brain-Quest-VisualStudio2010-TFS2010-Sharepoint2010.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/SSWBrainQuestTeamFoundationServerandShar_955C/image_b229f714-f5ee-40be-bdf3-dc16d581fad6.png" width="537" height="45" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is a break down of the &lt;a href="http://www.ssw.com.au/ssw/Events/Brain-Quest-VisualStudio2010-TFS2010-Sharepoint2010.aspx"&gt;SSW Brain Quest: Team Foundation Server and SharePoint 2010&lt;/a&gt; and agenda for the day.&lt;/p&gt;  &lt;h4&gt;&lt;a name="OverviewTFS"&gt;&lt;/a&gt;Session 1: Team Foundation Server 2010&lt;/h4&gt;  &lt;h3&gt;Team Foundation Server 2010 (TFS) for Successful Project Management&lt;/h3&gt;  &lt;p&gt;Visual Studio Ultimate (formerly Visual Studio Team System (VSTS)) and Team Foundation Server (TFS) are the cornerstones of development on the Microsoft .NET platform. These are the best tools for a project manager to have successful projects and for the developers to have a focused and smooth software development process.&lt;/p&gt;  &lt;p&gt;Come and see Adam Cogan, Microsoft Regional Director, &lt;a title="Visual Studio Team System" href="http://msdn2.microsoft.com/en-us/teamsystem/default.aspx" target="_blank"&gt;Visual Studio Team System&lt;/a&gt; Champ and Chief Architect from SSW show you:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to successfully gather requirements with User stories &lt;/li&gt;    &lt;li&gt;The right way to use work items &lt;/li&gt;    &lt;li&gt;The way to complete a work items and send a 'done' &lt;/li&gt;    &lt;li&gt;How to use templates for your standard work items &lt;/li&gt;    &lt;li&gt;The extra work items that developers always forget &lt;/li&gt;    &lt;li&gt;What is good and bad about Excel and Project integration &lt;/li&gt;    &lt;li&gt;What you can use from the built in reporting as well as the Project portals available from the SharePoint dashboard &lt;/li&gt;    &lt;li&gt;The important reports to give your Project Manager &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Walk away knowing how to see your project health and progress. Visual Studio Ultimate is designed to help address many of these traditional problems faced by project managers. It does so by providing a set of integrated tools to help teams improve their software development activities and to help project managers better support the software development processes.&lt;/p&gt;  &lt;p&gt;During this session we will cover the lifecycle of creating work items and tracking of releases using Visual Studio Ultimate and Team Foundation Server.&lt;/p&gt;  &lt;h3&gt;Visual Studio 2010 Team System - An Overview &lt;/h3&gt;  &lt;p&gt;Microsoft Visual Studio 2010 Team System is an integrated software development platform to build the mission-critical applications that businesses depend on. It extends Visual Studio's integrated and productive experience from the developer to the entire development team by delivering powerful new role-based tools for software architects, developers, testers and project managers. In this session you will see an overview of these tools and how they can improve your software development cycle. &lt;/p&gt;  &lt;h3&gt;Visual Studio 2010 Testing with Team Foundation Server (TFS) 2010 - the life of a bug &lt;/h3&gt;  &lt;p&gt;Visual Studio 2010 makes up a large part of a .Net developers life. This session will delve into the 'life of a bug' by taking a walk in the shoes of an everyday bug from discovery to release (and the steps that make up the in between). Come along and check out the new features that will make you happier by making your code better, your job easier, and your team more productive by reducing the obstacles you face in your everyday coding life. Learn:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What the new features for testers and developers &lt;/li&gt;    &lt;li&gt;How you now care - even if the tester can't reproduce the bug &lt;/li&gt;    &lt;li&gt;How to stop struggling to find the source of the bug in your code &lt;/li&gt;    &lt;li&gt;How can you streamline the testing process and make sure you don't repeat the same bugs &lt;/li&gt;    &lt;li&gt;How to automate more and reproduce bugs easier and discover problems sooner. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;a name="OverviewSharePoint"&gt;&lt;/a&gt;Session 2: SharePoint 2010&lt;/h4&gt;  &lt;h3&gt;&lt;a name="OverviewSharePoint"&gt;&lt;/a&gt;What's new in SharePoint 2010&lt;/h3&gt;  &lt;p&gt;In this session Adam Cogan will provide information about what is new in SharePoint 2010 and his personal favourites. The SharePoint Team has invested in many including: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UX support for Silverlight and Ajax &lt;/li&gt;    &lt;li&gt;Their Web Content Management System &lt;/li&gt;    &lt;li&gt;Digital Asset Management System (for videos) &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 tools for SharePoint 2010 &lt;/li&gt;    &lt;li&gt;Developer Platform &lt;/li&gt;    &lt;li&gt;Office 2010 integration &lt;/li&gt;    &lt;li&gt;RESTful Web API &lt;/li&gt;    &lt;li&gt;Tagging and Rating &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Lets see what's good and what's not.&lt;/p&gt;  &lt;h3&gt;Something About Mary (SharePoint and Office 2010)&lt;/h3&gt;  &lt;p&gt;Come see Adam Cogan explain what works well with SharePoint and Office for Mary and the other knowledge workers.&lt;/p&gt;  &lt;p&gt;First you will get an overview of what is great about having SharePoint in your business. Then see real world examples of:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Using SharePoint 2010 and Office 2010 together &lt;/li&gt;    &lt;li&gt;Where it fits with other important Microsoft products like CRM 4 and TFS &lt;/li&gt;    &lt;li&gt;Examples of how Word and Excel can be integrated into business processes (separate from SharePoint) &lt;/li&gt;    &lt;li&gt;Examples of how Word, Excel, PowerPoint can be combined with SharePoint to improve visibility/searchability/versioning across the company &lt;/li&gt;    &lt;li&gt;Overview of how data can be synchronized between SharePoint and external data sources (eg using Access and Excel) &lt;/li&gt;    &lt;li&gt;Overview of what 'workflow' (really!) means &lt;/li&gt;    &lt;li&gt;How Office can be incorporated into company workflows with SharePoint &lt;/li&gt;    &lt;li&gt;Extending SharePoint with Office SharePoint Designer 2010 (free!) &lt;/li&gt;    &lt;li&gt;Where VBA and VSTO fit in terms of how solutions can be developed &lt;/li&gt;    &lt;li&gt;Examples of other interesting Office/SharePoint integrations (eg the the Atlassian SharePoint Connector and Atlassian Office Connector) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This is a good chance for you to consider new ways of using Office in your company, along with pitfalls to avoid. Adam gets excited about this session because too often companies limit Office to just an email application, word processor and spreadsheet - completely missing the positive impact it can have on the entire business process.&lt;/p&gt;  &lt;h4&gt;Agenda&lt;/h4&gt;  &lt;h3&gt;Session 1: Team Foundation Server&lt;/h3&gt;  &lt;p&gt;9:00am – 1pm  with a 15 minute break&lt;/p&gt;  &lt;h3&gt;Session 2: SharePoint 2010&lt;/h3&gt;  &lt;p&gt;2:00pm - 6:00pm  with a 15 minute break.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt; &lt;a href="http://www.ssw.com.au/ssw/Events/Brain-Quest-VisualStudio2010-TFS2010-Sharepoint2010.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="image[7]" border="0" alt="image[7]" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/SSWBrainQuestTeamFoundationServerandShar_955C/image%5B7%5D_71cf2671-2888-4e26-b165-93a28a34a97f.png" width="537" height="45" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140725"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140725" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140725.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qxA2Hhvxg-Y:VzoZyowYy0c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qxA2Hhvxg-Y:VzoZyowYy0c:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qxA2Hhvxg-Y:VzoZyowYy0c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qxA2Hhvxg-Y:VzoZyowYy0c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/qxA2Hhvxg-Y" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/07/02/ssw-brain-quest-team-foundation-server-and-sharepoint-2010-london.aspx</guid>
            <pubDate>Fri, 02 Jul 2010 10:05:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140725.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/07/02/ssw-brain-quest-team-foundation-server-and-sharepoint-2010-london.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140725.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140725.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/07/02/ssw-brain-quest-team-foundation-server-and-sharepoint-2010-london.aspx</feedburner:origLink></item>
        <item>
            <title>Professional Scrum Developer (.NET) Training in London</title>
            <category>Scrum</category>
            <category>SSW</category>
            <category>Pro Scrum Dev</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/qiw1UqxCTwo/professional-scrum-developer-.net-training-in-london.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSWLogo" border="0" alt="SSWLogo" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/SSWLogo_999f36c7-41ea-4bf4-86e7-39be7af4e343.png" width="52" height="52" /&gt;On the 26th - 30th July in Microsoft’s offices in London &lt;a href="http://courses.scrum.org/about/adam-cogan"&gt;Adam Cogan&lt;/a&gt; from SSW will be presenting the first &lt;a href="http://www.scrum.org/professionalscrumdeveloper/"&gt;Professional Scrum Developer&lt;/a&gt; course in the UK. I will be teaching this course along side Adam and it is a fantastic experience. You are split into teams and go head-to-head to deliver units of potentially shippable work in four two hour sprints. &lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Update 18th June 2010&lt;/font&gt; – SSW Is offering a massive 50% discount to make this 5 day course only £1,168 but I have been told that this depends on availability so it may go back up.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Update 05th July 2010&lt;/font&gt; – One lucky attendee will be getting a copy of MSDN Ultimate.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ProfessionalScrumDeveloper_200px[3]" border="0" alt="ProfessionalScrumDeveloper_200px[3]" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/ProfessionalScrumDeveloper_200px%5B3%5D_4f247942-eca7-44ec-8d8c-df9694b5cb76.png" width="200" height="67" /&gt; &lt;/p&gt;  &lt;p&gt;The Professional Scrum Developer course is the only course endorsed by both Microsoft and &lt;a href="http://en.wikipedia.org/wiki/Ken_Schwaber"&gt;Ken Schwaber&lt;/a&gt; and they have worked together very effectively in brining this course to fruition. This course is the brain child of &lt;a href="http://blog.hundhausen.com/"&gt;Richard Hundhausen&lt;/a&gt;, a Microsoft Regional Director, and both Adam and I attending the Trainer Prep in Sydney when he was there earlier this year. He is a fantastic trainer and no matter where you do this course you can be safe in the knowledge that he has trained and vetted all of the teachers. A tools version of Ken if you will &lt;img class="wlEmoticon wlEmoticon-wink" alt="Wink" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/wlEmoticon-wink_2.png" /&gt;&lt;/p&gt;  &lt;br clear="all" /&gt;&lt;a href="http://www.ssw.com.au/ssw/events/Scrum-Training-Course.aspx?utm_source=MrHinsh&amp;amp;utm_medium=blog&amp;amp;utm_campaign=STLO01" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="LondonCallToAction[1]" border="0" alt="LondonCallToAction[1]" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/LondonCallToAction%5B1%5D_6fc4a406-d05f-4b71-bd6c-dd665672a1f8.png" width="517" height="46" /&gt;&lt;/a&gt;   &lt;p&gt;If you are outside the UK you can find out where this &lt;a href="http://courses.scrum.org/"&gt;course is being run near you&lt;/a&gt;. Make sure you have a look at the &lt;a href="http://www.scrum.org/scrumguides/"&gt;scrum guide from Scrum.org&lt;/a&gt; and the &lt;a href="http://www.accentient.com/scrum.aspx"&gt;syllabus from Accentient&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;With the launch of Visual Studio 2010 in April we have been furnished with a copy of MSDN Ultimate that will be given to the PSD that gets the highest score on the PSD &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/wlEmoticon-smile_2.png" /&gt; Now there is an incentive to do well…&lt;/p&gt;  &lt;hr /&gt;  &lt;h1&gt;What is the Professional Scrum Developer course all about?&lt;/h1&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/image_4bd6d4f6-955a-43f0-9873-0868fa7486e5.png" /&gt;Professional Scrum Developer course is a unique and intensive five-day experience for software developers. The course guides teams on how to turn product requirements into potentially shippable increments of software using the Scrum framework, Visual Studio 2010, and modern software engineering practices. Attendees will work in self-organizing, self-managing teams using a common instance of Team Foundation Server 2010.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6083c271-083a-479e-aeaa-b3d38985857b" class="wlWriterEditableSmartContent"&gt;&lt;div id="75c9018a-2c4e-48b9-b97a-d227bcbb9f58" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=AdLVD0avRHE" target="_new"&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/video292acb9cb756.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('75c9018a-2c4e-48b9-b97a-d227bcbb9f58'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/AdLVD0avRHE&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/AdLVD0avRHE&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="width:425px;clear:both;font-size:.8em"&gt;Figure: Sam and Ken discuss the PSD Course&lt;/div&gt;&lt;/div&gt;  &lt;h2&gt;Who should attend this course?&lt;/h2&gt;  &lt;p&gt;This course is suitable for any member of a software development team – architect, programmer, database developer, tester, etc. Entire teams are encouraged to attend and experience the course together, but individuals are welcome too.&lt;/p&gt;  &lt;p&gt;Attendees will self-organize to form cross-functional Scrum teams. These teams require an aggregate of skills specific to the selected case study. Please see the last page of this document for specific details.&lt;/p&gt;  &lt;p&gt;Product Owners, ScrumMasters, and other stakeholders are welcome too, but keep in mind that everyone who attends will be expected to commit to work and pull their weight on a Scrum team.&lt;/p&gt;  &lt;h2&gt;What should you know by the end of the course?&lt;/h2&gt;  &lt;p&gt;Scrum will be experienced through a combination of lecture, demonstration, discussion, and hands-on exercises. Attendees will learn how to do Scrum correctly while being coached and critiqued by the instructor, in the following topic areas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Form effective teams &lt;/li&gt;    &lt;li&gt;Explore and understand legacy “Brownfield” architecture &lt;/li&gt;    &lt;li&gt;Define quality attributes, acceptance criteria, and “done” &lt;/li&gt;    &lt;li&gt;Create automated builds &lt;/li&gt;    &lt;li&gt;How to handle software hotfixes &lt;/li&gt;    &lt;li&gt;Verify that bugs are identified and eliminated &lt;/li&gt;    &lt;li&gt;Plan releases and sprints &lt;/li&gt;    &lt;li&gt;Estimate product backlog items &lt;/li&gt;    &lt;li&gt;Create and manage a sprint backlog &lt;/li&gt;    &lt;li&gt;Hold an effective sprint review &lt;/li&gt;    &lt;li&gt;Improve your process by using retrospectives &lt;/li&gt;    &lt;li&gt;Use emergent architecture to avoid technical debt &lt;/li&gt;    &lt;li&gt;Use Test Driven Development as a design tool &lt;/li&gt;    &lt;li&gt;Setup and leverage continuous integration &lt;/li&gt;    &lt;li&gt;Use Test Impact Analysis to decrease testing times &lt;/li&gt;    &lt;li&gt;Manage SQL Server development in an Agile way &lt;/li&gt;    &lt;li&gt;Use .NET and T-SQL refactoring effectively &lt;/li&gt;    &lt;li&gt;Build, deploy, and test SQL Server databases &lt;/li&gt;    &lt;li&gt;Create and manage test plans and cases &lt;/li&gt;    &lt;li&gt;Create, run, record, and play back manual tests &lt;/li&gt;    &lt;li&gt;Setup a branching strategy and branch code &lt;/li&gt;    &lt;li&gt;Write more maintainable code &lt;/li&gt;    &lt;li&gt;Identify and eliminate people and process dysfunctions &lt;/li&gt;    &lt;li&gt;Inspect and improve your team’s software development process &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;What does the week look like?&lt;/h2&gt;  &lt;p&gt;This course is a mix of lecture, demonstration, group discussion, simulation, and hands-on software development. The bulk of the course will be spent working as a team on a case study application delivering increments of new functionality in mini-sprints. Here is the week at a glance:&lt;/p&gt; &lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/image_eb3b4f66-7dfb-42b9-be1b-6e5084a39b45.png" width="720" height="299" /&gt;   &lt;p&gt;Monday morning and most of the day Friday will be spent with the computers powered off, so you can focus on sharpening your game of Scrum and avoiding the common pitfalls when implementing it.&lt;/p&gt;  &lt;h2&gt;The Sprints&lt;/h2&gt;  &lt;p&gt;Timeboxing is a critical concept in Scrum as well as in this course. We expect each team and student to understand and obey all of the timeboxes. The timebox duration will always be clearly displayed during each activity. Expect the instructor to enforce it.&lt;/p&gt;  &lt;p&gt;Each of the ½ day sprints will roughly follow this schedule:    &lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;&lt;b&gt;Component&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;&lt;b&gt;Minutes&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;Instruction&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;Presentation and demonstration of new and relevant tools &amp;amp; practices&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;60&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;Sprint planning meeting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;Product owner presents backlog; each team commits to delivering functionality&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;10&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;Sprint planning meeting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;Each team determines how to build the functionality&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;10&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;The Sprint&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;The team self-organizes and self-manages to complete their tasks&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;120&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;Sprint Review meeting&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;Each team will present their increment of functionality to the other teams&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;≤ 30&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="162"&gt;           &lt;p&gt;Sprint Retrospective&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="492"&gt;           &lt;p&gt;A group retrospective meeting will be held to inspect and adapt&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="66"&gt;           &lt;p&gt;10&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;p&gt;Each team is expected to self-organize and manage their own work during the sprint. Pairing is highly encouraged. The instructor/product owner will be available if there are questions or impediments, but will be hands-off by default. You should be prepared to communicate and work with your team members in order to achieve your sprint goal. If you have development-related questions or get stuck, your partner or team should be your first level of support.&lt;/p&gt;  &lt;h3&gt;Module 1: INTRODUCTION&lt;/h3&gt;  &lt;p&gt;This module provides a chance for the attendees to get to know the instructors as well as each other. The Professional Scrum Developer program, as well as the day by day agenda, will be explained. Finally, the Scrum team will be selected and assembled so that the &lt;a href="http://en.wikipedia.org/wiki/Forming,_storming,_norming_and_performing"&gt;forming, storming, norming, and performing&lt;/a&gt; can begin.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Trainer and student introductions &lt;/li&gt;    &lt;li&gt;Professional Scrum Developer program &lt;/li&gt;    &lt;li&gt;Agenda &lt;/li&gt;    &lt;li&gt;Logistics &lt;/li&gt;    &lt;li&gt;Team formation &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 2: SCRUMDAMENTALS&lt;/h3&gt;  &lt;p&gt;This module provides a level-setting understanding of the Scrum framework including the roles, timeboxes, and artifacts. The team will then experience Scrum firsthand by simulating a multi-day sprint of product development, including planning, review, and retrospective meetings.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scrum overview &lt;/li&gt;    &lt;li&gt;Scrum roles &lt;/li&gt;    &lt;li&gt;Scrum timeboxes (ceremonies) &lt;/li&gt;    &lt;li&gt;Scrum artifacts &lt;/li&gt;    &lt;li&gt;Simulation &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It’s required that you read Ken Schwaber’s &lt;a href="http://www.accentient.com/downloads/ScrumGuide.pdf"&gt;Scrum Guide&lt;/a&gt; in preparation for this module and course.&lt;/p&gt;  &lt;h3&gt;MODULE 3: IMPLEMENTING SCRUM IN VISUAL STUDIO 2010&lt;/h3&gt;  &lt;p&gt;This module demonstrates how to implement Scrum in Visual Studio 2010 using a Scrum process template&lt;sup&gt;*&lt;/sup&gt;. The team will learn the mapping between the Scrum concepts and how they are implemented in the tool. After connecting to the shared Team Foundation Server, the team members will then return to the simulation – this time using Visual Studio to manage their product development.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Mapping Scrum to Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;User Story work items &lt;/li&gt;    &lt;li&gt;Task work items &lt;/li&gt;    &lt;li&gt;Bug work items &lt;/li&gt;    &lt;li&gt;Demonstration &lt;/li&gt;    &lt;li&gt;Simulation &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 4: THE CASE STUDY&lt;/h3&gt;  &lt;p&gt;In this module the team is introduced to their problem domain for the week. A kickoff meeting by the Product Owner (the instructor) will set the stage for the why and what that will take during the upcoming sprints. The team will then define the quality attributes of the project and their definition of “done.” The legacy application code will be downloaded, built, and explored, so that any bugs can be discovered and reported.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Introduction to the case study &lt;/li&gt;    &lt;li&gt;Download the source code, build, and explore the application &lt;/li&gt;    &lt;li&gt;Define the quality attributes for the project &lt;/li&gt;    &lt;li&gt;Define “done” &lt;/li&gt;    &lt;li&gt;How to file effective bugs in Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 5: HOTFIX&lt;/h3&gt;  &lt;p&gt;This module drops the team directly into a &lt;a href="http://en.wikipedia.org/wiki/Brownfield_(software_development)"&gt;Brownfield&lt;/a&gt; (legacy) experience by forcing them to analyze the existing application’s architecture and code in order to locate and fix the Product Owner’s high-priority bug(s). The team will learn best practices around finding, testing, fixing, validating, and closing a bug.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to use Architecture Explorer to visualize and explore &lt;/li&gt;    &lt;li&gt;Create a unit test to validate the existence of a bug &lt;/li&gt;    &lt;li&gt;Find and fix the bug &lt;/li&gt;    &lt;li&gt;Validate and close the bug &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 6: PLANNING&lt;/h3&gt;  &lt;p&gt;This short module introduces the team to release and sprint planning within Visual Studio 2010. The team will define and capture their goals as well as other important planning information.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Release vs. Sprint planning &lt;/li&gt;    &lt;li&gt;Release planning and the Product Backlog &lt;/li&gt;    &lt;li&gt;Product Backlog prioritization &lt;/li&gt;    &lt;li&gt;Acceptance criteria and tests &lt;/li&gt;    &lt;li&gt;Sprint planning and the Sprint Backlog &lt;/li&gt;    &lt;li&gt;Creating and linking Sprint tasks &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;At this point the team will have the knowledge of Scrum, Visual Studio 2010, and the case study application to begin developing increments of potentially shippable functionality that meet their definition of done.&lt;/p&gt;  &lt;h3&gt;Module 7: EMERGENT ARCHITECTURE&lt;/h3&gt;  &lt;p&gt;This module introduces the architectural practices and tools a team can use to develop a valid design on which to develop new functionality. The teams will learn how Scrum supports good architecture and design practices. After the discussion, the teams will be presented with the product owner’s prioritized backlog so that they may select and commit to the functionality they can deliver in this sprint.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Architecture and Scrum &lt;/li&gt;    &lt;li&gt;Emergent architecture &lt;/li&gt;    &lt;li&gt;Principles, patterns, and practices &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 modeling tools &lt;/li&gt;    &lt;li&gt;UML and layer diagrams &lt;/li&gt;    &lt;li&gt;&lt;b&gt;SPRINT 1&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 8: TEST DRIVEN DEVELOPMENT&lt;/h3&gt;  &lt;p&gt;This module introduces Test Driven Development as a design tool and how to implement it using Visual Studio 2010. To maximize productivity and quality, a Scrum team should setup Continuous Integration to regularly build every team member’s code changes and run regression tests. Refactoring will also be defined and demonstrated in combination with Visual Studio’s Test Impact Analysis to efficiently re-run just those tests which were impacted by refactoring.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Continuous integration &lt;/li&gt;    &lt;li&gt;Team Foundation Build &lt;/li&gt;    &lt;li&gt;Test Driven Development (TDD) &lt;/li&gt;    &lt;li&gt;Refactoring &lt;/li&gt;    &lt;li&gt;Test Impact Analysis &lt;/li&gt;    &lt;li&gt;&lt;b&gt;SPRINT 2&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 9: AGILE DATABASE DEVELOPMENT&lt;/h3&gt;  &lt;p&gt;This module lets the SQL Server database developers in on a little secret – they can be agile too. By using the database projects in Visual Studio 2010, the database developers can join the rest of the team. The students will see how to apply Agile database techniques within Visual Studio to support the SQL Server 2005/2008/2008R2 development lifecycle.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Agile database development &lt;/li&gt;    &lt;li&gt;Visual Studio database projects &lt;/li&gt;    &lt;li&gt;Importing schema and scripts &lt;/li&gt;    &lt;li&gt;Building and deploying &lt;/li&gt;    &lt;li&gt;Generating data &lt;/li&gt;    &lt;li&gt;Unit testing &lt;/li&gt;    &lt;li&gt;&lt;b&gt;SPRINT 3&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 10: SHIP IT&lt;/h3&gt;  &lt;p&gt;Teams need to know that just because they like the functionality doesn’t mean the Product Owner will. This module revisits acceptance criteria as it pertains to acceptance testing. By refining acceptance criteria into manual test steps, team members can execute the tests, recording the results and reporting bugs in a number of ways. Manual tests will be defined and executed using the Microsoft Test Manager tool. As the Sprint completes and an increment of functionality is delivered, the team will also learn why and when they should create a branch of the codeline.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Acceptance criteria &lt;/li&gt;    &lt;li&gt;Testing in Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;Microsoft Test Manager &lt;/li&gt;    &lt;li&gt;Writing and running manual tests &lt;/li&gt;    &lt;li&gt;Branching &lt;/li&gt;    &lt;li&gt;&lt;b&gt;SPRINT 4&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Module 11: OVERCOMING DYSFUNCTION&lt;/h3&gt;  &lt;p&gt;This module introduces the many types of people, process, and tool dysfunctions that teams face in the real world. Many dysfunctions and scenarios will be identified, along with ideas and discussion for how a team might mitigate them. This module will enable you and your team to move toward independence and improve your game of Scrum when you depart class.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scrum-butts and flaccid Scrum &lt;/li&gt;    &lt;li&gt;Best practices working as a team &lt;/li&gt;    &lt;li&gt;Team challenges &lt;/li&gt;    &lt;li&gt;ScrumMaster challenges &lt;/li&gt;    &lt;li&gt;Product Owner challenges &lt;/li&gt;    &lt;li&gt;Stakeholder challenges &lt;/li&gt;    &lt;li&gt;Course Retrospective &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;What will be expected of you and you team?&lt;/h2&gt;  &lt;br /&gt;  &lt;p&gt;This is a unique course in that it’s technically-focused, team-based, and employs &lt;a href="http://en.wikipedia.org/wiki/Timeboxing"&gt;timeboxes&lt;/a&gt;. It demands that the members of the teams self-organize and self-manage their own work to collaboratively develop increments of software.&lt;/p&gt;  &lt;p&gt;All attendees must commit to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pay attention to all lectures and demonstrations &lt;/li&gt;    &lt;li&gt;Participate in team and group discussions &lt;/li&gt;    &lt;li&gt;Work collaboratively with other team members &lt;/li&gt;    &lt;li&gt;Obey the timebox for each activity &lt;/li&gt;    &lt;li&gt;Commit to work and do your best to deliver &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All teams should have these skills:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Understanding of Scrum &lt;/li&gt;    &lt;li&gt;Familiarity with Visual Studio 201 &lt;/li&gt;    &lt;li&gt;C#, .NET 4.0 &amp;amp; ASP.NET 4.0 experience&lt;sup&gt;*&lt;/sup&gt;  &lt;/li&gt;    &lt;li&gt;SQL Server 2008 development experience &lt;/li&gt;    &lt;li&gt;Software testing experience &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;sup&gt;* &lt;/sup&gt;Check with the instructor ahead of time for the exact technologies&lt;/p&gt;  &lt;h2&gt;Self-organising teams&lt;/h2&gt;  &lt;p&gt;Another unique attribute of this course is that it’s a technical training class being delivered to &lt;i&gt;teams&lt;/i&gt; of developers, not pairs, and not individuals. Ideally, your actual software development team will attend the training to ensure that all necessary skills are covered. However, if you wish to attend an open enrolment course alone or with just a couple of colleagues, realize that you may be placed on a team with other attendees. The instructor will do his or her best to ensure that each team is cross-functional to tackle the case study, but there are no guarantees. You may be required to try a new role, learn a new skill, or pair with somebody unfamiliar to you. This is just good Scrum!&lt;/p&gt;  &lt;p&gt;Who should NOT take this course?&lt;/p&gt;  &lt;p&gt;Because of the nature of this course, as explained above, certain types of people should probably &lt;u&gt;not&lt;/u&gt; attend this course:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Students requiring command and control style instruction – there are no prescriptive/step-by-step (think traditional Microsoft Learning) labs in this course &lt;/li&gt;    &lt;li&gt;Students who are unwilling to work within a timebox &lt;/li&gt;    &lt;li&gt;Students who are unwilling to work collaboratively on a team &lt;/li&gt;    &lt;li&gt;Students who don’t have any skill in any of the software development disciplines &lt;/li&gt;    &lt;li&gt;Students who are unable to commit fully to their team – not only will this diminish the student’s learning experience, but it will also impact their team’s learning experience &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ssw.com.au/ssw/events/Scrum-Training-Course.aspx?utm_source=MrHinsh&amp;amp;utm_medium=blog&amp;amp;utm_campaign=STLO01" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="LondonCallToAction[1]" border="0" alt="LondonCallToAction[1]" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/ProfessionalScrumDeveloperTraininginLond_CC39/LondonCallToAction%5B1%5D_a8fa1093-585b-4381-a6b3-61420612ad43.png" width="517" height="46" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are outside the UK you can find out where this &lt;a href="http://courses.scrum.org/"&gt;course is being run near you&lt;/a&gt;. Make sure you have a look at the &lt;a href="http://www.scrum.org/scrumguides/"&gt;scrum guide from Scrum.org&lt;/a&gt; and the &lt;a href="http://www.accentient.com/scrum.aspx"&gt;syllabus from Accentient&lt;/a&gt;.     &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d79b9625-4090-4887-8f2b-01cc8d5f7ed9" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Scrum" rel="tag"&gt;Scrum&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SSW" rel="tag"&gt;SSW&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Pro+Scrum+Dev" rel="tag"&gt;Pro Scrum Dev&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140487"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140487" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140487.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qiw1UqxCTwo:7NTucuS3bWs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qiw1UqxCTwo:7NTucuS3bWs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=qiw1UqxCTwo:7NTucuS3bWs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=qiw1UqxCTwo:7NTucuS3bWs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/qiw1UqxCTwo" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/06/18/professional-scrum-developer-.net-training-in-london.aspx</guid>
            <pubDate>Fri, 18 Jun 2010 14:53:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140487.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/06/18/professional-scrum-developer-.net-training-in-london.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140487.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140487.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/06/18/professional-scrum-developer-.net-training-in-london.aspx</feedburner:origLink></item>
        <item>
            <title>Flashing your Windows Phone 6 for Dummies</title>
            <category>WM6</category>
            <category>HD2</category>
            <link>http://feeds.hinshelwood.com/~r/MartinHinshelwood/~3/yCKft4FZuYE/flashing-your-windows-phone-dummies.aspx</link>
            <description>&lt;img style="border-right-width: 0px; margin: 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/FlashingyourHTCHD2withWindow.5forDummies_A588/image_5300bfba-0531-4bb4-ab6f-3bc7c400c42c.png" width="108" height="100" /&gt;   &lt;p&gt;The rate at which vendors release new updates for the HD2 is ridiculously slow. You have to wait for Microsoft to release the new OS, then you wait for HTC to build it into a ROM, and then you have to wait up to 6 months for your operator to badly customise it for their network. Once Windows Phone 7 is released this problem should go away as Microsoft is likely to be able to update the phone over the air, but what do we do until then?&lt;/p&gt;  &lt;p&gt;I want Windows Mobile 6.5.5 now!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;hr /&gt;  &lt;p&gt;I’m an early adopter. If there is a new version of something then that’s the version I want. As long as you accept that you are using something on a “let the early adopter beware” and accept that there may be bugs, sometimes serious crippling bugs the go for it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note that I won't be responsible if you end up bricking your phone, unlocking or flashing your radio or ROM can be risky. If you follow the instructions then you should be fine, I've flashed my phones (SPV, M300, M1000, M2000, M3100, TyTN, TyTN 2, HD2) hundreds of times without any problems!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I have been using Windows Mobile 6.5.5 before it was called 6.5.5 and for long enough that I don’t even remember when I first started using it. I was using it on my HTC TyTN 2 before I got an HD2 a couple of months before Christmas, and the first custom ROM’s for the HD2 were a couple of months after that.&lt;/p&gt;  &lt;p&gt;I always update to the latest ROM that I like, and occasionally I go back to the stock ROM’s to have a look see, but I am always disappointed.&lt;/p&gt;  &lt;p&gt;Terms:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Soft Reset&lt;/strong&gt;: Same as pulling out the battery, but is like a reboot for your phone &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Hard Reset&lt;/strong&gt;: Reinstalls the Operating system from the Image that is stored on it &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ROM&lt;/strong&gt;: This is Image that is loaded onto your phone and it is used to reinstall your phone whenever you do a “hard reset”. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Stock ROM&lt;/strong&gt;: A ROM from the original vendor… So HTC &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Cook a ROM&lt;/strong&gt;: Referring to Cooking a ROM is the process a ROM developer goes through to take all of the parts (OS, Drivers and Applications) that make up a running phone and compiling them into a ROM. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ROM Kitchen&lt;/strong&gt;: A place where you get an SDK and all the component parts of the phone: OD, Drivers and Application. There are usually lots of Tools for making it easier to compile and build the image. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Flashing&lt;/strong&gt;: The process of updating one of the layers of your phone with a new layer &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Bricked&lt;/strong&gt;: This is what happens when flashing goes wrong. Your phone is now good for only one thing… stopping paper blowing away in a windy place. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can “cook” you own ROM using one of the many good “ROM Kitchens” or you can use a ROM built and tested by someone else. I have cooked my own ROM before, and while the tutorials are good, it is a lot of hassle.&lt;/p&gt;  &lt;p&gt;You can only Flash new ROM’s that are specifically for your phone only so find a ROM for your phone and XDA Developers is the best place to look. It has a forum based structure and you can find your phone quite easily.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forum.xda-developers.com/index.php"&gt;XDA Developer Forum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Installing a new ROM does have its risks. In the past there have been stories about phones being “bricked” but I have not heard of a bricked phone for quite some years. if you follow the instructions carefully you should not have any problems. &lt;/p&gt;  &lt;p&gt;note: Most of the tools are written by people for whom English is not their first language to you will need concentrate hard to understand some of the instructions. Have you ever read a manual that was just literally translated from another language? Enough said…&lt;/p&gt;  &lt;p&gt;There are a number of layers on your phone that you will need to know about:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;SPL&lt;/strong&gt;: This is the lowest level, like a BIOS on a PC and is the Operating Systems gateway to the hardware &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Radio&lt;/strong&gt;: I think of this as the hardware drivers, and you will need a different Radio for CDMA than GSM networks &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ROM&lt;/strong&gt;: This is like your Windows CD, but it is stored internally to the Phone. Flashing your phone consists of replacing one Image with another and then wiping your phone and automatically reinstall from the Image. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Sometimes when you download an Image wither it is for a Radio or for ROM you only get a file called *.nbh. What do you do with this? Well you need an RUU application to push that Image to your phone. The RUU’s are different per phone, but there is a CustomRUU for the HD2 that will update your phone with any *.nbh placed in the same directory.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://forum.xda-developers.com/showthread.php?t=575524" href="http://forum.xda-developers.com/showthread.php?t=575524"&gt;Download and Instructions for CustomRUU&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;#1 Flash HardSPL &lt;/h3&gt;  &lt;p&gt;An SPL is kind of like a BIOS, and the default one has checks to make sure that you are only installing a signed ROM. This would prevent you from installing one that comes from any other source but the vendor. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NOTE: Installing a HARD SPL invalidates your warranty so remember to Flash your phone with a “stock” vendor ROM before trying to send your phone in for repairs.&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Is the warranty reinstated when you go back to a stock ROM? I don’t know…&lt;/p&gt;  &lt;p&gt;Updating your SPL to a HardSPL effectively unlocks your phone so you can install anything you like. I would recommend the HardSPL2.&lt;/p&gt;  &lt;p&gt;&lt;a title="Download and Instructions for HardSPL2" href="http://forum.xda-developers.com/showthread.php?t=609477"&gt;Download and Instructions for HardSPL2&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;#2 Task29&lt;/h3&gt;  &lt;p&gt;One of the problems that has been seen on the HD2 when flashing new ROM’s is that things are left over from the old ROM. For a while the recommendation was to Flash a stock ROM first, but some clever cookies have come up with “Task29” which formats your phone first. After running this your phone will be blank and will only boot to the white HTC logo and no further. You should follow the instructions and reboot (remove battery) and hold down the “volume down” button while turning you HD2 on to enter the bootloader. From here you can run CustomRUU once the USB message appears.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://forum.xda-developers.com/showthread.php?t=644781" href="http://forum.xda-developers.com/showthread.php?t=644781"&gt;Download and Instructions for Task29&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;#2 Flash Radio&lt;/h3&gt;  &lt;p&gt;You may need to play around with this one, there is no good and bad version and the latest is not always the best. You know that annoying thing when you hit “end call” on your phone and nothing happens? Well that's down to the Radio. Get this version right for you and you may even be able to make calls. From a Windows Mobile as well &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/FlashingyourHTCHD2withWindow.5forDummies_A588/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="get it from here" href="http://www.pilotlogic.com/artemis/htc_hd2_radio"&gt;Download&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There are no instructions here, but they are the same as th ROM, but you use this *.nbh file.&lt;/p&gt;  &lt;h3&gt;#3 Flash ROM&lt;/h3&gt;  &lt;p&gt;If you have gotten this far then you are probably a pro by now &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/hinshelm/WindowsLiveWriter/FlashingyourHTCHD2withWindow.5forDummies_A588/wlEmoticon-smile_2.png" /&gt; Just download the latest ROM below and Flash to your phone. I have been really impressed by the Artemis line of ROM’s but it is no way the only choice. I like this one as the developer builds them as close to the stock ROM as possible while updating to the latest of everything.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://forum.xda-developers.com/showthread.php?t=612580" href="http://forum.xda-developers.com/showthread.php?t=612580"&gt;Download and Instructions for  Artemis HD2 vXX&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;While updating your ROM is not for the faint hearted it provides more options than the Stock ROM’s and quicker feature updates than waiting…&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7705203f-77e5-420e-b25e-84526c0d75f0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WM6" rel="tag"&gt;WM6&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140460"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140460" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/hinshelm/aggbug/140460.aspx" width="1" height="1" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=yCKft4FZuYE:S9lBgzFI8OU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=yCKft4FZuYE:S9lBgzFI8OU:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.hinshelwood.com/~ff/MartinHinshelwood?a=yCKft4FZuYE:S9lBgzFI8OU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MartinHinshelwood?i=yCKft4FZuYE:S9lBgzFI8OU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MartinHinshelwood/~4/yCKft4FZuYE" height="1" width="1"/&gt;</description>
            <dc:creator>Martin Hinshelwood</dc:creator>
            <guid isPermaLink="false">http://geekswithblogs.net/hinshelm/archive/2010/06/17/flashing-your-windows-phone-dummies.aspx</guid>
            <pubDate>Thu, 17 Jun 2010 11:00:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/hinshelm/comments/140460.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/hinshelm/archive/2010/06/17/flashing-your-windows-phone-dummies.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/hinshelm/comments/commentRss/140460.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/hinshelm/services/trackbacks/140460.aspx</trackback:ping>
        <feedburner:origLink>http://geekswithblogs.net/hinshelm/archive/2010/06/17/flashing-your-windows-phone-dummies.aspx</feedburner:origLink></item>
    </channel>
</rss>
