context-awareness on software artifacts in distributed software development: a systematic review

31
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review Rafael Leonardo Vivian Elisa Hatsue Moriya Huzita Gislaine Camila Lapasini Leal Ana Paula Chaves Steinmacher CRIWG 2011 - 17th CRIWG Conference on Collaboration and Technology

Upload: rafael-vivian

Post on 30-Nov-2014

1.156 views

Category:

Education


0 download

DESCRIPTION

Artigo apresentado no CRIWG 2011 17th Conference on Collaboration and Technology 03/10/2011 http://greco.ppgi.ufrj.br/criwg/

TRANSCRIPT

Page 1: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Rafael Leonardo VivianElisa Hatsue Moriya HuzitaGislaine Camila Lapasini LealAna Paula Chaves SteinmacherCRIWG 2011 - 17th CRIWG Conference onCollaboration and Technology

Page 2: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Agenda

● Introduction

● Method

● Results

● Discussion

● Conclusion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 02

Page 3: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Introduction

● Distributed Software Development (DSD) has brought new challenges to software projects caused by physical dispersion and temporal distance

● Awareness techniques combined with contextual information of the environment improve communication among individuals involved in collaborative work

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 03

Page 4: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Introduction

● Awareness mechanisms are essential to offer individuals contextual information about the actions that occur on the entities such as software artifacts

● Physical dispersion and temporal distance among collaborative teams hinder awareness of contextual information about the creation and maintenance of software artifacts

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 04

Page 5: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Introduction

● The objective of the research was to identify awareness studies featuring techniques of acquire and present contextual information on software artifacts generated in Distributed Software Development

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 05

Page 6: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● We made a systematic review to identify aspects upon which researchers have focused about sources of information and visual resources on the development of software artifacts in DSD

● Also, the systematic review allowed us to analyze and identify current challenges and opportunities for future works

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 06

Page 7: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● A systematic review aims to evaluate and interpret all available research related to a research question or topic of interest through a rigorous and reliable methodology [Kitchenham, 2007]

● The systematic review consists of three stages:

– Review Planning– Review Conduction– Review Analysis

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 07

Kitchenham, B.A.: Guidelines for performing systematic literature reviews in softwareengineering. Technical report, EBSE-2007-001, UK (2007)

Page 8: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Research Questions:

– RQ1: What sources of information and visual resources have been used to implement, respectively, the acquisition and presentation of contextual information on the development of software artifacts in DSD?

– RQ2: What types of software artifacts are addressed by research concerning context-awareness?

– RQ3: What contextual information and properties are important for context-awareness on software artifacts in DSD?

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 08

Page 9: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Search Strategy:

– Stage 1: manual search in conferences, workshops and journals

– Stage 2: electronic databases were searched using the keywords “distributed software development” and “context-awareness”

– Papers written in English and Portuguese, published between 2000 and 2010

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 09

Page 10: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Search Strategy:

– The databases searched were:

- IEEE Xplore- ACM Digital Library- EI Compendex- ScienceDirect- Scirus

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 10

Page 11: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Search Strategy:

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 11

Reference Category Keywords

C1 Distributed Software Development

Global software development

Geographically distributed development

Collaborative development

Distributed development

Distributed software project

Global software engineering

Globally distributed work

Distributed teams

Global software teams

Collaborative work

Virtual teams

C2 Context-Awareness Context-aware

Awareness

Context-sensitive

Page 12: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Search Strategy:

(“distributed software development” OR “global software development” OR “geographically distributed development” OR “collaborative development” OR “distributed development” OR “distributed software project” OR “global software engineering” OR “globally distributed work” OR “distributed teams” OR “global software teams” OR “collaborative work” OR “virtual teams”) AND (“context-awareness” OR “context-aware” OR “awareness” OR “context-sensitive”)

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 12

Page 13: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Criteria and Selection Procedures - INCLUSION:

– I1. Sources of information and visual resources used to implement, respectively, the acquisition and presentation of contextual information on the development of software artifacts in DSD

– I2. Types of software artifacts addressed by research on context-awareness

– I3. Contextual information and important properties for context-awareness on DSD software artifacts

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 13

Page 14: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Criteria and Selection Procedures - EXCLUSION:

– E1. Sources of information and visual resources that are not used to implement, respectively, the acquisition and presentation of contextual information on software artifacts development in DSD

– E2.Types of software artifacts addressed by studies that are not related to context-awareness

