Overcoming Resistance to Change by SCM

November 17, 2009

We ran across the article “Overcoming Resistance to Change by SCM” by Ben Weatherall on CMCrossroads. The excerpts below exemplify the need for tools like AccuRev that support changing processes and Agile adoption. Ben Weatherall has kindly allowed us to re-post these excerpts so that we may share his insight with all our readers.

Excerpts from “Overcoming Resistance to Change by SCM”

By Ben Weatherall

“As an industry, SCM is conservative – we hold the corporate jewels in our hands and we are reluctant to let either processes, procedures or personnel have a chance to mess them up. In fact, when they do get messed up we tend to lose our jobs. Then along came Agile and the need to support it while maintaining both technical and professional integrity.”

“Some of the old versioning tools could not handle merges of codebases where one or more of them had been refactored, so many of us had to rapidly switch tools. This often required a lot of hidden work to get triggers, wrappers, interfaces, metrics data collection, etc. working with the new tools. At the same time, there was a push to use tools that supported such things as backlogs and user stories instead of “just” defects. It was often the case where a development organization would bring in their own tools and tell SCM to either use them or get out of the way.”

“All of a sudden SCMers had to start rolling out their own tools, integrations, customizations, etc. with a speed even greater than the typical Agile development organization. And with significantly less personnel. We now leveraged what we could of the Agile methodology. We did rapid prototyping knowing ahead of time that things would have to be completely redone at a future time. Our assumptions, ones that made sense at the time, was that once a branching/stream structure and new tracking tools were in place to support this new way of developing software, it would stabilize and we could catch up.”

“The end result of this is that SCM has to adapt and do so at a rate that would have been considered impossible just a few years ago. We must adapt technologically, but we have to maintain the core integrity of principals of SCM: identification, reproducibility and traceability. A typical development sprint team consists of 5 people of which at least one represents the Quality organization. A typical SCM “team” consists of only one person. Across the software development industry as a whole, the SCM headcount is probably only 1-2% of the combined Development and Quality “workers.” For those of you in larger companies or those who are involved in admin-heavy tools, this probably sounds low; but from empirical evidence it is not. This is especially troubling for those who have to support multiple teams who are using different methodologies or variants of them.”

Ben Weatherall is currently based in Fort Worth, Texas where he practices Practical CM on a daily basis supporting a modified Agile-SCRUM development methodology. He uses a combination of AccuRev, CVS, Bugzilla and AnthillPro (as well as custom tools). He is a member of IEEE, ASEE (Association of Software Engineering Excellence – The SEI’s Dallas based SPIN Affiliate), FWLUG (Fort Worth Linux Users Group), NTLUG (North Texas Linux Users Group) and PLUG (Phoenix Linux Users Group).

For the entire version of this article on CM Crossroads, please visit: http://www.cmcrossroads.com/cm-journal-articles/13047


Damon Poole to Speak at Nashua Scrum Club Meeting

November 6, 2009

AccuRev CTO, Damon Poole, is the featured speaker for Nashua Scrum Club’s November meeting on the topic “Scrum and Kanban: Chocolate and Peanut Butter?” The Scrum Club is a professional organization where people can learn and apply Agile project management and advanced technical practices while giving back to the community. This event provides a great opportunity for networking and the discussion of Agile software development best practices.

Date: Thursday, November 19, 2009

Time: 6:00 PM – 8:30 PM EDT, Including a complimentary pizza dinner

Location: Nashua, NH

Topic: Scrum and Kanban: Chocolate and Peanut Butter?

By now you’ve probably heard of Kanban, the newest Agile methodology on the block. Much as Scrum and XP play well together, so do Scrum and Kanban.  In fact, all three work well together.

This session will introduce Kanban from a Scrum perspective, show how the Lean practice of “One Piece Flow” is the key to both, and look at how to mix and match Scrum and Kanban to fine tune a process that fits your circumstances. This will include: decoupling once-per iteration activities from the iteration, work-in-progress limits, and the concept of “pull.”

For more information, visit: http://nashua.scrumclub.org/


Agile Journal Seminars Come to Boston and New Jersey

November 5, 2009

AccuRev joins with Coverity, BigVisible, Electric Cloud and VersionOne in bringing the Agile Journal Seminar Series to Waltham, MA and Newark, NJ on November 10 and 11, 2009. These seminars provide a great opportunity for attendees to learn more about Agile best practices and explore industry-leading software tools in a local forum.

The agenda includes a keynote presentation from Brian Bozzuto, BigVisible, on “Agile is More than Better, Cheaper, Faster,” as well as expert presentations on a wide variety of Agile-related topics including “Automating Agile Software Development Processes” and “The New Face of Project Management.”

For additional details and registration information on these seminars:


Agile Journal Seminar Series: Next Stop Santa Clara

November 2, 2009

AccuRev will be joining with Coverity, Electric Cloud, Enthiosys and Rally Software in bringing the upcoming Agile Journal Live Seminar to Santa Clara, CA on Thursday, November 5, 2009. This event provides a unique opportunity for participants to learn more about Agile software development best practices and explore industry-leading software tools in a local forum free of charge.

