Do Your CM/ALM Tools Help Secure Your Development Assets?

You're part of a very successful growing software company. As you approach the office one morning, fire trucks out front indicate that this is not business as usual. Fortunately, you have nightly off-site back-ups. Unfortunately, you'll need equipment, software, back-up recovery operations, and perhaps things can be back to normal in a few days with limited data loss. Or maybe you've noticed data problems creeping into your development repository ever since the recent round of layoffs. Or a hacker. Maybe there was a critical disk crash. Or maybe a new software release has introduced data inconsistency. There are many ways your development assets can be compromised. So you really need many avenues to secure them. Your CM and/or ALM suites are part of your development backbone - they must be up to the task of getting you back on your feet, the same day.

Pick-up-And-Drop Technology Transfer

The first question I might ask is do you have pick-up-and-drop technology transfer. Can you take your product and drop it into a new site? Whether it's disaster recovery or a company merger, you should have this capability. Where are your development assets? Scattered across developer desktops? Scattered across servers? Scattered across multiple sites?

Your development assets include everything from product inception to customer tracking. These are all critical to development. They do not start at the software design group and end in the verification group. They also include the tools and platforms required end-to-end - including your customizations. If you can easily pick-up-and-drop your product into a new project setting, you're sitting in pretty good shape.

Backup Basics
Another measure of your situation is your backups. How complex is your backup process? Does it include information that rests on a developer's desktop (or notebook), and if not, what is your exposure here? Does design documentation sit on a developer's disk? What about work in progress - how easy is it to shelf it. Does your CM/ALM tool allow you to do consistent backups, or do you need a lot of post-recovery maintenance to get things back on track? Is your ALM suite spread across multiple servers? Where does the glue reside between components?
If you run a multiple site development shop, does consistency extend across multiple sites? Can you easily relocate one site, or perform data recovery at one site, without disrupting the others?

Beyond Backups
Backups generally provide a way forward, a means of recovery. But still, precious time is lost in the recovery process. There are hardware solutions, such as RAID (disk arrays), and hybrid solutions such as disk mirroring. Some CM/ALM tools allow specific mirroring, of both source files and meta-data files. The advantage here is that a smaller portion of the disk (typically specific directories) requires mirroring, improving bandwidth and reducing disk space requirements. Another advantage is that the tools will typically allow you to recover quickly or even automatically from a disk outage.

Another means of recovery supported by some transaction-based tools is to replay the transactions processed since the last checkpoint/backup. If transactions are located on a different disk from the rest of the


About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.