by Greg Fischer
We are doing component development where I work, and have been for a few years.
To answer some of your questions:
Synergy deals with components very well, if you set it up correctly in the very beginning. Otherwise yes, there will be alot of overhead. (I'll come back to this).
You can easily reach a point where you have too many components. But, it is manageable again, if you set it up correctly to start. Yes, you will have a different release for each component project, and that would be your biggest headache, as you would have to determine if the releases change together at major milestones or separately.
You basically have three ways to implement this. Let's say Application A requires components B and C. You need the build products from B and C to build A. So, within project A, you can:
1> Have a directory named "Components" for example, with maybe subdirectories for B and C, and your reconfigure properties will include task folders to provide you with the latest B and C products and any other B and C files you need.
2> You have an absolute project which contains all possible required components for everybody, and this absolute project is then a subproject for Project A and any other projects that need it. On Windows, your users would then check out the Components common project, along with Project A, then map a network drive (pick a standard - everybody uses Q:) to map the top-level directory of your workarea for the Components project. Then any reference to files needed by Project A would be Q:\components\componentB\B1.dll, etc.
3> The components directory under Project A "uses" integrate projects as part of the baseline for the dependent components. This has the added advantage of having the build manager be able to NOT select the latest baseline for a component in their baseline, or having the developers go back a baseline (or two or X number) to help in bug fixes.
We started doing 1> here, but that gets messy, because Project A is now collecting tasks for Components B and C, and the number of tasks in the baseline just gets bigger and bigger and bigger (and quickly).
I've done 2> in my career, with Synergy, with great success. The one problem with 2> is that people will tend to check out the *entire* Components absolute project, thereby getting components A through Z, when all they need is B and C.
We're just in the process of implementing 3> now, and so far, so good. Synergy treats "integrate" projects special, so you can have it "relative" to many other projects, but because it is in the "integrate" state, Synergy allows this, AND and Update won't bother with those - they are static.
So the initial setup of your projects will be key, but Synergy can definitely handle it.
http://www.cmcrossroads.com/component/option,com_fireboard/Itemid,558/func,view/id,83799/catid,24/
Greg Fischer
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment