5,464 research outputs found

    Factors influencing software developers’ use of pair programming in an agile software development methodology environment.

    Get PDF
    Masters Degree, University of KwaZulu-Natal, Durban.IT has been growing rapidly through the years and the IT solutions which are required are no simpler. Industries want IT solutions to be flexible enough to accommodate spikes in demand and to produce outcomes as soon as possible. Therefore, the adoption of agile methodologies has been increasing. extreme programming (XP) has been the most common agile methodology adopted since 2004. Industries have struggled to make the transition from a traditional approach to agile; as there are many opposing principles: traditional methodologies drive individual programming, whereas agile drives team collaboration when developing software. However, the benefits realised from XP grew as companies noticed that teams built strong relationships, software was delivered faster and errors in code were minimal. Pair programming (an XP practice) is the least used XP programming practice. This is in spite of studies conducted in North California in the years 2010 - 2017, which noted that pair programming, when used, provides numerous benefits to both staff and company. Some of the benefits included improving productivity, reducing time spent on delivery; increasing the sharing of knowledge and strengthening teams’ morale. This challenges the gap between the adoption of pair programming (which is low) and agile (which is popular). Therefore this study was undertaken to understand the phenomena that influence the adoption of pair programming in agile software development companies. The results of this case study show that software developers have a positive attitude towards using pair programming. Their senior staff and peers encourage the use of pair programming as the company provides enough hardware and tools to accommodate the needs of pair programming. However, it was indicated by both senior and junior staff that there is reluctance by juniors to voice their opinions. The personality mix sometimes impacts the use of pair programming; for instance, introverts may not want to communicate and an extrovert may be too overpowering in a pair programming environment. However, pair programming is confirmed as a mentoring tool; to help skills development and the sharing of knowledge. In addition, pair programming is noted as more beneficial for complex tasks. Due to the constant engagement required during pair programming, the developers noted it is sometimes draining and therefore suggest regular breaks and switching of roles to maintain the synergy. Overall, pair programming is recommended for future and current use as it produces higher quality code, improves productivity, assists in sharing of knowledge and boosts the confidence and skills of those less experienced.Only available in English

    Tackling Exascale Software Challenges in Molecular Dynamics Simulations with GROMACS

    Full text link
    GROMACS is a widely used package for biomolecular simulation, and over the last two decades it has evolved from small-scale efficiency to advanced heterogeneous acceleration and multi-level parallelism targeting some of the largest supercomputers in the world. Here, we describe some of the ways we have been able to realize this through the use of parallelization on all levels, combined with a constant focus on absolute performance. Release 4.6 of GROMACS uses SIMD acceleration on a wide range of architectures, GPU offloading acceleration, and both OpenMP and MPI parallelism within and between nodes, respectively. The recent work on acceleration made it necessary to revisit the fundamental algorithms of molecular simulation, including the concept of neighborsearching, and we discuss the present and future challenges we see for exascale simulation - in particular a very fine-grained task parallelism. We also discuss the software management, code peer review and continuous integration testing required for a project of this complexity.Comment: EASC 2014 conference proceedin

    Insights from expert software design practice

    Get PDF
    Software is a designed artifact. In other design disciplines, such as architecture, there is a well-established tradition of design studies which inform not only the discipline itself but also tool design, processes, and collaborative work. The 'challenge' of this paper is to consider software from such a 'design studies' perspective. This paper will present a series of observations from empirical studies of expert software designers, and will draw on examples from actual professional practice. It will consider what experts' mental imagery, software visualisations, and sketches suggest about software design thinking. It will also discuss some of the deliberate practices experts use to promote innovation. Finally, it will open discussion on the tensions between observed software design practices and received methodology in software engineering

    Agile Requirements Engineering: A systematic literature review

    Get PDF
    Nowadays, Agile Software Development (ASD) is used to cope with increasing complexity in system development. Hybrid development models, with the integration of User-Centered Design (UCD), are applied with the aim to deliver competitive products with a suitable User Experience (UX). Therefore, stakeholder and user involvement during Requirements Engineering (RE) are essential in order to establish a collaborative environment with constant feedback loops. The aim of this study is to capture the current state of the art of the literature related to Agile RE with focus on stakeholder and user involvement. In particular, we investigate what approaches exist to involve stakeholder in the process, which methodologies are commonly used to present the user perspective and how requirements management is been carried out. We conduct a Systematic Literature Review (SLR) with an extensive quality assessment of the included studies. We identified 27 relevant papers. After analyzing them in detail, we derive deep insights to the following aspects of Agile RE: stakeholder and user involvement, data gathering, user perspective, integrated methodologies, shared understanding, artifacts, documentation and Non-Functional Requirements (NFR). Agile RE is a complex research field with cross-functional influences. This study will contribute to the software development body of knowledge by assessing the involvement of stakeholder and user in Agile RE, providing methodologies that make ASD more human-centric and giving an overview of requirements management in ASD.Ministerio de EconomĂ­a y Competitividad TIN2013-46928-C3-3-RMinisterio de EconomĂ­a y Competitividad TIN2015-71938-RED
    • …
    corecore