<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Software Configuration Management</title>
	<atom:link href="http://blog.accurev.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.accurev.com</link>
	<description>Streamlining Change for Geographically Distributed, Parallel and Agile Development</description>
	<lastBuildDate>Mon, 08 Jun 2009 13:49:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/0534a359e64d47da5295e2a1c3abe3bd?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Software Configuration Management</title>
		<link>http://blog.accurev.com</link>
	</image>
			<item>
		<title>Hot Backups and Database Verification Without Down Time</title>
		<link>http://blog.accurev.com/2009/06/05/hot-backups-and-database-verification-without-down-time/</link>
		<comments>http://blog.accurev.com/2009/06/05/hot-backups-and-database-verification-without-down-time/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 19:59:55 +0000</pubDate>
		<dc:creator>wayneblair</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=903</guid>
		<description><![CDATA[By Wayne Blair, Senior Consulting Release Engineer and Development Facilitator
Hot backups are wonderful but one needs two important sanity checks on the backup:

Was this a good backup?
Is the live database okay or did we just backup a corrupted repository?

Unfortunately AccuRev v4.x cannot perform a database integrity check on the running repository so you have to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=903&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>By Wayne Blair, Senior Consulting Release Engineer and Development Facilitator</p>
<p>Hot backups are wonderful but one needs two important sanity checks on the backup:</p>
<ol>
<li>Was this a good backup?</li>
<li>Is the live database okay or did we just backup a corrupted repository?</li>
</ol>
<p>Unfortunately AccuRev v4.x cannot perform a database integrity check on the running repository so you have to schedule down time but you can run the &#8220;maintain&#8221; utility on your backup repository on a different machine with a minor change to the acserver.cnf file.</p>
<p>These steps can sanity check both your backup and your live repository at the time of backup without any down time using the behavior of the “maintain” utility.</p>
<ol>
<li>Write a backup mark using the command “accurev backup mark”.</li>
<li>Replicate your entire accurev installation directory tree to another machine running the same operation system. You want the data, executables, configurations, and license key.</li>
<li>Edit ./bin/acserver.cnf and change the machine name from your live repository to the name of the “other” machine”. MASTER_SERVER = your_other_machine.organization.domain</li>
<li>Run the command “./bin/maintain dbcheck”.</li>
</ol>
<p>If the command fails due to a host name error then review your edit for faulty white space (the white space before and after the = is required and you must not have trailing white space after the host name).  If the fully qualified name fails, try using the alias (short) name or IP address.</p>
<p>Assuming a successful dbcheck, you have now verified the integrity of your backup and you have verified the integrity of your live repository as of the time of the last backup mark command.</p>
<h3>DETAILS</h3>
<p>The AccuRev license is tied to a specific host and port number and you must have a different license file to run the AccuRev repository on a different machine.</p>
<p>The maintain utility performs a sanity check on the license and will exit when the license file is missing. It will check on the host name and will exit when the running host name does not match the host in acserver.cnf but will continue to perform the database integrity check when they do match!</p>
<p>My AccuRev server is Linux based so I run an hourly cron job to write the backup mark then rsync the whole installation to another machine.  I intentionally use the –delete option to ensure the backup is identical every time so the edits I apply to acserver.cnf will be eliminated the next time the backup is run.</p>
<p>Here is a trivial sample script to perform the backup with rsync.  I am writing this from memory so please verify the rsync syntax with the trailing slash on the directories.</p>
<p><code># ASSUMPTION: ssh keys are already established between this host </code><br />
<code>#             and the remote host to allow an automatic login.</code><br />
<code>#</code><br />
<code># NOTE: Be sure the previous run of this script has completed before</code><br />
<code>#       running again. </code><br />
<code> </code><br />
<code>/opt/accurev/bin/accurev backup mark</code><br />
<code>sleep 3</code><br />
<code>rsync -az -e ssh --delete \</code><br />
<code> /opt/accurev/ \</code><br />
<code> wblair:/opt/accurev</code></p>
<p><strong>About The Author</strong></p>
<p>Wayne Blair was invited to contribute to our Distinguished Lecturer Series because of his experience as a consulting release engineer with multiple AccuRev customers.  Mr. Blair has extensive experience creating and extending software development, release, and installation environments, and helping communicate technical information to non-technical people.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/903/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/903/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/903/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=903&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/06/05/hot-backups-and-database-verification-without-down-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0670672cfc63965f11ff4fb8805d8007?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">wayneblair</media:title>
		</media:content>
	</item>
		<item>
		<title>AccuRev 5.0 &#8212; Some Features of the New Architecture</title>
		<link>http://blog.accurev.com/2009/05/29/accurev-5-0-some-features-of-the-new-architecture/</link>
		<comments>http://blog.accurev.com/2009/05/29/accurev-5-0-some-features-of-the-new-architecture/#comments</comments>
		<pubDate>Fri, 29 May 2009 21:20:27 +0000</pubDate>
		<dc:creator>rmohr</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[AccuRev 5.0]]></category>
		<category><![CDATA[reporting]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=894</guid>
		<description><![CDATA[The new AccuRev beta release is customer’s first look at Version 5.0 of the AccuRev server.  The key new element has been porting the AccuRev server to an ODBC database.  Initial reports show that this will provide enhanced scalability and more flexible IT architectures that large AccuRev deployments have been looking for, without degrading the one-user path length.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=894&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The new AccuRev beta release is customer’s first look at Version 5.0 of the AccuRev server.  The key new element has been porting the AccuRev server to an ODBC database.  Initial reports show that this will provide enhanced scalability and more flexible IT architectures that large AccuRev deployments have been looking for, without degrading the one-user path length. While the functionality will be familiar to any post-R4.5 customer, there are many enhancements and bug fixes that have migrated into 5.0, making this an even larger improvement from R4.0 than it was from R3.0.</p>
<p>The first database supported by AccuRev, and the only one supported with the beta test of Version 5.0, is the PostgreSQL DBMS.  PostgreSQL (pronounced “post-gress”) is a sophisticated DBMS with good concurrency support for complex locking models, rich support of database features, and broad platform availability.  The postgreSQL.org site contains lots of ancillary material, including a list of books on PostgreSQL for the interested developer.</p>
<p>One of the features of ODBC database support is the ability to use familiar database tools to create reports and real-time dashboard data.  The AccuRev server schema is very complicated with multiple databases, many tables, and complex fields.  To simplify reporting, we have developed a database View for this blog post that abstracts AccuRev database internals into a more user friendly form, perfect for use with report generation tools.  This database view will be available from the AccuRev User Forums, and will be updated to include other features based on customer request.  The database is not directly customer accessible for modification and users should not make modifications or additions to the AccuRev database. Fortunately, Views in PostgreSQL are read-only, which is another safety guard against accidental database modification.</p>
<p>Tools such as Crystal Reports® or BIRT™ provide user interfaces for report generation that work directly with tables in a relational database.  They provide a simple drag-and-drop, wizard driven, interface, making report generation and formatting much simpler than coding SQL statements directly.  Business Objects (owned by SAP, and maker of Crystal Reports) and Actuate (BIRT provider) both have real-time update report tools, for creating near-real-time dashboards.  These are not covered by this blog, but would use the same PostgreSQL view.</p>
<p>The first report we want to develop is one that shows the transactions in a stream, broken out by users.  I like this graph because it shows exactly who contributed changes to a particular release candidate. We used Crystal Reports to generate the template.</p>
<div id="attachment_895" class="wp-caption aligncenter" style="width: 460px"><a href="http://accurev.files.wordpress.com/2009/05/crystal-report-template1.jpg"><img class="size-full wp-image-895" title="Crystal Reports Transactions Template" src="http://accurev.files.wordpress.com/2009/05/crystal-report-template1.jpg?w=450&#038;h=362" alt="Crystal Reports Transactions Template" width="450" height="362" /></a><p class="wp-caption-text">Crystal Reports Transactions Template</p></div>
<p>All the “action” is in the design area at the bottom.  We used the Group wizard to add the name, sum the number of promotes, and generate the graph.</p>
<div id="attachment_896" class="wp-caption aligncenter" style="width: 460px"><a href="http://accurev.files.wordpress.com/2009/05/crystal-reports-change-contribution.gif"><img class="size-full wp-image-896" title="Crystal Reports Change Contribution" src="http://accurev.files.wordpress.com/2009/05/crystal-reports-change-contribution.gif?w=450&#038;h=455" alt="Crystal Reports Change Contribution" width="450" height="455" /></a><p class="wp-caption-text">Crystal Reports Change Contribution</p></div>
<p>Another report is the rate of changes to a series of streams.  This shows the rate of instability in a project, which might not be reflected in the issue tracking system.  Here we show the number of transactions in a series of streams each week, for the past ten weeks.</p>
<div id="attachment_897" class="wp-caption aligncenter" style="width: 460px"><a href="http://accurev.files.wordpress.com/2009/05/crystal-report-template2.jpg"><img class="size-full wp-image-897" title="CrystalReport Rate of Change Template" src="http://accurev.files.wordpress.com/2009/05/crystal-report-template2.jpg?w=450&#038;h=363" alt="CrystalReport Rate of Change Template" width="450" height="363" /></a><p class="wp-caption-text">CrystalReport Rate of Change Template</p></div>
<p>And we’ve limited the report to just show the three streams of most concern.</p>
<div id="attachment_898" class="wp-caption aligncenter" style="width: 460px"><a href="http://accurev.files.wordpress.com/2009/05/crystal-reports-stream-changes.gif"><img class="size-full wp-image-898" title="Crystal Reports Stream Changes" src="http://accurev.files.wordpress.com/2009/05/crystal-reports-stream-changes.gif?w=450&#038;h=431" alt="Crystal Reports Stream Changes" width="450" height="431" /></a><p class="wp-caption-text">Crystal Reports Stream Changes</p></div>
<p>In conclusion, Version 5.0, coupled with AccuRev’s new Web User Interface, is an exciting new version of AccuRev that promises to provide benefits to the AccuRev community, both large and small, for a long time.</p>
<p>Vlad Romanescu &amp;</p>
<p>Rob Mohr</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/894/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/894/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/894/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=894&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/05/29/accurev-5-0-some-features-of-the-new-architecture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fbe946fe1f738a6a2590e0484a12c880?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">rmohr</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/crystal-report-template1.jpg" medium="image">
			<media:title type="html">Crystal Reports Transactions Template</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/crystal-reports-change-contribution.gif" medium="image">
			<media:title type="html">Crystal Reports Change Contribution</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/crystal-report-template2.jpg" medium="image">
			<media:title type="html">CrystalReport Rate of Change Template</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/crystal-reports-stream-changes.gif" medium="image">
			<media:title type="html">Crystal Reports Stream Changes</media:title>
		</media:content>
	</item>
		<item>
		<title>Persuading Your CFO to Buy in a Recession</title>
		<link>http://blog.accurev.com/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/</link>
		<comments>http://blog.accurev.com/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:09:49 +0000</pubDate>
		<dc:creator>pdreifus</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Customer Guest Blogs]]></category>
		<category><![CDATA[ROI]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=888</guid>
		<description><![CDATA[The typical CFO is also likely to question whether demands on the QA team will really increase and when the timing for the purchase of new equipment has to be made. <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=888&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you are having trouble convincing your CFO to spend money on capital expenditures in this challenging environment, you are not alone.  Forecasters are projecting a significant decrease in capital spending for 2009, which is making buying new software and hardware very difficult to get approved by senior finance executives.</p>
<p>So how does a software development manager convince a CFO to spend money on new software and equipment?  CFO’s are seeking ways to increase the efficiency of how organizations deploy resources as well as how to control costs.  So focus on the Return on Investment (ROI), or net cost savings from the increased efficiencies, when you try to convince your CFO to approve a purchase.</p>
<p>The following is an example in which a company is determining whether to hire a new engineer or buy new software and hardware for the team whose productivity needs to increase 20%:</p>
<p><strong>Assumptions</strong></p>
<ul>
<li> Cost of software and hardware to be acquired &#8211; $50,000</li>
<li> Size of team &#8211; 5 engineers</li>
<li> Increased productivity from acquisition &#8211; 20%</li>
<li> Average fully loaded cost of an engineer &#8211; $125,000</li>
</ul>
<p><strong>Cost Benefit or ROI</strong></p>
<p>Based on the assumptions above, if the team were to increase its productivity by 20% without purchasing new software or hardware, they would need to add one engineer (20% x 5 engineers) at a fully loaded annual cost of $125,000.  Accordingly, if it is expected that the workload of the team is going to increase by 20%, it becomes an easy decision: spend $50,000 on new software and hardware instead of hiring a new engineer at a cost of $125,000, for a net cost savings of $75,000.</p>
<p>The typical CFO is also likely to question whether demands on the QA team will really increase and when the timing for the purchase of new equipment has to be made.  When this question comes up, and it will, you can now argue that if demand actually stays the same or decreases, you will be in a position where you can reduce headcount by 20% (a savings of $125,000) without losing any capacity.  This is the beauty of focusing on the efficiencies created from deploying new software and hardware</p>
<p><strong>Summary</strong></p>
<p>Engineering budgets are dominated by personnel costs.  If you focus on the efficiencies that will be created from deploying new software and hardware and tie it to either being able to cut headcount or not having to hire new staff, you will almost always be able to convince your CFO to open up the purse strings!</p>
<p><span style="font-size:11pt;color:#1f497d;font-family:Calibri,sans-serif;"><strong>About The Author</strong></span></p>
<p><span style="font-size:11pt;color:#1f497d;font-family:Arial,sans-serif;">Peter Dreifus was invited to contribute to our Distinguished Lecturer Series because of his experience as a CFO and COO managing finance and operations at software and technology companies.  Mr. Dreifus is a CPA with over 20 years experience and has held a variety of senior finance positions at Escher Group, Ltd.,  Sequence Design, Inc., Avery Dennison Corporation and the accounting, tax and consulting firm Deloitte. </span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/888/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/888/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/888/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=888&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/05/06/persuading-your-cfo-to-buy-in-a-recession/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/28d2ea5a08c4e5a247c4771ba2b0f999?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">pdreifus</media:title>
		</media:content>
	</item>
		<item>
		<title>Pattern for Versioning Generated Objects</title>
		<link>http://blog.accurev.com/2009/05/05/pattern-for-versioning-generated-objects/</link>
		<comments>http://blog.accurev.com/2009/05/05/pattern-for-versioning-generated-objects/#comments</comments>
		<pubDate>Tue, 05 May 2009 19:51:20 +0000</pubDate>
		<dc:creator>David Thomas</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[binary files]]></category>
		<category><![CDATA[defect tracking]]></category>
		<category><![CDATA[generated objects]]></category>
		<category><![CDATA[reproducibility]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[source code audit]]></category>
		<category><![CDATA[source code control]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[versioning generated objects]]></category>

		<guid isPermaLink="false">http://accurev.wordpress.com/?p=14</guid>
		<description><![CDATA[After building your software, do you check-in your generated binary  files? How about the output from test runs? If your software runs on multiple platforms or your test runs take hours/days to execute, you may want to consider storing the output &#8212; especially if binary reproducibility is critical.
Example. Consider shipping an application to a customer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=14&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After building your software, do you check-in your generated binary  files? How about the output from test runs? If your software runs on multiple platforms or your test runs take hours/days to execute, you may want to consider storing the output &#8212; especially if binary reproducibility is critical.</p>
<p><strong>Example.</strong> Consider shipping an application to a customer who 2 years later reports a defect. Can you reproduce their build &#8220;today&#8221;? Surely you have the exact versions of source files. But are you using the exact build file? Probably. How about the original version of the compiler? Maybe. But probably not. Don&#8217;t forget that your <a title="Java Compiler Release Notes" href="http://java.sun.com/javase/6/webnotes/ReleaseNotes.html" target="_blank">compilers get upgraded</a> too &#8212; their optimization algorithms or bugfixes can change the binary execution format of your application. Thus, compiling source from 2 years ago may result in an equally functioning application at the user-level, but at the byte-level, things may have changed dramatically &#8212; and at a level where runtime defects (performance/memory) rear their ugly heads.</p>
<p><strong><span style="color:#000080;">Myth #1: </span>Committing generated  files results in longer checkout times. </strong>No developer wants to checkout source code and wait for or be inundated with megabytes of .o, .class, .jar, .war files that they are either never used or are going to be rebuilt anyway.  <span style="color:#ff6600;"><strong><span style="color:#993300;">The AccuRev Truth:</span> </strong></span>Use include/exclude rules on streams and workspaces to control <em>which</em> <em>streams</em> have access to generated objects and <em>who</em> will receive them during checkout.</p>
<p><strong><span style="color:#000080;">Myth #2:</span> Committing binary files slows down your CM system. </strong>Traditional SCM systems combine both meta data and content resulting in slower performance over time as the number of files increase (think labeling).  <span style="color:#993300;"><strong>The AccuRev Truth:</strong></span> AccuRev stores meta-data separate from file contents and uses indexes to lookup and retrieve contents.  For example, transactions are labeled not files.  Using a card catalog (index lookup) to find your books is always faster than walking the isles (linear scan).</p>
<p><strong><span style="color:#000080;">Myth #3: </span>Storing generated artifacts will bloat the repository.</strong> Back in the day of wild-west coding, there was little rhyme or reason for where files were saved in the source tree.  The build system would simply compile the files it found, save the generated output right next to the source file, and as long as everything linked &amp; compiled &#8212; it worked.  But in todays complex world of multi-layer software architectures, tiered deployments, mixed technologies, and sophisticated build tools, following a convention is almost a necessity (think  ruby on rails, maven, etc). <strong><span style="color:#993300;">The AccuRev Truth: </span></strong>Organizing the top-level source tree and configuring your build tool can make it very easy to carve out source vs. binary vs. tests vs. scripts, etc.  Using include/exclude rules, end-users can decide at the stream or workspace level what parts of the file tree need to be visible.</p>
<p><strong>The Pattern. </strong>In this pattern for versioning generated artifacts, I&#8217;ll show how streams can be used to store generated files only in the appropriate stage of development and prevent unwanted exposure to developers.  Two options are present that can also be used in combination.</p>
<p><em><strong></strong></em></p>
<p><em><strong></strong></em></p>
<div id="attachment_877" class="wp-caption alignright" style="width: 250px"><em><strong><em><strong><a href="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_11.jpg"><img class="size-medium wp-image-877" title="Pattern for Versioning Generated Objects - Option #1" src="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_11.jpg?w=240&#038;h=149" alt="Option #1: sub-configurations" width="240" height="149" /></a></strong></em></strong></em><p class="wp-caption-text">Option #1: sub-configurations</p></div>
<p><em><strong>Option #1: </strong></em>Store and track generated artifacts as sub-configurations isolated from the mainline.   From a baseline snapshot such as a test build or release candidate, create a new child stream to store the generated artifacts.  Then create a second snapshot that represents both source code and generated artifacts. For a single &#8220;configuration&#8221; you now have two snapshots &#8211; one for source only and a second for source + binary.  Furthermore, you can diff these two snapshots to know exactly how the binary configuration is different from the source configuration.  You might also consider storing compiler files, debugging output, test output,the compilers themselves (!), etc.</p>
<p><strong><em></em></strong></p>
<div id="attachment_878" class="wp-caption alignright" style="width: 250px"><strong><em><strong><em><a href="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_21.jpg"><img class="size-medium wp-image-878" title="Pattern for Versioning Generated Objects - Option #2" src="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_21.jpg?w=240&#038;h=198" alt="Option #2: include/exclude rules" width="240" height="198" /></a></em></strong></em></strong><p class="wp-caption-text">Option #2: include/exclude rules</p></div>
<p><strong><em>Option #2:</em> </strong>Store and track generated artifacts directly in mainline but exclude them from downstream access using stream-level <em>exclude rules</em>.   The top-most streams that need access to both source and binary will include the majority or entire filesystem footprint in their configurations.   The first stream that does not need access to generated objects will likely be the candidate to set an <em>exclude rule</em> on the folder(s) that contain those files.  The exclude rule is inherited to all children and grandchildren.</p>
<p>When using exclude rules, it is easiest to set a single rule on a top-level &#8216;./build&#8217; or &#8216;./generated&#8217; folder rather than creating a rule for each sub-folder in a large source tree.  Traditionally, <em>make</em> based build systems would generate the compiled files in-line with the source code.  Lately, ant based build systems would package all generated artifacts in a separate sub-tree off the root.  Regardless of your build tool, it&#8217;s best to have all generated artifacts in their own tree &#8211; it makes it easier to exclude as well as safer to clean!</p>
<p>In practice I see both patterns in use and both have equal merit depending simply on the situation at hand.  Option #1 is commonly used when generated artifacts are not to be included in the official release.  For example, transient or secondary artifacts such as test cases, debugging output, reports, etc.  These files are <strong>not</strong> promoted up to the release stream.  Option #2 is usually used when the generated artifacts are expected to be included in the official release snapshot.  Thus, they are promoted up through the test/build/release streams.  The build system for these types of &#8216;uber&#8217; configurations may have multiple release targets creating different levels of release packages such as &#8216;minimal&#8217;, &#8216;app&#8217; , &#8216;app-with-tests&#8217; and &#8216;full&#8217;.  That is to say, the CM system may have all possible files but you can choose what actually gets deployed.  Ultimately, storing everything in the CM system may likely be the right choice for audit and reproducibility.</p>
<p>/Happy Coding/</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=14&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/05/05/pattern-for-versioning-generated-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2ac96168578a18921024b30825fa005?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">davidpthomas</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_11.jpg?w=300" medium="image">
			<media:title type="html">Pattern for Versioning Generated Objects - Option #1</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/05/pattern_versioning_generated_objects_option_21.jpg?w=300" medium="image">
			<media:title type="html">Pattern for Versioning Generated Objects - Option #2</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile Software Development For No Apparent Reason</title>
		<link>http://blog.accurev.com/2009/04/23/agile-software-development-for-no-apparent-reason/</link>
		<comments>http://blog.accurev.com/2009/04/23/agile-software-development-for-no-apparent-reason/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:58:07 +0000</pubDate>
		<dc:creator>Lorne Cooper</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=837</guid>
		<description><![CDATA[The always informative Brad Appleton has a post on Software Agility which defines some fascinating terminology right out of Yogi Maharishi's mantra.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=837&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The always informative Brad Appleton has a post on <a title="Software Agility" href="http://bradapp.blogspot.com/2009/04/agility-cycle-part-2.html" target="_blank">Software Agility</a> which defines some fascinating terminology right out of Yogi Maharishi&#8217;s mantra.</p>
<p>How can you not love a process that includes:</p>
<p><span style="font-family:georgia;"><span style="color:#663333;font-family:trebuchet ms;font-size:130%;"><em></em></span></span></p>
<ul>
<li><em><strong>Sense</strong> the Problem/Opportunity</em></li>
<li><em><strong>See</strong> the Problem in the Context of the &#8220;Whole&#8221;</em></li>
<li><em><strong>Socialize</strong> the Goals and Constraints</em></li>
<li><em><strong>Swarm</strong> the Solution</em></li>
<li><em><strong>Show</strong> the Results</em></li>
<li><em><strong>Share</strong> the Knowledge Learned</em></li>
<li><em><strong>Life</strong> Goes on Within You and Without You</em></li>
</ul>
<p>[Ok, I admit I added the last one from The Beatles, not Brad Appleton.]</p>
<p>I don&#8217;t really know what &#8220;Swarm the Solution&#8221; means, or &#8220;See the Problem in the Context of the Whole&#8221;, and I&#8217;m the poor dumb bastard that actually read the post.</p>
<p>The biggest challenge with &#8220;Agility&#8221; or &#8220;Agile&#8221; is one you can learn from the taxi business: if you don&#8217;t know where they want to go, it&#8217;s hard to get the passengers to pay you for taking them there.</p>
<p>Having run an Agile (Scrum) process here for almost two years, and having almost 100 Agile customers, there&#8217;re three things you need to know about Agile development before you can get it right:</p>
<p>1. Figuring out what to do next is the hardest part.  Kudos to those organizations who have a single customer they need to satisfy, but most of us have to make sense of often contradictory feedback coming from many sources.  Agile doesn&#8217;t make this easier.  It may, however, make your mistakes more like scratching a parked car than bouncing off a road grader.  Beware the process that can&#8217;t trace it&#8217;s stories back to actual customer statements!  Beware!</p>
<p>2. Time boxing means you have to spend the energy testing that you always told your mother you were going to do, but never quite go around to it.  If you start getting all soft on those developers and letting them make excuses for why it can&#8217;t be verified in the time box, you&#8217;re going to be in Faux Agile land, an evil place where developers run amok, dates come and go without meaningful results, and customers wander off for lack of adult supervision. Joel Spolsky <a title="Netscape Rewrite" href="http://www.joelonsoftware.com/articles/fog0000000069.html" target="_blank">wrote</a> about Netscape entering this land many years ago.  I read it in my Chrome browser.</p>
<p>3. Self-Managed Teams can save you a lot of money by increasing your management branching-factor.  But don&#8217;t let the inmates run the asylum: people still go through bad marriages, get mad at their co-workers, and generally screw up, just like they did before.  The larger the team, the more likely your average team member is to be no smarter than the beer drinking, C+ grading, problem set copying, frat brother who peed on your car last night.  Management still has to provide the whack on the head needed to keep the good ones motivated and the bad ones headed to someone else&#8217;s frat party.</p>
<p>&#8220;Agility&#8221; is about getting somewhere faster.  If your process doesn&#8217;t get you going the right way, your doing Agile for No Apparent Reason.</p>
<p>Lorne Cooper</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/837/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/837/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/837/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=837&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/04/23/agile-software-development-for-no-apparent-reason/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2535fe183c9386c7b1fadf224b811f6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">lornecooper</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile is a Step on the Path to Business Agility</title>
		<link>http://blog.accurev.com/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/</link>
		<comments>http://blog.accurev.com/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:19:07 +0000</pubDate>
		<dc:creator>Lorne Cooper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[agile software development]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=828</guid>
		<description><![CDATA[Brad Appleton's series of posts on What Is Agility? bring up the right questions, but don't dive into the muck, like a bbq eater in a white suit.  Muck diving is right up my alley, as the stuff I find interesting is usually at the bottom of the pile.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=828&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Brad Appleton&#8217;s series of posts on <a title="What is Agility?" href="http://bradapp.blogspot.com/2009/04/what-is-agility.html" target="_blank">What Is Agility?</a> bring up the right questions, but they don&#8217;t dive into the muck, like a BBQ eater in a white suit.  Muck diving is right up my alley, as the stuff I find interesting is usually at the bottom of the pile.</p>
<p>There are several fundamental problems to be solved, but the most interesting, by which I mean really hard, problem is understanding what is the most important thing to do next.</p>
<p>In <a title="The Agility Cycle" href="http://bradapp.blogspot.com/2009/04/agility-cycle-part-1.html" target="_blank">The Agility Cycle</a>, Brad quotes a host of luminaries, including himself, in defining what that thing is.   I like <a title="Gartner Business Agility doc" href="http://www.gartner.com/DisplayDocument?doc_cd=137820" target="_blank">Gartner&#8217;s</a> the best, and here I&#8217;ll have to quote Brad, as Gartner won&#8217;t let me read their original:</p>
<ol><span style="font-family:georgia;"></p>
<li><strong>Sense</strong> the need for change in the environment (includes the proactive initiation of change)</li>
<li><strong>Strategize</strong> the available options and develop alternatives</li>
<li><strong>Decide</strong> which path to take and commit to the approach</li>
<li><strong>Communicate</strong> internally and externally to everyone who needs to know</li>
<li><strong>Act</strong> to produce results and follow-through efficiently</li>
<p></span></ol>
<p><strong>1. Sensing the Need for Change in the Environment</strong></p>
<p>Let&#8217;s start with &#8220;Sense the need for change in the environment&#8221;.  Beware of management aphorisms that sound like something you&#8217;d hear at a Yoga workshop!</p>
<p>Not only is it hard to tell what the need for change is, it&#8217;s as hard to agree on it as it is to get two people to agree to toppings on a pizza.  By the time your company has it&#8217;s second employee, you&#8217;re in trouble.  When you get your second customer, it&#8217;s pretty much over.</p>
<p>Practically speaking, there are four avenues in which we business people &#8220;Sense the need for change in the environment&#8221;:</p>
<p>1. Strategic Pressure.  &#8220;The future is in Cloud Computing on the i-Phone.  Get me there in six months.&#8221;  Most engineering organizations are willing to set fire to the old application and do a little resume polishing on the new one.  Nothing like <a title="Netscape ReWrite Fiasco" href="http://www.joelonsoftware.com/articles/fog0000000069.html" target="_blank">starting from scratch</a>, unless you actually want to make money.</p>
<p>2. Competitive Pressure.  &#8220;Your App needs to do foobar, just like that other app does.&#8221;  Now that&#8217;s going to happen every day after you ship version 0.9.  It&#8217;s unlikely that any one request requires real change, but maybe that sound you hear is an out of control semi, and it might be nice to change direction before slamming into the grill of the truck.</p>
<p>3. Customer Pressure.  &#8220;I&#8217;m not loading any more of your crappy releases until the .2 version, at least.&#8221;  Hey, you Windows XP users, you know who you are.  And who I am.</p>
<p>4. Financial Pressure.  Sales drop.  New Account sales drop.  The CFO takes away our CapEx budget.  We have to reduce headcount [or "Free people to pursue other opportunities" as they say in Hollywood], reduce hours, reduce pay.  Doesn&#8217;t take a highly developed set of Senses to know things have changed.  But what do we do about it?</p>
<p>It&#8217;s relatively easy to deal with Strategic Pressure: unless the pressure is coming from your CEO&#8217;s who&#8217;s an ex-Marine Karate instructor with a Meth habit: slow down amigo, and study it. Engineering is a discipline where things take time.  The worst thing we can do is change priorities faster than we can get them to market.  Change needs to require a good case.</p>
<p>Market of any size don&#8217;t have windows that  close in six months.  More likely people will learn that Prolog wasn&#8217;t really all that valuable, or you could like without a MS-Bob plug-in.  SOAs and the ASP business model have been around for ten years.  Before you imagine yourself as the next &#8220;i-Fart&#8221; author, ask yourself, what percentage of the apps on the i-Phone have made over $100K in revenue?</p>
<p>Competitive Pressure and Customer Pressure are not the same.  Competitive pressure shows up when your organization is losing business to a competitor.  Real Customer Pressure is when you can&#8217;t live up to your value proposition without making changes.  These two are the realm of Product Management.</p>
<p>The difference between a great product manager and all the rest is whether they can determine which customer or sales requests require change, versus the ones that go to triage and get prioritized with all the others.  Signals that you might have to really change what you&#8217;re doing are when you get demands for 10x performance improvements, or to support workflows that just don&#8217;t fit.  Patches (&#8221;now 30% faster!&#8221;) just aren&#8217;t going to make those requirements go away.  Now you&#8217;re going to have to think about how to address a new market environment.</p>
<p>Finally, Financial Pressure is the easiest to sense, and the <em>least</em> likely to activate change.  Financial Pressure tends to make organizations to freeze up.  Whether the reason was lack of product competitiveness, global recession, or a controller with a cocaine problem, the result is the same competitive and customer pressure, fewer resources to deal with it, and (unless you&#8217;ve been investing in those employee meditation session) lower morale.</p>
<p>Two mistakes managers typically make: trying to use the same development process, and freezing CapEx.</p>
<p>Improving the development process is your way out of this mess, not something you can&#8217;t afford to do.  That&#8217;s like the teenager who knows he&#8217;s going the wrong way, so he drives faster.  And, if you have the cash (or if the government is giving it out like candy on Halloween), Capital Expenditure is the cheapest way to get onto a better process.</p>
<p>Lorne Cooper</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/828/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/828/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/828/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=828&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/04/22/agile-is-a-step-on-the-path-to-business-agility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2535fe183c9386c7b1fadf224b811f6?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">lornecooper</media:title>
		</media:content>
	</item>
		<item>
		<title>Security Primer &#8211; Anatomy of the AccuRev Admin Trigger</title>
		<link>http://blog.accurev.com/2009/03/27/security-primer-anatomy-of-the-accurev-admin-trigger/</link>
		<comments>http://blog.accurev.com/2009/03/27/security-primer-anatomy-of-the-accurev-admin-trigger/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 16:45:27 +0000</pubDate>
		<dc:creator>rmohr</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[AccuRev admin trigger]]></category>
		<category><![CDATA[AccuRev administration]]></category>
		<category><![CDATA[AccuRev security]]></category>
		<category><![CDATA[AccuRev server admin trigger]]></category>
		<category><![CDATA[AccuRev triggers]]></category>
		<category><![CDATA[Admin trigger]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[software development process]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=737</guid>
		<description><![CDATA[
by Rob Mohr
Do you have the &#8220;Admin Trigger&#8221; installed and running in your AccuRev environment?  I hope so!
The &#8220;Admin Trigger&#8221; is the best way for you to restrict those non-ACE&#8217;d (AccuRev Certified Engineer) users from wreaking havoc on the process you&#8217;ve meticulously designed and implemented for your organization.  Make sure you lock it down!  It&#8217;s really simple to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=737&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong></strong></p>
<p><strong>by Rob Mohr</strong></p>
<p>Do you have the &#8220;Admin Trigger&#8221; installed and running in your AccuRev environment?  I hope so!</p>
<p>The &#8220;Admin Trigger&#8221; is the best way for you to restrict those non-ACE&#8217;d (AccuRev Certified Engineer) users from wreaking havoc on the process you&#8217;ve meticulously designed and implemented for your organization.  Make sure you lock it down!  It&#8217;s really simple to do!</p>
<p>Now, I&#8217;m not talking about taking flexibility away from your developers, they&#8217;ll need to control certain aspects of the process too.  It&#8217;s up to you where the line is drawn in the stream hierarchy and the Admin Trigger is the chalk.</p>
<p>The equator is commonly established on the integration stream.  Since the globe in this case is AccuRev, the line of demarcation runs north and south.  To the West (upstream from integration), ACE&#8217;rs set the rules on workflow, code promotion, stream configurations, and general access control.  To the East (downstream from integration), developers and development teams are free to make their own decisions to best support their process, products, projects, components, patches, bug fixing and development activities.</p>
<p>Have you read the <a title="private prototyping" href="http://blog.accurev.com/2008/11/13/pattern-for-private-prototype-development/" target="_blank">private prototyping</a> or <a title="Stream Per Task" href="http://blog.accurev.com/2007/10/11/stream-per-task-paradigm-with-accurev-software-configuration-management/">stream-per-task</a> blogs by Dave Thomas?  These are good examples of how dev teams and developers control how their activities are organized using streams while adhering to the overall enterprise software development life cycle (SDLC).</p>
<p>The Admin Trigger is a simple if-then-else perl script that fires on the server whenever certain commands are  executed.  Out-of-the-box, the script restricts &#8220;admin type&#8221; commands such as creating users, groups, depots, etc without needing additional customization.</p>
<pre> @cmdlist = qw/mkuser chref chdepot chslice lsacl addmember
                  rmmember mkgroup mkdepot mktrig rmtrig
                  setacl write_schema/;
    # is the user command in the above list?
    if (grep $_ eq $command, @cmdlist) {
    ...</pre>
<p>The admin type commands are typically global in nature, meaning, that a single Admin group is granted permission for these commands.  Stream creation has a more granular scope allowing different groups to control their development process and stream management capabilities.</p>
<p>Simply list the streams in the trigger that only Admins have the ability to &#8220;manage.&#8221;  By default, other streams not listed are managed by the development teams themselves.  There are 2 sections in the trigger to set this up depending upon the commands to control.</p>
<p>Restricts: lock, unlock, chstream, incl, excl, incldo</p>
<pre>    $admin_stream{"replace_with_admin_stream"} = 1;
    $admin_stream{"replace_with_admin_stream"} = 1;
    $admin_stream{"replace_with_admin_stream"} = 1;
    ...</pre>
<p>Restricts: mkstream, mkws</p>
<pre>    $basis_stream_deny{"replace_with_basis_stream_to_deny"} = 1;
    $basis_stream_deny{"replace_with_basis_stream_to_deny"} = 1;
    $basis_stream_deny{"replace_with_basis_stream_to_deny"} = 1;
    ...</pre>
<p>Inside the trigger logic, each command is evaluated and will allow the operation to complete or not.</p>
<p>For example, the following section validates the &#8220;mkstream&#8221; command:</p>
<pre>if ($command eq "mkstream") {
...
 # only a user listed as an administrator can create a new stream
 # based on an existing stream in the "basis_stream_deny" list
 if ( defined($basis_stream_deny{$stream2}) and `$::AccuRev ismember $principal "$admingrp"` == 0 ) {
   print TIO "Basing a new stream on existing stream '$stream2' disallowed:\n";
   print TIO "server_admin_trig: You are not in the $admingrp group.\n";
   close TIO;
   exit(1);
  }
}</pre>
<p>There are other facilities in AccuRev to control the process and workflow too. Stream Locks grant users/groups the ability to promote to and from streams and Access Control Lists (ACLs) grant access to entire depots and subhierarchies.  Setting up these security measures combined with the Admin Trigger provide your organization with the flexible and granular security model it needs for the <a href="http://www.accurev.com/accurev.html" target="_blank">optimum development process</a>.</p>
<p>Drop me a note and let me know the creative ways you&#8217;re using the Server Admin Trigger.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/737/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/737/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/737/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=737&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/03/27/security-primer-anatomy-of-the-accurev-admin-trigger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fbe946fe1f738a6a2590e0484a12c880?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">rmohr</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting the Most out of AccuRev’s Windows Explorer Integration</title>
		<link>http://blog.accurev.com/2009/03/18/getting-the-most-out-of-accurev%e2%80%99s-windows-explorer-integration/</link>
		<comments>http://blog.accurev.com/2009/03/18/getting-the-most-out-of-accurev%e2%80%99s-windows-explorer-integration/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 18:08:09 +0000</pubDate>
		<dc:creator>acserpa</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[AccuBridge]]></category>
		<category><![CDATA[auditability]]></category>
		<category><![CDATA[change packages]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[design artifacts]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[project plans]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[Windows Explorer]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=721</guid>
		<description><![CDATA[As organizations become more advanced in their use of software configuration managment (SCM) they typically expand its use to include more than the software developers.  A common addition is around audibility and compliance of the entire development process which may require them to version more than just the source code, but also any requirements, project plans, design [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=721&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As organizations become more advanced in their use of<span> <a href="http://www.accurev.com/software-configuration-management.html" target="_blank">software configuration managment </a>(</span>SCM)<span> </span>they typically expand its use to include more than the software developers.  A common addition is around audibility and compliance of the entire development process which may require them to version more than just the source code, but also any requirements, project plans, design artifacts and documentation.  This enables the labeling of the big picture of who, what, where, why and how the software was developed.</p>
<p><span>With this expansion there are now more users of the<span> </span><a href="http://www.accurev.com/scm_comparisons.html" target="_blank">SCM<span> </span>tools</a>, many of whom have never used a <a href="http://www.accurev.com/accurev-version-control.html" target="_blank">version control</a> solution before. A few examples of these new user types may be hardware designers, graphic designers, product managers, or the documentation team. These types of users are working with different types of files, and work in different tools than the traditional software developers and because of that may use <a href="http://www.accurev.com/accurev-version-control.html" target="_blank">version control tools</a> in different ways.  These users may have<span> </span>historically created versions of files using naming convention such as:</span></p>
<p><span> ReleaseNotes_v1.doc,<span> </span>ReleaseNotes_v2.doc etc. all on their local computer.  </span></p>
<p><span>Obviously this can be an error prone process and also a single point of failure if something were to happen to that user’s computer.  Since many of the files they work on are binary (.doc, .pdf, .ai, .dwg, .vsd<span> </span>etc.) they may want to work on these files in a serial mode so they don&#8217;t have to try to manually merge them when someone else makes changes to them in parallel.  So instead of the traditional use of<span> </span>AccuRev,<span> </span>taking advantage of our parallel development features, these users may want to work in exclusively locked<span> </span>workspaces<span> </span>or at least have exclusive locks on certain files to protect them.</span></p>
<p><span>In order to make this new type of user successful they need to use an interface that is familiar to them. With many <a href="http://www.accurev.com/accurev-source-code-control.html" target="_blank">source code control</a> tools they may have to write scripts, <a href="http://www.accurev.com/product-overview.html" target="_blank">manage configurations </a>or interact with a <a href="http://blog.accurev.com/2008/10/01/accurev-cli-going-beyond-scm/" target="_blank">command line interface</a><span> </span>to be able to get their work done. This type of interaction will likely not work well for these types of users, as many of them may not have the technical know how to work in those environments.  AccuRev<span> </span>can make this transition much more fluid and familiar for these users with the<span> </span><a href="http://www.accurev.com/accubridge-windows-explorer.html" target="_blank">AccuBridge<span> </span>for Windows Explorer</a>. This interface gives the user access to the<span> </span>AccuRev<span> </span>commands needed from within the familiarity of Windows Explorer as seen in exhibit 1.</span></p>
<p> </p>
<div id="attachment_779" class="wp-caption alignnone" style="width: 460px"><a href="http://accurev.files.wordpress.com/2009/03/exhibit15.jp" target="_blank"><img class="size-full wp-image-779" title="Exhibit 1" src="http://accurev.files.wordpress.com/2009/03/exhibit15.jpg?w=450&#038;h=363" alt="AccuBridge for Windows Explorer" width="450" height="363" /></a><p class="wp-caption-text">AccuBridge for Windows Explorer</p></div>
<p> <span id="more-721"></span></p>
<p>This interface gives the user the access to the<span> </span>AccuRev<span> </span>commands that allow them to open the files in the tool of their choice to make changes, keep, promote and revert those changes, create and update<span> </span>workspaces, view the statuses of files,<span> </span>AccuRev<span> </span>version information and lock types for the files, search for changed files within the workspace and view history. Even, if desired, create <a href="http://www.accurev.com/change-packages.html" target="_blank">change packages</a> associated with issues for the promotions just like the software development organization.  This coupled with the traditional Windows Explorer fields and views give the users a variety of different ways to view and interact with the files such as choose thumbnails view, which can be helpful for these users to see an image of the contents as seen in exhibit 2.</p>
<p> </p>
<div id="attachment_780" class="wp-caption alignnone" style="width: 460px"><img class="size-full wp-image-780 " title="Exhibit 2" src="http://accurev.files.wordpress.com/2009/03/exhibit23.jpg?w=450&#038;h=316" alt="Thumbnails view with Windows generatored images" width="450" height="316" /><p class="wp-caption-text">Thumbnails view with Windows generated images</p></div>
<p> </p>
<p><span>It is with the use of<span> </span>AccuRev<span> </span>with the<span> </span>AccuBridge<span> </span>for Windows Explorer that I have seen the fastest and widest adoption of <a href="http://www.accurev.com/accurev-version-control.html" target="_blank">version control</a> to groups unfamiliar with version control across organizations. Both the organizations and end users have seen tremendous benefits from having this information readily available in the version controlled repository, and I have seen this implemented all in a single depot with streams that separate out these items from the source code or some have opted for completely separate repositories.  <strong>I prefer to have them in a single repository separated by streams</strong> because it gives you the ability to include these artifacts in snapshots with the source. In addition to the ease of adoption for new AccuRev users, the AccuBridge for Windows Explorer can also benefit the current users both indirectly and directly.  Indirectly they benefit form knowing where to always find the latest and greatest files from the designers and product managers to ensure they are working off of the most up to date specifications.  Directly they too can use the AccuBridge for Windows Explorer as an alternative to the IDE integrations, command line or <a href="http://www.accurev.com/streambrowser.html" target="_blank">AccuRev StreamBrowser</a>.  This can be of particular help when editing files in the non-standard editors by using the &#8216;Open With&#8230;&#8217;  and then having the abililty to keep the changes without having to jump between interfaces.</span></p>
<p><span> All in all the AccuBridge for Windows Explorer can be an easy way to incorporate the non-source artifacts into the release process  for compliance, as well as another way for the software developer to interact with AccuRev.</span></p>
<p class="MsoNormal"> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/721/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=721&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/03/18/getting-the-most-out-of-accurev%e2%80%99s-windows-explorer-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3129b427b1665763b1751a9e31ef16e1?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">acserpa</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/03/exhibit15.jpg" medium="image">
			<media:title type="html">Exhibit 1</media:title>
		</media:content>

		<media:content url="http://accurev.files.wordpress.com/2009/03/exhibit23.jpg" medium="image">
			<media:title type="html">Exhibit 2</media:title>
		</media:content>
	</item>
		<item>
		<title>Are ClearCase Dynamic Views Still Necessary?</title>
		<link>http://blog.accurev.com/2009/03/11/are-clearcase-dynamic-views-still-necessary/</link>
		<comments>http://blog.accurev.com/2009/03/11/are-clearcase-dynamic-views-still-necessary/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 18:00:27 +0000</pubDate>
		<dc:creator>Brad Hart</dc:creator>
				<category><![CDATA[Comparisons]]></category>
		<category><![CDATA[Questions and Polls]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[ClearCase]]></category>
		<category><![CDATA[ClearCase Dynamic Views]]></category>
		<category><![CDATA[dynamic views]]></category>
		<category><![CDATA[replacing ClearCase]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=684</guid>
		<description><![CDATA[by Brad Hart
In just about every situation in the last 8 years where I&#8217;ve gone into a prospect to talk about replacing ClearCase, I&#8217;ve been asked the question about ClearCase&#8217;s Dynamic Views and why AccuRev does not have a similar concept. It&#8217;s a fair question coming from those who are familiar with ClearCase and I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=684&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>by Brad Hart</strong></p>
<p>In just about every situation in the last 8 years where I&#8217;ve gone into a prospect to talk about replacing ClearCase, I&#8217;ve been asked the question about ClearCase&#8217;s Dynamic Views and why AccuRev does not have a similar concept. It&#8217;s a fair question coming from those who are familiar with ClearCase and I&#8217;m posting this blog to help both give some background information on Dynamic Views and answer some of the common issues raised by former users of ClearCase before they made the <a href="http://bit.ly/ZbHbS" target="_blank">switch to AccuRev</a>. I used to work at Rational Software in both Support and in the Field and I spent a number of years as a ClearCase consultant before coming to AccuRev in 2001.</p>
<p>At the time Dynamic views were introduced, there was tremendous pain in the market using a local source copy model, especially in enterprise applications. Disk space was extremely expensive, and it was becoming increasingly infeasible to have large enough disks on each developer’s workstation. Networks were also much slower, and the time required to copy entire sets of source code to each developer’s workstation was unrealistic as applications grew in size and complexity. Dynamic views provided the appearance of each developer having a local copy of the source files, but without the time / disk space overhead associated with having real local copies. They also provided just-in-time access to files across a network connection which was transparent to the end user, similar to the way NFS works. Unlike NFS, which you only can access the latest version of files, the dynamic views allow the developer to reconfigure their view of the files to represent any given configuration past or present. Also, unlike a local copy model, reconfiguring what a developer sees does not require any file copying to reflect the changes. This saves time and money and the savings continue to scale the larger the development group gets.</p>
<p><strong>Does it still hold water?</strong><br />
No. Both workstation and network hardware costs have dramatically dropped in recent years, and the performance has increased exponentially. It is very common and reasonable for developers to have near server-class systems on their desktops. In many cases, it is now a much better time savings to have developers work with local copies of their source files. In fact, Rational&#8217;s default usage model for developers is to do their development in a local copy source file model, contradicting the presence of Dynamic views. Dynamic views were a time and cost savings breakthrough when it was introduced, but given the changes in development environments in the current time, it is more often than not seen as a hindrance. There is also a much higher administrative burden associated with Dynamic views. Especially if you are working in a mixed environment (SAMBA, TAS, etc&#8230; need to be properly configured and maintained). Also, Dynamic views are notoriously unreliable and unusable over remote connections. Another major objection to Dynamic views from the developer perspective is that most developers don&#8217;t want &#8220;the rug pulled out from under them.&#8221; Your files are constantly changing in your view&#8230;.how are you supposed to develop/build and test like that? Add in the fact that ClearCase does not have atomic transactions, and developers using Dynamic views will constantly have inconsistent sets of code to work on. Bottom line is that even Rational recommends developers use Snapshot views (like AccuRev workspaces) and only use the Dynamic views for integrations. Since AccuRev truly builds in parallel development, you don&#8217;t need an integration view/workspace. All your work can be done directly from one workspace.</p>
<p><strong><span style="color:#0000ff;">Five things I’ve heard from developers on why they think dynamic views are important to an effective development environment:</span></strong></p>
<p><strong><em>WYSIWYG: The final test of your code changes before check-in is exactly the same thing as testing the release area code directly. No need to &#8220;check it out again in a different place just to make sure I checked in everything right.&#8221;</em></strong></p>
<blockquote><p>AccuRev allows your private work (keeps) and your check-ins (promote) to all occur from the same place (you don&#8217;t have to check out to a different place). AccuRev builds in best-practices like private-branching (workspace streams), atomic transactions, and copy-merge. You don&#8217;t get that out of the box with ClearCase. AccuRev&#8217;s built-in best practices absolutely improve the entire process. You absolutely must merge against the latest code before you promote your changes (for overlapped files). Plus, developers have total control of their workspace bringing in new changes as they are ready. That way if something is broken, they will know whether it is their code, or the latest code from the mainline. With Dynamic views, you will have to go find out for yourself and it is constantly changing. I have heard a lot of the &#8220;rug being pulled out from under me&#8221; analogies regarding dynamic views.</p>
<p><span id="more-684"></span></p></blockquote>
<p><strong><em>Zero-latency perfect synchronization with the release area: no time is ever spent checking out all the files in the entire directory just to see the release area. You are always &#8220;seeing&#8221; the release area. Your code is the release area.</em></strong></p>
<blockquote><p>Running updates in AccuRev is trivial and incremental. Performance far exceeds ClearCase&#8217;s snapshot views. You don&#8217;t need to check out all the files. Updates just bring in the changes.</p></blockquote>
<p><strong><em>Instantaneous creation of a new view into the release area: Suppose you want to do a quick mod and test of the release area code. Just create a new view, make the code mod, and do a build. You are good to go. No time spent doing a full checkout of everything just to modify 1 line of code in 1 file.</em></strong></p>
<blockquote><p>With AccuRev, you can simply <a href="http://blog.accurev.com/2007/09/21/reparenting-workspaces-whats-the-hype/" target="_blank">re-parent </a>one of your workspaces, update, check in your changes&#8230;done.</p></blockquote>
<p><strong><em>Automatic synchronization with the continuous development of code in the release area. Suppose you have a huge pile of code checked out for 3 weeks, and one week into it somebody checked in a change that broke your implementation. Dynamic views force you to reconcile the merge difference the moment the file is checked in, while it is still fresh in everybody&#8217;s mind. No trying to recreate the scenario 2 weeks later because you forgot to do a refresh of your sandbox. Your build will immediately fail, and you can confront the guilty party before they go on to work on other stuff. With dynamic views, the team is always in alignment and working on the code together.</em></strong></p>
<blockquote><p>Too much thrashing. This might work for a very small team. This would be mayhem for a large group.</p></blockquote>
<p><strong><em>Entire directories can be rearranged without worrying about somebody&#8217;s checkout becoming unmanageable. Since everyone instantly adopts all the changes that take place in the release area, all the files in a directory can be moved and changed without you even being aware of it. All of your &#8220;checked out sandboxes&#8221; instantly are updated to work with the new directory structure. This freedom encourages engineers to create a well structured file hierarchy, even making changes during critical bugfix periods in a product development cycle a non-issue. One does not feel the need to keep around old sandboxes &#8220;just in case everything breaks.&#8221;</em></strong></p>
<blockquote><p>Absolutely no problem for AccuRev. AccuRev has true namespace versioning and handles all elements using element ids. You can work on a file and have someone else rename it and it will cause you no problems at all. When you update, the file will be moved to the correct location and your changes will remain in effect.</p></blockquote>
<p>This post is not meant to discredit the work done by the ClearCase development team, but rather to point out how Dynamic views have all but become obsolete. The VCR changed home entertainment forever&#8230;but you&#8217;d have to pull my DVR and DVD players from my cold dead fingers while my VCR is nothing but a fond memory collecting dust in the basement.</p>
<p>What are your thoughts?</p>
<p>-Brad</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/684/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/684/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/684/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=684&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/03/11/are-clearcase-dynamic-views-still-necessary/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3988f09ef21ead891cbb68fc100e6c12?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">bradhart4</media:title>
		</media:content>
	</item>
		<item>
		<title>AccuRev Teams Up with VersionOne on Agile Webinar Series</title>
		<link>http://blog.accurev.com/2009/03/10/accurev-teams-up-with-versionone-on-agile-webinar-series/</link>
		<comments>http://blog.accurev.com/2009/03/10/accurev-teams-up-with-versionone-on-agile-webinar-series/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 15:45:53 +0000</pubDate>
		<dc:creator>accurev</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Educational Webinars]]></category>
		<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[agile development]]></category>
		<category><![CDATA[Agile webinars]]></category>
		<category><![CDATA[Damon Poole]]></category>
		<category><![CDATA[release pattern]]></category>
		<category><![CDATA[release schedule]]></category>
		<category><![CDATA[VersionOne]]></category>

		<guid isPermaLink="false">http://blog.accurev.com/?p=700</guid>
		<description><![CDATA[AccuRev CTO, Damon Poole, is a guest speaker for an Agile webinar series, Agile 101: Laying the Foundation for Agile Development, presented by VersionOne.
Damon will be presenting this Wednesday on the following topic, and again on April 1 to discuss The Algorithms and Architecture of Agile vs. Traditional Software Development.
Breaking the Major Release Habit 
March [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=700&subd=accurev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>AccuRev CTO, Damon Poole, is a guest speaker for an Agile webinar series, <a href="http://www.versionone.com/agile_webinars_101.asp" target="_blank"><span style="color:#800080;">Agile 101: Laying the Foundation for Agile Development</span></a>, presented by <a href="http://www.versionone.com/index.asp" target="_blank"><span style="color:#800080;">VersionOne</span></a>.</p>
<p>Damon will be presenting this Wednesday on the following topic, and again on April 1 to discuss The Algorithms and Architecture of Agile vs. Traditional Software Development.</p>
<p><strong>Breaking the Major Release Habit </strong><br />
March 11th<br />
12:00 – 1:00pm EST</p>
<p>Are you frustrated with your release schedule? Are you considering moving to more frequent releases or wondering if there are ways to tweak your release schedule? Although the traditional pattern for software releases is to have a major release every 6-12 months or more and minor releases in between, there are many other release patterns to choose from. This session will examine the various factors and options involved, discuss their pros and cons, use examples drawn from a wide variety of companies, and give you the information you need to make an informed choice and then implement it.<a href="http://bit.ly/o5Ogb" target="_blank"></a></p>
<p><a href="http://bit.ly/o5Ogb" target="_blank">Register</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/accurev.wordpress.com/700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/accurev.wordpress.com/700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/accurev.wordpress.com/700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/accurev.wordpress.com/700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/accurev.wordpress.com/700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/accurev.wordpress.com/700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/accurev.wordpress.com/700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/accurev.wordpress.com/700/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/accurev.wordpress.com/700/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/accurev.wordpress.com/700/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.accurev.com&blog=899576&post=700&subd=accurev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.accurev.com/2009/03/10/accurev-teams-up-with-versionone-on-agile-webinar-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f60ec9dd91a67b4bb64e7a55316b5e19?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">accurev</media:title>
		</media:content>
	</item>
	</channel>
</rss>