<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Are you thinking what I'm thinking?</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/dajung/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/dajung/feed.xml</link>
    <description>David Jung&amp;#039;s journey through Visual Studio, Team Foundation Server, and this thing called Application Lifecycle Management</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:20:46 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>//BUILD 2014 has been announced!</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/build-2014-has-been-announced</link>
      <pubDate>Mon, 16 Dec 2013 09:16:58 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/12/16/build-2014-has-been-announced/</guid>
      <description><![CDATA[That’s right…2014 BUILD conference has been announced. You can read the full details in Steve...]]></description>
      <content:encoded><![CDATA[<p>That’s right…2014 BUILD conference has been announced. You can read the full details in <a href="https://blogs.technet.com/b/microsoft_blog/archive/2013/12/13/mark-your-calendars-announcing-build-2014.aspx">Steve Guggenheimer’s post</a>. </p>  <p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/80/54/4857.b14_announce.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-80-54/4857.b14_5F00_announce.png" width="522" height="329" /></p>  <p>Here’s the nutshell details:</p>  <table cellspacing="0" cellpadding="2" width="563" border="0"><tbody>     <tr>       <td valign="top" width="76">When:</td>        <td valign="top" width="485">April 2-4, 2014</td>     </tr>      <tr>       <td valign="top" width="76">Where:</td>        <td valign="top" width="485">Moscone Center, San Francisco, CA</td>     </tr>      <tr>       <td valign="top" width="76">Why:</td>        <td valign="top" width="485">Because you want to build awesome applications that run on awesome platforms that reach millions of people and devices!</td>     </tr>   </tbody></table>  <p><strong>IMPORTANT REGISTRATION INFORMATION:</strong></p>  <p>Registration opens on <strong>January 14th, 2014</strong> at <strong>9AM Pacific</strong> at <a href="https://www.buildwindows.com/">https://www.buildwindows.com</a>. <strong>Don’t be late – Last year’s conference was booked in less than an hour!</strong></p>  <p>You can follow the //BUILD Twitter as well at <a href="https://twitter.com/bldwin">https://twitter.com/bldwin</a></p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS 2013 Process Templates</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/tfs-2013-process-templates</link>
      <pubDate>Tue, 05 Nov 2013 10:19:09 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/11/05/tfs-2013-process-templates/</guid>
      <description><![CDATA[Whether your new to Team Foundation Server (TFS) 2013 or have used it since Pre-Beta TFS 2005, the...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/7484.VS_tm_Purp526_rgb_3FD1D2E4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/7484.VS_5F00_tm_5F00_Purp526_5F00_rgb_5F00_3FD1D2E4.png"><img title="VS_tm_Purp526_rgb" style="float: right; display: inline; background-image: none;" border="0" alt="VS_tm_Purp526_rgb" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0525.VS_tm_Purp526_rgb_thumb_01D84226.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0525.VS_5F00_tm_5F00_Purp526_5F00_rgb_5F00_thumb_5F00_01D84226.png" width="240" align="right" height="67" /></a>Whether your new to Team Foundation Server (TFS) 2013 or have used it since Pre-Beta TFS 2005, the Team Project Process Templates have always seemed to be something mystical to people. I often get asked “What does a task or test case relate to?” or “can I have a user story relate to another user story to make like an epic user story?”</p>  <p>Obviously that sort of feedback made it to the MSDN technical writers backlog because they recently published an article that explains a lot of this. It called <a href="https://msdn.microsoft.com/en-us/library/ms400752(v=vs.120).aspx">Work with team project artifacts, choose a process template</a>. It provides a good breakdown of what Work Items are part of each template and how they relate to one another. Not just for the Agile and CMMI process templates but for the Scrum template as well.</p>  <p>But don’t stop reading the article there. If you look at the index for the article, there’s a pretty thorough breakdown of each template, what reports are available in each template, and more. A lot of customers I work with often tell me “We’re a Srcum-but shop” or “We’re a Wagile shop,” and how can we customize TFS to fit our process?</p>  <p>By looking through this article, understanding what work items, reports, and other artifacts that are in each process templates, you can get a better of which process template you’d like to start with as your base process template and start customizing from there.</p>  <p>I highly recommend you check out this article if you’ve ever been curious about what makes up a given process template and wanted to see which one would be the right one to start with.</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>Two Microsoft Conferences in June</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/two-microsoft-conferences-in-june</link>
      <pubDate>Sat, 01 Jun 2013 11:09:21 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/06/01/two-microsoft-conferences-in-june/</guid>
      <description><![CDATA[June is going to be a busy time of people who follow Microsoft technology. We have two conferences...]]></description>
      <content:encoded><![CDATA[<p>June is going to be a busy time of people who follow Microsoft technology. We have two conferences that will occur: TechEd and //BUILD.</p>  <p>IMO, TechEd is the Microsoft conference you attend if you want learn all about what’s current at Microsoft, best practices on solution building, and glimpses into products that are about to ship. Attendees range from IT Professionals to Developers.</p>  <p>//BUILD is more for the people who like code. Not just .NET code, but people who want to learn about developing on the Windows platform who are familiar with other development platforms as well.</p>  <p><a href="https://northamerica.msteched.com/" target="_blank">TechEd 2013 North America</a> is going to take place June 3-6 in New Orleans, LA. If you can’t attend, you can attend virtually by watching via <a href="https://channel9.msdn.com" target="_blank">Channel 9</a>. To build your schedule of what you might be interested in viewing, check out the <a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2013" target="_blank">TechEd Channel 9</a> page for topics and schedules.</p>  <p><a href="https://buildwindows.com/" target="_blank">//BUILD 2013</a> is going take place June 26-28 in San Francisco, CA. The schedule is still being flushed out so they haven’t announced their Channel 9 feed yet, so keep watching for announcements through their web site.</p>  <p>Share and enjoy!</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS Tidbits–The Atomic Check-In</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/tfs-tidbitsthe-atomic-check-in</link>
      <pubDate>Thu, 25 Apr 2013 14:58:37 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/25/tfs-tidbitsthe-atomic-check-in/</guid>
      <description><![CDATA[In a previous article, I talked about how TFS treats check-ins as atomic transactions. In a...]]></description>
      <content:encoded><![CDATA[<p>In a <a href="https://blogs.msdn.com/b/dajung/archive/2013/04/17/tfs-basics-changeset.aspx">previous article</a>, I talked about how TFS treats check-ins as atomic transactions. In a nutshell, when the check-in is initiated, Visual Studio will provide TFS with some basic information about the check-in. like the number of files and the work item(s) associated with it. When the transmission is complete, all the elements will be associated with a Changeset number; otherwise, a changeset will not be created and any code trying to be checked in will not be committed to the source tree.</p>  <p>Personally, I had been curious what the user experience would be like if the check-in took longer than expected. Well, while working on a project for my team and checking my part of the code into TFS, the checked took longer than expected and I received the following error message:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/5861.PendingChanges_v2_59016909.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/5861.PendingChanges_5F00_v2_5F00_59016909.png"><img title="PendingChanges_v2" style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="PendingChanges_v2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0488.PendingChanges_v2_thumb_77D7DCE7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0488.PendingChanges_5F00_v2_5F00_thumb_5F00_77D7DCE7.png" width="398" height="190" /></a></p>  <p>You might be thinking “big deal”. This isn’t all that exciting. But in a past life, I’ve been bitten by networks hanging for whatever reason during a code check-in and I never quite knew exactly what changes made it into the repository and which ones didn’t. So I ended up doing the check-in again and got prompted that&#160; a number of files are the same and it was the last two files that hadn’t made it so those where checked in finally.</p>  <p>By receiving the error message above, I knew immediately that all the files I was trying to check-in weren’t committed to the repository, so all I had to do was click the Check-In button again. Obviously my network connection the server was better the second time around and the code made it in as expected and a new Changeset was created.</p>  <p>We’ll now return you to your regularly scheduled worked which was previously in progress.</p>  <p>Share and enjoy!</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>Visual Studio 2012 ALM VM and Hands-On Labs now has Update 2</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/visual-studio-2012-alm-vm-and-hands-on-labs-now-has-update-2</link>
      <pubDate>Wed, 17 Apr 2013 22:49:01 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/17/visual-studio-2012-alm-vm-and-hands-on-labs-now-has-update-2/</guid>
      <description><![CDATA[Brian Keller has updated the Visual Studio 2012 ALM VM and hands-on labs to include VS 2012 Update...]]></description>
      <content:encoded><![CDATA[<p><a href="https://blogs.msdn.com/briankel"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/2313.VS_Purp526_rgb_13F2182C.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/2313.VS_5F00_Purp526_5F00_rgb_5F00_13F2182C.png"><img title="VS_Purp526_rgb" style="float: right; display: inline; background-image: none;" border="0" alt="VS_Purp526_rgb" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/5611.VS_Purp526_rgb_thumb_3E5E4949.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/5611.VS_5F00_Purp526_5F00_rgb_5F00_thumb_5F00_3E5E4949.png" width="240" height="67" /></a>Brian Keller</a> has updated the <a href="https://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx">Visual Studio 2012 ALM VM and hands-on labs to include VS 2012 Update 2</a>. All labs have been revised slightly based on Update 2, with two labs gaining new exercises which demonstrate Update 2 capabilities.</p>  <p>It’s a pretty large download and Brian offers a good technique for you to use to do an unattended download.</p>  <p>Share and enjoy!</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS Basics–Changeset</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/tfs-basicschangeset</link>
      <pubDate>Wed, 17 Apr 2013 21:10:26 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/17/tfs-basicschangeset/</guid>
      <description><![CDATA[When I talk to customers about how they keep track of changes of their source code, you may (or may...]]></description>
      <content:encoded><![CDATA[<p>When I talk to customers about how they keep track of changes of their source code, you may (or may not) be surprised with what I hear. They range from using some source code control management (SCCM) tool to archive files using ZIP or RAR files. Hopefully you're using a SCCM tool.</p>  <p>As part of the development process, developers can either been given tasks through a system like Team Foundation Server (TFS), a project plan, or some other means like email. The important thing to think about is tracking the developer’s work back to the changes in code.</p>  <p>When I was wrote code full time, I often would try to resolve as many tasks as I could if the code changes were related to the same modules(s). Sometimes this was effective con clearing out a bunch of work off my plate, but when it came to integration time with the rest of my team, we could end up with a lot of changes we would have to reconcile and integrate.</p>  <p>Regardless of the development process you adhere to, it’s really a good idea to encourage developers to work at one task at time, only change the code related to the one task, and integrate often. This makes finding out where incorrect code changes are made and corrective actions can be done quickly. Even using continuous integration techniques isn't going to help figure out what changes broke if you try to change too many requirements at one time.</p>  <p>With Team Foundation Server (TFS), we don't force you to work in any particular manner; however, it is encourage that you work on one task at a time for better traceability. Assuming you use TFS for work management as well as SCCM, upon code check in, you can enforce (or encourage) that all code that is checked in be associated with a work item. A work item can be defined to be anything you'd like it to be: bug, developer task, test case, user story, requirement, and so on. </p>  <h4>The Changeset</h4>  <p>When you check in code into TFS, a changeset is created. A changeset is a set of files and work items associated together a time of check in. If you don't associate work items with the code, the changeset will just consist of just the set of files. The heart of this is due to the fact that the check-in process is an atomic transaction. When you perform a check in, the process tells TFS how many files and work items are going to be checked in. Assuming all the files get transferred properly into TFS, TFS will generate a changeset number. This number can be used to trace back what code files and work items were worked on. </p>  <p>In the following screen shot, Changeset 89 is made up of 1 code file and 1 work items. Obviously this is pretty simplified, because all the code changes made were in one file related to one task. Even if it wasn’t and you had multiple changed files to one task, you can see that all the code changes that were related to the one task. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/5516.Changeset1_3DE3D0B2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/5516.Changeset1_5F00_3DE3D0B2.png"><img title="Changeset1" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Changeset1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0638.Changeset1_thumb_2F3924CD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0638.Changeset1_5F00_thumb_5F00_2F3924CD.png" width="218" height="271" /></a>&#160;</p>  <h4>Code Annotation</h4>  <p>A lot of development groups try to encourage their developers to document every change that is made in code. Sounds good in principle but difficult to implement in practice. Why? Because you might end up with more comments than code, or you might end up with a situation where you have comments inside logic blocks just to show where code changes were.Your modules might start looking like this: </p>  <pre class="code"><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.Font = </span><span style="background: white; color: blue;">New </span><span style="background: white; color: black;">System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">Font</span><span style="background: white; color: black;">(</span><span style="background: white; color: rgb(163, 21, 21);">&quot;Microsoft Sans Serif&quot;</span><span style="background: white; color: black;">, 8.25!, System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">FontStyle</span><span style="background: white; color: black;">.Regular, System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">GraphicsUnit</span><span style="background: white; color: black;">.Point, </span><span style="background: white; color: blue;">CType</span><span style="background: white; color: black;">(0, </span><span style="background: white; color: blue;">Byte</span><span style="background: white; color: black;">))
</span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.ForeColor = System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">SystemColors</span><span style="background: white; color: black;">.ControlText
</span><span style="background: white; color: green;"><strong>' 2012-12-03 NI - Task 24 – Block Start</strong>
</span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.Location = </span><span style="background: white; color: blue;">New </span><span style="background: white; color: black;">System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">Point</span><span style="background: white; color: black;">(6, 376)
</span><span style="background: white; color: green;"><strong>' 2013-02-04 AJ - Task 42
</strong></span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.Margin = </span><span style="background: white; color: blue;">New </span><span style="background: white; color: black;">System.Windows.Forms.</span><span style="background: white; color: rgb(43, 145, 175);">Padding</span><span style="background: white; color: black;">(4, 3, 4, 3)
</span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.Name = </span><span style="background: white; color: rgb(163, 21, 21);">&quot;GetPeopleButton&quot;
</span><span style="background: white; color: green;"><strong>' 2013-02-16 KB - Task 47
</strong></span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.Size = </span><span style="background: white; color: blue;">New </span><span style="background: white; color: black;">System.Drawing.</span><span style="background: white; color: rgb(43, 145, 175);">Size</span><span style="background: white; color: black;">(124, 23)
</span><span style="background: white; color: green;"><strong>' Task 24 – Block End
</strong></span><span style="background: white; color: blue;">Me</span><span style="background: white; color: black;">.GetPeopleButton.TabIndex = 0
</span></pre>

<p>You certain don’t want to discourage your developers from putting in comments, but there is another way to look at what lines of code were changed, by whom, when, and why. This is the <strong>Annotate</strong> feature. To access this feature, its found in the content menu in the Source Code Explorer when you're looking at a file's history list.</p>

<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/7288.Annotate1_3C3304DE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/7288.Annotate1_5F00_3C3304DE.png"><img title="Annotate1" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Annotate1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/7178.Annotate1_thumb_504C2167.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/7178.Annotate1_5F00_thumb_5F00_504C2167.png" width="244" height="236" /></a></p>

<p>When you view the Annotation of the file, in the left hand margin, you will see the changeset number, the name of the person who made the modification, and the time of the change. The changeset number is a hyperlink so if you click on it, you will be able to see what file(s) and work items are associated with the changeset. This can be really useful if trying to figure out who made a particular code change -- because you'll see who made the code changes -- and why -- assuming the changeset has a work item associated with it. You still want to encourage your developers to add comments to their code, but if they forget.</p>

<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/1616.Annotate2_6F8EC83A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/1616.Annotate2_5F00_6F8EC83A.png"><img title="Annotate2" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Annotate2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/5025.Annotate2_thumb_27CD3F53.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/5025.Annotate2_5F00_thumb_5F00_27CD3F53.png" width="372" height="189" /></a></p>

<p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS 2012 and Project Server 2013 VM with Labs available</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/tfs-2012-and-project-server-2013-vm-with-labs-available</link>
      <pubDate>Wed, 17 Apr 2013 16:11:55 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/17/tfs-2012-and-project-server-2013-vm-with-labs-available/</guid>
      <description><![CDATA[One of the aspects of Application Lifecycle Management (ALM) is that its about process. The other...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/8686.ALM-Cycle-of-Life_7A470EFB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/8686.ALM_2D00_Cycle_2D00_of_2D00_Life_5F00_7A470EFB.png"><img title="ALM Cycle of Life" style="float: right; display: inline; background-image: none;" border="0" alt="ALM Cycle of Life" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0268.ALM-Cycle-of-Life_thumb_57A2D080.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0268.ALM_2D00_Cycle_2D00_of_2D00_Life_5F00_thumb_5F00_57A2D080.png" width="255" height="192" /></a>One of the aspects of Application Lifecycle Management (ALM) is that its about process. The other two being people and products. Part of the process is managing the portfolio of projects an organization is responsible for, manage the people that can work on the projects, and keeping track of the tasks people are working on for the project. Team Foundation Server (TFS) is part of that equation, but for truly managing a companies project portfolio, resources, and project costs, you need something like Project Server. </p>  <p><a href="https://blogs.msdn.com/briankel/">Brian Keller</a> has published a <a href="https://blogs.msdn.com/b/briankel/archive/2013/04/12/team-foundation-server-2012-and-project-server-2013-integration-virtual-machine-and-hands-on-labs-demo-scripts.aspx">Team Foundation Server 2012 and Project Server 2013 Virtual Machine with Hands-On Labs and Demo Scripts.</a> This is great because it comes with a couple of projects already set up in Project Server and you can see how data can flow between TFS and Project Server (or from a project manager’s point-of-view, see how data can flow from Project Server to TFS).</p>  <p>It’s a pretty large download and Brian offers a good technique for you to use to do an unattended download.</p>  <p>Share and enjoy!</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>Virtualization on Windows 8</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/virtualization-on-windows-8</link>
      <pubDate>Sun, 07 Apr 2013 16:04:05 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/07/virtualization-on-windows-8/</guid>
      <description><![CDATA[As a software developer, I always found that Windows Server was the better operating system to use...]]></description>
      <content:encoded><![CDATA[<p>As a software developer, I always found that Windows Server was the better operating system to use because I had access to IIS, could install the full version of SQL Server, and most importantly, Hyper-V. When ever I first got a workstation and installed Windows Server on it, depending the version of Windows Server, I would follow a lot of the tips found on the site <a href="https://www.win2008workstation.com/" target="_blank">Convert your Windows Server 2008 to a Workstation</a> (or <a href="https://www.win2012workstation.com/" target="_blank">Convert your Windows Server 2012 to a Workstation!</a>.) One of the great features that the Windows team did was to bring Hyper-V from Windows Server to Windows 8, so now I get all the benefits of Windows 8 <strong>and</strong> the ability the run virtual machines using Hyper-V!</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/4401.SLAT_7085CD97.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/4401.SLAT_5F00_7085CD97.png"><img title="SLAT" style="float: right; display: inline; background-image: none;" border="0" alt="SLAT" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/7041.SLAT_thumb_09156AE8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/7041.SLAT_5F00_thumb_5F00_09156AE8.png" width="435" height="283" /></a>In order to use Hyper-V on windows 8, you need a 64- bit system that has Second Level Address Translation (SLAT). SLAT is a feature present on many of the current generation of 64-bit processors by Intel and AMD. To determine if your processor supports SLAT, you should download the Windows Sysinternals tool called <a href="https://technet.microsoft.com/en-us/sysinternals/cc835722" target="_blank">CoreInfo</a>. Once you download and extract the EXE from the ZIP file, you’ll need to run it from a Command Prompt that was select to <strong>Run As Administrator. </strong>If you’re running Windows 8, the easiest way to do that is by searching the form the Command Prompt using Search, right mouse click on the program and click on <strong>Run As Administrator</strong> from the application specific menu along the bottom of the screen. You’re not just going to execute the CoreInfo.exe, you’ll need to use the –v switch as seen in the screenshot. If you’re process supports SLAT, you will see a “-“ (minus sign) next to the EPT field. This confused me at first because I would have thought the “*” (asterisk) would have meant the feature was enabled. When I got my most recent computer, the specs said it supported SLAT and it does, but when it shipped, that feature was disabled in the BIOS, so if you think your system supports SLAT and EPT is showing an asterisk, you should check your BIOS.</p>  <p>You’ll also need to use the 64-bit version of Windows 8 and a lot of memory. If you’re machine only has 4 GB of RAM, you meet the minimum requirements, but it’s not going to be really useful. You should have at least 8 GB of RAM because you have to share the RAM with the VMs you’re running.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/3817.HyperV_36968AAB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/3817.HyperV_5F00_36968AAB.png"><img title="HyperV" style="border: 0px currentcolor; float: right; display: inline; background-image: none;" border="0" alt="HyperV" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/4382.HyperV_thumb_5CF86DF6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/4382.HyperV_5F00_thumb_5F00_5CF86DF6.png" width="283" height="176" /></a>One of the problems I always had with running VMs on a laptop is connecting them to the machine’s WiFi. One option was to use Internet Connection Sharing as outlined in <a href="https://blogs.msdn.com/b/virtual_pc_guy/archive/2008/01/09/using-hyper-v-with-a-wireless-network-adapter.aspx" target="_blank">Ben Armstrong’s blog</a> or you can use Remote Access Service (RRAS) as outlined in <a href="https://sqlblog.com/blogs/john_paul_cook/archive/2008/03/23/using-wireless-with-hyper-v.aspx" target="_blank">John Paul Cook’s blog</a>. Both work but both have their disadvantages. By using Windows 8, you’ll be happy to know that Hyper-V supports WiFI out-of-the-box. Huzzah! So setting up your VMs to your WiFi is as easy as going to your Virtual Switch Manager and creating a switch that uses the WiFi NIC rather than the wired NIC.</p>  <p>On the <a href="https://blogs.msdn.com/b/b8/archive/2011/09/07/bringing-hyper-v-to-windows-8.aspx" target="_blank">Windows 8 Blog</a>, there’s really good article about the decision bringing Hyper-V to Windows 8. Definitely a good read but even better is the following video that provides a quick walk-through of how Hyper-V works in Windows 8 from the article.&#160; </p>  <p align="center"><video controls="controls" poster="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/43/1261.Hyper-V.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43/1261.Hyper_2D00_V.jpg" width="480" height="270"><source src="https://media.ch9.ms/ch9/cddc/8b132177-428a-4b5d-8267-9f560134cddc/HyperV09062011_low_ch9.mp4"></source><span style="color: rgb(38, 8, 89); font-size: 1.15em;"><strong>Your browser doesn't support HTML5 video. </strong></span></video>     <br /><span><em>Download this video to view it in your favorite media player: </em>      <br /><a href="https://media.ch9.ms/ch9/cddc/8b132177-428a-4b5d-8267-9f560134cddc/HyperV09062011_high_ch9.mp4">High quality MP4</a> | <a href="https://media.ch9.ms/ch9/cddc/8b132177-428a-4b5d-8267-9f560134cddc/HyperV09062011_low_ch9.mp4">Lower quality MP4</a></span></p>  <p>Share and enjoy!</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>TFS Basics–Branching Visualization</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/tfs-basicsbranching-visualization</link>
      <pubDate>Fri, 05 Apr 2013 10:59:14 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/05/tfs-basicsbranching-visualization/</guid>
      <description><![CDATA[I've been talking to a lot of customers recently about Team Foundation Server (TFS) as a source code...]]></description>
      <content:encoded><![CDATA[<p>I've been talking to a lot of customers recently about Team Foundation Server (TFS) as a source code control management (SCCM) tool. Some are coming from Visual SourceSafe while others are coming from other SCCM tools. Regardless of what SCCM tool they're coming from, the subject of branching always comes up, and the question of “how can determine if a change in one branch has made it into another branch?”</p>  <p>One of the coolest features we introduced in the TFS 2010 is the Branching Visualization feature. This feature allows you to see if a changeset in one branch has been added another branch or not. This is done by viewing the changeset history you’re looking at and selecting <strong>Track Changeset</strong> either from the context menu or from the toolbar.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/6507.BranchingVisualization1_1A748A87.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/6507.BranchingVisualization1_5F00_1A748A87.png"><img title="BranchingVisualization1" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="BranchingVisualization1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0741.BranchingVisualization1_thumb_2BE4EB5F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0741.BranchingVisualization1_5F00_thumb_5F00_2BE4EB5F.png" width="344" height="229" /></a></p>  <p>You’ll be promoted by a dialog box to select which branches you want track the changeset through. In this example, we’ve made changes in the Dev branch and we’re going to check to see if it’s been promoted to the Main and Release branch.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/4786.BranchingVisualization2_394AFE65.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/4786.BranchingVisualization2_5F00_394AFE65.png"><img title="BranchingVisualization2" style="display: inline; background-image: none;" border="0" alt="BranchingVisualization2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/4454.BranchingVisualization2_thumb_0AF178B8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/4454.BranchingVisualization2_5F00_thumb_5F00_0AF178B8.png" width="341" height="288" /></a></p>  <p>Once you press the Visualize button, you will see if changeset has been promoted (or demoted) to the branch you’re looking for. The default view is hierarchy (Screenshot below on the left). This is a good way of viewing the branches it provides you with a glimpse of your branching strategy as well. In this example, the “Main” branch is where we started the project and we created two branches from it: Dev and Release1. All development is going to be put in the Dev branch, promoted to Main and then promoted to a release, in this case, Release1. An alternative way of viewing the branches is by viewing them by timeline (Screenshot below on the right).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/3465.BranchingVisualization3a_23811608.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/3465.BranchingVisualization3a_5F00_23811608.png"><img title="BranchingVisualization3a" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="BranchingVisualization3a" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/2705.BranchingVisualization3a_thumb_02F9D656.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/2705.BranchingVisualization3a_5F00_thumb_5F00_02F9D656.png" width="558" height="200" /></a></p>  <p>Regardless of the view, in the screenshots, you can see that we haven’t promoted Changeset 26 to Main or Release1. To find out more about Changeset 26, double click on the changeset and you’ll see the changeset details in the Team Explorer Window. In this example, we have two Work Items associated with the changeset. One is a task and other is a code review. If you’re the person responsible to promote code from one branch to another, you might want to recommend taking advantage the Code Review feature we introduced in TFS 2012.You can then have an SOP (standard operating procedure) that only changesets with code reviews performed on them can be promoted.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/4477.BranchingVisualization4a_77641916.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/4477.BranchingVisualization4a_5F00_77641916.png"><img title="BranchingVisualization4a" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="BranchingVisualization4a" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/8750.BranchingVisualization4a_thumb_7B0233F3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/8750.BranchingVisualization4a_5F00_thumb_5F00_7B0233F3.png" width="173" height="329" /></a></p>  <p>To promote Changeset 26 to the Main branch, you simply click and drag the changeset from the source branch to the target branch. This will trigger the merge process against the new branch.</p>  <p>So what happens to the changeset you just merged? The merge will be added to the branch’s project on your local workspace. From there, you should follow your standard quality gates for ensuring that the code works in the branch, check it into TFS, and proceed with the next changeset to promote.</p>  <p>To learn more about branching and merging strategies, you should take a look at the <a href="https://blogs.msdn.com/b/visualstudioalm/archive/2012/10/17/alm-rangers-ship-the-new-branching-and-merging-guide-v2-1.aspx" target="_blank">Branching and Merging Guidance</a> document our ALM Ranger Team put together.</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
    <item>
      <title>DevOps - Building Healthy Systems with Visual Studio Ultimate</title>
      <link>https://docs.microsoft.com/archive/blogs/dajung/devops-building-healthy-systems-with-visual-studio-ultimate</link>
      <pubDate>Thu, 04 Apr 2013 14:17:31 GMT</pubDate>
      <dc:creator><![CDATA[David Jung _MSFT_]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dajung/2013/04/04/devops-building-healthy-systems-with-visual-studio-ultimate/</guid>
      <description><![CDATA[DevOps, as mentioned in one of my previous articles, is about Developer-Operations. One aspect of...]]></description>
      <content:encoded><![CDATA[<p>DevOps, as mentioned in <a href="https://blogs.msdn.com/b/dajung/archive/2013/01/24/microsoft-s-devops-story-just-got-better.aspx" target="_blank">one of my previous articles</a>, is about Developer-Operations. One aspect of DevOps people overlook is about ensuring your building healthy systems.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/1777.HealthySystems_463CABA3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/1777.HealthySystems_5F00_463CABA3.png"><img title="HealthySystems" style="float: right; display: inline; background-image: none;" border="0" alt="HealthySystems" align="right" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/83/33/metablogapi/0513.HealthySystems_thumb_775BE643.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-83-33-metablogapi/0513.HealthySystems_5F00_thumb_5F00_775BE643.png" width="244" height="137" /></a>When I was previously responsible for Quality Assurance and Operations Developers, I become really focused on ensuring our team was building healthy systems, not just quality systems. What's the difference between a healthy system versus a quality system? One might think they are one and the same, but in my opinion, they are very different. Let me try bring this down to a personal level while I relate this to a system development level.</p>  <p>A couple of years ago, I started playing basketball again with a recreation league. I used the gym on an irregular basis, rode my bike every other week for about 10-20 miles, and so on, so I felt I was in okay shape. Before I undertook the journey of playing on the court in a game, I went to the doctor to get a physical to make sure I wasn't due to for a heart attack or something worse if I started playing again. The doctor ran a series of tests on me and in a couple of weeks, he gave me the “all clear” sign. So when it came to game time, I felt I was in good shape to play &quot;big boy basketball.&quot; Turns out, after a couple of fast breaks, transition defense sprints, and fighting for position for rebounds, I was pretty winded and felt like passing out.</p>  <p>Now let's take this story and apply it to system development. Going to the gym, riding a bike, etc. could be equated to activities that an individual developer does. They write code, they compile it, and maybe do some light testing. Going to the doctor for physical is like taking your application and giving it quality assurance (QA) to test. Often times, QA only focuses on the tests they are aware of for a given release, maybe some basic regression tests, and make sure things are working as designed and within established parameters, thus ensuring that what the developers have built is a &quot;quality system.&quot; Once the application has been deployed to production (aka big boy basketball), you get to see how well the quality system scales. The application performed well under the standard battery of tests (much like the human body does during controlled conditions), but when accessed by hundreds and thousands users, the system could start locking up, performance becomes extremely bad, and so on. What we find is that this quality system isn't a very &quot;healthy system.&quot;</p>  <p>How can you check to see if your application is a healthy system? This can be done by taking testing to the next level, which is executing load and performance testing against it. I've seen too many companies wait until the final stages of deployment to determine if their system can scale to level they've promised to their customers.</p>  <p>Some companies wait until the end to do this sort of stress testing because the cost of setting up test rigs can be expensive because they have to pay for virtual user licenses. Using <a href="https://www.microsoft.com/visualstudio/eng/products/visual-studio-ultimate-2012" target="_blank">Visual Studio Ultimate</a>, in addition to all the developer benefits the IDE brings, it comes with the features to do Web Load and Performance testing for up to 250 virtual users on the local workstation, but it can also be configured with full test rigs with an <strong>unlimited number of virtual users.</strong> You’re only real limit is the number of virtual users your rigs can scale to.</p>  <p>If you think back to the basketball example, instead of waiting until game day to see if your application can scale, using load and performance testing during practice (integrated development) and scrimmages (QA), you can become real confident that the system you and your team is developing is not only going to be a quality system but a healthy one, too. If you haven’t looked at <a href="https://www.microsoft.com/visualstudio/eng/products/visual-studio-ultimate-2012" target="_blank">Visual Studio Ultimate</a> lately, I recommend you do. To see how you use Visual Studio for Load and Performance testing, check out the <a title="Introduction to Web Performance and Load Testing with Visual Studio Ultimate 2012" href="https://download.microsoft.com/download/A/9/2/A9253B14-5F23-4BC8-9C7E-F5199DB5F831/Introduction%20to%20Web%20Performance%20and%20Load%20Testing%20with%20Visual%20Studio%20Ultimate%202012.docx">Introduction to Web Performance and Load Testing with Visual Studio Ultimate 2012</a> Hands-On Lab documentation.</p>  <p>Excelsior!</p>]]></content:encoded>
    </item>
  </channel>
</rss>