Customers demand more and more personalized products, while tech innovation and regulatory demands also force developers to increase the diversity of their product lines. With this dramatic increase in product diversity and variability, the costs of development are growing.
While variations in mechanical components are relatively easy to manage using CAD/CAM and PLM tools, software development lacks this level of maturity in product line engineering. Developing multiple software products that share common elements often results in rework and wasted resources. Meanwhile, software is becoming the number one value added component, and is already the primary means of product differentiation, creating a pressure to achieve efficiency in the engineering of complex software applications.
There are immense cost and time savings to be realized through the advanced reuse and variants management processes in software development. By leveraging existing lifecycle artifacts and managing commonality and variability in your products, you can reduce rework, shorten release cycles, and cut the costs of product verification.
codeBeamer’s Variants Package features are fully integrated in the ALM feature set. Together, they help unlock efficiencies in product variants management through requirements re-use, branching, merging, and comparison features. The Variants Package helps cut costs by driving the reuse of requirements and test cases, and by facilitating the management and verification of multiple product variants.
Multi-stream product line management
Manage the parallel development processes of multiple product variations. Maintain a master development trunk, and easily create new product variants branching off. Ensure and automate the reuse of lifecycle artifacts in all your development streams. Minimize redundant work, and leverage existing processes and artifacts to simplify product line engineering. Manage commonalities in your product line to facilitate requirements management, testing, documentation, and maintenance. Ensure transparent and accurate change management upstream and downstream.
Requirements branching, comparison, merging, and baselining
Stay in control of commonalities and variations in your product line. Leverage codeBeamer’s ability for multi-layered branching: create parallel development streams by opening branches from either the development trunk (product) or any of its branches (product variants). Maintain relationships between branches and versioned artifacts, and be notified of changes on the trunk or related branches. Compare product variations any time, and merge branches in a fully controlled manner by propagating selected changes on merged branches.
Create milestones for better visibility of progress. Link versioned artifacts to other versioned work items or head artifacts (for example: link certain test case versions to requirements versions to maintain their relations). Record comprehensive baselines of your products, which serve as immutable snapshots of your current work items or projects at that point in time. Compare baselines any time to see all changes, and reduce verification time by only re-verifying changed items.
Reuse of projects and lifecycle artifacts
codeBeamer ALM organizes your requirements, test cases and other artifacts into libraries. Use these libraries to reuse these lifecycle artifacts in any product variant efficiently, cutting the time and costs of rework and verification. Re-use groups of requirements and the test cases that verify them with the relationships between the two types of items maintained. Save your projects as templates, and reuse of not only your work items, but also your preconfigured processes to fully leverage process maturity across your product line. Avoid unnecessary redundant work in both development and verification.