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
jlm_at_zeevee.com
www.zeevee.com
Received on 2010-09-17 13:57:06 CEST