Marcelo Cataldo

dblp:73/944 · DBLP profile ↗
← Back
23ranked-venue papers
16as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 16 · 12 first-authorHuman-computer interaction and ubiquitous computing · 7 · 4 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
11 papers
Empirical software engineering · 67% Software maintenance and evolution · 14% Software testing · 7%
Human-computer interaction and pervasive computing
9 papers
Collaborative and social computing · 100%

Topics — the 19 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
developer studies
0.752014
The communication patterns of technical leaders: impact on product development team performance · CSCW 2014
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures · IEEE Trans. Software Eng. 2013
6th international workshop on cooperative and human aspects of software engineering (CHASE 2013) · ICSE 2013
Collaborative and social computing
computer-supported cooperative work
0.542014
The communication patterns of technical leaders: impact on product development team performance · CSCW 2014
All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development · CSCW 2012
The scale and evolution of coordination needs in large-scale distributed projects: implications for the future generation of collaborative tools · CHI 2011
Collaborative and social computing › computer-supported cooperative work › developer collaboration
distributed software development
0.332012
All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development · CSCW 2012
Sources of errors in distributed development projects: implications for collaborative tools · CSCW 2010
Communication networks in geographically distributed software development · CSCW 2008
Empirical software engineering
mining software repositories
0.332011
Factors leading to integration failures in global feature-oriented development: an empirical analysis · ICSE 2011
Software Dependencies, Work Dependencies, and Their Impact on Failures · IEEE Trans. Software Eng. 2009
The scale and evolution of coordination needs in large-scale distributed projects: implications for the future generation of collaborative tools · CHI 2011
Collaborative and social computing
communication networks
0.222012
All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development · CSCW 2012
Communication networks in geographically distributed software development · CSCW 2008
Collaborative and social computing › team collaboration
team communication
0.212014
The communication patterns of technical leaders: impact on product development team performance · CSCW 2014
Empirical software engineering › human factors in software engineering
socio-technical congruence
0.212013
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures · IEEE Trans. Software Eng. 2013
Software testing › software reliability
software failure
0.212013
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures · IEEE Trans. Software Eng. 2013
Requirements engineering and software design › software product lines
feature-oriented software development
0.112011
Factors leading to integration failures in global feature-oriented development: an empirical analysis · ICSE 2011
Empirical software engineering › developer studies
global software development
0.112011
Configuring global software teams: a multi-company analysis of project productivity, quality, and profits · ICSE 2011
Software maintenance and evolution
software integration
0.112011
Factors leading to integration failures in global feature-oriented development: an empirical analysis · ICSE 2011
Collaborative and social computing › awareness
awareness systems
0.122012
Identification of coordination requirements: implications for the Design of collaboration and awareness tools · CSCW 2006
All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development · CSCW 2012
Programming languages and type systems
functional programming
0.112009
Software Dependencies, Work Dependencies, and Their Impact on Failures · IEEE Trans. Software Eng. 2009
Software maintenance and evolution
software dependencies
0.112009
Software Dependencies, Work Dependencies, and Their Impact on Failures · IEEE Trans. Software Eng. 2009
Software maintenance and evolution › software process improvement
software process maturity
0.112009
On the relationship between process maturity and geographic distribution: an empirical analysis of their impact on software quality · ESEC/SIGSOFT FSE 2009
Collaborative and social computing › computer-supported cooperative work › developer collaboration
coordination in software development
0.012013
Coordination Breakdowns and Their Impact on Development Productivity and Software Failures · IEEE Trans. Software Eng. 2013
Empirical software engineering › developer studies
developer communication
0.012012
The impact of communication structure on new product development outcomes · CHI 2012
Empirical software engineering
software engineering practice
0.012011
Workshop on cooperative and human aspects of software engineering: (CHASE 2011) · ICSE 2011
Requirements engineering and software design
software architecture
0.012009
Software Dependencies, Work Dependencies, and Their Impact on Failures · IEEE Trans. Software Eng. 2009

Methods — techniques the papers use, named apart from their topics

