scispace - formally typeset
Search or ask a question

Showing papers by "James D. Herbsleb published in 2006"


Proceedings ArticleDOI
04 Nov 2006
TL;DR: This work describes 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, for the design of collaborative 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.

444 citations


Proceedings ArticleDOI
23 May 2006
TL;DR: Dhruv provides an enhanced semantic interface to bug resolution messages and recommends related software objects and artifacts in the OpenACS community, which is semi-automatically populated from the existing artifacts of the community.
Abstract: The Web plays a critical role in hosting Web communities, their content and interactions. A prime example is the open source software (OSS) community, whose members, including software developers and users, interact almost exclusively over the Web, constantly generating, sharing and refining content in the form of software code through active interaction over the Web on code design and bug resolution processes. The Semantic Web is an envisaged extension of the current Web, in which content is given a well-defined meaning, through the specification of metadata and ontologies, increasing the utility of the content and enabling information from heterogeneous sources to be integrated. We developed a prototype Semantic Web system for OSS communities, Dhruv. Dhruv provides an enhanced semantic interface to bug resolution messages and recommends related software objects and artifacts. Dhruv uses an integrated model of the OpenACS community, the software, and the Web interactions, which is semi-automatically populated from the existing artifacts of the community.

87 citations


Proceedings ArticleDOI
28 May 2006
TL;DR: Experiences and results from initiating risk-management activities at a large systems development organization aimed at improving product testing, to improve maintenance resource allocation, and to plan for future process improvements are reported.
Abstract: Quantitatively-based risk management can reduce the risks associated with field defects for both software producers and software consumers. In this paper, we report experiences and results from initiating risk-management activities at a large systems development organization. The initiated activities aim to improve product testing (system/integration testing), to improve maintenance resource allocation, and to plan for future process improvements. The experiences we report address practical issues not commonly addressed in research studies: how to select an appropriate modeling method for product testing prioritization and process improvement planning, how to evaluate accuracy of predictions across multiple releases in time, and how to conduct analysis with incomplete information. In addition, we report initial empirical results for two systems with 13 and 15 releases. We present prioritization of configurations to guide product testing, field defect predictions within the first year of deployment to aid maintenance resource allocation, and important predictors across both systems to guide process improvement planning. Our results and experiences are steps towards quantitatively-based risk management.

77 citations


Proceedings ArticleDOI
16 Oct 2006
TL;DR: A set of tools and processes for GSD are augmented and applied to an experimental project called the Global Studio Project (GSP), and insights gained from applying them to the GSP are described.
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.

74 citations


Proceedings ArticleDOI
28 May 2006
TL;DR: This work presents a case study of open source software development methodology adopted by a significant commercial software project in the telecommunications domain, extracts a number of lessons learned from the experience, and identifies open research questions.
Abstract: Open source practices and tools have proven to be highly effective for overcoming the many problems of geographically distributed software development. We know relatively little, however, about the range of settings in which they work. In particular, can corporations use the open source development model effectively for software projects inside the corporate domain? Or are these tools and practices incompatible with development environments, management practices, and market-driven schedule and feature decisions typical of a commercial software house? We present a case study of open source software development methodology adopted by a significant commercial software project in the telecommunications domain. We extract a number of lessons learned from the experience, and identify open research questions.

71 citations


Proceedings Article
01 Jan 2006
TL;DR: Support is found for all hypotheses predicting detrimental effects from poor distribution of decisions over developers and the density of constraints among decisions will affect development time, probability that a file contains a field defect, and developer productivity.
Abstract: Coordination of engineering decisions is a central concern of software engineering. We present a theory in which coordination of engineering decisions is modeled as a distributed constraint satisfaction problem (DCSP). We derive six hypotheses, predicting how the distribution of decisions over developers and the density of constraints among decisions will affect development time, probability that a file contains a field defect, and developer productivity. We test these hypotheses using data from a commercial project. We find support for all hypotheses predicting detrimental effects from poor distribution of decisions over developers. The effects of constraint density were mixed, showing that dense constraints slowed development, but did not significantly affect productivity. Dense data dependencies increased the chances that a file contained a field defect, but very surprisingly, dense call dependencies significantly lowered the chances that a file contained a field defect. We discuss the implications of these findings.

47 citations


Journal ArticleDOI
TL;DR: Research has consistently shown that communication across sites in geographically distributed projects is severely attenuated compared to communication in co-located projects, which strongly suggests that in order for agile methods to be effective in distributed projects, great care must be taken to ensure that the necessary communication takes place.
Abstract: 55 oordination, or the management of dependencies among tasks, can be accomplished in a number of ways in software development projects. Coordination mechanisms include such things as a defined software process, a well-documented software architecture, and detailed project planning. Agile methods tend to eschew these formal coordination mechanisms in favor of frequent, intensive, informal communication among team members and with the customer. Research has consistently shown, however, that communication across sites in geographically distributed projects is severely attenuated compared to communication in co-located projects. This strongly suggests that in order for agile methods to be effective in distributed projects, great care must be taken to ensure that the necessary communication takes place. Agile methods encourage very short planning horizons, and the

29 citations


Journal Article
TL;DR: In the context of software engineering education, the authors address this major shortcoming by teaching students to understand both the capabilities required by the client and the constraints imposed by the clients context.
Abstract: Software has jumped out of the box - it controls critical systems, pervades business and commerce, and infuses entertainment, communication, and other everyday activities. These applications are constrained not only by traditional capability and performance considerations but also by economic, business, market and policy issues and the context of intended use. The diversity of applications requires adaptability in responding to client needs, and the diversity of clients and contexts requires the ability to discriminate among criteria for success. As a result, software designers must also get out of their boxes: in addition to mastering classical software development skills, they must master the contextual issues that discriminate good solutions from merely competent ones. Current software engineering education, however, remains largely in the box: it neglects the rich fabric of issues that lie between the client's problem and actual software development. At Carnegie Mellon we address this major shortcoming by teaching students to understand both the capabilities required by the client and the constraints imposed by the client's context.

21 citations


Proceedings ArticleDOI
16 Oct 2006
TL;DR: By analyzing the evidence gained in multiple-case study, the necessary components for achieving a mature inquiry culture in distributed software development derived from the practices at Siemens Program and System Engineering are identified.
Abstract: As software specifications for complex systems are practically never entirely complete and consistent, the recipient of the specification needs domain knowledge in order to decide which parts of the system are specified clearly and which parts are specified ambiguously and thus need inquiry to get a more detailed specification By analyzing the evidence gained in multiple-case study, the necessary components for achieving a mature inquiry culture in distributed software development derived from the practices at Siemens Program and System Engineering (PSE) are identified These components are presented in three categories-pillars: project communication, requirements communication and inquiry practices

9 citations


01 Jan 2006
TL;DR: A technique to measure how congruent the actual organizational communication channels are relative to the coordination requirement imposed by the dependencies among tasks is developed and shows that congruence helped reduce resolution time of software modification requests.
Abstract: In this paper, we develop a technique to measure how congruent the actual organizational communication channels are relative to the coordination requirement imposed by the dependencies among tasks. We examine the role of congruence in the context of a closed source project of a large distributed system. Our results show that congruence helped reduce resolution time of software modification requests. We also explore the evolution of congruence across several releases of the product. As task dependencies changed over time, we found that developers, in particular the most productive ones, change their patterns of usage of communication technologies such as Internet Relay Chat (IRC) and task-tracking systems. Finally, we discuss the practical implications of our technique for the design of collaborative and awareness tools.

4 citations