133 research outputs found

    Better, Not More Expensive, Faster? The Perceived Effects of Pair Programming in Survey Data

    Get PDF
    There are many different techniques used with agile software development methods. Some of these, such as common coding guidelines and test driven development, are widely adopted and there appears to be a consensus that they can be beneficial. Others, however, are more controversial, none more so perhaps than pair programming. This technique meets resistance both from developers, who do not always wish to program with another person, and from managers, who see the sharing of a workstation as a potential barrier to programmer productivity. Its supporters, however, claim that it can have many benefits, in particular improving software quality. In this paper we look at the outcomes of previous research into the effects of pair programming and analyse some survey data to see how practitioners perceive its potential benefits for project outcomes in terms of quality, productivity, stakeholder satisfaction and cost. We conclude that the survey data appears to reinforce many of the previous claims made for the benefits of pair programming, but also raises questions that need further investigation

    Beyond the border: A comparative literature review on communication practices for agile global outsourced software development projects

    Get PDF
    Software development is increasingly heading in the direction of combining agile software development practices and outsourcingsoftware development to external vendors worldwide. The resultingagile global outsourced software development (AGOSD) projects are characterized by applying agile methods to distributed environments, whichresults in several problems for collaboration and coordination. Specifically, communication between the project participantshas been found to be a major challenge in distributed environment. Therefore, our study investigates the problem of improving communication in distributed settings by identifying suitable communication practicesfor usage within AGOSD projects.Based on an extensive literature review,our study (1) provides an overview of adequate practices for usage in AGOSD and (2) points out differences to traditional communication practices ofagile software development(ASD)projects used in collocated, non-distributed environments

    Adopting agile methodologies in distributed software development

    Get PDF
    From the second half of the '90s, some software engineering practitioners introduced a new group of software development methodologies called Agile Methodologies (Ams): they have been developed to overcome the limits of the traditional approaches in the software development. FLOSS (Free Libre Open Source Software) has been proposed as possible different solution to the software crisis that is afflicting the ICT worldwide business. If the AMs improve the quality code and allow to respond quickly to requirement changes, FLOSS approach decreases the development costs and increases the spreading of competences about the software products. A debate is shaping about the compatibility of these two approaches. Software development teams have been spreading around the world, with users in Europe, management in the USA and programmers in the USA and India. The scattering of team members and functions around the world introduces barriers to productivity, cultural and languages differences can lead to misunderstanding of requirements, time zone differences can delay project schedules. Agile methods can provide a competitive advantage by delivering early, simplifying communication and allowing the business to respond more quickly to the market by changing the software. Trying to distribute a development project in an agile way isn't easy and will involve compromises. The goal of this thesis is to determine the application of the AMs in several contexts so to define which of these can be used effectively in non traditional software projects as the distributed development

    Exploring the Customer Perspective of Agile Development: Acceptance Factors and On-Site Customer Perceptions in Scrum Projects

    Get PDF
    In recent years, agile development methodologies have attracted great attention. Although the success of agile development projects depends considerably on the willingness of customers to actively participate, little research has examined which factors of such methodologies customers perceive as benefits or drawbacks. Employing an exploratory, primarily qualitative study design and the Diffusion of Innovations Theory as theoretical lens, we identify several acceptance factors of Scrum as a specific methodology and describe how customers perceive them. As basis for our examination, we use empirical data that was collected at a world-wide leading insurance company and a mixed-method approach that combines qualitative with quantitative data analyses. The results suggest that customers found Scrum to deliver relative advantages. Furthermore, they indicate that Scrum is perceived as more compatible to the way customers prefer to work in development projects. Factors that characterize the perceived complexity of Scrum were viewed as potential acceptance barriers, however

    Adopting agile methodologies in distributed software development

    Get PDF
    From the second half of the '90s, some software engineering practitioners introduced a new group of software development methodologies called Agile Methodologies (Ams): they have been developed to overcome the limits of the traditional approaches in the software development. FLOSS (Free Libre Open Source Software) has been proposed as possible different solution to the software crisis that is afflicting the ICT worldwide business. If the AMs improve the quality code and allow to respond quickly to requirement changes, FLOSS approach decreases the development costs and increases the spreading of competences about the software products. A debate is shaping about the compatibility of these two approaches. Software development teams have been spreading around the world, with users in Europe, management in the USA and programmers in the USA and India. The scattering of team members and functions around the world introduces barriers to productivity, cultural and languages differences can lead to misunderstanding of requirements, time zone differences can delay project schedules. Agile methods can provide a competitive advantage by delivering early, simplifying communication and allowing the business to respond more quickly to the market by changing the software. Trying to distribute a development project in an agile way isn't easy and will involve compromises. The goal of this thesis is to determine the application of the AMs in several contexts so to define which of these can be used effectively in non traditional software projects as the distributed development

    Can embedded space system development benefit from agile practices?

    Get PDF

    Scrum-prosessimallin käyttöliittymäriskien minimointi simulointipohjaisella GDD-käyttöliittymäsuunnittelumenetelmällä

    Get PDF
    Scrum-prosessimalli jättää menettelyt ohjelmiston käyttöliittymän tuottamiseen auki ja käyttöliittymä syntyy pahimmillaan toimintolistan pohjalta ohjelmoinnin sivutuotteena. Näin syntynyt järjestelmä soveltuu suurella riskillä huonosti käyttötarkoitukseensa. Tässä tutkielmassa analysoitiin Scrum-prosessimallin käyttöliittymäriskikohtia, joita löytyi kolme: asiakkaan toivomat ominaisuudet päätyvät sellaisinaan ohjelmiston vaatimuksiksi, toimintolistan pohjalta syntyy käytettävyydeltään heikkoja käyttöliittymäratkaisuja ja käyttöliittymän arviointi sprintin katselmoinnissa tuottaa epäluotettavia tuloksia. Tutkielmassa käsitellään Scrum-prosessimallin käyttöliittymäriskien minimointia simulointipohjaisella GDD-käyttöliittymäsuunnittelulla. Riskien minimointia tarkastellaan esimerkkitapauksen avulla, jossa ohjelmistoyritys Reaktor toteutti ammattikorkeakoulun toiminnansuunnittelujärjestelmän vuosisuunnitteluosion. Esimerkkitapauksessa Scrumin käyttöliittymäriskit saatiin minimoitua selvittämällä loppukäyttäjien käyttötilanteet kontekstuaalisilla haastatteluilla, suunnittelemalla käyttöliittymä GDD-menetelmällä ja arvioimalla käyttöliittymää hyödyllisyysläpikäynneillä. Alkuperäisessä Scrumissa liiketoiminnallisesta kannattavuudesta vastaava tuotteen omistaja ja toteutustiimi ottavat vastuulleen myös käyttöliittymän toimintalogiikan. GDD:n myötä vastuu toimintalogiikasta siirretään käyttöliittymäsuunnittelijalle, jolloin Scrumin roolit muuttuvat. Tässä työssä käsitellään GDD-käyttöliittymäsuunnittelun tuomat muutokset Scrumin rooleihin ja käytäntöihin. Scrumin käyttöliittymäriskien minimoinnin jälkeen toteutusvaiheeseen jää vielä Scrumista riippumattomia käyttöliittymäriskejä. Tämän työn esimerkkitapauksessa keskeisin näistä oli käyttöliittymätoteutukseen päätyneet puutteelliset interaktiot. Riski eliminoitiin hyväksymismenettelyllä, jossa ohjelmoija antaa toteutetun ominaisuuden käyttöliittymäsuunnittelijalle tarkistettavaksi. Hyväksymismenettelyn avulla projektin työnjako selkiytyi, toteutustyön laatu parani ja toteutustiimin ja käyttöliittymäsuunnittelijoiden välinen kommunikaatio tehostui

    Using a Dynamic Domain-Specific Modeling Language for the Model-Driven Development of Cross-Platform Mobile Applications

    Get PDF
    There has been a gradual but steady convergence of dynamic programming languages with modeling languages. One area that can benefit from this convergence is modeldriven development (MDD) especially in the domain of mobile application development. By using a dynamic language to construct a domain-specific modeling language (DSML), it is possible to create models that are executable, exhibit flexible type checking, and provide a smaller cognitive gap between business users, modelers and developers than more traditional model-driven approaches. Dynamic languages have found strong adoption by practitioners of Agile development processes. These processes often rely on developers to rapidly produce working code that meets business needs and to do so in an iterative and incremental way. Such methodologies tend to eschew “throwaway” artifacts and models as being wasteful except as a communication vehicle to produce executable code. These approaches are not readily supported with traditional heavyweight approaches to model-driven development such as the Object Management Group’s Model-Driven Architecture approach. This research asks whether it is possible for a domain-specific modeling language written in a dynamic programming language to define a cross-platform model that can produce native code and do so in a way that developer productivity and code quality are at least as effective as hand-written code produced using native tools. Using a prototype modeling tool, AXIOM (Agile eXecutable and Incremental Objectoriented Modeling), we examine this question through small- and mid-scale experiments and find that the AXIOM approach improved developer productivity by almost 400%, albeit only after some up-front investment. We also find that the generated code can be of equal if not better quality than the equivalent hand-written code. Finally, we find that there are significant challenges in the synthesis of a DSML that can be used to model applications across platforms as diverse as today’s mobile operating systems, which point to intriguing avenues of subsequent research

    DEVELOPING AND EVALUATING A WEB-BASED EMERGENCY MANAGEMENT SPATIAL DECISION SUPPORT SYSTEM

    Get PDF
    This dissertation proposes and evaluates a consolidated design methodology for web-based emergency management decision support systems (WEM-DSSs). The development of the proposed methodology draws upon a literature review which crosslinks substantive topics related to evolving theoretical paradigms in disaster research and the role of information systems within organizations, and competing approaches to the development of GIS and participatory decision support systems. As a conclusion of the literature review, it was suggested that a good software development methodology should be balanced between agility and discipline. Due to the nature of this research, a mixture of Extreme Programming and Capability Maturity Integration approaches with an emphasis on agility is proposed. Then the design of the proposed methodology is refined and tested through a case study that seeks to develop a WEM-DSS for the emergency managers working in Oklahoma. The methodology's effectiveness is mainly evaluated by investigator's ability to follow proposed methodological tasks, ability to involve sufficient user input and ability to follow proposed timeline.The findings of this research enhance our understanding of delivering geographic information to users, and drawing user input from emergency management communities. From a systems development point of view, this study shows that XP and CMMI are in fact compatible with each other. From an empirical viewpoint, the study shows a complete process of following a methodology that is implemented for developing a WEMDSS. Finally, this research delivers a technical product that is built upon user input. This product employs ArcGIS Silverlight API, Microsoft Silverlight and service oriented architectures
    corecore