– E3. Contextual information and properties that are not important for understanding context-awareness on software artifacts in DSD

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 14

Page 15: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Criteria and Selection Procedures:

(i) read the articles titles and abstracts, and then exclude those deemed irrelevant to the research questions

(ii) the papers selected in the previous step were read in full

(iii) after reading, the selected papers were documented on a form

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 15

Page 16: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Method

● Data Extraction and Synthesis:

(i) case study

(ii) experimental

(iii) literature review

(iv) lessons learned

(v) simulation

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 16

Page 17: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Results

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 17

Page 18: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Results

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 18

Source Papersfound

Exclusion(pre-selection)title + abstract

Exclusion(selection)complete reading

Primarystudiesfound

Conferences 114 12 7 7Workshops 32 3 2 2Journals 44 9 5 5IEEE 83 17 8 8ACM 24 5 0 0Compendex 136 14 7 7ScienceDirect 17 2 1 1Scirus 48 2 2 2Total 498 64 32 32

Page 19: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Results

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 19

Page 20: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 20

● What sources of information and visual resources have been used to implement, respectively, the acquisition and presentation of contextual information on the development of software artifacts in DSD (RQ1)?

Information Source #

Central repository 18Local workspace 16Version control system 12Text 8Bug tracking 4Continuous integration 1

Page 21: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 21

● What sources of information and visual resources have been used to implement, respectively, the acquisition and presentation of contextual information on the development of software artifacts in DSD (RQ1)?

Visual Resource #

Color 13Graph 7Timeline 1Zoom 1

Page 22: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 22

● What types of software artifacts are addressed by research concerning context-awareness (RQ2)?

Software Artifact #

Code 21Documentation 11Diagram 10

Page 23: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 23

● What contextual information and properties are important for context-awareness on software artifacts in DSD (RQ3)?

Contextual Information #

Change history 12Relationship among artifacts 11Relationship artifact/tool 7

Page 24: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 24

● What contextual information and properties are important for context-awareness on software artifacts in DSD (RQ3)?

Property on Artifacts #

Traceability 10Filter and information search 7

Page 25: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

● Other research topics that can be explored:

– Awareness to overcome issues related to indication of which artifacts have consumed most effort among development teams

– Context-awareness on the software artifacts of project to the automatic generation of new artifacts

– Obtain contextual information from sources as tools for Software Configuration Management

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 25

Page 26: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Discussion

● The merge of previously discussed features could be an interesting research topic, once the acquisition of contextual information from tools such as Software Configuration Management and their presentation to development teams members would increase their awareness about the project

● Keeping a change history and the relationship among software artifacts could increase the chances of traceability and, thus, propagate the communication in distributed teams through the context-awareness on software artifacts

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 26

Page 27: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Conclusion

● Systematic review of techniques for acquisition and presentation of contextual information on generating software artifacts in DSD

● The proposals found (57.6%) concerned with the exploration of contextual information on software artifacts from central repository and the own local workspace of developer

● Version control systems, bug tracking and continuous integration also store contextual information on the creation and maintenance of software artifacts

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 27

Page 28: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Conclusion

● Timeline and visual resources as graphs and colors are interesting alternative to visualize the evolution of artifact during the software development cycle

● Change history with information of relationship among artifacts become an important factor increasing productivity and understanding among the team members in collaborative work

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 28

Page 29: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Conclusion

● Limitations:

– The search was reduced to a limited number of search engines

– The studies on the subject of DSD and context-awareness but not contributed with any significant method or technique in the research context were excluded

– Some studies, mainly related to tools which are not included in the context of DSD, but are useful in areas related to communication and collaboration, were included as well

Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 29

Page 30: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Questions?

Rafael Leonardo VivianElisa Hatsue Moriya HuzitaGislaine Camila Lapasini LealAna Paula Chaves Steinmacher

Rafael Leonardo VivianState University of Maringa

rlvivian.uem [at] gmail [dot] com

CRIWG 2011 - 17th CRIWG Conference onCollaboration and Technology

Page 31: Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review

Thank you!

Rafael Leonardo VivianElisa Hatsue Moriya HuzitaGislaine Camila Lapasini LealAna Paula Chaves Steinmacher

Rafael Leonardo VivianState University of Maringa

rlvivian.uem [at] gmail [dot] com

CRIWG 2011 - 17th CRIWG Conference onCollaboration and Technology