<?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>Software Configuration Management and Agile Software Development</title>
	<atom:link href="http://accurev.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://accurev.com/blog</link>
	<description>SCM and Agile Software Development Blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:28:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Q&amp;A from “A First Look at Kando,” AccuRev&#8217;s Seamless Git Integration</title>
		<link>http://accurev.com/blog/2012/02/03/look-at-kando-accurev-integration-for-git/</link>
		<comments>http://accurev.com/blog/2012/02/03/look-at-kando-accurev-integration-for-git/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 19:25:29 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=3011</guid>
		<description><![CDATA[We held a “First Look at Kando” webinar on Tuesday to mark the launch of our back-end platform for security and compliance with Git. Unfortunately we weren’t able to answer all of the questions in the allotted time, so here are answers for some of the most commonly asked questions. Q: Can a developer use [...]]]></description>
			<content:encoded><![CDATA[<p>We held a “<a href="http://www.accurev.com/webinar/20120131-First-Look-at-Kando">First Look at Kando</a>” webinar on Tuesday to <a href="http://www.accurev.com/press-releases/20120131-accurev-announces-industrys-first-seamless-platform-integrate-git-enterprise">mark the launch</a> of our back-end platform for security and compliance with Git. Unfortunately we weren’t able to answer all of the questions in the allotted time, so here are answers for some of the most commonly asked questions.</p>
<h2><strong><em>Q: Can a developer use Git without an AccuRev workspace?</em></strong></h2>
<p>A: Absolutely. With Kando, the developer does not require an AccuRev workspace. Kando uses a native git repository, so developers can use Git with no modifications – it works seamlessly with AccuRev on the backend. It’s all native Git-to-Git.</p>
<h2><strong><em>Q: Is the Git repository limited to a single AccuRev stream, or can it follow most or all of the AccuRev depot?</em></strong></h2>
<p>A: The Git repository is not limited to a single AccuRev stream, it is completely configurable. When you create a repository, by default, it’s going to ask you to map the master branch in that Git repository to a stream in AccuRev, but you can set up multiple mappings. You could map 100s of branches to streams if you wanted to.</p>
<h2><strong><em>Q: Let’s say I’m an integration manager for a project. Can I create a Git repo using Kando, Git clone it on my system, and let other users clone from me?</em></strong></h2>
<p>A: You can certainly use that model if that’s how you’re most comfortable, where you clone from the bare Git repository associated with AccuRev, and then other people can clone from you. There’s nothing to preclude that from happening because it’s normal Git-to-Git. Another possible solution would be to have all of your developers push and pull from the Kando repository, then you could merge those changes up to the QA or Master branch using AccuRev or Git if you prefer. Kando supports both models.</p>
<h2><strong><em>Q: What about integration with code review tools (like Gerrit).  We actually use Gerrit as the centralized control for our Git repositories</em></strong></h2>
<p>A: If you are connecting Git to anything, whether it be Gerrit, GitHub, an open source library, etc., everything will work. Because Kando is reliant on Git working natively, you can connect to Gerrit or any other tool that integrates with Git. You can push and pull from Gerrit and GitHub as normal. When you push to the remote that is associated with Kando, which is connected with AccuRev, those changes end up in AccuRev in the stream that you’ve mapped to the Git repository’s branches.</p>
<h2><strong><em>Q: How do you handle bugs in Kando itself? Is there support?</em></strong></h2>
<p>A: Kando is an officially supported AccuRev product. If there are defects in Kando, they’ll be handled through our support and services organization the same as they would with AccuRev. Kando is developed using an Agile development methodology, so as we get feedback on defects and enhancement requests, we will turn around fixes and enhancements as quickly as possible.</p>
<p><strong>Still have questions? Ask below, visit <a href="http://www.accurev.com/kando">www.accurev.com/kando</a> for more information, or check out the <a href="http://www.youtube.com/watch?feature=player_embedded&amp;v=gUC5OBDhKx4">Kando video.</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2012/02/03/look-at-kando-accurev-integration-for-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AccuRev Announces Kando!</title>
		<link>http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/</link>
		<comments>http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 13:00:28 +0000</pubDate>
		<dc:creator>AccuRev</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Integrations]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Kando]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[seamless]]></category>
		<category><![CDATA[software change and configuration management]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2993</guid>
		<description><![CDATA[It’s here! AccuRev today announced Kando, the seamless integration of Git with the AccuRev server. Everyone at AccuRev is incredibly excited about it. As many people know (and as we discussed here last week), Git is increasing in popularity among developers working in small groups or collaborating on open source projects. It’s also fast, flexible, and full of [...]]]></description>
			<content:encoded><![CDATA[<p>It’s here! AccuRev today announced <em><strong><a href="http://www.accurev.com/kando">Kando</a></strong></em>, the seamless integration of Git with the AccuRev server. Everyone at AccuRev is incredibly excited about it.</p>
<p>As many people know (and as we discussed here <a href="http://accurev.com/blog/2012/01/26/why-would-anyone-use-git-in-their-enterprise/" target="_blank">last week</a>), <a href="http://git-scm.com/" target="_blank">Git</a> is increasing in popularity among developers working in small groups or collaborating on open source projects. It’s also fast, flexible, and full of developer-friendly features. But when it comes to using Git in an enterprise, the size and complexity of these environments can make it difficult to secure and manage the software development process.</p>
<h2><strong>What makes Kando different from other Git integrations?</strong></h2>
<p>Take a look at the diagram below. With Kando, Git developers push and pull from real Git repositories. Kando takes all changes pushed to these repositories and replicates them on the AccuRev server. Furthermore, any changes made in AccuRev streams that are mapped to Git repositories are replicated in their respective repositories. This means Git users can just do a pull to get those changes, which allows Git users to continue using Git as usual without interacting with AccuRev, if they choose not to.</p>
<h2><a href="http://accurev.com/blog/wp-content/uploads/2012/01/Functionality-Diagram.jpg"><img class="aligncenter size-full wp-image-2994" title="Kando, AccuRev's Git Integration, functionality diagram. " src="http://accurev.com/blog/wp-content/uploads/2012/01/Functionality-Diagram.jpg" alt="Functionality Diagram AccuRev Announces Kando!" width="400" height="376" /></a> <strong>How does Kando benefit Git development environments?</strong><strong> </strong></h2>
<p>Kando enables the flexibility of Git and the security of AccuRev by providing:</p>
<ul>
<li>Support for enterprise authentication via LDAP and Microsoft Active Directory</li>
<li>Fully integrated issue tracking system and Software Change and Configuration Management (SCCM) through change-based development with AccuRev <a href="http://www.accurev.com/change-packages.html">Change Packages</a></li>
<li>User and group-based access control security measures</li>
<li>Visualization of development processes using Git through the AccuRev <a href="http://www.accurev.com/streambrowser.html">StreamBrowser</a></li>
<li>Seamless integration of Git into an AccuRev environment</li>
</ul>
<p>Take a look at how it works:</p>
<p><iframe src="http://www.youtube.com/embed/gUC5OBDhKx4?feature=player_embedded" frameborder="0" width="620" height="349"></iframe></p>
<p>To read more about Kando, watch the demo video, and learn about beta availability, check out the Kando page <a href="http://www.accurev.com/kando">here</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2012/01/31/accurev-announces-kando-git-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Would Anyone use Git in their Enterprise?</title>
		<link>http://accurev.com/blog/2012/01/26/why-would-anyone-use-git-in-their-enterprise/</link>
		<comments>http://accurev.com/blog/2012/01/26/why-would-anyone-use-git-in-their-enterprise/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 14:26:25 +0000</pubDate>
		<dc:creator>thinds</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Software Tools]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Kando]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM compliance]]></category>
		<category><![CDATA[SCM security]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2980</guid>
		<description><![CDATA[The secret’s out &#8211; AccuRev is releasing a seamless security and compliance related solution for the Git community called Kando on January 31st. To get a first look at Kando, register here for the webinar on 1/31/2012, at 1:00 PM EST. You might be asking yourself, “Why in the world would a company focused on providing software development [...]]]></description>
			<content:encoded><![CDATA[<p>The secret’s out &#8211; AccuRev is releasing a seamless security and compliance related solution for the Git community called <a href="http://www.accurev.com/kando">Kando</a> on January 31st. To get a first look at Kando, <a href="https://www1.gotomeeting.com/register/996331609">register here for the webinar</a> on 1/31/2012, at 1:00 PM EST.</p>
<p><strong></strong>You might be asking yourself,<strong> <em>“Why in the world would a company focused on providing software development tools to enterprise organizations with mission-critical software development environments produce a solution for an open source version control tool?”</em></strong> I’ll tell you!</p>
<p><a href="http://git-scm.com/">Git</a> is increasing in popularity among developers working in small groups or collaborating on open source projects. It’s fast, flexible, and full of developer-friendly features. Git is a great tool for these smaller and more social types of development projects, and based on discussions about Git with customers, prospects, and analysts, it’s clear that there are more cases of enterprise organizations trying to use Git.</p>
<p>But poke around a few blogs, or read a few articles that discuss the use of Git in an enterprise environment, and I’m sorry, but you <em>will</em> uncover a few issues. As one <a href="http://www.businesscomputingworld.co.uk/qa-david-richard-wandisco/">article in BCW</a> discussed, “Git is a version control system with an attitude of collaboration and sharing. There is practically no way you can enforce a specific pattern of access and sharing. If the people who&#8217;re using Git don&#8217;t want to follow your rules, the tool is not going to help you much.” Let’s be realistic – Linus didn’t originally design Git for use in an enterprise environment!</p>
<p>So, in which cases do enterprise organizations actually use Git?</p>
<p><strong>1. Android Development</strong></p>
<p>If you want to make changes to Android, you’re going to need Git. It’s unavoidable. This means any company creating mobile devices running on Android and working with Android source files has a real business need to use Git.</p>
<p><strong>2. Linux Development</strong></p>
<p>Same as with Android, if your company has a need to make changes to the the Linux kernel, you are going to need Git. Even if you don’t use Git when making those changes, you’ll eventually have to get them into Git.</p>
<p><strong>3. Working with 3rd Party Vendors or Outsourced Teams Using Git</strong></p>
<p>Similar to the Android and Linux situation, if you’re working with 3rd party vendors or outsourced teams who require that you merge your changes into their Git repository, you may be forced to use scripts or bridges to get your changes from your SCM into Git or vice versa, and that’s not a small task.</p>
<p><strong>4. All of Your Developers Love Git</strong></p>
<p>Let’s face it – Git has a cult-like following in the development community. Developers love Git because it’s fast, distributed, flexible, fairly easy to learn, and has a ton of developer-friendly features. It’s developed by developers for developers. Even if you understand the issues Git has with scaling in enterprise environments, it’s difficult to avoid Git when lots of your developers are pushing you to switch.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2012/01/26/why-would-anyone-use-git-in-their-enterprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCM Software: Optimizing the Software Development Process</title>
		<link>http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/</link>
		<comments>http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 17:10:07 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[scm software]]></category>
		<category><![CDATA[software release process]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2756</guid>
		<description><![CDATA[The enterprise software development arena can be a harsh and unrelenting environment – not a place for the faint-of-heart to work. Fortunately, software configuration management (SCM) software can make it not only more tolerable, but more efficient and, yes, even more successful. SCM software is not a luxury, nor just another layer of technology to [...]]]></description>
			<content:encoded><![CDATA[<p>The enterprise software development arena can be a harsh and unrelenting environment – not a place for the faint-of-heart to work. Fortunately, <strong>software configuration management (SCM) software</strong> can make it not only more tolerable, but more efficient and, yes, even more successful.</p>
<p><a href="http://www.accurev.com/">SCM software</a> is not a luxury, nor just another layer of technology to be added to an already complex process. SCM software is a necessity for development teams working concurrently and in parallel on development projects, especially those employing agile processes to deliver higher quality software more rapidly.</p>
<p>Two of the biggest benefits of using<strong> SCM software</strong> are the ability to coordinate distributed teams and parallel development more effectively, no matter where your team members are located or even the language of the replicas being used – they can be in the next cubicle, the next state, or the next country.</p>
<p><strong>We, of course, recommend AccuRev SCM</strong></p>
<p>No surprise there. After all, we designed it to be fast, flexible, scalable, and effective. After all, we’ve taken process management and version control and made the ideal mash-up that provides the most comprehensive set of SCM tools available, including these<strong> <a href="http://www.accurev.com/scm-best-practices-wp">best practices</a></strong>:</p>
<ul>
<li><a href="http://www.accurev.com/accurev-change-management.html">Change management</a></li>
<li>Visualized SCM patterns</li>
<li><a href="http://www.accurev.com/accuworkflow.html">Automated workflows</a></li>
<li>Private developer history</li>
<li><a href="http://www.accurev.com/multistage-continuous-integration.html">Multi-stage continuous integration</a></li>
<li>Issue-based development</li>
</ul>
<p>With a single set of comprehensive, best-practices SCM tools to work with, life becomes much easier for your development teams – they can focus on software development instead of management and administration tasks. SCM software made nice and simple.</p>
<p>What makes it even easier is how AccuRev SCM easily handles virtually any combination of development processes, including Agile, XP, and waterfall – you name it. You’re free to mix-and-match because AccuRev SCM’s flexible model enables your teams to rip through development with continuous integration, code refactoring, and automated code sharing, to name a few.</p>
<p>Even parallel development is a cinch with fully-transparent code base relationship management that enables teams to store work safely and test it before sharing it with others. A stream-based architecture makes code branching and merging easier, too – it even allows changes to be automatically inherited from other teams.</p>
<p>If for some reason you’re not already using SCM software or if you’re unhappy with whatever software configuration management tool you’re using now and you want to know more about SCM software and AccuRev SCM in particular, check out our <a href="http://www.accurev.com/software-configuration-management-resources.htm">SCM Software Resource Center</a> and <a href="http://www.accurev.com/accurev.html">AccuRev SCM 5.3</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2012/01/20/scm-software-optimizing-the-software-development-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile vs. Waterfall: We’ve Been Doing it Wrong for How Long!?</title>
		<link>http://accurev.com/blog/2012/01/16/doing-it-wrong-for-how-long-agile/</link>
		<comments>http://accurev.com/blog/2012/01/16/doing-it-wrong-for-how-long-agile/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 21:56:02 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[waterfall]]></category>
		<category><![CDATA[winston royce]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2947</guid>
		<description><![CDATA[I was browsing reddit.com the other day and ran into this post: Yup. It’s true. The tried and true development approach of Waterfall that we’ve been using for years was an example of what NOT to do for software development. From the Wikipedia article: The first formal description of the waterfall model is often cited [...]]]></description>
			<content:encoded><![CDATA[<p>I was browsing <a href="http://www.reddit.com/">reddit.com</a> the other day and ran into <a href="http://it.reddit.com/r/programming/comments/nvatj/when_winston_royce_described_the_waterfall_design/">this post</a>:</p>
<p><a href="http://it.reddit.com/r/programming/comments/nvatj/when_winston_royce_described_the_waterfall_design/"><img class="aligncenter size-full wp-image-2948" title="When Winston Royce described the Waterfall Design model, he presented it as what NOT to do." src="http://accurev.com/blog/wp-content/uploads/2012/01/20120116_Lucca_Reddit.png" alt="20120116 Lucca Reddit Agile vs. Waterfall: We’ve Been Doing it Wrong for How Long!?" width="733" height="62" /></a>Yup. It’s true. The tried and true development approach of Waterfall that we’ve been using for years was an example of what NOT to do for software development.</p>
<p>From the <a href="http://en.wikipedia.org/wiki/Waterfall_model">Wikipedia article</a>: The first formal description of the waterfall model is often cited as a 1970 article by <a href="http://en.wikipedia.org/wiki/Winston_W._Royce">Winston W. Royce,[3]</a> though Royce did not use the term &#8220;waterfall&#8221; in this article. Royce presented this model as an example of a flawed, non-working model (<a href="http://en.wikipedia.org/wiki/Waterfall_development#CITEREFRoyce1970">Royce 1970</a>). This, in fact, is how the term is generally used in writing about software development—to describe a critical view of a commonly used software practice.</p>
<p>That’s what’s amazing about waterfall, and the agile transformations that seem to be taking the industry by storm. Maybe we all know deep down there is a better way to develop software.</p>
<p>I hope someday we don’t look back on <a href="http://www.accurev.com/agile-software-development.html">Agile</a> the same way we look back on Waterfall. I don’t think it will happen for the simple reason that Agile <a href="http://www.accurev.com/agile-scm.html">doesn’t have one methodology</a> tied to it. Agile can mean a simple set of practices to help with software development, but it’s more like a mission statement as opposed to a plan.</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2012/01/16/doing-it-wrong-for-how-long-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buying Software Tools is like Buying New Sneakers for Your Development Team</title>
		<link>http://accurev.com/blog/2011/12/16/software-tools-sneakers/</link>
		<comments>http://accurev.com/blog/2011/12/16/software-tools-sneakers/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 18:27:07 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Software Tools]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2926</guid>
		<description><![CDATA[SCM tools have a profound effect on the day to day life of a developer. These types of systems have either helped or hindered development teams deliver software. SCM systems are like the &#8220;hub&#8221; of a development team. It&#8217;s where teams artifact important work, integrate changes, save important ideas and add features for customers. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://accurev.com/blog/wp-content/uploads/2011/12/sneaks.jpg"><img class="alignleft size-full wp-image-2927" title="Buying software tools is like buying new sneakers" src="http://accurev.com/blog/wp-content/uploads/2011/12/sneaks.jpg" alt="sneaks Buying Software Tools is like Buying New Sneakers for Your Development Team" width="323" height="199" /></a>SCM tools have a profound effect on the day to day life of a developer. These types of systems have either helped or hindered development teams deliver software. SCM systems are like the &#8220;hub&#8221; of a development team. It&#8217;s where teams artifact important work, integrate changes, save important ideas and add features for customers. It&#8217;s the center of our development universe!</p>
<p>It&#8217;s all about the developers. They need to be free to innovate and get changes out the door quickly. But they can&#8217;t if they are stifled by tools that get in the way. Tools need to be able to ENHANCE the software development process. Many people think that source control is just a place to checkin / checkout code. But it&#8217;s more than that, it&#8217;s where the software development process comes to life. If the <a href="http://www.accurev.com/software-configuration-management-resources.htm" target="_blank">SCM</a> system isn&#8217;t up to the task of a complex development process, developers can&#8217;t innovate.</p>
<p>Sometimes it&#8217;s hard to understand that you have a tooling problem, even if it&#8217;s staring you in the face. Think of an old pair of trusty sneakers that you have at your house. We all have a pair, they are many years old, beat-up, dirty, torn… but we still wear them. Our feet hurt when we wear them, but for some reason we refuse to get rid of these old sneakers. Until one day (usually after a sprained toe) we decide to buy a brand new pair and after a little breaking in… WOW our feet feel great! Why did I keep the other pair so long?</p>
<p>Software tools are often like this, there is an &#8220;if it ain&#8217;t broke (too much), don&#8217;t fix it&#8221; attitude. We often keep tools too long after their expiration date. You&#8217;ll hear it from your development team, moaning about the pains of merging code, switching workspaces, checking out … it&#8217;s enough to make you cringe. But still we don&#8217;t change. Your old SCM is the sneaker, and collectively as a group you and your team have a hard time recognizing when your feet hurt.</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2011/12/16/software-tools-sneakers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Surprises in Software Development in 2012</title>
		<link>http://accurev.com/blog/2011/12/08/three-surprises-in-software-development-in-2012/</link>
		<comments>http://accurev.com/blog/2011/12/08/three-surprises-in-software-development-in-2012/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 16:01:50 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[created value]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[predictions]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://accurev.com/blog/?p=2922</guid>
		<description><![CDATA[&#8216;Tis the season to make unsupportable predictions for the future.  Despite my prior record (and I remain surprised that we don’t yet have personal jet packs) I&#8217;d still like to share a long-range weather forecast for the software industry. You’ve been warned.  From here on, you’re on your own. Prediction 1: Everyone Will Claim They [...]]]></description>
			<content:encoded><![CDATA[<p>&#8216;Tis the season to make unsupportable predictions for the future.  Despite my prior record (and I remain surprised that we don’t yet have personal jet packs) I&#8217;d still like to share a long-range weather forecast for the software industry.</p>
<p>You’ve been warned.  From here on, you’re on your own.</p>
<p><strong>Prediction 1: Everyone Will Claim They Are Agile</strong></p>
<p>And 50% of them will be wrong, just based on the <a href="http://www.agilecollab.com/the-nokia-test">Nokia test</a>.  And of the rest, half won’t get any value from it.</p>
<p>There are a lot, and here I really need to underline <span style="text-decoration: underline;">a lot</span>, of bad development practices out there.  For every organization that is killing it with Agile, there are five (my agilesta friends say ten) organizations that are limping along, delivering buggy code to their customers, late, and missing committed functionality.  And often all three.</p>
<p>This “Going Agile Without Knowing How” problem is probably an inevitable result of the success the early-adopter teams had with Agile methods.  For instance, when I watch The Olympics, figure skaters make skating look effortless.  When I do it, I look like a drunken hippo and hurt my butt.  It’s hard to stop and remember that these athletes, in addition to good genetics, spent years at the rink with their coaches learning, trying, failing, and improving, before they got in front of the TV cameras.</p>
<p>Agile has crossed the chasm, and the great majority of organizations have too few people, with too little coaching, and hardly any tooling.  Sure, your boss doesn’t realize how useless your stand-up meetings are, or that your code isn’t fully tested at the end of a sprint, but she’ll eventually see that your customers are not happy.</p>
<p><strong>Prediction 2: Development for Mobile Devices Will Still be Small</strong></p>
<p>Yes, Mobile is really big, and moving fast.  It’s just that the great majority of the work to support useful mobile apps remains in the back office.  When we’re finished inventing new ways to swipe our coffee-stained fingers across our screens, the value of the great majority of our apps is back in the glass house, running Java and C++ on big ‘ole honking (virtualized) servers.</p>
<p>The development problem in the era of proliferating small platforms, remains the problem of dealing with large, complex, data and it’s interactions.</p>
<p>Sleep well, <a href="http://www.oracle.com/us/products/database/ioug-managing-db-growth-355001.pdf?ssSourceSiteId=otnen">Larry Ellison</a>.</p>
<p><strong>Prediction 3: The Gap Between Pros And Amateurs Will Grow</strong></p>
<p>Every new software technology “spike” rewards the early adopters with higher productivity, which can level the playing field for the “newbie” or occasional software developer.  But as application complexity grows, as the platforms become more complex and development environments become richer, the professional advantage becomes more significant.</p>
<p>There isn’t much of a disadvantage in time-to-market for the young developer, maybe working on his laptop with open source tools and no identifiable process. The difference between them and a team of experienced professionals, working with industrial strength tools and procedures, and building apps that run businesses on virtualized hardware in a web connected world, is in “value created.”</p>
<p>Created Value is a concept that we’ve all been learning during the past ten years of Agile evangelism.  Created Value is measured at the customer side, and primarily by the classic metrics of software: how does the software help me get my job done better and faster?</p>
<p>There was a time when the lowest cost labour source for a software project was the key criteria.  Over the past two years, software projects have been revisiting their decisions as they’ve seen the crippling effects of buggy, unmaintainable, badly architected products.  We’ve seen the evidence with a hiring boom in the US for developers and QA alike.</p>
<p>In short, in 2012, we’ll see a renewed focus on quality of development, over quantity.  And a better appreciation for the talent, tools, and techniques, that create it.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2011/12/08/three-surprises-in-software-development-in-2012/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile Kids Say the Darndest Things</title>
		<link>http://accurev.com/blog/2011/11/28/agile-kids-say-the-darndest-things/</link>
		<comments>http://accurev.com/blog/2011/11/28/agile-kids-say-the-darndest-things/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 16:15:45 +0000</pubDate>
		<dc:creator>lorne cooper</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Enterprise Agile]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2915</guid>
		<description><![CDATA[I hope I don’t end up with a seized engine on the side of the road, but if I do, I’ll know I should have had that oil change. I hope I don’t end up on the Worst Dressed List, but if I do, at least I’ll know I should have given away those old [...]]]></description>
			<content:encoded><![CDATA[<p>I hope I don’t end up with a seized engine on the side of the road, but if I do, I’ll know I should have had that oil change. I hope I don’t end up on the Worst Dressed List, but if I do, at least I’ll know I should have given away those old shirts.  I feel sorry for those on the “Worst Agile Implementation” list who don’t even know they’re there.</p>
<p>In the past few months I’ve had the privilege of talking to approximately fifty organizations about their Agile implementation.  Most of them are doing well, and many of them have great insights about how they customized Agile to fit their process requirements.  But some of them really Say the Darndest Things.</p>
<p><strong>&#8220;We do Scrum, it’s just the rest of the company doesn’t.&#8221;</strong></p>
<p>“So first we break the requirements specification into pieces and call each of the pieces a story.  Then we do our iterations and pass them off to the release team.  We’d sure like to get Product Management, QA, and the customer involved, but they don’t want to.”</p>
<p>There are a lot of places an Agile approach can add value, and I’d hate to adopt a “waterfall approach to going Agile”, but you’re really not doing Scrum.  The biggest chunks of value, the incremental use of customer feedback, and going from “completed state” to “completed state” in each iteration are lost if you can’t get more support.</p>
<p><strong>&#8220;We’re Agile until the development is done.&#8221;</strong></p>
<p>More than once I’ve been speaking with an earnest development leader who’s describing the Scrum process.  They’ll launch in, with obvious pride, and tell me how they’ve gone to two week iterations, do standup meetings, <em>and</em> work from a backlog.  “Terrific!  And how do you do QA?”</p>
<p>Oh, yes, of course they do QA, silly!  In fact, they demo the completed development to the QA team every sprint review and send it off to get tested.  Sometimes, unfortunately, QA actually finds some bugs that need fixing.  So that’s why they put the sprint on hold for a while to fix the bugs and loop them back into QA “’cause we don’t want to wait an entire sprint before they can restart the testing.”</p>
<p>The other side of this one is the guys that take the old “Release Tail” loophole for all it’s worth.  “Yes, Lorne, we’ve been agile for three years now.  We do Scrum, unit testing, standups, and play in the World Series of ‘Planning Poker’.  We do that for about six weeks, or until the release.  Then we have a three month release testing tail, which follows a ‘modified Scrum process’ … the project leader estimates the amount of work on each bug QA finds, and assigns it to a developer.  Sure, sometimes we have to work on new functionality during the “release testing tail” … you can’t expect the customer to stop needing improvements for three months!”</p>
<p>Folks, I don’t think I’m sharing any great trade secret when I tell you the QA process needs to be completed before the story is considered “done.”  I don’t want to be Klaus Fuchs of Scrum, but here’s the secret: <strong>you’re going to have to invest more in testing up front.</strong><strong></strong></p>
<p><strong>&#8220;We do continuous integration every night.&#8221;</strong></p>
<p>I blame the education system: how’s an engineer supposed to know what “Continuous” means when we have “social promotion!”  Now some people understand the idea of continuous integration, and made a conscious effort to make it more “Discrete”.  Some companies I talked to had broken builds that lasted for a week.  You’d rather have a child repeating “Mummy” every 30<sup>th</sup> of a second before you’d like to get an email every five minutes saying the “Build Failed.”  I get it.  And if the email was going to your boss too, well, you don’t have to be Dogbert to know that’s a bad idea.</p>
<p>Builds are going to fail.  Get used to it.  The problem is not that the build failed, but that you couldn’t fix it.  Good practices are to have the team drop what they’re doing when the build fails and hop on fixing it.  If they can’t fix it, it needs to get escalated *pronto*.  Better is to have the team do local builds and unit testing before they check in.  Best Practices are to divide up the build process by team and stage of development, so your team only pollutes itself, not the rest of the development org.</p>
<p><strong>&#8220;We don’t need training since we can use the internet.&#8221;</strong></p>
<p>Uh huh. So I guess the schools will be shutting down any day now.  Not that the Internet might not turn out to be a useful aid someday, but the software development process is a hands-on activity.  And similar to other hands on activities, like dancing or carpentry, you can’t learn to do it by reading a book.  You’re going to need to get some experience with the process before you understand how to run a sprint review or a stand up, how to estimate stories, and how to work with your QA partner.</p>
<p>Now if you’re a hobbyist and working for free, your time is cheap, and there’s no reason not to use trial and error as a learning method.  But if you’re getting paid, and your work is important, you really don’t want to waste four sprints figuring out what someone can help you get right in sprint two.</p>
<p>I’m hoping my surgeon, pilot, and barber got a few lessons before it was my turn.</p>
<p><strong>Finally…</strong></p>
<p>No one has to pass a test to call themselves “Agile,” nor should they. Agilistas don’t have a monopoly on the right way to develop software.  But when people believe they’ve made it to Agile without using critical Agile concepts like time boxing development or getting to “done”, they’re missing the real value.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2011/11/28/agile-kids-say-the-darndest-things/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software Configuration Management and Version Control Are Not the Same… Trust Me!</title>
		<link>http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/</link>
		<comments>http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 15:52:13 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[AccuRev]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[SCM Resources]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[SCM]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2846</guid>
		<description><![CDATA[Did you know that CM systems back in the day were basically people? This is where the term &#8220;check-in&#8221; &#38; &#8220;check-out&#8221; comes from- it refers to the days when there where actual software librarians would record peoples changes and check them in and out like books on disk or punch cards. It’s mind boggling to [...]]]></description>
			<content:encoded><![CDATA[<p>Did you know that CM systems back in the day were basically people? This is where the term &#8220;check-in&#8221; &amp; &#8220;check-out&#8221; comes from- it refers to the days when there where actual software librarians would record peoples changes and check them in and out like books on disk or punch cards. It’s mind boggling to think of software this way.</p>
<p>If I was to ask software developers today what “software configuration management” was, they would probably say “SCM? Like Subversion?” Incorrect! You need to trust me on this one,<strong> SCM is <em>not </em>the same as a version control system</strong>. Yes, your version control system <em>is</em> an SCM tool (confusing?) but SCM is a broader discipline and technique that encompasses the management of change in software.</p>
<p>The introduction to the IEEE &#8220;Standard for Software Configuration begins with:</p>
<p>SCM constitutes good engineering practice for all software projects, whether phased development, rapid prototyping, or ongoing maintenance. It enhances the reliability and quality of software by:</p>
<ul>
<li>Providing a structure for identifying and controlling documentation, code, interfaces, and databases to support all life cycle phases</li>
<li>Supporting a chosen development/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy</li>
<li>Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc.</li>
</ul>
<p>Let&#8217;s be clear- all of the things on this list do <strong>not </strong>fit under the heading of your version control system. Many of them will require practices and policies to maximize your development efforts and methodologies. With version control, release engineers will still have to perform some of these SCM related functions:</p>
<ul>
<li>Merge early and often</li>
<li>Enforce a workflow for development teams to follow</li>
<li>Record and have full visibility into all of the changes that were made</li>
<li>Write build and compiler scripts</li>
<li>Automate builds, deploys and tests</li>
<li>Understand the dependencies between projects and code</li>
<li>Maintain the development environment for a team</li>
<li>Be responsible for the final product going out the door</li>
</ul>
<p>That&#8217;s just the tip of the iceberg. A talented release engineer or SCM expert <em>can</em> do all of those things independently, but his or her job would be a lot easier with SCM tools that can automate and facilitate the necessary practices and processes. (This includes version control, compilers, debuggers, editors, continuous integration machines, automated deploy, and the ITS system.)</p>
<p>At it’s core, SCM answers the question “Somebody did something, how can one reproduce it?” In addition it’s about understanding and establishing relationships among items that are likely to change. It’s a tricky job, not one that’s easily understood. We have to understand the relationships between versioned artifacts, like code, hardware, documents, design models and even directory structures. In addition we have to do all of the necessary things to make those versions valuable to our organization. We have to design process, workflow, automation, build automation, reports and security.</p>
<p>With all of this, don’t tell me that SCM is the same as version control. Trust me on this one!</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2011/11/18/software-configuration-management-and-version-control-are-not-the-same/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Before Agile, We Never Called It Waterfall…</title>
		<link>http://accurev.com/blog/2011/10/31/before-agile-we-never-called-it-waterfall%e2%80%a6/</link>
		<comments>http://accurev.com/blog/2011/10/31/before-agile-we-never-called-it-waterfall%e2%80%a6/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:32:57 +0000</pubDate>
		<dc:creator>clucca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[user stories]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[iterative]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[user story]]></category>
		<category><![CDATA[waterfall]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.accurev.com/blog/?p=2838</guid>
		<description><![CDATA[A funny thing has happened over the last couple of years…. we started calling waterfall software development… er… &#8220;waterfall&#8221;. By this I mean, we never had a name for the process… waterfall was just called &#8220;software development&#8221;. There was no distinction or name for what we were doing- there was only one way. This is a [...]]]></description>
			<content:encoded><![CDATA[<p>A funny thing has happened over the last couple of years…. we started calling waterfall software development… er… &#8220;waterfall&#8221;. By this I mean, we never had a <em>name</em> for the process… waterfall was just called &#8220;software development&#8221;. There was no distinction or name for what we were doing- there was only one way. This is a draw of agile, it&#8217;s something different.. and it&#8217;s the only new development methodology to actually get attention in the last 10 years.</p>
<p>So, what’s the deal?</p>
<p><strong>#1) Agile is an umbrella term for several methodologies.</strong><br />
Agile encompasses a lot of different things; it can mean different things to different people. This might be why people have such a hard time understanding it. So comparing &#8220;waterfall&#8221; to Agile isn&#8217;t entirely accurate, or possible, since it&#8217;s like comparing one NBA team to all of MLB. Agile encompasses several methodologies (such as XP, Scrum, Kanban), which are all iterative in nature… that brings us to…</p>
<p><strong>#2) Agile is iterative.</strong><br />
Yes, agile is an umbrella term, but all of the methods in agile share common core values: <em>The fundamentals are to incorporate iterative development and to have continuous feedback so that you can always improve.</em> This means you continuously plan, continuously test, and continuously integrate so you can adapt when needed.</p>
<p><strong>#3) Agile is adaptive, not predictive.</strong><br />
Do you remember what &#8220;waterfall&#8221; was like back in the day? We spent months gathering business requirements, writing specs, and designing, and then spent the next 10 months coding. Since we spent the first few months trying to predict what the next 10 months would entail, we could never accurately estimate how much work a task was supposed to be, and heaven forbid the requirement changed half way through! Agile is an attempt to shorten that cycle so we don&#8217;t have to waste 10 months before find out something was wrong.</p>
<p><strong>#4) You can pick and choose what methods you want to implement.</strong><br />
It’s funny. I ask people all the time, &#8220;How agile are you?&#8221; They typically say “Well, we&#8217;re somewhat agile, but not fully agile.” People tend to measure some sort of agile &#8220;zen&#8221; in their head, and that doesn&#8217;t exist! <strong>If you&#8217;re practicing some agile methodologies, you&#8217;ve won half the battle.</strong><strong><br />
</strong>You’ve won half the battle if you are practicing:<br />
·         Continuous Integration<br />
·         Agile Workflows<br />
·         Test Driven Development<br />
·         Short Iterations<br />
·         User Stories<br />
There&#8217;s no out of the box way to do this, but if these methods work for you… then you&#8217;re there.</p>
<p><strong>#5) The genius Of Agile is in the name.</strong><br />
Since the word &#8220;Agile&#8221; can&#8217;t be traced back to a specific methodology like &#8220;waterfall&#8221; we probably won&#8217;t ever think of it as &#8220;development&#8221;. In addition since it&#8217;s not a prescribed method of doing things (ex: Watefall.. requirements-&gt;design-&gt;implementation-&gt;verification-&gt;maintenance) it just can&#8217;t fail… whatever methods we use can always be improved and adapted to best suit our needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://accurev.com/blog/2011/10/31/before-agile-we-never-called-it-waterfall%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

