Marcelo Cataldo
Bosch
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Marcelo Cataldo.
conference on computer supported cooperative work | 2006
Marcelo Cataldo; Patrick Wagstrom; James D. Herbsleb; Kathleen M. Carley
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.
IEEE Transactions on Software Engineering | 2009
Marcelo Cataldo; Audris Mockus; Jeffrey A. Roberts; James D. Herbsleb
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.
international conference on global software engineering | 2007
Marcelo Cataldo; Matthew Bass; James D. Herbsleb; Len Bass
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.
conference on computer supported cooperative work | 2008
Marcelo Cataldo; James D. Herbsleb
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.
IEEE Transactions on Software Engineering | 2013
Marcelo Cataldo; James D. Herbsleb
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.
international conference on software engineering | 2011
Narayanasamy Ramasubbu; Marcelo Cataldo; Rajesh Krishna Balan; James D. Herbsleb
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.
international conference on global software engineering | 2006
N. Mullick; Matthew Bass; Z. Houda; Paulish Paulish; Marcelo Cataldo
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 can 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
international conference on software engineering | 2011
Marcelo Cataldo; James D. Herbsleb
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.
foundations of software engineering | 2009
Marcelo Cataldo; Sangeeth Nambiar
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.
european conference on software architecture | 2010
Marcelo Cataldo; James D. Herbsleb
Software ecosystems are emerging as an alternative approach for the development of complex software systems. The potentially transformational benefits of software ecosystems stems, primarily, from two basic principles that software ecosystems have embraced: transparency, a pillar in open source development, and modular system design. Despite the benefits associated with transparency and modularity, there are also important challenges that deserve attention. In this paper, we introduce the concept of interface translucence as an architectural mechanism that seeks to overcome challenges faced by transparency and modular system design. Interface translucence leverages the important technical role that interfaces play in software architectures to bridge the technical and socio-organizational dimensions of software development in ecosystems. We present an application of the concept of interface translucence in the context of architecting a software system as well as in the context of implementing it. We conclude with a discussion of future research work.