Big Lever Software, Inc.

THE BIGLEVER NEWSLETTER: Special Series

The Software Product Line Lifecycle Framework: End-to-End SPL Lifecycle

Greetings from BigLever:

Welcome to the continuation of my special newsletter series on the Software Product Line (SPL) Lifecycle Framework. (To see the previous issues, visit BigLever's newsletter page.)

The uniformity of concepts and constructs provided by the SPL Lifecycle Framework allows traceability and processes to flow cleanly among the different lifecycle stages, without the dissonance created by independent technology and techniques in different lifecycle stages.

Traceability

There are three simple heuristics for defining and managing traceability among the assets in different stages of the lifecycle.

  • Traceability among the common parts of the assets is managed identical to the way it is managed with one-of-a-kind products. Common requirements trace to common design elements, which trace to common source code elements, and so forth.
  • Traceability among the variation points in the assets is managed similarly. Variation points in source code trace back to variation points in design elements, which in turn trace back to variation points in requirements, and so forth.
  • If there is a traceability relationship between a common artifact in one stage and a variation point in another stage (or vice versa), it is most likely an error in the traceability relationship. This type of traceability consistency analysis can be automated by tools in the framework.

Traceability with the SPL Lifecycle Framework is remarkably simple compared to the intractable complexity that arises – as described earlier in the first installment of this newsletter series – when trying to define traceability relationships among disparate SPL point solutions in different lifecycle silos.

For example, compare the simplicity of the three heuristics above to the complexity of what would be needed to create a complete SPL lifecycle solution with traceabiilty between requirements database attributes, subtypes and supertypes in the UML design models, and #ifdef flags, CM branches, FODA features, and test case clone directories.

Process Flow

The flow of software development processes among different lifecycle stages closely mirrors traceability. For example, passing a new set of requirements to an architecture and design team leads to new design models, with traceability relationships between the design elements and requirements. If the intended traceability into the requirements is difficult to extract and express, then there will be dissonance in the process between the requirements and design stages in the lifecycle.

Thus, the shared SPL concepts and constructs in the different lifecycle stages, plus the simplicity of traceability shown in the previous section, translates to simplicity in the process at the lifecycle boundaries.

Furthermore, since the framework feature model and feature profiles are shared across all lifecycle stages, assets in all stages are constructed under the same SPL feature set. This makes it easier to understand assets and their variations in multiple stages when processes depend on it.

Conclusions

With the BigLever SPL Lifecycle Framework providing a common set of SPL concepts and constructs at every stage in the system and software engineering lifecycle, a software product line can be defined, viewed and managed as a single system, rather than a collection of disparate silos for each of the lifecycle stages (click image to enlarge). This single system represents a complete SPL solution that can be readily adopted by mainstream development organizations, using new or legacy assets and the preferred toolset for each team within each organization.

Stay tuned for the final installment in this newsletter series to learn how this innvotive new approach is providing a complete, end-to-end SPL lifecycle solution at Lockheed Martin.

Best Regards,

Charles W. Krueger
BigLever Software CEO
SoftwareProductLines.com Moderator
ckrueger@biglever.com

 

Don't miss your Newsletter!

Please help us make sure that you continue to receive the BigLever Newsletter by confirming your subscription with us. This ensures that future newsletters will be successfully delivered to your Inbox and not misplaced into your junk mail or spam folder.

To confirm, simply click the "confirm" link in the white bar below. After confirming, you can unsubscribe from our newsletter distribution at any time.