5 research outputs found

    Predicting Software Revision Outcomes on Github Using Structural Holes Theory

    Get PDF
    Many software repositories are hosted publicly online via social platforms. Online users contribute to the software projects not only by providing feedback and suggestions, but also by submitting revisions to improve the software quality. This study takes a close look at revisions and examines the impact of social media networks on the revision outcome. A novel approach with a mix of different research methods (e.g., ego-centric social network analysis, structural holes theory and survival analysis) is used to build a comprehensible model to predict the revision outcome. The predictive performance is validated using real life datasets obtained from GitHub, the social coding website, which contains 32,962 pull requests to submit revisions, 20,399 distinctive software project repositories, and a social network of 234,322 users. Good predictive performance has been achieved with an average AUC of 0.84. The results suggest that a repository host's position in the ego network plays an important role in determining the duration before a revision is accepted. Specifically, hosts that are positioned in between densely connected social groups are likely to respond more quickly to accept the revisions. The study demonstrates that online social networks are vital to software development and advances the understanding of collaboration in software development research. The proposed method can be applied to support decision making in software development to forecast revision duration. The result also has several implications for managing project collaboration using social media

    Enhancing Software Project Outcomes: Using Machine Learning and Open Source Data to Employ Software Project Performance Determinants

    Get PDF
    Many factors can influence the ongoing management and execution of technology projects. Some of these elements are known a priori during the project planning phase. Others require real-time data gathering and analysis throughout the lifetime of a project. These real-time project data elements are often neglected, misclassified, or otherwise misinterpreted during the project execution phase resulting in increased risk of delays, quality issues, and missed business opportunities. The overarching motivation for this research endeavor is to offer reliable improvements in software technology management and delivery. The primary purpose is to discover and analyze the impact, role, and level of influence of various project related data on the ongoing management of technology projects. The study leverages open source data regarding software performance attributes. The goal is to temper the subjectivity currently used by project managers (PMs) with quantifiable measures when assessing project execution progress. Modern-day PMs who manage software development projects are charged with an arduous task. Often, they obtain their inputs from technical leads who tend to be significantly more technical. When assessing software projects, PMs perform their role subject to the limitations of their capabilities and competencies. PMs are required to contend with the stresses of the business environment, the policies, and procedures dictated by their organizations, and resource constraints. The second purpose of this research study is to propose methods by which conventional project assessment processes can be enhanced using quantitative methods that utilize real-time project execution data. Transferability of academic research to industry application is specifically addressed vis-à-vis a delivery framework to provide meaningful data to industry practitioners

    Agile Software Development: Exploring the Values and Principles, Collaboration and Boundary Objects

    Get PDF
    Agile software development, both a movement and a set of software development methods, guided by the values and principles state in the Manifesto for Agile development (Beck et al. 2001), should not be seen only as a collection of development methods. This thesis proposes that in order to understand what constitutes differences or similarities between Agile organisations, one should apply a holistic view of Agile development. This view consists of three elements that form the Agile development environment: the perspective the organisations have towards Agile, the Agile process the organisations follow and the Agile structures that form the basis for the process. By proposing this framework of Agile engagement, the thesis answers following research questions: 1. How does collaboration in organisations differ under the various approaches towards Agile? 2. How do organisations structure collaboration between Agile teams and business stakeholders? 3. How are boundary objects used in collaboration between these groups? As research method, I followed the eight steps of the SPS approach and conducted a qualitative, interpretive case study. The study consists of three case studies. First, the Extreme Inc. case is an example of an organisation where the members hold an Avid perspective towards Agile methods. The organisation had arranged the collaboration to follow a tightly integrated model where boundary objects are applied to support the pair programming method and foster face-to-face collaboration. The case of Escapade and Carmine presents an example of an Inclusive Agile perspective, where organisations strive to focus on collaboration and boundary mitigation. The organisations had set up a collaboration configuration, where boundary spanners and all boundary objects were designed to create a sense of presence and ease of collaboration. The last case, the PrecautionCorp program, is a study of an organisation where the members of the organisation have chosen to observe Agile methods in a Pragmatic way. All collaboration between the stakeholders was organised via selected boundary spanners who mitigated the boundaries but also maintained a level of control over the chaos by applying a variety of boundary objects. By analysing the three case studies, I have identified three main elements that impact Agile software development: the perspective the organisations have towards the Agile philosophy which impacts the Agile process, that is, how the Agile methods are applied in practice; the configuration of the business stakeholder collaboration; and the application of the boundary objects. Based on this analysis, I have presented the framework for Agile engagement, a holistic theory that tied together the elements of Agile development. The practical contributions of this thesis are several: practitioners can apply the framework for Agile engagement when analysing their own positions, can benefit from better understanding of the relations between Agile process, Agile perspective and Agile structures, and can enhance their understanding of the best possible application of boundary objects

    Using free and open source tools to manage software quality

    No full text
    corecore