May 15, 2008

A Change Is Gonna Come

Surround SCM
Conversion can be a tricky business. No one wants to convert from one thing to another. It assumes you were wrong in some way. And you know it’s going to be hard. And what if the new thing isn’t really any better than the old thing? Then all that work was for nothing. It seems like when contemplating a move to a new platform like Surround from an existing one, you go through the seven classic stages of grief.
  • Disbelief: Can we really move over to a whole new SCM system?
  • Denial: It’s just too big a process. Maybe next year.
  • Bargaining: Maybe we’re not using are current system right. Let’s try harder.
  • Guilt: We’ve got this huge investment. How can I just throw it all away.
  • Anger: Why is our current system such a pile? How could a company ship this kind of crud?
  • Depression: I’m going to be swamped just installing and understanding this new system for weeks.
  • Acceptance: Fine. The sooner we switch over to the new system the sooner I can get back to real work.
I bring this up, because we’re talking about conversions internally. Today, we provide a number of conversion tools from other companies SCM tools to Surround. We do this because so many of our customers our moving from a competitive product to ours. However, I’m not sure it’s actually in anyone’s best interest to provide these tools. When people use an inferior product, they find ways to cope. They come up with “creative” branching strategies (like not branching at all). They use labels in fun and exciting ways. They use weird naming conventions to convey metadata. That’s the reason they are moving off their current system. So, why is it a good idea to try and convert and reproduce all that in their shiny new Surround system, which doesn’t have any of those limitations? In addition, no matter how good our conversions tools are they inherently involve some level of mapping. Labels, branches, security are all similar but slightly different in each tool so after conversion the system will be similar but not identical. Finally, I think after the conversion is complete a number of customers realize they don’t want it. I know that before I joined Seapine, I converted to Surround from Visual SourceSafe. After the conversion completed, I realized that as part of moving to Surround, I wanted to rearrange my repository structure, so I threw that out, created my new structure and checked in the tip version of all my files. I also kept my SourceSafe server running in corner for the odd occasion I needed something from item. Considering all that, and considering the amount of time to support, enhance and test conversion tools is this a good use of time? Would customers be better served if we simply stopped converting their data, and instead focused our resources on continuing to improve Surround? If you converted to Surround from another system, I'd be interested in your thoughts on how it went, and if you regreted converting rather than starting over.