views:

167

answers:

3
+2  Q: 

Change Management

Hi Guys,

I am currently working on company which has several products with the same release cycle.

The problem that i got is i will need to create release file which include all files released and what the change for. And there are number of occasions where clients pullback from the change close to the release date.

The difficulty that i got is every time i create the release file, i have to got through all changed file and determine what the change is for and rollback the change if the client decide to pullback.

Do anyone know better solutions for change management that i can offer to management?

Thank you very much

Ps. I try to look at scrum already but i am not sure that it able to address my difficulty.

A: 

Are you using CVS, SVN, or some similar tool?

tpdi
yes we using Source Gear Vault for source control
A: 

You're probably best using a source code repository such as Git, Subversion, Mercurial etc.

Which one to use depends heavily on your needs and platform, however you're probably new to SCM tools so I'd recomment subversion with TortoisSVN.

Zoomzoom83
hi, we already use source control but source control is per item change. What i looks for is maybe something similar to source control but for change (business requirement, which client, what file modified).
+3  A: 

Version Control

Having a version control system is good, bug using it effectively is better. There are several ways to branch and merge effectively, two that might work for you are "per-feature" and "per-client".

Per Feature

In this setup, you create a copy of the main code (the trunk) for each new feature that you implement. Once the feature is complete, merge it back into the trunk. If you update the trunk before the feature is complete, or you complete a different feature, it is possible to merge those changes from the trunk into all of the branches.

Per Client

Same as per-feature, but each client gets their own branch, so that a feature rolled back for one is not removed from another. To combine the two, you might structure your repository like this:

Repos
+---Core
|   +---branches
|   +---tags
|   \---trunk
+---Client1
|   +---branches
|   +---tags
|   \---trunk
\---Client2
    +---branches
    +---tags
    \---trunk

Project Managemet

Now, to address your actual question. I can't really say much about this from experience, but I am planning to add Trac to my project soon, because it looks simple to use, and it's free. You can see from their site how Trac's developers use their own application to set milestones and organize issues. If you want to look into more possibilities, then Wikipedia has a few lists.

drhorrible