<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Brian A White's Blog : Software Configuration Management</title><link>http://blogs.msdn.com/brianwh/archive/tags/Software+Configuration+Management/default.aspx</link><description>Tags: Software Configuration Management</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SourceGear Building Heterogenous Client for Team Foundation</title><link>http://blogs.msdn.com/brianwh/archive/2005/01/12/351855.aspx</link><pubDate>Thu, 13 Jan 2005 00:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:351855</guid><dc:creator>brianwh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brianwh/comments/351855.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brianwh/commentrss.aspx?PostID=351855</wfw:commentRss><description>For all you out there wondering how you are going to support your Unix, Linix, MAC, and yes Eclipse developers if you move to Team Foundation take a gander at Eric Sink's Blog &lt;a href="http://software.ericsink.com/entries/allerton.html"&gt;http://software.ericsink.com/entries/allerton.html&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=351855" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brianwh/archive/tags/Software+Configuration+Management/default.aspx">Software Configuration Management</category><category domain="http://blogs.msdn.com/brianwh/archive/tags/Team+Foundation/default.aspx">Team Foundation</category></item><item><title>Project Management, Version Control, Work Item Tracking Presentations</title><link>http://blogs.msdn.com/brianwh/archive/2004/11/15/257719.aspx</link><pubDate>Mon, 15 Nov 2004 19:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:257719</guid><dc:creator>brianwh</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/brianwh/comments/257719.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brianwh/commentrss.aspx?PostID=257719</wfw:commentRss><description>&lt;p&gt;Last week I presented at Visual Studio Connections in rainy&amp;nbsp;Las Vegas (Yes, rainy.&amp;nbsp; Sadly, yet not surprising I can also report moderate losses).&amp;nbsp; Several&amp;nbsp;of you&amp;nbsp;asked me for copies of these presentations and thanks to the help of &lt;a href="http://blogs.msdn.com/robcaron"&gt;Rob Caron&lt;/a&gt; you'll find the presentations (below) downloadable &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=856d265b-3743-47b0-b3f0-ef154fe48c8d&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;li&gt;&lt;strong&gt;VMS352 - Visual Studio 2005 Team System: Software Project Management&lt;/strong&gt;&lt;br /&gt;In this session you will learn how to take advantage of the combined power of Visual Studio, the Microsoft Office System, and industry proven practices to successfully manage software projects—from conception to deployment. &lt;br /&gt; &lt;li&gt;&lt;b&gt;VMS355 - Visual Studio 2005 Team System: Enterprise Class Source Control &amp;amp; Work Item Tracking&lt;/b&gt;&lt;br /&gt;This session introduces the new Team Foundation Server in Visual Studio 2005, including the new Source Code Control, Work Item Tracking and Team Portal. See how an integrated and extensible server-based system will boost your team’s productivity by significantly streamlining your development processes.&lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=257719" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brianwh/archive/tags/Work+Item+Tracking/default.aspx">Work Item Tracking</category><category domain="http://blogs.msdn.com/brianwh/archive/tags/Software+Configuration+Management/default.aspx">Software Configuration Management</category><category domain="http://blogs.msdn.com/brianwh/archive/tags/Team+Foundation/default.aspx">Team Foundation</category></item><item><title>The Checkout/Checkin Model is Antiquated with a capital "A"</title><link>http://blogs.msdn.com/brianwh/archive/2004/07/30/202607.aspx</link><pubDate>Fri, 30 Jul 2004 22:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:202607</guid><dc:creator>brianwh</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/brianwh/comments/202607.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brianwh/commentrss.aspx?PostID=202607</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Korby Parnell blogs that the checkin/checkout paradigm is broken &lt;A href="http://blogs.msdn.com/korbyp/archive/2004/07/28/199720.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&amp;#8220;In the same way, I think that changing checkout to edit would lead us to reevaluate&amp;nbsp;CHECKIN. Together, checkin and checkout&amp;nbsp;are a dynamic&amp;nbsp;and self-documenting duo. They are the cornerstones of a library metaphor that has helped countless users, including me,&amp;nbsp;understand source control, albeit partially and incorrectly. And that, my friends, is just it. The library metaphor is Broken with a capital 'B'.&amp;#8221;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;While I don&amp;#8217;t believe the checkout/checkin model is broken, I do believe it is incredibly antiquated.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can see the winds of change in development environments like Visual Studio where as a developer you can simply start working on a source file and it is automatically checked out for you.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So long and good riddance to checkout.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Assuming the model in the future is silent checkout, this leaves two operations up for grabs.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In my opinion, we should replace checkout and checkin with the following operations:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Submit Change &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2)&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Checkpoint Change&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The key thing a developer does when they are done is to follow some work submission process.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Typically the goal is to somehow get their changes into the team&amp;#8217;s nightly build.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For most solutions today this is a multi-step and multi-tool process.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Checkin the changes, send some e-mail, resolve some bugs, update a plan, etc.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It would be G-R-E-A-T if integrated source code control and work item tracking would make this one unified gesture &amp;#8220;Submit&amp;#8221;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The need to individually checkin files is in my opinion an edge condition.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Typically, I am checking in one change which is comprised of edits to multiple files.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In fact, forgetting to checkin one file from a set is probably on the top 10 list of reasons you broke the build.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;The second operation perhaps is optional, but I think it is a needed and often overlooked feature that should be delivered by the source code control system.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Imagine my work has reached some stable point, but it is not yet done.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I&amp;#8217;m about to try a radical change to an algorithm and I want a way back.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I want to keep a snapshot of the versions I have right now, but I don&amp;#8217;t want it to go into the team&amp;#8217;s nightly build.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Often, SCM tools or the way SCM tools are used require developers to work around the system like copy backup files locally.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That is because, if they checkin, the changes will be immediately exposed to the team even though they are not ready.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;So out with checkout and checkin and in with submit and checkpoint.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=202607" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brianwh/archive/tags/Software+Configuration+Management/default.aspx">Software Configuration Management</category></item></channel></rss>