7,716 research outputs found

    Agile Requirements Engineering: A systematic literature review

    Get PDF
    Nowadays, Agile Software Development (ASD) is used to cope with increasing complexity in system development. Hybrid development models, with the integration of User-Centered Design (UCD), are applied with the aim to deliver competitive products with a suitable User Experience (UX). Therefore, stakeholder and user involvement during Requirements Engineering (RE) are essential in order to establish a collaborative environment with constant feedback loops. The aim of this study is to capture the current state of the art of the literature related to Agile RE with focus on stakeholder and user involvement. In particular, we investigate what approaches exist to involve stakeholder in the process, which methodologies are commonly used to present the user perspective and how requirements management is been carried out. We conduct a Systematic Literature Review (SLR) with an extensive quality assessment of the included studies. We identified 27 relevant papers. After analyzing them in detail, we derive deep insights to the following aspects of Agile RE: stakeholder and user involvement, data gathering, user perspective, integrated methodologies, shared understanding, artifacts, documentation and Non-Functional Requirements (NFR). Agile RE is a complex research field with cross-functional influences. This study will contribute to the software development body of knowledge by assessing the involvement of stakeholder and user in Agile RE, providing methodologies that make ASD more human-centric and giving an overview of requirements management in ASD.Ministerio de Economía y Competitividad TIN2013-46928-C3-3-RMinisterio de Economía y Competitividad TIN2015-71938-RED

    Validating an approach to formalize use cases with ontologies

    Get PDF
    Use case driven development methodologies put use cases at the center of the software development process. However, in order to support automated development and analysis, use cases need to be appropriately formalized. This will also help guarantee consistency between requirements specifications and developed solutions. Formal methods tend to suffer from take up issues, as they are usually hard to accept by industry. In this context, it is relevant not only to produce languages and approaches to support formalization, but also to perform their validation. In previous works we have developed an approach to formalize use cases resorting to ontologies. In this paper we present the validation of one such approach. Through a three stage study, we evaluate the acceptance of the language and supporting tool. The first stage focusses on the acceptance of the process and language, the second on the support the tool provides to the process, and finally the third one on the tool's usability aspects. Results show test subjects found the approach feasible and useful and the tool easy to use.This work is financed by the ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project "POCI-01-0145-FEDER-006961", and by National Funds through the FCT - Fundacao para a Ciencia e a Tecnologia (Portuguese Foundation for Science and Technology) as part of project UID/EEA/50014/2013

    What have we learnt from the challenges of (semi-) automated requirements traceability? A discussion on blockchain applicability.

    Get PDF
    Over the last 3 decades, researchers have attempted to shed light into the requirements traceability problem by introducing tracing tools, techniques, and methods with the vision of achieving ubiquitous traceability. Despite the technological advances, requirements traceability remains problematic for researchers and practitioners. This study aims to identify and investigate the main challenges in implementing (semi-)automated requirements traceability, as reported in the recent literature. A systematic literature review was carried out based on the guidelines for systematic literature reviews in software engineering, proposed by Kitchenham. We retrieved 4530 studies by searching five major bibliographic databases and selected 70 primary studies. These studies were analysed and classified according to the challenges they present and/or address. Twenty-one challenges were identified and were classified into five categories. Findings reveal that the most frequent challenges are technological challenges, in particular, low accuracy of traceability recovery methods. Findings also suggest that future research efforts should be devoted to the human facet of tracing, to explore traceability practices in organisational settings, and to develop traceability approaches that support agile and DevOps practices. Finally, it is recommended that researchers leverage blockchain technology as a suitable technical solution to ensure the trustworthiness of traceability information in interorganisational software projects.publishedVersio

    Scaling Up Robotic Process Automation Capabilities Organisation-Wide

    Get PDF
    This research uses explanatory case study as the research strategy to examine how robotic process automation (RPA) operating models have evolved over time in RPA environment, how companies have approached internal capability building for robotic process automation, and what kind of roles are typically established in a cross-functional setting in a mature organisation. Research material was collected using semi-structured interviews and literature review. RPA is a type of service automation that aims to automate “swivel chair” processes – tasks where human takes data from a source and inputs the same or similar data into one or multiple systems. In RPA software agents are harnessed to do these rule-based manual tasks. On the basis of the data collected operating models was built for a cross-functional RPA implementation setting, as well as typical roles needed. Shifting focus on internal capability building in different stages of RPA maturity was observed and the preferred roles to concentrate when building this capability. Based on the literature review RPA center of excellence three capability stages are also introduced. Managerial implications on RPA internal capability building, organisational models, and internal information sharing are presented. Many of the observations follow findings of the existing literature. Nevertheless, these findings are positioned and expanded in the scope of mature RPA organisations.Tässä tutkimuksessa käytetään selittävää tapaustutkimusta tutkimusstrategiana. Tutkimuksessa pyritään selvittämään kuinka ohjelmistorobotiikan toimintamallit ovat kehittyneet ajan myötä ohjelmistorobotiikassa, miten yritykset ovat lähestyneet ohjelmistorobotiikassa sisäisten valmiuksien kehittämistä ja millaiset roolit muodostuvat ristiin - toimintaympäristö kehittyneessä ohjelmistorobotiikka organisaatiossa. Tutkimusaineisto kerättiin käyttämällä osarakenteisia haastatteluja ja kirjallisuuskatsausta. Ohjelmistorobotiikka on eräänlainen palveluautomaatio, jonka tarkoituksena on automatisoida kääntötuoliprosessit - tehtävät, joissa ihminen ottaa tietoja lähteestä ja syöttää samat tai samanlaiset tiedot yhteen tai useampaan järjestelmään. Ohjelmistorobotiikka ohjelmistoagentteja käytetään näiden sääntöihin perustuvien manuaalisten tehtävien suorittamiseen. Kerättyjen tietojen perusteella rakennettiin roolit ja toimintamallit organisaatiorajat ylittävälle ohjelmistorobotiikka ympäristössä. Sisäisten valmiuksien kehittämisen merkitys havaittiin ohjelmistorobotiikan eri vaiheissa, sekä missä rooleissa näillä sisäisillä resursseilla olisi eniten hyötyä. Kirjallisuuskatsauksen perusteella esitellään myös kolme kyvykkyysvaihetta ohjelmistorobotiikan huippuosaamisen keskukselle. Tämän lisäksi esitellään johtajien vaikutuksia ohjelmistorobotiikan sisäiseen valmiuksien rakentamiseen, organisaatiomalleihin ja sisäiseen tiedon jakamiseen. Monet havainnot seuraavat olemassa olevan kirjallisuuden havaintoja. Tässä kyseisessä tutkimuksessa nämä havainnot on sijoitettu ja laajennettu kehittyneiden ohjelmistorobotiikka organisaatioiden piiriin

    Enhancement of the usability of SOA services for novice users

    Get PDF
    Recently, the automation of service integration has provided a significant advantage in delivering services to novice users. This art of integrating various services is known as Service Composition and its main purpose is to simplify the development process for web applications and facilitates reuse of services. It is one of the paradigms that enables services to end-users (i.e.service provisioning) through the outsourcing of web contents and it requires users to share and reuse services in more collaborative ways. Most service composers are effective at enabling integration of web contents, but they do not enable universal access across different groups of users. This is because, the currently existing content aggregators require complex interactions in order to create web applications (e.g., Web Service Business Process Execution Language (WS-BPEL)) as a result not all users are able to use such web tools. This trend demands changes in the web tools that end-users use to gain and share information, hence this research uses Mashups as a service composition technique to allow novice users to integrate publicly available Service Oriented Architecture (SOA) services, where there is a minimal active web application development. Mashups being the platforms that integrate disparate web Application Programming Interfaces (APIs) to create user defined web applications; presents a great opportunity for service provisioning. However, their usability for novice users remains invalidated since Mashup tools are not easy to use they require basic programming skills which makes the process of designing and creating Mashups difficult. This is because Mashup tools access heterogeneous web contents using public web APIs and the process of integrating them become complex since web APIs are tailored by different vendors. Moreover, the design of Mashup editors is unnecessary complex; as a result, users do not know where to start when creating Mashups. This research address the gap between Mashup tools and usability by the designing and implementing a semantically enriched Mashup tool to discover, annotate and compose APIs to improve the utilization of SOA services by novice users. The researchers conducted an analysis of the already existing Mashup tools to identify challenges and weaknesses experienced by novice Mashup users. The findings from the requirement analysis formulated the system usability requirements that informed the design and implementation of the proposed Mashup tool. The proposed architecture addressed three layers: composition, annotation and discovery. The researchers developed a simple Mashup tool referred to as soa-Services Provisioner (SerPro) that allowed novice users to create web application flexibly. Its usability and effectiveness was validated. The proposed Mashup tool enhanced the usability of SOA services, since data analysis and results showed that it was usable to novice users by scoring a System Usability Scale (SUS) score of 72.08. Furthermore, this research discusses the research limitations and future work for further improvements

    Mikropalveluiden testauskäytännöt julkisen sektorin projekteissa

    Get PDF
    Online services are constantly evolving, which makes service maintainability challenging. This has led to micro service architecture, where big applications are split into smaller services in order to improve applications' maintainability, scalability, and flexibility. However, splitting a single process application into multiple services causes the testing process to be more challenging. This Master's thesis is exploring these testing problems in a micro service context and finding practical guidance for the test implementation. Moreover, this Master's thesis focuses on public sector software projects. Public sector software projects are clearly predefined and the provider has open information about the project's needs. Thus, the project has a clear goal and known boundaries right from the beginning. The research approach for this study is an exploratory multiple case study consisting of three case projects. The data of the case projects were collected through semi-structural interviews and version history commit analysis. The results of this study present a set of successful practices and recommendations for taking testing into account during a micro service oriented agile development process. Successful testing requires monitoring of the project's maturity level to focus testing resources at the right time. Additionally, the case projects brought up practical testing guidance, such as understanding of the common testing responsibility, the importance of peer review, and the value of assigning a specific tester after the project has reached its end-to-end testing phase.Web-palvelut kehittyvät jatkuvasti, mikä vaikeuttaa palveluiden ylläpitoa. Yhtenä ratkaisuna on palvelun pilkkominen osiin mikropalveluiksi. Palvelun pilkkominen edistää palvelun ylläpitoa, skaalattavuutta ja joustavuutta. Toisaalta palvelun pilkkominen mikropalveluiksi vaikeuttaa testausprosessia. Tämä diplomityö tutkii mikropalveluiden testausprosessiin liittyviä ongelmia ja etsii käytännönläheistä ohjeistuista testien toteuttamiseen mikropalveluympäristössä. Diplomityö keskittyy julkisen sektorin mikropalveluprojekteihin, koska kaikki tässä diplomityössä käytetyt tutkimusprojektit ovat julkisen sektorin hallinnoimia. Julkisen sektorin ohjelmistoprojektit ovat selkeästi esimääriteltyjä ja projektien aineisto on avoimesti saatavilla. Tämän takia projekteilla on selkeä päämäärä ja tunnetut rajat heti projektin alussa. Tutkimusmenetelmänä käytettiin tutkivaa case study -menetelmää. Tutkimus sisälsi kolme tutkimuskohdetta. Tutkimusdata kerättiin osittain jäsennetyillä kontekstuaalisilla haastatteluilla ja ohjelmistokoodin versiohallinnan historian analyysillä. Tuloksena syntyi kokoelma hyväksi todettuja käytäntöjä ja suosituksia, jotka auttavat ottamaan testauksen huomioon mikropalvelun iteratiivisessa ohjelmistokehitysprosessissa. Suositeltaviksi testauskäytännöiksi havaittiin projektin maturiteetin tarkkaileminen, että testauksen resursointi voidaan tehdä oikeaan aikaan. Lisäksi, projekteista nousi esiin muita suosituksia, kuten kehitystiimin yhteisen testaamisvastuun ymmärtäminen, koodikatselmoinnin merkitys ja erillisen testaajan tärkeys, kun projektin maturiteetti on kasvanut riittävästi
    corecore