Context-Awareness on Software Artifacts in DistributedSoftware ...

3 downloads 194 Views 230KB Size Report
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