Sandeep Deb's Home Page
Backup Application
  Backup App
Waves of nostalgia splash against me as I am trying to dig out one of my old softwares and put it on this site. I never thought anyone really cared about the softwares that I have put out here and was quite pleasantly surprised when an old friend came searching for this particular one and commented that this was one of his 'favs'. :D

It was 2002 and the seeds of disgust against process incorporation were being sown in me. I will give you an example, it relates to a part of the Configuration Management process area, specifically dealing with dynamic (developer's) systems. We were expected to backup our workspaces everyday onto a central server. As a concept, a very respectable one and believe me it really (really) pays off. The part that drove me crazy was the mechanisms by which this process was incorporated. And remember this is all for the developer workspace backup!!

a) As a part of the process, a developer is required to maintain a 'backup register' which contains elaborate information about the backup, including Back up Media & ID, Backup Type (online/offline/offsite), Contents of backup, Location of Backup, Backup taken by, Verified By, Remarks.

b) As a part of configuration audit, the auditer is more worried about matching the content of a random archive with the contents as mentioned in the backup register.

c) The backup needs to be verified by someone else and his name needs to be mentioned in the register. You are awarded a 'non-compliance' if the verified by column is empty.

Ok, I will stop ranting but I am sure you can imagine the level of enthusiasm boiling off the developers to help preserve the CMMI image :) Welcome to reality - what actually happens in practice. The night before the audit, the project leader slogs his butt off to create dummy archives, touch them with old dates, update the backup register and he also uses CMMI practices to get his master craftmanship reviewed by his team members to ensure that he hasn't left anything which might land him a 'non-compliance'. The auditer is happy, the auditee is happy, the hard disk never fails and the world is a much better place to live in.

Let me show you what CMMI really advocates. An excerpt from CMMI for Software Engineering v1.1. Configuration Management PA (sub process):

  • Dynamic (or developer’s) systems contain components currently being created or revised. They are in the developer's workspace and are controlled by the developer. Configuration items in a dynamic system are under version control.
  • Master (or controlled) systems contain current baselines and changes to them. Configuration items in a master system are under full configuration management as described in this process area.
  • Static systems contain archives of various baselines released for use. Static systems are under full configuration management as described in this process area.
Wow, what's this!! Dynamic systems are not even considered as under full configuration management and are controlled by the developer. And hello, what about the backup register or the requirement of verification of an archive by a peer? I am sure I am missing the point but why do I get a feeling that we are living this elaborate sham on the expense of a developer's time?

Ranting is good, it makes you feel better. Being quite frustrated, I took refuge in writing code and automating the process. So there was this software which took an enjoyable day or two to create and saved me many agonizing hours of frustration. I also added a side-kick addition to create the backup register (to appease the auditer). The world was a beautiful place, yet again.

Usage | Configuration | Download