7 research outputs found

    Test-Driven Development as an Innovation Value Chain

    Get PDF
    For all companies that consider their Information Technology Department to be of strategic value, it is important to incorporate an innovation value chain into their software development lifecycles to enhance their teams' performance. One model is TDD (Test-Driven Development), which is a process that detects failures and improves the productivity and quality of the team’s work. Data were collected from a Financial Company with 3,500 employees to demonstrate that software projects that require more than 4,000 hours of development benefit from TDD if a clear knowledge conversion step occurs between the client and the developers

    Quality definitions and measurements in software engineering experiments on pair programming

    Get PDF
    Oppgaven analyserer 15 forskningsartikler og presenterer en oversikt over hvordan kvalitet er definert og målt i disse artiklene. Alle artiklene omhandler par programmering. Stikkord: Par programmering, programvareutvikling, kvalitetsdefinisjon, kvalitetsmål, produktkvalitetesmål, prosesskvalitetsmål, subjektive og objektive mål

    The Impact of Pair Programming and Test-Driven Development on Package Dependencies in Object-Oriented Design - An Experiment

    No full text
    Abstract. Background: Test-driven development (TDD) and pair programming are software development practices popularized by eXtreme Programming methodology. The aim of the practices is to improve software quality. Objective: Provide an empirical evidence of the impact of both practices on package dependencies playing a role of package level design quality indicators. Method: An experiment with a hundred and eighty eight MSc students from Wroclaw University of Technology, who developed finance-accounting system in different ways (CS — classic solo, TS — TDD solo, CP — classic pairs, TP — TDD pairs). Results: It appeared that package level design quality indicators (namely package dependencies in an object-oriented design) were not significantly affected by development method. Limitations: Generalization of the results is limited due to the fact that MSc students participated in the study. Conclusions: Previous research revealed that using test-driven development instead of classic (test-last) testing approach had statistically significant positive impact on some class level software quality indicators (namely CBO and RFC metrics) in case of solo programmers as well as pairs. Combined results suggest that the positive impact of test-driven development on software quality may be limited to class level.

    Why do software developers practice test-driven development?

    Get PDF
    This dissertation describes research that has been undertaken to understand factors influencing software developers' intention to perform test driven development (TDD). Unit tests are a form of testing, where tests are written for small units of software being developed. TDD is a practice where these tests are written before the functionality is written, so as to guide the design of the code for the functionality, as well as to ensure test coverage for all functionality. There has been some research conducted to understand TDD by looking at its effects on both the outcomes and the practice of software development. It has been found to increase quality by decreasing defects, while also increasing the maintainability and the changeability of the code. On the other hand, some research has also found it to increase time spent on completing tasks. Despite this, to the best of the researcher's knowledge, there hasn't been research done to understand the behavioural components of TDD, and in particular, why developers choose to practice TDD. A conceptual model based on the Theory of Planned Behaviour (TPB) is described and used as a lens to understand intention. TPB proposes that intention to perform a behaviour (TDD in this case) is influenced by three factors: attitude towards the behaviour, subjective norm, and perceived behavioural control. This dissertation seeks to build onto this model for the purpose of understanding TDD, and proposes the following determinants of the influences of intention: attitude is influenced by attitude towards time taken, differences in quality, maintainability and developer efficiency; subjective norm is influenced by the perceived perception of the environment regarding changes in quality, time taken, and maintainability of the code. Lastly, perceived behavioural control is posited to be made up of perceived difficulty of TDD, and how much experience a developer has. This model is then tested based on data collected from a n online survey distributed around the world. 779 responses were collected from developers in various countries around the world. The majority of the respondents to practice TDD, allowing us to gain greater insight into why those that practice TDD actually do so. Because the study is a psychographic study, perceptions were understood from the developers using an ordinal Likert scale. To analyse this data in order to prove the hypotheses, Chi -¬‐ square tests with contingency tables, Kruskal -¬‐ Wallis tests and ordinal logistic regression were used as statistical methods. It is found the data collected does not conform to the model, and recommendations are made for a future study to form a more comprehensive model

    Programação em par: investigando sua eficácia perante tarefas de modelagem e construção de software

    Get PDF
    Among eXtreme Programming (XP) practices, Pair Programming(PP) stands out from the rest. It consists of two individuals cooperating, working in the same task - design, algorithm, code or test - in the same computer. The general objective of this study is to scrutinize the efficacy of Pair Programming versus individual programming relating to modeling tasks and object oriented software development. The efficacy of the process is evaluated through the following software quality related attributes: (i) method size, (ii) structural complexity of the methods, (iii) linkage/dependency among packages and finally (iv) lack of cohesion of the methods by class. Therefore, an experimental research was performed, involving practical activities and surveys answered by volunteer students from three different higher education institutions in Curitiba. This research showed that pair programming is more efficient when working with modeling tasks and software development than individual programming, taking into account size and complexity of methods. Furthermore, more pros than cons were found by students when pair programming was chosen to accomplish such tasks.Dentre as práticas da Programação Extrema, ou eXtreme Programming (XP), destaca-se a Programação em Par, ou Pair Programming (PP). Nesta prática duas pessoas trabalham de forma colaborativa na mesma tarefa – projeto, algoritmo, código ou teste – e em um único computador. O objetivo geral deste trabalho é investigar a eficácia da Programação em Par versus Programação individual perante tarefas de modelagem e construção de software orientado a objetos. A eficácia da prática é avaliada por meio de atributos relacionados à qualidade de software, são eles: (i) tamanho dos métodos, (ii) complexidade estrutural dos métodos, (iii) acoplamento/dependência entre pacotes e, por fim, (iv) falta de coesão dos métodos por classe. Para isso, foi realizada uma pesquisa experimental envolvendo atividades práticas e aplicação de questionários junto a alunos voluntários de três instituições de ensino superior da cidade de Curitiba. A partir dessa pesquisa, conclui-se que Programação em Par mostrou-se mais eficaz perante tarefas de modelagem e construção de software que a programação individual, isso considerando tamanho e complexidade dos métodos. E mais, os alunos perceberam mais benefícios do que desafios (ou desvantagens) quando se adota a PP para realizar tais tarefas

    THE TRUE COST OF PAIR PROGRAMMING: DEVELOPMENT OF A COMPREHENSIVE MODEL AND TEST

    Get PDF
    To advance the nomological net and theory, this dissertation proposed a comprehensive pair programming research model where the relationships among system complexity, programming methods, pair composition, effort, duration, defect rate, knowledge transfer, and various cost constructs were investigated. A multi-method, multi-study empirical approach was adopted. The survey method was employed for Study 1, and the bootstrap simulation method for Study 2. The reponses from 191 industry software developers and the simulation results suggest the previous conclusions regarding pair programming are limited in nature and the pair programming approach may not be as desirable in all situations as was previously assumed. The pair programming approach clearly adds value in situations where it is appropriate but certain conditions must be met for this goal to be achieved. Pair composition must be taken into account, and it is important to examine the interactions of multiple cost factors such as defect, effort, duration, and knowledge transfer and consider their combined effect on the ultimate goal of the project
    corecore