13 research outputs found

    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

    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

    TOWARDS A REFLECTIVE-AGILE LEARNING MODEL AND METHOD IN THE CASE OF SMALL-SHOP SOFTWARE DEVELOPMENT: EVIDENCE FROM AN ACTION RESEARCH STUDY

    Get PDF
    The ascension and use of agile and lightweight software development methods have challenged extant software design and development paradigms; this is especially notable in the case of small-team and small-shop software development. In this dissertation, a Reflective-Agile Learning Method and Methodology (RALMM) for small-shop software development, is proposed to enhance communication and learning in the use of agile methods. The purpose of the inquiry in this dissertation pertains to: the nature of the professional practice of small team software development; the implications of the epistemology of Reflective Practice has for the professional practice of small-team software development; and whether the introduction of Reflective Practice to an extant agile methodology improves process, productivity and professional confidence for a small development team. This dissertation uses Dialogical Action Research (MĂ„rtensson and Lee 2004), or Dialogical AR, a qualitative and interpretive research approach, to iteratively develop and refine the Reflective-Agile Learning Model and Method (RALMM). The proposed model and method also considers Hazzan and Tomayko’s (2002, 2004, and 2005) synthesis of Schön’s (1983, 1987) Reflective Practice and Extreme Programming (XP). RALMM is shaped by Argyris and Schön’s theories of practice (1974) and Organizational Learning (1978, 1996) and Schön’s ancillary work on generative metaphor (1979) and frames (Schön et al. 1994). The RALMM artifact was developed in a Dialogical AR Partnership using Lee’s (2007) framework for synthesizing design science and action research. The development and use of RALMM facilitated theorizing on the role of Reflective Practice in the successful use of agile methods. To assist in interpretation and analysis, the data collected during Dialogical AR cycles are analyzed using Strauss and Corbin’s (1998) Grounded Theory as a mode of analysis to guide in the coding and analysis of qualitative evidence from the research. As a result of this research, RALMM improved the practitioners’ processes and productivity. Furthermore, RALMM helped to establish, formalize and reinforce a team learning system for the continued development of the practitioners’ professional repertoire. Additionally, the iterative development of RALMM provides a basis for theorizing on Reflective Practice as an epistemology, paradigm, metaphor and frame of reference for the professional practice of small-shop software development

    The Agile Web Engineering (AWE) process

    Get PDF
    Abstract available : p.

    Arbeitsgestaltung in der Softwareentwicklung:ein empirischer Vergleich subjektiver Arbeitsmerkmale in proprietÀren und Open-Source-Softwareprojekten

    Full text link
    In der vorliegenden empirischen Studie wurden mit den Methoden der Arbeits- und Organisationspsychologie die Arbeitsgestaltung bei zwei Arten von TĂ€tigkeiten miteinander verglichen: zum einen die Arbeitsgestaltung in Open-Source-Softwareentwicklungsprojekten und zum anderen die Arbeitsgestaltung im proprietĂ€ren Umfeld der Softwareentwicklung. Es zeigte sich, dass die TĂ€tigkeitsmerkmale der KomplexitĂ€t in der Open-Source-Softwareentwicklung höher ausgeprĂ€gt sind als in der proprietĂ€ren Softwareentwicklung. Kein eindeutiger Unterschied konnte fĂŒr die sozialen Aspekte der TĂ€tigkeit nachgewiesen werden. Außerdem wurde der Wirkungszusammenhang zwischen TĂ€tigkeitsmerkmalen und organisationalen Kriterien untersucht. Es konnte jedoch nicht gezeigt werden, dass dieser fĂŒr beide Arten von TĂ€tigkeiten identisch ist. Insgesamt geben die Ergebnisse erste Hinweise auf VerbesserungsansĂ€tze fĂŒr die Gestaltung von TĂ€tigkeiten in der Softwareentwicklung und anderen Berufen

    Modellgetriebene Testfallkonstruktion durch DomÀnenexperten im Kontext von Systemfamilien

    Get PDF
    This work presents MTCC (Model-Driven Test Case Construction), an approach to the construction of acceptance tests by domain experts for testing system families based on feature models. MTCC is applied to the application domain of Digital Libraries. The basic hypothesis of this thesis is that the involvement of domain experts in the testing process for members of system families is possible on the basis of feature models and that such a testing approach has a positive influence on the efficiency and effectiveness of testing. Application quality benefits from the involvement of domain experts because tests specified by domain experts reflect their needs and requirements and therefore can serve as an executable specification. One prerequisite for the inclusion of domain experts is tooling that supports the specification of automated tests without formal modeling or programming skills. In MTCC, models of automated acceptance tests are constructed with a graphical editor based on models that represent the test-relevant functionality of a system under test as feature models and finite state machines. Feature models for individual testable systems are derived from domain-level systems for the system family. The use of feature models by the test reuse system of MTCC facilitates the systematic reuse of test models for the members of system families. MTCC is a Model-Driven test automation approach that aims at increasing the efficiency of test execution by automation while keeping independence from the implementation of the testee or the test harness in use. Because tests in MTCC are abstract models that represent the intent of the test independent from implementation specifics, MTCC employs a template-based code generation approach to generate executable test cases.Diese Arbeit stellt den Model-driven Test Case Construction (MTCC) Ansatz zur Konstruktion von wiederverwendbaren Akzeptanztests durch DomĂ€nenexperten im Kontext von Systemfamilien vor. Die Hypothese der vorliegenden Arbeit ist, dass die Einbeziehung von DomĂ€nenexperten in einen automatisierten Testprozess fĂŒr die Systeme einer Systemfamilie auf Grundlage eines modellgetriebenen Ansatzes möglich ist und dass ein solcher Ansatz die EffektivitĂ€t und Effizienz des Testens steigert. Die QualitĂ€t von Systemen profitiert von der Einbeziehung von DomĂ€nenexperten da deren Anforderungen durch die Tests wiedergegeben werden und diese somit als ausfĂŒhrbare Spezifikation dienen. Eine Voraussetzung fĂŒr die Einbeziehung von DomĂ€nenexperten in das Testen ist eine Form der WerkzeugunterstĂŒtzung die die Spezifikation von automatisierten Tests ohne Kenntnisse der Programmierung oder der formalen Modellierung gestattet. In MTCC werden abstrakte Modelle von Akzeptanztests mittels eines einfachen, graphischen Editors realisiert der seinerseits auf Modellen basiert die die testrelevant FunktionalitĂ€t von Testlingen mittels Featuremodellen und endlichen Automaten darstellen. Featuremodelle reprĂ€sentieren einzelne Systeme der zu testenden Systemfamilie die von DomĂ€nenmodellen auf Ebene der der Systemfamilie abgeleitet sind. MTCC ist ein modellgetriebener Ansatz zur Automatisierung von Tests der der Steigerung der EffektivitĂ€t der TestausfĂŒhrung dient und zugleich von den Spezifika der Implementierung des Testlings und der jeweiligen Software zur TestausfĂŒhrung entkoppelt. Da Tests in MTCC abstrakte Modelle sind, die die Semantik eines Tests unabhĂ€ngig von Implementierungswissen ausdrĂŒcken, verwendet MTCC ein auf Templates basierendes Verfahren zur Generierung von ausfĂŒhrbaren Testskripten

    Industrialising Software Development in Systems Integration

    No full text
    Compared to other disciplines, software engineering as of today is still dependent on craftsmanship of highly-skilled workers. However, with constantly increasing complexity and efforts, existing software engineering approaches appear more and more inefficient. A paradigm shift towards industrial production methods seems inevitable. Recent advances in academia and practice have lead to the availability of industrial key principles in software development as well. Specialization is represented in software product lines, standardization and systematic reuse are available with component-based development, and automation has become accessible through model-driven engineering. While each of the above is well researched in theory, only few cases of successful implementation in the industry are known. This becomes even more evident in specialized areas of software engineering such as systems integration. Today’s IT systems need to quickly adapt to new business requirements due to mergers and acquisitions and cooperations between enterprises. This certainly leads to integration efforts, i.e. joining different subsystems into a cohesive whole in order to provide new functionality. In such an environment. the application of industrial methods for software development seems even more important. Unfortunately, software development in this field is a highly complex and heterogeneous undertaking, as IT environments differ from customer to customer. In such settings, existing industrialization concepts would never break even due to one-time projects and thus insufficient economies of scale and scope. This present thesis, therefore, describes a novel approach for a more efficient implementation of prior key principles while considering the characteristics of software development for systems integration. After identifying the characteristics of the field and their affects on currently-known industrialization concepts, an organizational model for industrialized systems integration has thus been developed. It takes software product lines and adapts them in a way feasible for a systems integrator active in several business domains. The result is a three-tiered model consolidating recurring activities and reducing the efforts for individual product lines. For the implementation of component-based development, the present thesis assesses current component approaches and applies an integration metamodel to the most suitable one. This ensures a common understanding of systems integration across different product lines and thus alleviates component reuse, even across product line boundaries. The approach is furthermore aligned with the organizational model to depict in which way component-based development may be applied in industrialized systems integration. Automating software development in systems integration with model-driven engineering was found to be insufficient in its current state. The reason herefore lies in insufficient tool chains and a lack of modelling standards. As an alternative, an XML-based configuration of products within a software product line has been developed. It models a product line and its products with the help of a domain-specific language and utilizes stylesheet transformations to generate compliable artefacts. The approach has been tested for its feasibility within an exemplarily implementation following a real-world scenario. As not all aspects of industrialized systems integration could be simulated in a laboratory environment, the concept was furthermore validated during several expert interviews with industry representatives. Here, it was also possible to assess cultural and economic aspects. The thesis concludes with a detailed summary of the contributions to the field and suggests further areas of research in the context of industrialized systems integration

    Higher Order Mutation Testing

    Get PDF
    Mutation testing is a fault-based software testing technique that has been studied widely for over three decades. To date, work in this field has focused largely on first order mutants because it is believed that higher order mutation testing is too computationally expensive to be practical. This thesis argues that some higher order mutants are potentially better able to simulate real world faults and to reveal insights into programming bugs than the restricted class of first order mutants. This thesis proposes a higher order mutation testing paradigm which combines valuable higher order mutants and non-trivial first order mutants together for mutation testing. To overcome the exponential increase in the number of higher order mutants a search process that seeks fit mutants (both first and higher order) from the space of all possible mutants is proposed. A fault-based higher order mutant classification scheme is introduced. Based on different types of fault interactions, this approach classifies higher order mutants into four categories: expected, worsening, fault masking and fault shifting. A search-based approach is then proposed for locating subsuming and strongly subsuming higher order mutants. These mutants are a subset of fault mask and fault shift classes of higher order mutants that are more difficult to kill than their constituent first order mutants. Finally, a hybrid test data generation approach is introduced, which combines the dynamic symbolic execution and search based software testing approaches to generate strongly adequate test data to kill first and higher order mutants

    Entschleunigung von Konsum- und Unternehmensprozessen

    Get PDF
    Die vorliegende Ausgabe beschĂ€ftigt sich mit der Entschleunigung von Konsum- und Unternehmens-prozessen. Entschleunigung ist ein aktuelles Thema in der Wissenschaft, dem immer mehr Aufmerksamkeit geschenkt wird. Umwelt und Bevölkerung können einer stetigen Beschleunigung nicht unbegrenzt standhalten, so dass eine gegenlĂ€ufige Entwicklung auf Dauer unvermeidlich ist. Doch in welcher Form haben sich Aspekte der Entschleunigung bisher sowohl in Unternehmen als auch bei Individuen etablieren können? Um diese Frage zu beantworten, kommen in dieser Arbeit unterschiedliche empirische Methoden zur Anwendung. Mit Hilfe eines Experiments, durchgefĂŒhrt mit Studenten der Wirtschaftswissenschaften an der TU Dresden, wird dabei die Zahlungsbereitschaft fĂŒr Entschleunigung innerhalb der Bevölkerung untersucht. Zur weiteren empirischen ÜberprĂŒfung des Kenntnisstan-des und Verbreitungsgrades des Themas Entschleunigung werden zwei Fragebögen, welche sich zum Zeitpunkt des Entstehens dieser Arbeit im Stadium des Pre-Tests befinden, entwickelt und im Rahmen dieser Arbeit vorgestellt und ausgewertet. Die Abfrage des Themas Entschleunigung erfolgt dabei ĂŒber die Betrachtung verschiedener Sichtweisen (Unternehmens-, Kunden-, Mitarbeiter- und Gesundheitssicht), zu denen einleitend theoretische Grundlagen gelegt werden. Als konkretes Beispiel fĂŒr eine mögliche Umsetzung von Entschleunigung wird fĂŒr die IT-Branche das Extreme Programming vorgestellt, welches versucht, neue Wege in der Softwareentwicklung zu gehen. Innerhalb einer Fallstudie werden abschließend Netzwerke in der freien Marktwirtschaft und ihre möglichen BeitrĂ€ge zur Entschleunigung untersucht
    corecore