Software process commonality analysis

To remain viable and thrive, software organizations must rapidly adapt to frequent and, often, rather far-ranging changes to their operational context. These changes typically concern many factors, including the nature of the organization's marketplace in general, its customers' demands, and its business needs. In today's most highly dynamic contexts, such as web services development, other changes create additional, severe challenges. Most critical are changes to the technology in which a software product is written or which the software product has to control or use to provide its functionality. These product-support technology changes are frequently relatively ‘small’ and incremental. They are, therefore, often handled by relatively ‘small’, incremental changes to the organization's software processes. However, the frequency of these changes is high, and their impact is elevated by time-to-market and requirements change demands. The net result is an extremely challenging need to create and manage a large number of customized process variants, collectively having more commonalities than differences, and incorporating experience-based, proven ‘best practices’. This paper describes a tool-based approach to coping with product-support technology changes. The approach utilizes established capabilities such as descriptive process modeling and the creation of reference models. It incorporates a new, innovative, tool-based capability to analyze commonalities and differences among processes. The paper includes an example-based evaluation of the approach in the domain of Wireless Internet Services as well as a discussion of its potentially broader application. Copyright © 2005 John Wiley & Sons, Ltd.

[1]  Holger Neu,et al.  Software Process Technology Transfer: Using a Formal Process Notation to Capture a Software Process in Industry , 2001, EWSPT.

[2]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[3]  Jürgen Münch,et al.  Empirically Driven Design of Software Development Processes for Wireless Internet Services , 2002, PROFES.

[4]  Nazim H. Madhavji,et al.  A Systematic, View-Based Approach to Eliciting Process Models , 1996, EWSPT.

[5]  Martin Verlage,et al.  Support for the Process Engineer: The Spearmint Approach to Software Process Definition and Process Guidance , 1999, CAiSE.

[6]  F. Mcgarry Overview of the Software Engineering Laboratory , 1979 .

[7]  Martin Verlage,et al.  Three Approaches for Formalizing Informal Process Descriptions , 1995 .

[8]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[9]  Louise Scott,et al.  Process engineering with Spearmint/sup TM//EPG , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[10]  Barbara Ann Kitchenham,et al.  Evaluating software eng. methods and tools part 10: designing and running a quantitative case study , 1998, SOEN.

[11]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[12]  W. N. Robinson,et al.  Integrating multiple specifications using domain goals , 1989, IWSSD '89.

[13]  Mary Shaw,et al.  Writing good software engineering research papers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[14]  Jürgen Münch,et al.  Capturing evidence from wireless Internet services development , 2003, Eleventh Annual International Workshop on Software Technology and Engineering Practice.

[15]  Victor R. Basili,et al.  Support for comprehensive reuse , 1991, Softw. Eng. J..

[16]  M. S. Feather Detecting interference when merging specification evolutions , 1989, IWSSD '89.

[17]  Really Useful,et al.  Are Methods Really Useful? , 1999 .

[18]  Julio Cesar Sampaio do Prado Leite,et al.  Requirements Validation Through Viewpoint Resolution , 1991, IEEE Trans. Software Eng..

[19]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .

[20]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[21]  Victor R. Basili,et al.  Tailoring the software process to project goals and environments , 1987, ICSE '87.

[22]  Jürgen Münch,et al.  Toward a Reference Process for Developing Wireless Internet Services , 2003, IEEE Trans. Software Eng..