You need to think about your build process and software architecture and
then 
design your branching strategy to support it. 

For instance, if you find a bug in the base code, how are you going to
get that 
fix out to all of your customers? One solution is to develop your base
code as 
one project, and then for each customer, treat the base code as a vendor
branch, 
where you accept updates from the base project and merge them into each
customers 
area. The biggest downside is that it will be real easy to make a fix in
a customer 
area that really should have been in the common area. This assumes that
there is 
significant overlap between your base code and the custom code.

If the architecture is such that the custom code layers on top of the
base code but 
never changes it, then there are probably two projects. A 'release'
would then be a 
base build plus a custom build. Then the big question is there common
customer code. 
Is there a base class from which all customer code is derived? 

You need to think about your build process and software architecture and
then design 
your branching strategy to support it.

JLM





Jeremy Mordkoff
Director, QA, IT & Release
ZeeVee, Inc.
One Monarch Drive | Littleton, MA 01460
Office: 978.467.1395 x233 | Fax: 978.467.1404
Mobile: 978-257-2183
j...@zeevee.com 
www.zeevee.com 

Reply via email to