5,464 research outputs found
Factors influencing software developers’ use of pair programming in an agile software development methodology environment.
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
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
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
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
- …