International Workshop on Product Line Engineering: The Early Steps: Planning, Modeling, and Managing

Many manufacturing organizations adopt product production strategies that influence a wide range of factors within the company. These strategies define policies, procedures and structures that affect the same areas as a software product line strategy. When an organization initiates a product line strategy, that strategy must be integrated with existing strategies while not losing the benefits of the software product line strategy. This paper is a brief report of our experience integrating a software product line strategy similar to that developed by the Software Engineering Institute with a specific product production strategy, the PACE model. Problems such as conflicts in terminology and clashes in organizational structure were identified and resolved. We present an integration process that can be used to coordinate a software product line approach with other manufacturing strategies. Introduction The software product line strategy is a comprehensive approach that touches many facets of an organization. Software product line initiation, even “green field” initiatives, typically occurs in an existing corporate environment. Corporate or business unit initiatives set goals and often mandate strategies to achieve those goals. The software product line effort must be consistent with these previously established strategies. Product production strategies are guidelines that define how the organization will manage the actual creation of a product [Chastek 02]. Aspects of the software product line strategy will, almost certainly, provide guidance on some of the same issues as the more general product production strategy. For example, a software development business unit can find itself constrained by the initiatives of the hard goods units of the corporation. These units have often been in existence longer or manufacture a more tangible portion of each product. In the remainder of this paper we will focus on the integration of a software product line strategy and product production strategies. There are many widely recognized corporate strategies for product production or product manufacture such as Product And Cycle-time Excellence (PACE) [McGrath 96], Six Sigma [Pande 00], and Supply Chain Management [Chopra 00]. Each strategy solves specific types of problems and imposes assumptions that constrain possible solutions. The scope of each strategy varies. Supply chain management impacts most of the phases in a manufacturing process but it is limited to the management of inputs into these phases and delivery to customers. Six Sigma techniques impact the record keeping and decision making of most steps in the product development process but not the technical details of how to carryout the steps. The PACE strategy is a comprehensive strategy that specifies some portion of the organizational structure and establishes priorities among activities in the manufacturing process. These examples illustrate how the software product line and product production strategies can have one of four relationships with one another. The product line strategy (PL) may overlap with another strategy (S),

[1]  Jan Bosch,et al.  Software product lines: organizational alternatives , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[2]  Klaus Schmid A comprehensive product line scoping approach and its validation , 2002, ICSE '02.

[3]  Paul Clements,et al.  A framework for software product line practice - version 2 , 1999 .

[4]  Dewayne E. Perry A Product Line Architecture for a Network Product , 2000, IW-SAPF.

[5]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[8]  Steffen Thiel,et al.  Systematic Integration of Variability into Product Line Architecture Design , 2002, SPLC.

[9]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[10]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[11]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[12]  David Sharp,et al.  Freeing product line architectures from execution dependencies , 2000, SPLC.

[13]  John D. McGregor,et al.  Initiating software product lines , 2002, IEEE Software.

[14]  Ernst Denert,et al.  Wie baut man Informationssysteme? Überlegungen zur Standardarchitektur , 2000, Informatik-Spektrum.

[15]  Jay van Zyl Product Line Architecture and the Separation of Concerns , 2002, SPLC.

[16]  Putnam P. Texel,et al.  Use Cases Combined With Booch/Omt/Uml: Process and Products , 1997 .

[17]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[18]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[19]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[20]  Rupert Stützle,et al.  Wiederverwendung ohne Mythos: empirisch fundierte Leitlinien für die Entwicklung wiederverwendbarer Software , 2002 .

[21]  Barbara Paech On the Role of Activity Diagrams in UML - A User Task Centered Development Process for UML , 1998, UML.

[22]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[23]  Jay van Zyl,et al.  Strategic product development , 2000, SPLC.

[24]  Paul Clements,et al.  Software Architecture Documentation in Practice: Documenting Architectural Layers , 2000 .

[25]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[26]  Bogdan Franczyk,et al.  EXTENDING THE UML TO MODEL SYSTEM FAMILIES , 2000 .

[27]  James C. Dager,et al.  Cummins's experience in developing a software product line architecture for real-time embedded diesel engine controls , 2000, SPLC.

[28]  Gang Chen,et al.  Design Wizards and Visual Programming Environments for GenVoca Generators , 2000, IEEE Trans. Software Eng..

[29]  Klaus Schmid Scoping software product lines , 2000, SPLC.

[30]  Birgit Geppert,et al.  International Workshop on Requirements Engineering for Product Lines , 2002 .

[31]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[32]  Jan Stage,et al.  Method Engineering. Principles of Method Construction and Tool Support , 1996 .

[33]  Klaus Schmid,et al.  Scoping software product lines: an analysis of an emerging technology , 2000 .

[34]  Jan Gerben Wijnstra Supporting diversity with component frameworks as architectural elements , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[35]  Michal Orkisz,et al.  Integrating hundred's of products through one architecture: the industrial IT architecture , 2002, ICSE '02.

[36]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[37]  Jan Gerben Wijnstra,et al.  Component Frameworks for a Medical Imaging Product Family , 2000, IW-SAPF.

[38]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[39]  Jan Bosch,et al.  Product-line architectures in industry: a case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[40]  D. C. Sharp,et al.  Reducing avionics software cost through component based product line development , 1998, 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267).

[41]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[42]  Doo-Hwan Bae,et al.  Test cases generation from UML state diagrams , 1999, IEE Proc. Softw..

[43]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.