Task-First or Context-First? Tool Integration Revisited

If software engineering tools are not "properly integrated", they can reduce engineers' productivity. Associating and retrieving information scattered across the tools become unsystematic and inefficient. Our work provides empirical evidence on what is a "poor" and a "proper" tool integration, focusing on practitioners' perspectives. We interviewed 62 engineers and analyzed the content of their project artifacts. We identified problem situations and practices related to tool integration. Engineers agreed that tool integration approaches must support change, heterogeneity and automatic linking of change to context. To quantify our results, we conducted a field experiment with 27 and a survey with 782 subjects. We found a strong correlation between change frequency and preferred integration approaches. Particularly in projects with short release cycles, tasks should be used to link information handled by different tools. We also found that half of engineers' work is not defined as tasks. Therefore, a context-based tool integration approach is more effective than a task-based one.

[1]  Li-Te Cheng,et al.  Building Collaboration into IDEs , 2003, ACM Queue.

[2]  Walid Maalej,et al.  From work to word: How do software developers describe their work? , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[3]  Robert DeLine,et al.  Information Needs in Collocated Software Development Teams , 2007, 29th International Conference on Software Engineering (ICSE'07).

[4]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[5]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[6]  Christian Heide Damm,et al.  Tool integration: experiences and issues in using XMI and component technology , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[7]  W. Firestone,et al.  Multisite Qualitative Policy Research: Optimizing Description and Generalizability , 1983 .

[8]  Merriam Webster Merriam-Webster's Collegiate Dictionary , 2016 .

[9]  M. N. Wicks Tool Integration in Software Engineering Environments , 2005 .

[10]  Alan W. Brown Control integration through message-passing in a software development environment , 1993, Softw. Eng. J..

[11]  Marie-Pierre Gervais,et al.  Supporting transparent model update in distributed CASE tool integration , 2006, SAC '06.

[12]  Marvin V. Zelkowitz Modeling Software Engineering Environment Capabilities , 1996, J. Syst. Softw..

[13]  Ian Thomas,et al.  Definitions of Tool Integration for Environments , 1992, IEEE Softw..

[14]  Maria H. Penedo,et al.  An annotated bibliography on integration in software engineering environments , 1992, SOEN.

[15]  Arlene Fink,et al.  How to design surveys , 1995 .

[16]  Robert Rosenthal,et al.  Beginning Behavioral Research: A Conceptual Primer , 1993 .

[17]  G. Karsai,et al.  Tool Integration Patterns , 2003 .

[18]  Richard G. Dewar,et al.  A new research agenda for tool integration , 2007, J. Syst. Softw..

[19]  K. Michaels Defining an architecture for control integration , 1993, 1993 Software Engineering Environments.

[20]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[21]  Robert Rosenthal,et al.  Beginning behavioral research: A conceptual primer, 2nd ed. , 1996 .

[22]  W.R. Bischofberger,et al.  Computer supported cooperative software engineering with Beyond-Sniff , 1995, Proceedings Software Engineering Environments.

[23]  J. Rader,et al.  An investigation into the state-of-the-practice of CASE tool integration , 1993, 1993 Software Engineering Environments.

[24]  Harold Ossher,et al.  Software engineering tools and environments: a roadmap , 2000, ICSE '00.

[25]  Gail E. Kaiser,et al.  Enveloping sophisticated tools into computer-aided software engineering environments , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.