12 research outputs found
In search of the origins and enduring impact of agile software development
The Agile Manifesto is a philosophical touchpoint for all agile
software development (ASD) methods. We examine the manifesto
and some of its associated agile methods in an effort to identify
the major impacts of ASD. We have encountered some difficulty
in delineating agile and non-agile software processes, which is
partially the result of terminological confusion. It is clear from the
volume of published research that ASD has made a significant
contribution, and we have identified two lasting and important
impacts. Firstly, the reduction in iteration durations and secondly,
the push for reduced levels of documentation (especially in
relation to software requirements). Other aspects of the Agile
Manifesto may not have exerted a significant impact; for example,
the use of tooling to automate processes has become central to
continuous software engineering (CSE) and may not be wholly
congruent with the manifesto. Furthermore, many organisations
may still rely on business contracts despite calls in the manifesto
for greater levels of informal customer collaboration
A longitudinal explanatory case study of coordination in a very large development programme: The impact of transitioning from a first- to a second-generation large-scale agile development method
Large-scale agile development has gained widespread interest in the software industry, but it is a topic with few empirical studies of practice. Development projects at scale introduce a range of new challenges in managing a large number of people and teams, often with high uncertainty about product requirements and technical solutions. The coordination of teams has been identified as one of the main challenges. This study presents a rich longitudinal explanatory case study of a very large software development programme with 10 development teams. We focus on inter-team coordination in two phases: one that applies a first-generation agile development method and another that uses a second-generation one. We identified 27 coordination mechanisms in the first phase, and 14 coordination mechanisms in the second. Based on an analysis of coordination strategies and mechanisms, we develop five propositions on how the transition from a first- to a second-generation method impacts coordination. These propositions have implications for theory and practice.publishedVersio
Characterizing industry-academia collaborations in software engineering: evidence from 101 projects
Research collaboration between industry and academia supports improvement and innovation in industry and helps ensure the industrial relevance of academic research. However, many researchers and practitioners in the community believe that the level of joint industry-academia collaboration (IAC) projects in Software Engineering (SE) research is relatively low, creating a barrier between research and practice. The goal of the empirical study reported in this paper is to explore and characterize the state of IAC with respect to industrial needs, developed solutions, impacts of the projects and also a set of challenges, patterns and anti-patterns identified by a recent Systematic Literature Review (SLR) study. To address the above goal, we conducted an opinion survey among researchers and practitioners with respect to their experience in IAC. Our dataset includes 101 data points from IAC projects conducted in 21 different countries. Our findings include: (1) the most popular topics of the IAC projects, in the dataset, are: software testing, quality, process, and project managements; (2) over 90% of IAC projects result in at least one publication; (3) almost 50% of IACs are initiated by industry, busting the myth that industry tends to avoid IACs; and (4) 61% of the IAC projects report having a positive impact on their industrial context, while 31% report no noticeable impacts or were “not sure”. To improve this situation, we present evidence-based recommendations to increase the success of IAC projects, such as the importance of testing pilot solutions before using them in industry. This study aims to contribute to the body of evidence in the area of IAC, and benefit researchers and practitioners. Using the data and evidence presented in this paper, they can conduct more successful IAC projects in SE by being aware of the challenges and how to overcome them, by applying best practices (patterns), and by preventing anti-patterns.The authors would like to thank the researchers and practitioners who participated in this survey. João M.
Fernandes was supported by FCT (Fundação para a Ciência e Tecnologia) within the Project Scope
UID/CEC/00319/2013. Dietmar Pfahl was supported by the institutional research grant IUT20-55 of the Estonian
Research Council. Andrea Arcuri was supported by the Research Council of Norway (grant agreement No
274385). Mika Mäntylä was partially supported by Academy of Finland grant and ITEA3 / TEKES grant
Itsenäisen ohjelmistokehittäjän menetelmän soveltaminen mobiilisovelluksen toteutuksessa
Itsenäisten ohjelmistokehittäjien määrä on nykypäivänä kasvussa, mutta heille tarkoitettuja ohjelmistotuotannon menetelmiä on kehitetty ja tutkittu hyvin rajallisesti. Tässä tutkielmassa perehdytään erilaisiin itsenäisen kehittäjän ohjelmistotuotannon menetelmiin ja tutkitaan sitten näistä yhden soveltamista itsenäisen kehittäjän mobiilisovelluksen kehitysprojektin alkuvaiheessa. Tavoite on löytää projektiin soveltuva menetelmä sekä tuottaa uutta tietoa valittuun menetelmään liittyen.
Tutkittavaksi menetelmäksi valittiin Agarwalin ja Umphressin esittelemä Personal Extreme Programming (PXP), johon liittyvää aiempaa tutkimusta todettiin löytyvän hyvin vähän. Tästä syystä oltiinkin kiinnostuneita sen projektiin soveltumisen lisäksi myös yleisesti sen käyttöönottoon vaikuttavista tekijöistä sekä sen prosessiohjeen toimivuudesta. Näihin kysymyksiin etsittiin vastauksia laadullisen tapaustutkimuksen keinoin haastattelemalla kehittäjää jokaisen tapaustutkimuksen aikana seuratun iteraation päätteeksi sekä lisäksi kehittäjän kirjoittaman kehitystyöhön liittyneen päiväkirjan avulla. Menetelmän soveltuvuutta projektiin ja sen käyttöönottoon vaikuttaneita tekijöitä tutkittiin etsimällä aineistosta havaintoja teknologian hyväksymisteorioihin Technology Acceptance Model (TAM) sekä Diffusion of Innovation (DOI) pohjaten. Menetelmän prosessiohjeen toimivuuden suhteen esitellään sovelluksen kehitysprosessia PXP:n näkökulmasta ja samalla kehittäjän huomioita siitä.
Tutkimuksen tuloksena todettiin erityisesti PXP:n toimintaohjeen yksityiskohtaisuus ja perusteellisuus sekä moni PXP:n käytäntö menetelmän hyväksymisen kannalta positiivisina tekijöinä. Toisaalta kuitenkin toimintaohjeen yksityiskohtaisuus teki menetelmästä osaltaan myös monimutkaisen kehittäjän taitojen ja kokemuksen puutteen ohella. Pääasiassa PXP:n käyttöönoton hyväksymiseen positiivisesti vaikuttaneita tekijöitä löydettiin enemmän ja näiden sekä kehittäjän oman arvion perusteella todettiin PXP:n soveltuneen hyvin tapaustutkimuksessa seurattuun projektiin. Myös PXP:n prosessiohjeen todettiin toimineen pääasiassa hyvin, mutta myös muutama kehityskohde erityisesti tapaustutkimuksessa seurattua projektia ajatellen havaittiin muun muassa toimintaohjeen yksikkötestauksen ja versionhallinnan päivityksen paikkojen vaihtamisen sekä toteutuksen aikaisen hyväksymistestauksen paikan suhteen
Recommended from our members
Variations Foraging
Information Foraging Theory (IFT) has successfully explained how people seek information in various domains, in turn, informing the design of several tools and information-intensive environments. However, prior research has not explored foraging in the presence of several, very similar variants of the same artifact. Such variants are commonplace in several creative, exploratory tasks such as graphic design, writing and programming.
In this thesis, we evaluate whether and how IFT applies to variants. Using empirical studies and computational models that predict programmers’ information foraging among variants, this thesis provides evidence for the applicability of IFT in variations situations and offers new insights for variations-support tools. Along the way, this thesis also demonstrates the benefits of computationally modeling: 1) the hierarchical organization of information environments, 2) variable costs of navigation in an information environment and 3) accounting for non-textual (graphical) information