Dispatches from Maine

Just another person of little note writing about ordinary things. That I reside in Maine is icing on the cake.

06 March 2007

AccuRev Shines Again

When I started as a developer, there was really no such thing as "connected" development. The environments I wrote code in were often astounded by tools as primitive as RCS, so "disconnected" development was beyond imagination. At DeLorme we used Visual SourceSafe for many years. It was a great tool for small team development and worked well for us until our level of concurrent development skated right past its capabilities. We had a heck of a time managing disconnected development owing to the manner in which VSS was tightly coupled to file sharing. We tried a number of packages, such as Source Off-Site, but they never quite caught on here (no idea why).

I often work like mad on flights to and from professional conferences. For some reason being away from every distraction is a perfect environment for me to design and prototype or just work through thorny code. At the last Microsoft Professional Developer's Conference (PDC'05), I was coding up a storm for our new GIS importer architecture for what would become XMap 5.0. Even with all of the disconnected editing support in Visual Studio 2003, the experience was still unpleasant. VSS kept raising up and getting in the way. When I found a low-level problem, delegating it to a gifted developer back in the office meant a difficult update in the hotel room.

On Sunday, I was sitting on an airplane working on the new architecture for our GIS exporter module when I ran into a problem in a low-level string library we maintain. Just like the PDC trip, I wanted to delegate this back to the office so the unit tests would be updated to check this case at every build. I patched the problem and sent the email off to someone back at the office. Now AccuRev had a chance to really shine. I kept my changes to my private workspace, allowing that developer to test out my particular case without promoting my unstable code to the integration build (win #1). When he had made the changes to the string library and it passed unit testing and the integration build, I threw my temporary changes away (win #2) and brought his changes down with a single click (win #3). Everything built as perfectly here in San Antonio, Texas as it did in Yarmouth, Maine (win #4). Now I am able to work on some ideas I picked up at the conference with a nice, clean build (win #5). The very heart and soul of disconnected development.

AccuRev is a great product. It managed to both facilitate our processes and improve them without a big religious conversion associated with other development tools.

Labels: , , ,

2 Comments:

At 17 May, 2007 11:19 , Anonymous Brian. said...

Thanks for the blog post. I'm currently reviewing SCM tools and have AccuRev and Perforce at the top of my list. Are you familiar with Perforce and if so, what are your opinions on it?

There are only two problems that I forsee with AccuRev. First and foremost, it doesn't integrate with Axosoft's OnTime CRM tool but Perforce does. Secondly, in one Demo, they stated that AccuRev is an append only database. Meaning, we cannot delete any old data or purge old data. I'm thinking that this will become a problem if we accidently check in (especially junior developers) unnecessary files or the database becomes too large.

What are your thoughts on this? Thank you.

 
At 30 May, 2007 12:37 , Anonymous Sarah said...

I really like the personal workspace concept that accurev implements. From my experiences with CVS and SVN, this is quite a unique feature.

As Brian mentioned before, it could be a problem with integration with other tools. I was looking into atlassian's bamboo today and unfortunately (afaik) this doesn't support accurev at the moment. I've read that accurev and atlassian are partners so perhaps this will change.

I'd love to hear more comments about accurev in particular in comparison to other version control products.

:-)

 

Post a Comment

Links to this post:

Create a Link

<< Home