The seminar agenda includes expert presentations on a wide variety of Agile-related topics such as “Automating Agile software development processes” and “Managing Software Quality in Agile Environments.” There will also be a technology showcase featuring live demonstrations of Agile project management, build and release, change management and test solutions.

A keynote presentation from Rich Mironov, Enthiosys, on “Mitigating Risk with Agile Development” will kickoff the seminar. An attendee of a recent seminar in Fairfax, VA where this address was given said, “I came to the seminar primarily to hear Rich Mironov’s keynote address. I have read his incredibly insightful book which summarizes many years of experience in the form of colorful short stories. These “parables” serve as great teaching tools for people like me who are in a different line of business, but find the information useful nonetheless. Anyone who listens to Mr. Mironov knows that he has a special way of distilling his vast experience with fledgling companies into understandable suggestions that we all can apply,” Ken Rock, Senior Project Manager, ICF International.

For more information and registration details visit:  http://www.accurev.com/seminar/santaclara20091105-7


Agile Journal Live Seminar Series Continues in Raleigh, NC

October 23, 2009

AccuRev will be participating in the next seminar of the Agile Journal Live Seminar Series being held in Raleigh, NC on October 28, 2009. AccuRev joins with other leading providers of Agile software development solutions including Coverity, Electric Cloud, and Rally Software in sponsoring this event which focuses on promoting Agile tools and techniques to optimize the software development process.

The agenda for the event includes expert presentations on a wide variety of Agile-related topics such as SCM best practices for Agile development and the ROI impact of Agile methods and tools. The event will also include a technology showcase featuring live demonstrations of Agile project management, build and release, change management and test solutions.

The seminar is a unique opportunity for participants to learn more about Agile best practices and explore industry-leading software tools in a local forum free of charge. For more information and registration details visit: http://www.accurev.com/seminar/raleigh20091028-7

The Agile Journal Seminar Series will be coming to the cities of Santa Clara, Boston, Newark, and Austin in the upcoming months. Stay tuned for more details.


Now Shipping HP Quality Center 10.0 Integration

October 22, 2009

AccuRev has announced it is now shipping the HP Quality Center 10.0 integration. With this integration, developers and quality assurance professionals can leverage AccuRev software configuration management (SCM) capabilities while optimizing their existing investment in the quality management functionality of HP Quality Center 10.0. The integration offers a solution that improves the traceability of development work and enables better application lifecycle management (ALM).

With AccuBridge for HP Quality Center 10.0 users can manage all software development assets within the same tool and maintain their HP Quality Center configuration across the integration. This new integration is easier to use with simpler setup and installation procedures and is able to synchronize customized fields eliminating the need to switch between applications.

AccuRev’s Agile SCM and software process optimization capabilities in combination with HP Quality Center offer users an effective collaborative environment that provides a firm foundation for ALM based on strong auditing, transactional, and compliance features of both systems.  For more information, contact your local AccuRev sales representative t 1-800-383-8170.


Damon Poole to Speak at Upcoming SPIN Meeting

October 16, 2009

AccuRev CTO, Damon Poole, is the featured speaker for the upcoming Boston SPIN (Software Process Improvement Network) meeting on the topic “Is Agile Software Development Really any Better?” This will be an evening of Agile discussions and pizza and provides an excellent opportunity for networking and the exchange of Agile process improvement experiences.

Date: Tuesday October 20, 2009

Time: 6:00 PM – 8:00 PM EST, Including a complimentary pizza dinner

Location: Bedford, MA

Topic: Is Agile Any Better?

When considering Agile development, there are three approaches you can use: believe the hype and hope for the best, look for documented ROI studies, or find people that you trust at a company with similar circumstances that have done it successfully and learn from them. But there is another way.

This session will examine traditional and Agile development from an architectural and algorithmic perspective to show exactly how and why they work and contrast their differences and similarities. At the end of this session you will have everything you need to draw your own conclusions about the algorithms and architectures of Agile development versus traditional development.

If you are already an Agile proponent, this session will give you more material to draw on when discussing the merits of Agile with those that have not yet discovered its benefits.

For more information, visit: http://www.boston-spin.org/annual.html


Visit the AccuRev Booth Online at the ALM Expo 2009

October 13, 2009

AccuRev will be exhibiting in the Application Lifecycle Management Conference and Exposition, ALM Expo 2009, on Thursday, October 15. This free, virtual conference and technology showcase put on by CM Crossroads, Agile Journal and CMC Media will feature Agile best practices and ALM solutions in the current economic climate. Visitors can explore product information, view demos, and engage in live discussions with product developers online from the comforts of their home or office.

The ALM Expo 2009 agenda includes presentations from industry leaders on a wide variety of Agile and ALM-oriented processes and a keynote roundtable discussion on ALM of the new economy. Attendees will also be able to visit interactive virtual exhibit booths to explore new products and services.

