Published Sep 3, 2019

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

Charles Krueger delves into product line engineering, highlighting the superiority of product line architectures over traditional ones through effective variability management and feature modeling. He also discusses industry trends and strategies for smooth transitions in engineering practices, emphasizing the role of conferences for professional development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Variability Mgmt

    Charles Krueger emphasizes the importance of a structured approach to variability management in product line engineering. He introduces a three-tiered methodology that integrates technology, organizational processes, and business strategies to manage diversity effectively. This approach focuses on core asset development, which shifts the organizational structure from product-centric to subsystem-centric, enhancing efficiency and reuse 1. Krueger notes that achieving high commonality in architecture is crucial, with 75-80% being typical for effective reuse 2.

    The goal is to benefit from what's common and have very manageable levels of variability.

    ---

    This methodology helps organizations manage the lifecycle of software development while accommodating variability at every stage.

       

    Feature Modeling

    Krueger discusses his approach to feature modeling, which focuses on managing feature diversity rather than modeling all features. His method simplifies the transition from conventional development to product line development by using familiar types like integers and strings, making it easier for developers 3. He also highlights the hierarchical nature of feature models, where variation points are addressed at the implementation level, allowing for more complex feature constraints and interactions 4.

    Our language for describing feature models is slightly different. We don't follow the Foda language directly.

    ---

    This approach ensures that developers can effectively manage feature diversity while maintaining compatibility with existing models.

       

    Config Mgmt

    In configuration management, Krueger explains the importance of maintaining reproducibility through core assets and feature profiles. This ensures that every product can be traced back to its original configuration, maintaining consistency across deployments 5. He advocates for incremental transition strategies to ease the adoption of product line engineering, focusing on areas with the most significant potential for improvement. By starting with small, manageable changes, organizations can gradually transition to a product line approach without overwhelming resources 6.

    You need a good individual that's going to champion the cause.

    ---

    This strategy minimizes risk and encourages gradual improvement, making it more palatable for organizations to adopt.

Related Episodes