How can AnthillPro help me support Parallel Development?
Typically parallel development refers to concurrent development on different branches or streams. This can take place for any number of reasons: perhaps different feature sets are scheduled to go into production at different times but can be developed at the same time. Perhaps different customers may require different customizations to the product and such customizations need to be developed at the same time.
A variation on the above scenario may involve concurrent development on different projects that are involved in a dependency relationship. For example, one team is implementing the customer component while another team is implementing (at the same time) an order component which has a reference to the customer component.
How does Anthill help in these situations?
In the branches (or streams) scenario, AnthillPro can provide a separate build configuration for each branch. Each branch specific build configuration may include different steps, although it could also reuse the same steps. Each build configuration could make use of different stamping strategies that are used to assign unique build identifiers.
In the concurrent development of different projects involved in a dependency relationship, AnthillPro can manage that dependency relationship. This means that AnthillPro can manage the selection of the version of customer project that is used by the order team, and can also manage the delivery of the dependency artifacts. Also, AnthillPro can manage the dependency relationship in a very flexible manner (always use latest) during development and lock it down (to a specific version) during release. AnthillPro can also manage the promotions of each project. When a particular BuildLife of the order project is promoted, AnthillPro can manage the effect that this will have on the particular Build Life of customer component that was used in the Build Life of order component.