Daniela E. Damian
University of Victoria
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Daniela E. Damian.
Archive | 2008
Steve M. Easterbrook; Janice Singer; Margaret-Anne D. Storey; Daniela E. Damian
Selecting a research method for empirical software engineering research is problematic because the benefits and challenges to using each method are not yet well catalogued. Therefore, this chapter describes a number of empirical methods available. It examines the goals of each and analyzes the types of questions each best addresses. Theoretical stances behind the methods, practical considerations in the application of the methods and data collection are also briefly reviewed. Taken together, this information provides a suitable basis for both understand- ing and selecting from the variety of methods applicable to empirical software engineering.
mining software repositories | 2009
Eirini Kalliamvakou; Georgios Gousios; Kelly Blincoe; Leif Singer; Daniel M. German; Daniela E. Damian
With over 10 million git repositories, GitHub is becoming one of the most important source of software artifacts on the Internet. Researchers are starting to mine the information stored in GitHubs event logs, trying to understand how its users employ the site to collaborate on software. However, so far there have been no studies describing the quality and properties of the data available from GitHub. We document the results of an empirical study aimed at understanding the characteristics of the repositories in GitHub and how users take advantage of GitHubs main features---namely commits, pull requests, and issues. Our results indicate that, while GitHub is a rich source of data on software development, mining GitHub for research purposes should take various potential perils into consideration. We show, for example, that the majority of the projects are personal and inactive; that GitHub is also being used for free storage and as a Web hosting service; and that almost 40% of all pull requests do not appear as merged, even though they were. We provide a set of recommendations for software engineering researchers on how to approach the data in GitHub.
international conference on global software engineering | 2007
Daniela E. Damian; Luis Izquierdo; Janice Singer; Irwin Kwan
Global software teams face challenges when collaborating over long distances, such as communicating changes in the project. During a four-month case study at IBM Ottawa Software Lab we observed the collaboration patterns of a multi-site development project team. In this period, we inspected project documentation, interviewed team leaders, attended project meetings, and spoke with developers to identify problems originated by the lack of awareness of changes related to the implementation of work items. Our observations show (1) that organizational culture has an effect on how developers are made aware; (2) that communication-based social networks revolving around particular work items are dynamic throughout development, and therefore awareness needs to be maintained in infrastructures of work; and (3) that information overload and communication breakdowns contributed to the generation of a broken integration build. We discuss these breakdowns in communication and implications for the design of collaboration tools that could mitigate these problems.
IEEE Software | 2006
Daniela E. Damian; Deependra Moitra
Global software development efforts have increased in recent years, and such development seems to have become a business necessity for various reasons, including cost, availability of resources, and the need to locate development closer to customers. However, theres still much to learn about global software development before the discipline becomes mature. This special issue aims to assess the gap between the state of the art and the state of the practice. It presents five articles that cover various aspects of global software development, including knowledge management strategies, distributed software development, requirements engineering, distributed requirements, and managing offshore collaboration. A Point/Counterpoint department discusses whether global software development is indeed a business necessity.This article is part of a special issue on Global Software Development.
international conference on software engineering | 2009
Timo Wolf; Adrian Schröter; Daniela E. Damian; Thanh H. D. Nguyen
A critical factor in work group coordination, communication has been studied extensively. Yet, we are missing objective evidence of the relationship between successful coordination outcome and communication structures. Using data from IBMs Jazz™ project, we study communication structures of development teams with high coordination needs. We conceptualize coordination outcome by the result of their code integration build processes (successful or failed) and study team communication structures with social network measures. Our results indicate that developer communication plays an important role in the quality of software integrations. Although we found that no individual measure could indicate whether a build will fail or succeed, we leveraged the combination of communication structure measures into a predictive model that indicates whether an integration will fail. When used for five project teams, our predictive model yielded recall values between 55% and 75%, and precision values between 50% to 76%.
IEEE Transactions on Software Engineering | 2006
Daniela E. Damian; James Chisan
Requirements engineering is an important component of effective software engineering, yet more research is needed to demonstrate the benefits to development organizations. While the existing literature suggests that effective requirements engineering can lead to improved productivity, quality, and risk management, there is little evidence to support this. We present empirical evidence showing how requirements engineering practice relates to these claims. This evidence was collected over the course of a 30-month case study of a large software development project undergoing requirements process improvement. Our findings add to the scarce evidence on RE payoffs and, more importantly, represent an in-depth explanation of the role of requirements engineering processes in contributing to these benefits. In particular, the results of our case study show that an effective requirements process at the beginning of the project had positive outcomes throughout the project lifecycle, improving the efficacy of other project processes, ultimately leading to improvements in project negotiation, project planning, and managing feature creep, testing, defects, rework, and product quality. Finally, we consider the role collaboration had in producing the effects we observed and the implications of this work to both research and practice
hawaii international conference on system sciences | 2003
Daniela E. Damian; Didar Zowghi
There is an increasing interest in research addressing issues of global software development. Specifying software requirements is a communication-intensive collaborative activity that is increasingly performed across cultural, language and time zone boundaries. While inadequate communication significantly impacts the bridging of geographical distance between stakeholders, the cultural differences cannot be considered less significant. Findings from two global software development organizations enables us to present a model of impact of distance and the affected requirements activities due to problems of cultural diversity, inadequate communication, knowledge management and time differences. This evidence provides an important insight into the interplay between culture and conflict as well as the impact of distance on the ability to reconcile different viewpoints with regards to requirements and requirements processes.
international conference on global software engineering | 2007
Rafael Prikladnicki; Jorge Luis Nicolas Audy; Daniela E. Damian; T.C. de Oliveira
Distributed Software Development involves a number of different business models, and companies intending to embark on the journey of distributed development have difficulty choosing the model(s) that suits their process and current software practice. More literature that presents similarities as well as differences among these models, in terms of processes, practices and challenges that characterize them, is thus becoming critical to software practitioners. This paper intends to bring more knowledge in this direction. We present empirical evidence from a case study of DSD practice in five companies that had projects following one or more of the different DSD business models described in the literature. We discuss the similarities and differences in the challenges faced by the projects in these models, as well as the relationship between the models, development process, and project size and complexity, as reported in the projects studied.
international conference on software engineering | 2006
Daniela E. Damian; Allyson F. Hadwin; Ban Al-Ani
In the context of increasing pressure to adopt global approaches to software development, the importance of teaching skills for geographically distributed software development (GSD) becomes essential. This paper reports the experience of teaching a course to prepare graduates for software engineering (SE) in global customer-developer teams, and which was taught in three-University collaboration (Canada, Australia and Italy). The course emphasized the learning of requirements management activities in frequent synchronous computer-mediated client-developer relationships and created a GSD environment with significant time zone and language differences. We describe our instructional approach and assessment strategies within a GSD instructional design framework which integrates (a) required GSD skills and strategies for aligning classroom projects with contemporary and authentic GSD conditions, (b) strategies for assessment of learning of GSD skills and (c) examples from our GSD course.
international conference on global software engineering | 2008
Thanh H. D. Nguyen; Timo Wolf; Daniela E. Damian
Nowadays, distributed development is common in software development. Besides many advantages, research in the last decade has consistently found that distribution has a negative impact on collaboration in general, and communication and task completion time in particular. Adapted processes, practices and tools are demanded to overcome these challenges. We report on an empirical study of communication structures and delay, as well as task completion times in IBMs distributed development project Jazz. The Jazz project explicitly focuses on distributed collaboration and has adapted processes and tools to overcome known challenges. We explored the effect of distance on communication and task completion time and use social network analysis to obtain insights about the collaboration in the Jazz project. We discuss our findings in the light of existing literature on distributed collaboration and delays.