55,917 research outputs found

    Bridging the gap between research and agile practice: an evolutionary model

    Get PDF
    There is wide acceptance in the software engineering field that industry and research can gain significantly from each other and there have been several initiatives to encourage collaboration between the two. However there are some often-quoted challenges in this kind of collaboration. For example, that the timescales of research and practice are incompatible, that research is not seen as relevant for practice, and that research demands a different kind of rigour than practice supports. These are complex challenges that are not always easy to overcome. Since the beginning of 2013 we have been using an approach designed to address some of these challenges and to bridge the gap between research and practice, specifically in the agile software development arena. So far we have collaborated successfully with three partners and have investigated three practitioner-driven challenges with agile. The model of collaboration that we adopted has evolved with the lessons learned in the first two collaborations and been modified for the third. In this paper we introduce the collaboration model, discuss how it addresses the collaboration challenges between research and practice and how it has evolved, and describe the lessons learned from our experience

    Knowledge Mobilization in Agile Information Systems Projects: A Literature Analysis

    Get PDF
    This study focuses on how knowledge is mobilized in agile information systems (IS) projects. One crucial success factor of those projects is to mobilize knowledge through different knowledge management processes. It is vital to establish efficient knowledge management (KM) processes to generate a knowledge culture based on transparency and communication. Communication channels, digital tools, and platforms are essential for establishing a KM infrastructure supporting the knowledge work of the project organization. Thus, each IS implementation team should maintain a knowledge base and a knowledge potential at some level. However, this is not always the case. We conducted a literature review to survey the extant research on the role of KM in agile system development projects. The agile approach is often associated with the networking model and tacit knowledge. The findings indicate that the agile approach is supposed to promote KM. While tacit knowledge is rooted in the analogue process of continuous actions and informal communication, explicit knowledge is captured in digital records of documentation and databases. In KM, the personalization model (behavioural, networking) and the codification (technocratic, repository) model is central. The choice of system development method (agile versus plan-driven) influences how knowledge is mobilized in the project organization. An agile approach heavily relies on informal communication, tacit knowledge sharing, and light documentation. In contrast, the plan-driven methods such as the waterfall approach generate more explicit knowledge through documentation. Communities of practice are important structures for transforming from plan-driven to agile approaches. We present a framework showing specific challenges the literature identifies concerning the efficient mobilization of knowledge in the agile context. For large-scale agile projects, informal coordination mechanisms were important. This study identifies several measures for overcoming barriers and risks for knowledge sharing in the agile context.Knowledge Mobilization in Agile Information Systems Projects: A Literature AnalysispublishedVersio

    How Do Individual Social Agile Practices Influence the Development Success? An Exploratory Study

    Get PDF
    Although agile software development (ASD) is widespread, thecontributions of individual agile practices to development success are still largelyunclear. In this paper, we explore the hidden cause-effect relationships betweenthe application of social agile practices, the realization of social agile principles,and the resulting contribution(s) to ASD success. To capture ASD success, weconsider both the effects on developer acceptance and economic business values.Based on an initial ASD success model and data from a survey of 197 developers,we found that social agile practices such as reflection, business IT alignment, andself-organization seem to particularly promote ASD success. We also foundindications that the realization of these principles is primarily driven by practicessuch as retrospective meetings and shared leadership, whereas prominentpractices like daily meetings and pair programming seem to have no effect. Ourresults thus call for reassessment of agile practices and their use in practice

    Hybrid Software and System Development in Practice: Waterfall, Scrum, and Beyond

    Get PDF
    Software and system development faces numerous challenges of rapidly changing markets. To address such challenges, companies and projects design and adopt specific development approaches by combining well-structured comprehensive methods and flexible agile practices. Yet, the number of methods and practices is large, and available studies argue that the actual process composition is carried out in a fairly ad-hoc manner. The present paper reports on a survey on hybrid software development approaches. We study which approaches are used in practice, how different approaches are combined, and what contextual factors influence the use and combination of hybrid software development approaches. Our results from 69 study participants show a variety of development approaches used and combined in practice. We show that most combinations follow a pattern in which a traditional process model serves as framework in which several fine-grained (agile) practices are plugged in. We further show that hybrid software development approaches are independent from the company size and external triggers. We conclude that such approaches are the results of a natural process evolution, which is mainly driven by experience, learning, and pragmatism

    The Agile Model-Driven Method

    Get PDF
    Today the development of business applications is influenced by increased project complexity, shortened development cycles and high expectations in quality. Rising costs in the software development are an additional motivation to improve the productivity by the choice of a suitable development process. In the development of complex applications models are of great importance. Models reduce complexity by abstraction. Additionally, models offer the possibility to build different views onto an application. If models are sufficiently formal they are suitable for the automated transformation into source code. For this reason, an important acceleration and quality factor in the software development is attributed to the Model-Driven Software Development. On the other hand, Model-Driven Software Development requires quite high initial work for the definition of meta-models, domain-specific languages and transformation rules for the code generation process. A different approach to improve productivity is the use of agile process models like Scrum, Extreme Programming (XP) or Feature Driven Development (FDD). For these process models an early production of source code and the adjustment of executable partial results are important aspects of the process. The communication with the end user and the direct feedback are the most important success factors for a project and facilitate quick reactions on requirement changes. In agile methods modelling often plays a subordinated role. The requirements will be documented via “user stories” (XP) or “features” (Scrum, FDD). They are summarized either in Product- or Sprint-Backlogs (Scrum) or in Feature-Sets (FDD). From this, the idea is developed to apply agile work practices and techniques in a process tailored to model-driven development. First, existing process models for model-driven development are identified and described. Their common features such as process steps, artefacts and team organisation are worked out and abstracted in a metamodel. The aim is to reuse these process elements in a new agile process model. At the same time, suitable agile practices for modeling are identified, which can support such a process. Additional criteria and suggestions for the improvement of such a process are identified on the basis of case studies from practical model-driven projects. The Agile Model-Driven Method (AMDM) presents a combination of agile procedures and modelling techniques with the technology of model-driven development. AMDM is iteratively incremental and relies on proven concepts of accepted agile standards. AMDM integrates the development of a domain-specific modelling language, the modelling of problem domains and the development of the software architecture into a context. The development takes place in several cycles of sprints (iterations) which are distinguished in initial sprint, domain sprint and value sprint. Parallel to the development of domain language and application, the software architecture is developed evolutionarily and transferred to development. Finally, based on the mentioned case studies from the practice and investigations of model-driven projects in other industrial companies and business fields is checked how AMDM can contribute by agile concepts to increase efficiency in model-driven projects and how the expressed criticisms and problems from these studies can be avoided

    Kirjallisuuskatsaus testiautomaatiomalleista ketterässä ohjelmistotestauksessa

    Get PDF
    Test automation is considered to be a crucial part of a modern Agile development team. Agile software testing methods and development practices, such as Test Driven Development (TDD) or Behavior Driven Development (BDD), continuously assure software quality during development time, from project start to finish. Agile software development methods require Agile testing practices for its implementation. Software quality is built-in and delivering functional and stable software continuously is a key business capability. Automated system and acceptance tests are considered as a routine part of the Continuous Integration (CI) and Continuous Delivery (CD) pipeline. The objective of the research was to study, what test automation models, Agile practices and tools are found in Agile test automation literature and what kind of generic Agile test automation model can be synthesized from this literature. The objective was completed by conducting a systematic literature review of test automation models. The initial search included fifty scientific articles, from which ten models were selected for further analysis. The selected articles and their models were modelled using prescriptive modelling. The tools and Agile practices mentioned in the articles were recorded and categorized. Each model was also categorized according to its domain of application. Using the collected data, a synthesized generic model for Agile test automation model was created. Test automation models proved difficult to evaluate as the models were vastly different from each other in their description, depth of detail, utility, environment, scope and domain of application. A generic Agile test automation model would be characterized with agent, activity, artefact and event elements. It would have a functional information perspective and would be formally presented in text and graphic form. Continuous Integration was identified as the most popular Agile development method and Scrum as the most popular Agile management practice. Continuous Integration was also identified as the most popular tool category

    Optimization of Cyber Defense Exercises Using Balanced Software Development Methodology

    Get PDF
    Cyber defense exercises (CDXs) represent an effective way to train cybersecurity experts. However, their development is lengthy and expensive. The reason lies in current practice where the CDX life cycle is not sufficiently mapped and formalized, and then exercises are developed ad-hoc. However, the CDX development shares many aspects with software development, especially with ERP systems. This paper presents a generic CDX development method that has been derived from existing CDX life cycles using the SPEM standard meta-model. The analysis of the method revealed bottlenecks in the CDX development process. Observations made from the analysis and discussed in the paper indicate that the organization of CDXs can be significantly optimized by applying a balanced mixed approach with agile preparation and plan-driven disciplined evaluation

    Towards The Development of a Contingent Use of Systems Development Methodologies Model

    Get PDF
    Systems development methodologies (SDMs) are categorised into the plan-driven SDM and the agile SDM classes. Research has demonstrated that no single SDM is suitable for every systems development project situation. The aim of the paper is to present aspects of a study that developed a contingent use of SDMs model to investigate the contingent use of SDMs, and tests the model empirically. The developed hybrid model is tested using survey data collected from 155 systems development organisations. The results demonstrate that SDMs are adopted and continuously tailored during the systems development project life cycle. This has theoretical and practical implications in the design of SDMs and the deployment of SDMs. The empirical findings and the model presented in this study can assist researchers to investigate the contingent use of SDMs and improve their implementation in systems development projects. The findings provide insights on how practice and theory co-evolve and inform one another

    An approach to reconcile the agile and CMMI contexts in product line development

    Get PDF
    Software product line approaches produce reusable platforms and architectures for products set developed by specific companies. These approaches are strategic in nature requiring coordination, discipline, commonality and communication. The Capability Maturity Model (CMM) contains important guidelines for process improvement, and specifies "what" we must have into account to achieve the disciplined processes (among others things). On the other hand, the agile context is playing an increasingly important role in current software engineering practices, specifying "how" the software practices must be addressed to obtain agile processes. In this paper, we carry out a preliminary analysis for reconciling agility and maturity models in software product line domain, taking advantage of both.Postprint (published version
    • …
    corecore