Visitors to the AccuRev exhibit booth will have the opportunity to learn more about AccuRev’s SCM solution for Agile development processes as well as view demos and engage in live discussions with any questions. For more information and registration details, visit: http://www.almexpo.com


vim4accurev – New Release (v1.1)

October 2, 2009

I’m happy to announce that the latest official version of the AccuRev SCM plugin for Vim is now available!

Download release 1.1 here.

Major features include:

  • on-demand plugin enable/disable (aka Airplane Mode)
  • support annotate/blame
  • launching stream browser and graphical merge
  • ability to edit files and identify AccuRev workspace regardless of current working directory
  • updated docs

This version of the plugin requires Vim 7.x and supports AccuRev 4.6.x / 4.7.x.

Enjoy – dave

Bookmark and Share


Pattern for Floating Labels with Streams

September 1, 2009

I’ve encountered a number of use cases in the field where people enjoy the use of  ‘floating’ labels.  Implemented correctly, floating labels are a good example of convention-over-configuration  usually eliminating repetitive, manual build system updates.   Implemented incorrectly, they can be a traceability curse.   In this writeup I’ll show two examples of how to implement a floating label pattern in AccuRev.

Deprecated Concept? If you’re used to using floating labels as ‘markers’ on a branch [in another CM system] for stable code or feature complete state, you’ll find that the AccuRev stream hierarchy and associated workflow is a much better solution – in some cases, eliminating the need for floating labels altogether.  In my experience, floating labels have been used because the traditional CM system didn’t support process – so you had to roll your own – ultimately leading to lots of scripting and a solution that doesn’t scale.

Stories of Misuse. Every now and then I hear stories about how an urgent quick fix or missing doc change -needed- to be included in the “release-4.0.1″ that just got labeled in source control a few days prior. In some traditional CM systems, you have the ability to commit new file changes, un-label the old version and re-label the new version. As easy as this sounds, this anti-pattern instantly breaks traceability [do your labels maintain history?] and can quickly lead to confusion as “release 4.0.1″ has multiple meanings depending on when the label was pulled, either before or after the re-label. Example. I once asked someone why they routinely re-label individual files and their answer was – “because creating a new full label takes about 30 minutes.”  Why so long? Because most CM systems label the individual files (or references) in a given configuration; the more files you have, the longer it will take to label the entire configuration.  I’ve even heard stories about creating labels (and branches!) that take upwards of an hour each run.  Unless you are using a time/txn-based CM system, labeling build events is required if you need to track and compare changes between builds over time.  If you are waiting 30-min per label, forget about the agile “10-minute” build – you haven’t even gotten to the compile step yet!

Valid Cases. In practice there are  cases where having a floating label makes sense, typically related to your build system.  Most cases have to do with marking transient build configurations.  For example, when doing nightly or continual integration builds, let the build script or CI server simply pull/poll a single label and let the developers or build engineer determine what content is bound to the label. This way, the build server can be “dumb” and just get whatever the developer or build engineer say it should have.  This eliminates the need to configure your build system with each-and-every new build label – especially painful for those build systems requiring manual edits of config xml files – ugh.

The Pattern.   Two examples are presented below showing how floating labels can be used to support continuous integration with streams.

Static Floating Label.  In this example, continuous builds are performed on the single stream App_Integration.  No need to change your CI configuration. New builds are kicked off whenever changes are  promoted [by team leads, etc] from the child project streams.

Static Floating Label
Static Floating Label

The CI/build tool is configured to monitor the single App_Integration stream.  As the configuration changes, the name of the build stream remains unchanged – hence, the App_Integration stream is the ‘floating label’.

When doing very-frequent builds (e.g. per-promote or even nightly) this pattern works well as long as you have the discipline to immediately fix any broken configurations.

Dynamic Floating Label.

In this example, individual build configurations for App_Integration are marked with snapshots.  New snapshots are created whenever changes are promoted [by team leads, etc] from child project  streams, or on schedule (e.g. Nightly).

Dynamic Floating Label
Dynamic Floating Label

The stream Int_Good_Build is dynamically reparented to either the latest snapshot (e.g. latest build) or reparented to an alternate (e.g. prior) snapshot representing the last known good build.  The ability to move this stream, on-demand and as needed, represents a dynamic ‘floating label’ pattern.  Simply reparent the stream, update the attached workspace and the files on disk will mirror the current release snapshot configuration.  The same pattern can be applied to production releases where internal snapshots capture detailed per-configuration changes, but the reparented floating label can represent the latest public release.

Summary. In all, I’m a big fan of creating snapshots for each build, and removing old[er] ones along the way.  There are two camps on the subject, and this will be left for another blog.  Thus, I like the visibility of knowning which snapshots have been created (implying a purpose), and having a ‘marker’ stream as a floating label (e.g. context) to identify the current build being tested and/or delivered to an Int or Test machine.   Lastly, having recent snapshots immediately available assist with debugging why the latest build is broken – diff by snapshot.  sweet.

/Happy Coding/ dave