Originally posted by Jac Jones:
currently our organisation performs around 1 to 2 releases for different customers each week. Each customer has their own branch as the functionality is slightly different for each - so this results in a huge building/testing and then merging the changes back into trunk overhead. I want our company to perform one release for all customers (with customer variation built on top of the trunk), say once a month.
To help my chances of selling this to management I would like to know of any successful companies that are currently doing this? Other suggestions welcome too!
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Jac Jones:
We too have the ability to configure our product for different clients via configuration files, etc, which is want we want to leverage - rather than branching.
The primary reasons for going to a monthly release cycle are:
1) reduce testing duplication. Currently we test each release, so if we release to 6 different customers in a month then we are testing the core functionality 6 times, plus the variation of each client (the product for each client is branched and then those changes are merged back onto the head of CVS once released). Whereas releasing once per month means we would only test the core functionality once.
2) Moving to a monthly release cycle would enable us to develop functionality for different clients off the same codebase, ie without branching.
If we continue to release to customers at different points in time, ie twice per week, then its extremely difficult to do this without branching.
For instance, how do you release for customer A next week if changes for customer B & C will still half developed, and you are all working off the same codebase?
Finally - what would management get out of this? Well, you can imagine the immense overhead of branching, testing, merging etc - so developing off one codebase would mean greater productivity, higher quality code, greater ability to respond to market opportunities etc.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Jac Jones:
Hi,
currently our organisation performs around 1 to 2 releases for different customers each week. Each customer has their own branch as the functionality is slightly different for each - so this results in a huge building/testing and then merging the changes back into trunk overhead. I want our company to perform one release for all customers (with customer variation built on top of the trunk), say once a month.
To help my chances of selling this to management I would like to know of any successful companies that are currently doing this? Other suggestions welcome too!
many thanks,
Jac
PJ Murray -
Fire me boy! Cool, soothing, shameless self promotion:
The Low Tech Laboratory Movie Kickstarter is LIVE NOW!
https://www.kickstarter.com/projects/paulwheaton/low-tech
|