Upload
rafael-vivian
View
1.156
Download
0
Embed Size (px)
DESCRIPTION
Artigo apresentado no CRIWG 2011 17th Conference on Collaboration and Technology 03/10/2011 http://greco.ppgi.ufrj.br/criwg/
Citation preview
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
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
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)
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:
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
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
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
Results
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 19
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
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
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
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
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
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 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
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
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