Inspired Software Development::VSS Performance Improvements

With all the hubbub around Visual Studio Team Foundation--which will be available for download for the first time, later this week (!)--you might be wondering what's happening with Visual SourceSafe. Well, the SourceSafe team is hard at work on the next version, which will be released with Visual Studio next year. For details, see The [new] Future of Visual SourceSafe or The Roadmap.

What's going on behind the scenes in SourceSafe-landia?  
Shortly after we shipped Visual SourceSafe 6.0d, the SourceSafe program managers sat down to read and cull a feature list from your many, many emails, newsgroup posts, blogs, articles, voice mail messages, handwritten letters, online chat transcripts, and messages in bottles about the product. They decided, quickly and unanimously, that performance is an issue of universal concern. Additionally, they decided that performance was one user concern that we could reasonably and cost-effectively improve. Aaron Junot's recent post about SourceSafe performance is typical,

"If you have ever worked through a vpn using vss, you know the pain it can cause. I still have a bald spot from where I hit my head on my desk one to many times waiting to check something in. Something like a 1 line change, where you wonder how it could take literally minutes.

So after some searching, I found a little app that seems to be working extremly well. Vssconnect from VoxCode software has server bits that runs as a service on the VSS box, and client bits. Server is pretty simplistic, and offers a couple options over the normal vss server, but nothing to cheer about. The client, on the otherhand, is a very fresh perspective on vss. Make to look like vss with a facelife, the ui does everything the normal vss ui does and a few extras. It also seems much faster then the normal ui.

(...)

Anyway, check it out here."

Six months ago, the indefatigable and ever-resourceful GPM of the SourceSafe team convened a meeting to kick off the team's perf improvement effort. As usual, he had a cool gimmick: beer, pretzels, and Monster Garage. I've said it before and I'll say it again: if you want people to come to your meetings, Just Add Beer. ;-). If you want to sell them on an idea or cause (like, 'You CAN make  [your product name]  scream like a Maserati'), show them a motivational HowTo video.

In the months since that seminal meeting, the walls of our offices here in Redmond have been festooned with flame-covered cars and street signs like "Performance Alley". We have 'performers of the week', flaming beverage containers, and Monster Garage paraphernalia (air fresheners, etc). Heck, the SourceSafe GPM even ate chocolate covered grubs to settle a bet that the team wouldn't be able to improve LAN performance beyond a certain point. The results of this effort have been phenomenal and you won't be disappointed. In fact, the SourceSafe team's perf improvement project has led to some killer, outside the box innovations such as asynchronous project loading in the Visual Studio IDE.

What sorts of "gimmicks" has your team used to build excitement around a project and inspire great thinking and productive excellence?

I'm reminded of one very cool idea that I heard about at TechEd: using an Ambient Orb to track build quality: https://www.ambientdevices.com/cat/orb/orborder.html. This gimmick is a spin-off on Rule #1 from the puppy obedience handbook: immediate discipline is more effective than a delayed response. When a developer's checkin builds without error, the ambient orb stays or turns green. When a checkin causes the build to break, the orb turns RED. While the ambient orb gimmick is limited to geographically co-located teams (pair programming shops and those in cubicle offices, for example), the lesson it holds (Rule #1...) probably applies to your team as well.