which researchers have focused about sources of information and visual resources on the development of software artifacts in DSD. â Also, the systematic ...
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
Agenda ●
Introduction
●
Method
●
Results
●
Discussion
●
Conclusion
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
02
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
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
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
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
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
Kitchenham, B.A.: Guidelines for performing systematic literature reviews in software engineering. Technical report, EBSE-2007-001, UK (2007) Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
07
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
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
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
Method ●
Search Strategy:
Reference
Category
Keywords
C1
Distributed Software Development
C2
Context-Awareness
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 Context-aware Awareness Context-sensitive
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
11
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
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
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
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
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
Results
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
17
Results Source
Papers found
Conferences Workshops Journals IEEE ACM Compendex ScienceDirect Scirus Total
114 32 44 83 24 136 17 48 498
Exclusion (pre-selection) title + abstract 12 3 9 17 5 14 2 2 64
Exclusion (selection) complete reading 7 2 5 8 0 7 1 2 32
Primary studies found 7 2 5 8 0 7 1 2 32
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
18
Results
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
19
Discussion ●
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 Local workspace Version control system Text Bug tracking Continuous integration
# 18 16 12 8 4 1
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
20
Discussion ●
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 Graph Timeline Zoom
# 13 7 1 1
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
21
Discussion ●
What types of software artifacts are addressed by research concerning context-awareness (RQ2)? Software Artifact Code Documentation Diagram
# 21 11 10
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
22
Discussion ●
What contextual information and properties are important for context-awareness on software artifacts in DSD (RQ3)? Contextual Information # Change history 12 Relationship among artifacts 11 Relationship artifact/tool 7
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
23
Discussion ●
What contextual information and properties are important for context-awareness on software artifacts in DSD (RQ3)? Property on Artifacts # Traceability 10 Filter and information search 7
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
24
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
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
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
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
Conclusion ●
Limitations: – –
–
The search was reduced to a limited number of search engines The studies on the subject of DSD and contextawareness 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
Questions? Rafael Leonardo Vivian State University of Maringa rlvivian.uem [at] gmail [dot] com Rafael Leonardo Vivian Elisa Hatsue Moriya Huzita Gislaine Camila Lapasini Leal Ana Paula Chaves Steinmacher CRIWG 2011 - 17th CRIWG Conference on Collaboration and Technology
Thank you! Rafael Leonardo Vivian State University of Maringa rlvivian.uem [at] gmail [dot] com Rafael Leonardo Vivian Elisa Hatsue Moriya Huzita Gislaine Camila Lapasini Leal Ana Paula Chaves Steinmacher CRIWG 2011 - 17th CRIWG Conference on Collaboration and Technology