83,067 research outputs found

    A framework for understanding the factors influencing pair programming success

    Get PDF
    Pair programming is one of the more controversial aspects of several Agile system development methods, in particular eXtreme Programming (XP). Various studies have assessed factors that either drive the success or suggest advantages (and disadvantages) of pair programming. In this exploratory study the literature on pair programming is examined and factors distilled. These factors are then compared and contrasted with those discovered in our recent Delphi study of pair programming. Gallis et al. (2003) have proposed an initial framework aimed at providing a comprehensive identification of the major factors impacting team programming situations including pair programming. However, this study demonstrates that the framework should be extended to include an additional category of factors that relate to organizational matters. These factors will be further refined, and used to develop and empirically evaluate a conceptual model of pair programming (success)

    "Almost-stable" matchings in the Hospitals / Residents problem with Couples

    Get PDF
    The Hospitals / Residents problem with Couples (hrc) models the allocation of intending junior doctors to hospitals where couples are allowed to submit joint preference lists over pairs of (typically geographically close) hospitals. It is known that a stable matching need not exist, so we consider min bp hrc, the problem of finding a matching that admits the minimum number of blocking pairs (i.e., is ā€œas stable as possibleā€). We show that this problem is NP-hard and difficult to approximate even in the highly restricted case that each couple finds only one hospital pair acceptable. However if we further assume that the preference list of each single resident and hospital is of length at most 2, we give a polynomial-time algorithm for this case. We then present the first Integer Programming (IP) and Constraint Programming (CP) models for min bp hrc. Finally, we discuss an empirical evaluation of these models applied to randomly-generated instances of min bp hrc. We find that on average, the CP model is about 1.15 times faster than the IP model, and when presolving is applied to the CP model, it is on average 8.14 times faster. We further observe that the number of blocking pairs admitted by a solution is very small, i.e., usually at most 1, and never more than 2, for the (28,000) instances considered

    Towards the effective distribution of agile practice

    Get PDF
    The agile methods are quickly gaining notoriety amongst software engineers. Having been developed over the past decade, they now present a mature, lightweight alternative to the "classic" approaches to software engineering. Although agile methods have solved some of the problems of established software engineering practice, they have created some problems of their own. Most importantly, we can infer a, potentially problematic, requirement of collocation. In this research I intend to develop a system that will allow the effective distribution of agile practice, with a particular focus on the eXtreme Programming method. This paper discusses the motivation for this research and outlines the proposed research method and evaluation

    Engineering Resilient Collective Adaptive Systems by Self-Stabilisation

    Get PDF
    Collective adaptive systems are an emerging class of networked computational systems, particularly suited in application domains such as smart cities, complex sensor networks, and the Internet of Things. These systems tend to feature large scale, heterogeneity of communication model (including opportunistic peer-to-peer wireless interaction), and require inherent self-adaptiveness properties to address unforeseen changes in operating conditions. In this context, it is extremely difficult (if not seemingly intractable) to engineer reusable pieces of distributed behaviour so as to make them provably correct and smoothly composable. Building on the field calculus, a computational model (and associated toolchain) capturing the notion of aggregate network-level computation, we address this problem with an engineering methodology coupling formal theory and computer simulation. On the one hand, functional properties are addressed by identifying the largest-to-date field calculus fragment generating self-stabilising behaviour, guaranteed to eventually attain a correct and stable final state despite any transient perturbation in state or topology, and including highly reusable building blocks for information spreading, aggregation, and time evolution. On the other hand, dynamical properties are addressed by simulation, empirically evaluating the different performances that can be obtained by switching between implementations of building blocks with provably equivalent functional properties. Overall, our methodology sheds light on how to identify core building blocks of collective behaviour, and how to select implementations that improve system performance while leaving overall system function and resiliency properties unchanged.Comment: To appear on ACM Transactions on Modeling and Computer Simulatio

    Bridging the Gap Between Research and Practice: The Agile Research Network

    Get PDF
    We report an action research-oriented approach to investigating agile project management methods which aims to bridge the gap between academic research and agile practice. We have set up a research network of academics from two universities, through which we run focussed project-based research into agile methods. Organisations are invited to suggest an ā€˜agile challengeā€™ and we work closely with them to investigate how challenge affects them. Our approach is both academic and practical. We use appropriate research methods such as interviews, observation and discussion to clarify and explore the nature of the challenge. We then undertake a detailed literature review to identify practical approaches that may be appropriate for adoption, and report our findings. If the organisation introduces new practices or approaches as a result of our work, we conduct an academic evaluation. Alternatively, if we uncover an under-researched area, we propose undertaking some basic research. As befits the topic, we work iteratively and incrementally and produce regular outputs. In this paper we introduce our approach, overview research methods used in the agile research literature, describe our research model, outline a case study, and discuss the advantages and disadvantages of our approach. We discuss the importance of producing outputs that are accessible to practitioners as well as researchers. Findings suggest that by investigating the challenges that organisations propose, we uncover problems that are of real relevance to the agile community and obtain rich insights into the facilitators and barriers that organisations face when using agile methods. Additionally, we find that practitioners are interested in research results as long as publications are relevant to their needs and are written accessibly. We are satisfied with the basic structure of our approach, but we anticipate that the method will evolve as we continue to work with collaborators
    • ā€¦
    corecore