social network analysis · 1.0empirical study · 0.4socio-technical congruence analysis · 0.3empirical analysis · 0.3longitudinal analysis · 0.3longitudinal data analysis · 0.2statistical analysis · 0.1multi-company empirical analysis · 0.1dependency measure comparison · 0.1architectural data analysis · 0.1
YearPublicationVenuePosition
2014 The communication patterns of technical leaders: impact on product development team performance
abstract
Leaders are important for the smooth functioning of teams but their effect on team performance is less well established. Based on a sample of 55 software development teams from two companies we examined the association between technical leaders- communication structure and the team's performance. Consistent with past research, we found that a team's productivity and quality improve when the team communication follows hierarchical and small-world patterns, respectively. However, there was significant additional improvement in both productivity and quality when technical leaders shared more information than they gathered, and when they were more central in the communication network. Surprisingly they were not necessarily the most "central" individuals in the team's communication structure. We discuss the implication of these results for new tools that provide feedback to leaders and the team
Kate Ehrlich, Marcelo Cataldo
CSCW2
2014 Exploring the Impact of API Complexity on Failure-Proneness
abstract
Interfaces, or APIs, are central to realizing the benefits of information hiding, but despite their widespread use, designing good interfaces is not a trivial activity. Particular design choices can have a significant detrimental effect on quality or development productivity, in particular, in large and geographically distributed projects. In this paper, we take a two-step approach. We first examined the impact of API complexity on the failure proneness of source code files. By API complexity we mean how easy or difficult is to use a particular API based on the public functions and data of this API. Second, we examine the relationship of API complexity and geographical distribution of the development teams. In our study we used data from two large-scale systems from two different software companies and nine open source projects from the GNOME community. Our analyses showed that increases in the complexity of APIs are associated with increases in the failure proneness of source code files. API complexity is the second best predictor in our results. Furthermore, the organizational context and the patterns of geographical distribution of the development teams have a moderating effect on the role of API complexity. We discuss the research and practical implication of the results.
Marcelo Cataldo, Cleidson R. B. de Souza
ICGSE1
2013 6th international workshop on cooperative and human aspects of software engineering (CHASE 2013)
abstract
Software is created by people for people working in a range of environments and under various conditions. Understanding the cooperative and human aspects of software development is crucial in order to comprehend how methods and tools are used, and thereby improve the creation and maintenance of software. Both researchers and practitioners have recognized the need to investigate these aspects, but the results of such investigations are dispersed in different conferences and communities. The goal of this workshop is to provide a forum for discussing high quality research on human and cooperative aspects of software engineering. We aim to provide both a meeting place for the community and the possibility for researchers interested in joining the field to present and discuss their work in progress and to get an overview over the field.
Rafael Prikladnicki, Rashina Hoda, Marcelo Cataldo, Helen Sharp, Yvonne Dittrich, Cleidson R. B. de Souza
ICSE3
2013 Coordination Breakdowns and Their Impact on Development Productivity and Software Failures
abstract
The success of software development projects depends on carefully coordinating the effort of many individuals across the multiple stages of the development process. In software engineering, modularization is the traditional technique intended to reduce the interdependencies among modules that constitute a system. Reducing technical dependencies, the theory argues, results in a reduction of work dependencies between teams developing interdependent modules. Although that research stream has been quite influential, it considers a static view of the problem of coordination in engineering activities. Building on a dynamic view of coordination, we studied the relationship between socio-technical congruence and software quality and development productivity. In order to investigate the generality of our findings, our analyses were performed on two large-scale projects from two companies with distinct characteristics in terms of product and process maturity. Our results revealed that the gaps between coordination requirements and the actual coordination activities carried out by the developers significantly increased software failures. Our analyses also showed that higher levels of congruence are associated with improved development productivity. Finally, our results showed the congruence between dependencies and coordinative actions is critical both in mature development settings as well as in novel and dynamic development contexts.
Marcelo Cataldo, James D. Herbsleb
IEEE Trans. Software Eng.1
2012 The impact of communication structure on new product development outcomes
abstract
New product development teams face important challenges to their performance due to the novelty of the work and the need to rapidly develop shared knowledge and goals. However, little is known about the relationship between the structural properties of communication and performance in these teams. This study examined the effect of communication structure, specifically hierarchical and small-world structures on the delivery performance and quality outcomes of a large-scale new product development project. Our longitudinal analyses revealed that structuring communication patterns in a hierarchical manner significantly improves delivery performance. However, hierarchical communication has a detrimental effect on quality while small-world communication structures improved the quality outcomes of development teams. We discuss the implications of these results for collaborative tools that support communication tradeoffs
Marcelo Cataldo, Kate Ehrlich
CHI1
2012 All-for-one and one-for-all?: a multi-level analysis of communication patterns and individual performance in geographically distributed software development
abstract
It is well established that distributed software projects benefit from informal communication. However, it is less clear how patterns of informal communication impact the performance of the individual developers. In a study of communication networks in a large commercial software project, we found that individuals performed better when they were central within a team's communication network but their performance worsened if they were central within the communication for the whole project. On the other hand, individuals embedded in a dense communication cluster at the team and at the project level perform better than those who were not embedded. The effects for both network positions were maintained even after controlling for formal role, individual differences in communication, workload and other factors that drive communication. We discuss the implications of the results for intra- and inter-team communication and for the inclusion of network structure into the design of collaborative and awareness tools.
Kate Ehrlich, Marcelo Cataldo
CSCW2
2012 The impact of geographic distribution and the nature of technical coupling on the quality of global software development projects
abstract
SUMMARY Geographically dispersed work is a fundamental trend that has shaped software development in the past few decades. Although researchers have shown that such a trend has its costs in terms of product quality, the past empirical work has neglected to consider the multidimensional nature of geographic dispersion and limited attention has been given to the nature of technical coupling in the context of distributed development. The work reported in this paper seeks to achieve a better understanding of how the quality of systems produced by distributed development projects is impacted by the various dimensions of geographic dispersion and by the forms of technical coupling. We examined 189 software projects from a multinational development organization and our results revealed the various dimensions of distribution that had an independent and complementary impact on the software quality. In particular, we found that projects with uneven distributions of developers across locations were more likely to exhibit higher levels of defects than projects with balanced distributions. Our results also showed that logical dependencies among architectural components are significantly more important for projects than syntactic dependencies. Moreover, considering technical coupling as conditional on project boundaries revealed that internal and external dependencies have a significant and independent impact on the software quality. Copyright © 2010 John Wiley & Sons, Ltd.
Marcelo Cataldo, Sangeeth Nambiar
J. Softw. Maintenance Res. Pract.1
2011 The scale and evolution of coordination needs in large-scale distributed projects: implications for the future generation of collaborative tools
abstract
The past decade has witnessed the development of a new class of coordination tools that focus on automatically providing individuals a rich context for facilitating the coordination of their work. Despite their valuable contributions, current coordination tools have mostly been designed without taking into account scalability aspects beyond the small-group level. The increasing pervasiveness of large-scale projects suggests that those mechanisms need to scale dramatically to adequately support such work settings. In this paper, we used data from five distinct large-scale projects from three different companies to study the scale, range, and volatility of the coordination requirements that emerged over time within those projects. Our results showed that coordination requirements tend to be quite volatile, vary significantly in their magnitude across project members and a significant proportion of the coordination requirements cut across organizational and geographical boundaries. Furthermore, new coordination requirements represent, on average, a third of the coordination requirements faced by a project member on a monthly basis. The implications of these results for the design of collaborative tools are discussed.
Jean Marcel dos Reis Costa, Marcelo Cataldo, Cleidson R. B. de Souza
CHI2
2011 Factors leading to integration failures in global feature-oriented development: an empirical analysis
abstract
Feature-driven software development is a novel approach that has grown in popularity over the past decade. Researchers and practitioners alike have argued that numerous benefits could be garnered from adopting a feature-driven development approach. However, those persuasive arguments have not been matched with supporting empirical evidence. Moreover, developing software systems around features involves new technical and organizational elements that could have significant implications for outcomes such as software quality. This paper presents an empirical analysis of a large-scale project that implemented 1195 features in a software system. We examined the impact that technical attributes of product features, attributes of the feature teams and crossfeature interactions have on software integration failures. Our results show that technical factors such as the nature of component dependencies and organizational factors such as the geographic dispersion of the feature teams and the role of the feature owners had complementary impact suggesting their independent and important role in terms of software quality. Furthermore, our analyses revealed that cross-feature interactions, measured as the number of architectural dependencies between two product features, are a major driver of integration failures. The research and practical implications of our results are discussed.
Marcelo Cataldo, James D. Herbsleb
ICSE1
2011 Workshop on cooperative and human aspects of software engineering: (CHASE 2011)
abstract
Software is created by people for people working in varied environments, under various conditions. Thus understanding cooperative and human aspects of software development is crucial to comprehend how methods and tools are used, and thereby improve the creation and maintenance of software. Over the years, both researchers and practitioners have recognized the need to study and understand these aspects. Despite recognizing this, researchers in cooperative and human aspects have no clear place to meet and are dispersed in different research conferences and areas. The goal of this workshop is to provide a forum for discussing high quality research on human and cooperative aspects of software engineering. We aim at providing both a meeting place for the growing community and the possibility for researchers interested in joining the field to present their work in progress and get an overview over the field.
Marcelo Cataldo, Cleidson R. B. de Souza, Yvonne Dittrich, Rashina Hoda, Helen Sharp
ICSE1
2011 Configuring global software teams: a multi-company analysis of project productivity, quality, and profits
abstract
In this paper, we examined the impact of project-level configurational choices of globally distributed software teams on project productivity, quality, and profits. Our analysis used data from 362 projects of four different firms. These projects spanned a wide range of programming languages, application domain, process choices, and development sites spread over 15 countries and 5 continents. Our analysis revealed fundamental tradeoffs in choosing configurational choices that are optimized for productivity, quality, and/or profits. In particular, achieving higher levels of productivity and quality require diametrically opposed configurational choices. In addition, creating imbalances in the expertise and personnel distribution of project teams significantly helps increase profit margins. However, a profit-oriented imbalance could also significantly affect productivity and/or quality outcomes. Analyzing these complex tradeoffs, we provide actionable managerial insights that can help software firms and their clients choose configurations that achieve desired project outcomes in globally distributed software development.
Narayan Ramasubbu, Marcelo Cataldo, Rajesh Krishna Balan, James D. Herbsleb
ICSE2
2011 Guest Editors' Introduction: Special Section on the Socio-Technical Environment of Software Development Projects
abstract
OFTWARE engineering has long been recognized as a human activity that is managed through a system of methods, tools, processes, and work practices. This interaction between the nature of the product, the work, and the people doing it represents the socio-technical environment of a software development project. Software projects that fail to adequately consider the people’s social behavior in the context of the product and the work are less likely to be successful [2], [3]. The negative consequences of a neglected socio-technical environment are even more evident in geographically distributed software development, a project setting that has become commonplace in the last few decades. A growing body of research has adopted the sociotechnical perspective. However, the research is currently dispersed across multiple venues, including computersupported cooperative work (CSCW), computer-human interaction (CHI), software engineering, and organizational theory and behavior. As a first attempt to integrate these strands of research for software engineering, we organized workshops at ICSE 2008 and ICSE 2009. This special section builds on the success of those workshops and highlights emerging and promising lines of research that have the potential to shape future research and practice in software
Marcelo Cataldo, Kate Ehrlich, Audris Mockus
IEEE Trans. Software Eng.1
2010 Sources of errors in distributed development projects: implications for collaborative tools
abstract
An important dimension of success in development projects is the quality of the new product. Researchers have primarily concentrated on developing and evaluating processes to reduce errors and mistakes and, consequently, achieve higher levels of quality. However, little attention has been given to other factors that have a significant impact on enabling development organizations carry the numerous development activities with minimal errors. In this paper, we examined the relative role of multiple sources of errors such as experience, geographic distribution, technical properties of the product and projects' time pressure. Our empirical analyses of 209 development projects showed that all four categories of sources of errors are quite relevant. We dis-cussed those results in terms of their implications for improving collaborative tools to support distributed development projects.
Marcelo Cataldo
CSCW1
2009 Quality in Global Software Development Projects: A Closer Look at the Role of Distribution
abstract
The impact of distribution on global software development project is well established. Most of the empirical work has focused of a single dimension of distribution such as geographical distance or difference in time zones across locations, leaving other important dimensions of distribution unexplored. In this paper, we take a multi-dimensional view of distribution. In particular, we examined the impact of the nature of the distribution of development teams as well as the nature of the distribution of work on project quality using data from 189 distributed software development projects. Our analysis revealed that projects with uneven distributions of developers across locations were more likely to exhibit higher levels of defects than those projects with balanced distributions. Similarly, projects with uneven distributions of development effort across locations were more likely to exhibit higher levels of defects than those projects with balanced distributions.
Marcelo Cataldo, Sangeeth Nambiar
ICGSE1
2009 CAMEL: A Tool for Collaborative Distributed Software Design
abstract
Software design activities require rich communication channels where developers can exchange information in multiple ways. It is well established that geographic distribution impacts negatively on the effectiveness of design meetings. In this paper, we present a tool for supporting virtual software design meetings. The features of the tool address four fundamental challenges identified from the literature: (1) information sharing, conflict resolution and development of consensus among geographically distributed designers, (2) availability of sufficient and organizable drawing surfaces for graphical representations, (3) developing shared understanding and managing focus during the discussion and (4) appropriate capturing and storing of all design-relevant information.
Marcelo Cataldo, Charles P. Shelton, Yongjoon Choi, Yun-Yin Huang, Vytesh Ramesh, Darpan Saini, Liang-Yun Wang
ICGSE1
2009 On the relationship between process maturity and geographic distribution: an empirical analysis of their impact on software quality
abstract
An extensive body of research has developed in the area of software processes improvement and maturity models. Despite being a quite influential body of work, little is known about how software process maturity models and improvement activities relate to a major trend in the software industry: geographic distribution of development activities. In this paper, we seek to achieve a better understanding of the relationship between software process maturity and geographic distribution. In particular, we studied their combined impact on software quality. Using data from a multi-national software development organization, our analyses revealed that process maturity and the multiple dimensions of distribution have a significant impact on the quality of software components. More importantly, our analyses showed that the benefits of increases in process maturity diminish as the development work becomes more distributed, a result that has major implications for future research work in the process and the global software engineering literature as well as important implications for practitioners.
Marcelo Cataldo, Sangeeth Nambiar
ESEC/SIGSOFT FSE1
2009 Software Dependencies, Work Dependencies, and Their Impact on Failures
abstract
Prior research has shown that customer-reported software faults are often the result of violated dependencies that are not recognized by developers implementing software. Many types of dependencies and corresponding measures have been proposed to help address this problem. The objective of this research is to compare the relative performance of several of these dependency measures as they relate to customer-reported defects. Our analysis is based on data collected from two projects from two independent companies. Combined, our data set encompasses eight years of development activity involving 154 developers. The principal contribution of this study is the examination of the relative impact that syntactic, logical, and work dependencies have on the failure proneness of a software system. While all dependencies increase the fault proneness, the logical dependencies explained most of the variance in fault proneness, while workflow dependencies had more impact than syntactic dependencies. These results suggest that practices such as rearchitecting, guided by the network structure of logical dependencies, hold promise for reducing defects.
Marcelo Cataldo, Audris Mockus, Jeffrey A. Roberts, James D. Herbsleb
IEEE Trans. Software Eng.1
2008 Communication networks in geographically distributed software development
abstract
In this paper, we seek to shed light on how communication networks in geographically distributed projects evolve in order to address the limits of the modular design strategy. We collected data from a geographically distributed software development project covering 39 months of activity. Our analysis showed that over time a group of developers emerge as the liaisons between formal teams and geographical locations. In addition to handling the communication and coordination load across teams and locations, those engineers contributed the most to the development effort.
Marcelo Cataldo, James D. Herbsleb
CSCW1
2008 Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity
abstract
The identification and management of work dependencies is a fundamental challenge in software development organizations. This paper argues that modularization, the traditional technique intended to reduce interdependencies among components of a system, has serious limitations in the context of software development. We build on the idea of congruence, proposed in our prior work, to examine the relationship between the structure of technical and work dependencies and the impact of dependencies on software development productivity. Our empirical evaluation of the congruence framework showed that when developers' coordination patterns are congruent with their coordination needs, the resolution time of modification requests was significantly reduced. Furthermore, our analysis highlights the importance of identifying the "right" set of technical dependencies that drive the coordination requirements among software developers. Call and data dependencies appear to have far less impact than logical dependencies.
Marcelo Cataldo, James D. Herbsleb, Kathleen M. Carley
ESEM1
2007 On Coordination Mechanisms in Global Software Development
abstract
The ability of an organization to successfully carry out its tasks depends on the appropriate combination of organizational structure, processes, and communication and coordination mechanisms. In this paper, we present four case studies that exemplify coordination breakdown problems in global software development. Our analysis showed those problems took place even in the presence of a collection of processes, organizational mechanisms and communication tools established to increases the ability of the teams to perform their tasks. Finally, we discuss possible solutions to overcome the identified problems.
Marcelo Cataldo, Matthew Bass, James D. Herbsleb, Leonard J. Bass
ICGSE1
2007 Architectural Misalignment: An Experience Report
abstract
It has been well documented that there is a correlation between the structure of an architecture and the organization that produces it. More concretely there is a correlation between task interdependencies and coordination among the people or teams realizing these tasks. The amount of coordination needed among teams is related to the nature of these task interdependencies. As the scale and complexity of organization and systems grow it is not uncommon to have factors such as geographic boundaries, organization boundaries, cultural differences, and so forth impede the ability of certain individuals or teams to coordinate effectively. While there is some understanding of the factors that impede the ability of teams to coordinate, the factors that cause task interdependence in software systems is less well understood. The current view is that it is the interactions across module boundaries (assuming a module is assigned as a task or work item to a single team) that cause task interdependence; we have found that this view is not sufficient. In this paper we present three cases where additional architectural mechanisms created task interdependencies that the organizations were unable to accommodate. We go on to discuss the implications of these findings and suggest future research activities.
Matthew Bass, Vesna Mikulovic, Leonard J. Bass, James D. Herbsleb, Marcelo Cataldo
WICSA5
2006 Identification of coordination requirements: implications for the Design of collaboration and awareness tools
abstract
Task dependencies drive the need to coordinate work activities. We describe a technique for using automatically generated archi-val data to compute coordination requirements, i.e., who must coordinate with whom to get the work done. Analysis of data from a large software development project revealed that coordina-tion requirements were highly volatile, and frequently extended beyond team boundaries. Congruence between coordination re-quirements and coordination activities shortened development time. Developers, particularly the most productive ones, changed their use of electronic communication media over time, achieving higher congruence. We discuss practical implications of our technique for the design of collaborative and awareness tools.
Marcelo Cataldo, Patrick Wagstrom, James D. Herbsleb, Kathleen M. Carley
CSCW1
2006 Siemens Global Studio Project: Experiences Adopting an Integrated GSD Infrastructure
abstract
Environments and processes in typical software development are not fully adapted to the needs of global software development (GSD). In particular, they do not have all of the capabilities necessary for cross-site collaboration. While research literature is rich with examples of individual practices and tools that an be used in this setting, there is a lack of examples illustrating how these tools and processes can be used in combination. We have augmented a set of tools and processes for GSD and applied them to an experimental project called the Global Studio Project (GSP). This paper describes the tools and processes developed, and insights gained from applying them to the GSP.
Neel Mullick, Matthew Bass, Zakaria El Houda, Daniel J. Paulish, Marcelo Cataldo
ICGSE5