Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review
1. 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
2. Agenda
● Introduction
● Method
● Results
● Discussion
● Conclusion
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 02
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. Method
● Search Strategy:
Reference Category Keywords
C1 Distributed Software Global software development
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
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 11
12. 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
13. 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
14. 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
15. 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
16. 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
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)?
Information Source #
Central repository 18
Local workspace 16
Version control system 12
Text 8
Bug tracking 4
Continuous integration 1
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 20
21. 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 13
Graph 7
Timeline 1
Zoom 1
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 21
22. Discussion
● What types of software artifacts are addressed by research
concerning context-awareness (RQ2)?
Software Artifact #
Code 21
Documentation 11
Diagram 10
Context-Awareness on Software Artifacts in Distributed Software Development: A Systematic Review 22
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
30. 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
31. 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