<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Build and Release Management &#187; SCM Agile Development</title>
	<atom:link href="http://allscm.com/archives/category/scm-agile-development/feed" rel="self" type="application/rss+xml" />
	<link>http://allscm.com</link>
	<description>Build. Release. Profit</description>
	<lastBuildDate>Tue, 15 May 2012 22:15:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Agile Software Configuration Management For Everyone?</title>
		<link>http://allscm.com/archives/agile-software-configuration-management-for-everyone.html</link>
		<comments>http://allscm.com/archives/agile-software-configuration-management-for-everyone.html#comments</comments>
		<pubDate>Tue, 30 Oct 2007 09:17:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SCM Agile Development]]></category>

		<guid isPermaLink="false">http://allscm.com/?p=52</guid>
		<description><![CDATA[Just as the title states, not everyone can adapt to the demanding and unpredictable nature of a build and release engineer&#8217;s job.  We just recently hired an intern for our group to help out with the hectic build implementation tasks.  The intern in question had a website design background which I believed was thoroughly shocked [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-189" style="margin: 5px;" title="wrong" src="http://allscm.com/wp-content/uploads/2007/10/wrong.png" alt="wrong" width="90" height="93" />Just as the title states, not everyone can adapt to the demanding and unpredictable nature of a build and release engineer&#8217;s job.  We just recently hired an intern for our group to help out with the hectic build implementation tasks.  The intern in question had a website design background which I believed was thoroughly shocked when placed in the configuration management environment where good knowledge of multiple scripting and languages were needed.</p>
<p>The intern took it quite well initially and seemed to be treading the murky waters but looks could be deceiving.  Couple long hours with stress from the onslaught of build projects and we have a perfect gourmet ingredient for a time bomb.  Strenuous training regiments for new tools, processes, implementation details, and infrastructure management takes a heavy toll on the spirit overtime.</p>
<p>Time and time again, I&#8217;ve witnessed so many casualties from failed attempts of going for the prized position of Software Configuration Management Engineer.  Oftentimes its not because the lack of skills to thrive in the job, but rather a deeper sense of personal accomplishment, pride, satisfaction, and overall warm fuzzy feeling that you&#8217;ve made the development team&#8217;s lives so much easier.   But the amount of headaches an SCM must endure from unappreciative development teams/developers can be endless.  SCM Engineers don&#8217;t really need free lunches (albeit extremely grateful) from teams, we are happy if we were just acknowledged, appreciated, and/or given a nod of respect.  Anyhow, I digressed&#8230;</p>
<p>Back to our overworked and highly stressed intern; the person suddenly quit one day last week without giving us the courteous 2 weeks notice.  Now the already overburdened team has to pick up the slacks left by the departure.   Luckily we have a solid enough infrastructure and processes that the void left by the departed intern was quickly distributed to and covered by the rest of the team.</p>
]]></content:encoded>
			<wfw:commentRss>http://allscm.com/archives/agile-software-configuration-management-for-everyone.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daily Stand Up Meetings</title>
		<link>http://allscm.com/archives/daily-stand-up-meetings.html</link>
		<comments>http://allscm.com/archives/daily-stand-up-meetings.html#comments</comments>
		<pubDate>Sun, 30 Sep 2007 08:39:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SCM Agile Development]]></category>

		<guid isPermaLink="false">http://allscm.com/?p=30</guid>
		<description><![CDATA[Another Agile concept we&#8217;ve adopted within our group is the daily stand-up meetings.   At first glance, this may seem like an evil way of micro-managing but that thought quickly dissolves once the values of such meetings started to add up. These daily stand-ups should be conducted just as the title implies; everyone must be [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-195" style="margin: 5px;" title="desk" src="http://allscm.com/wp-content/uploads/2007/09/desk.png" alt="desk" width="90" height="100" />Another Agile concept we&#8217;ve adopted within our group is the daily stand-up meetings.   At first glance, this may seem like an evil way of micro-managing but that thought quickly dissolves once the values of such meetings started to add up.</p>
<p>These daily stand-ups should be conducted just as the title implies; everyone must be standing.   Each meeting should last no longer than 15mins; less than 10mins is optimal.   This should be conducted on a round-table polling of each of the team members.  Three questions should be addressed by each of these individuals.   These questions are:</p>
<ol>
<li>What did I do yesterday?</li>
<li>What am I planning on doing today?</li>
<li>What are the current roadblocks?</li>
</ol>
<p>The most important of them all is question #3.   In my opinion, the whole Agile daily stand-up meetings evolved to solve this one particular pain point.   Oftentimes, roadblocks can set development schedule aback due to various lags within groups/departments/organizations/companies.   Lags such as phone and Email tagging, or request time stall due lack of authority to make a judgment call.   During the stand-up meeting, #3 can be quickly addressed with the help of the entire team and/or team manager/lead.   Afterall, one of the purposes of a lead or manager&#8217;s existence in any company is to provide the needed resources for their team members to function at peak productivity level.</p>
<p>What not to do with daily stand up meetings:</p>
<ol>
<li>Too big of a group (10+)</li>
<li>Lasts longer than 15mins</li>
<li>Bicker and arguing between two members (should be taken offline)</li>
<li>Presentations</li>
<li>Treating this like a regular meeting</li>
</ol>
<p>How does your team deal with daily roadblocks?</p>
]]></content:encoded>
			<wfw:commentRss>http://allscm.com/archives/daily-stand-up-meetings.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build and Release &#8211; Agile Development</title>
		<link>http://allscm.com/archives/build-and-release-agile-development.html</link>
		<comments>http://allscm.com/archives/build-and-release-agile-development.html#comments</comments>
		<pubDate>Thu, 30 Aug 2007 08:32:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SCM Agile Development]]></category>

		<guid isPermaLink="false">http://allscm.com/?p=27</guid>
		<description><![CDATA[Tools such as XPlanner should be the cornerstone of a software configuration management group.  This iteration and user-stories based model planning tool allows software configuration management engineers to have a more complete picture of what the current tasks/projects are and what&#8217;s in the back-burner. The way my current team uses this tool is we break [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-197" style="margin: 5px;" title="agile" src="http://allscm.com/wp-content/uploads/2007/08/agile.png" alt="agile" width="102" height="93" />Tools such as <a title="XPlanner" rel="nofollow" href="http://www.xplanner.org">XPlanner</a> should be the cornerstone of a software configuration management group.  This iteration and user-stories based model planning tool allows software configuration management engineers to have a more complete picture of what the current tasks/projects are and what&#8217;s in the back-burner.</p>
<p>The way my current team uses this tool is we break it down to a monthly iterative model.  Within it, we have user stories outlining all the projects and tasks we can confidently complete for this iteration.    As each iteration goes by, we get a more accurate picture of how productive we can be in any given iteration based on the burn down charts.   From that, future iterations will have a more precise picture of what we can or cannot accomplish.</p>
<p>For example,  if the current software configuration management group consists of 4 members and each member is highly productive in that every individual is capable of  producing an output of 160 hours per month; each iteration would then contain enough user stories assigned equally to all members totaling up to 640 hours worth of tasks.   That is an ideal scenario!   As anyone who has been in SCM would know that the nature of our work is highly unpredictable.  Due to such fact, we normally reserve approximately 60-80% of the expected output of each member for a particular iteration while saving the remaining hours for unexpected tasks or project supports (one of the most time consuming aspect of SCM).   Based on that, a monthly iteration for a 4 member software configuration management team should only be assigned 400-500 hours worth of tasks.   The remaining hours should have time allotted based on a higher priority for project supports.</p>
]]></content:encoded>
			<wfw:commentRss>http://allscm.com/archives/build-and-release-agile-development.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration Management Policy</title>
		<link>http://allscm.com/archives/configuration-management-policy.html</link>
		<comments>http://allscm.com/archives/configuration-management-policy.html#comments</comments>
		<pubDate>Thu, 19 Jul 2007 08:14:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Automated Test Framework]]></category>
		<category><![CDATA[Build Framework]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Release Framework]]></category>
		<category><![CDATA[SCM Agile Development]]></category>

		<guid isPermaLink="false">http://allscm.com/?p=23</guid>
		<description><![CDATA[To promote the spirit of Agile Development and Continuous Integration, groups of builds must be classified and treated differently within the development organization. These builds are as follows: Engineering: These builds lives on the individual developer&#8217;s machine. It should never see the light of day beyond this scope. This is merely a convenient build tool [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-199" style="margin: 5px;" title="policy" src="http://allscm.com/wp-content/uploads/2007/07/policy.png" alt="policy" width="58" height="74" />To promote the spirit of Agile Development and Continuous Integration, groups of builds must be classified and treated differently within the development organization.  These builds are as follows:</p>
<ul>
<li>Engineering:  These builds lives on the individual developer&#8217;s machine.  It should never see the light of day beyond this scope.  This is merely a convenient build tool designed to allow developers to easily build and debug their code.  There are exceptions, however; for teams developing in the new .NET paradigm using the all inclusive solution (*.sln) files to build will have no need for this type of build.  This is mainly useful for older softwares where several manual modification/moving/copying of file operations are need.  These builds are then classified as on-demand.</li>
<li>Continuous Integration (Development):  These types of builds can also be referred to as the Continuous Integration (CI) builds.  These builds lives on a stand-alone machine and the artifacts should only be made available to the immediate development team of the respective project.  These builds should then be considered continuous since it is constantly polling for new check-ins.</li>
<li>Software Configuration Management (Product Testing):  These builds are on-demand and should only be initiated by team leads or managers of the particular development group.  These builds should be built based on a label within the source control tool.  There should not be any errors as these builds are derived from successful CI builds.  The consumer for these builds will be the QA group.</li>
<li>Software Configuration Management (Product Release):  Similar to that of the product test SCM builds, these only differ in nature and title as they are meant for real world consumption.</li>
</ul>
<p>To create quick build turn-arounds, plentiful CPU cycles, clean and reproducible build environments; each one of these build classifications should live on its own machine/server.   The two flavors of SCM builds can actually be on the same server, but Engineering, CI, and SCM must all exist separately.</p>
<hr />UPDATE (from Paul Keeble):</p>
<p>There is another way of looking at this, especially when considering the agile process, and especially when in an enterprise software environment.</p>
<p>You still have the needs for a Engineer build and a CI build but instead of the SCM builds you instead &#8220;promote&#8221; the CI build.  What this effectively means is that someone chooses a CI build to push towards QA, and then this is pushed ultimately to production, etc.</p>
<p>As a process it has the advantage of being simplier and centralises all efforts around the automated build.   It is physically impossible for the wrong code to get built for production because someone changed a tag, instead the built artifact is the same (and can be checked against an MD5 to test it).</p>
<p>Although not as frequent in the .NET world its a common practice in the Java world.</p>
]]></content:encoded>
			<wfw:commentRss>http://allscm.com/archives/configuration-management-policy.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

