2 research outputs found

    Methodological approaches for software process improvement in multi-model environments

    Get PDF
    Programa de Doutoramento em Informática das Universidades do Minho, de Aveiro e do PortoSoftware has improved quality of life dramatically and has now a vital role in today’s society, supporting simple services that range from simple electronic shopping to software responsible for flying planes or performing remote medical surgery. The demand on services is increasing and the result are systems of software that grow in size and complexity. For that reason these software systems are more prone to faults and software quality is an increasing concern for organisations developing software. The costs associated to lack of quality can simply put a software organisation out of business and worst, result in loss of human life. The need to ensure high levels of software quality motivates organisations to adopt approaches to improve their software development process, also referred to software improvement models or simply improvement models. There are two paradigms to process improvement, the benchmark and the analytical based process improvement approaches. Benchmark based approaches are prescriptive in nature, defining requirements or prescribing a set of practices originating from top performing organisations, that are adopted by organisations aiming to improve their software process. Analytical approaches are based on strategies that aim first, to define business, process and product goals and then establish a clear understating of the impact of process performance in these goals. A recent trend in software process improvement in the adoption of more than one improvement model into a single organisational environment, originating what are denominated multi-model environments. The goal is to attain the cumulative added benefit of adopted models. Several challenges arise in these multi-model environments that motivate the research work of this dissertation. One challenge in multi-model environments is the comparison of improvement models for selection and integration purposes and existing approaches compare models in qualitative terms. We propose metrics of size and complexity to compare improvement models in quantitative terms. Additionally, in multi-model environments, ensuring compliance to model adopted is often expected and desired. We develop a model to manage compliance of organisational practices with multiple improvement models minimising the effort required for establishing compliance in these environments. In cooperation with CRITICAL Software S.A. a process improvement process is proposed alighted with the analytical paradigm to process improvement and a set of CMMI-Dev level 5 specific goals. Finally we also addressed the issue of modelling complex system of processes that result from adopting multiple improvement models. The main research method guiding this dissertation was Design Research. We followed the steps in the method in different extents. For validation purposes the method expects demonstration and experimental validation. We focussed mainly on demonstration and we lack the desired level of experimentation. Nonetheless we provide detailed demonstrations of proposed solutions. These were submitted and accepted in peer reviewed international conferences. The main contribution of this dissertation is the demonstration, through practical scenarios, of a set to meteorological approaches to addresses challenges on conducting software process improvement in multi-model environments.O Software melhorou a qualidade de vida de uma forma considerável e assume agora um papel vital no suporte a simples serviços como pagamentos eletrónicos a software que é responsável pelo voo em aviões e por possibilitar cirurgia médica remota. A procura por novos serviços baseados em software está a aumentar e a diversificar-se. O resultado prático é que os sistemas de software estão a aumentar em tamanho e em complexidade. Por esta razão, estes sistemas incorrem num maior risco de exibir falhas e a qualidade do Software é uma procuração crescente nas organizações que desenvolvem software. Falta de qualidade pode simplesmente levar uma empresa à falência ou no pior cenário, resultar em perda de vidas humanas. A necessidade de assegurar elevados níveis de qualidade no software motiva as organizações a adotar abordagens para melhoria do processo de desenvolvimento de software, também referidas como modelos de melhoria do software ou simplesmente modelos de qualidade. Existem dois paradigmas na melhoria do processo de desenvolvimento de software, uma primeira abordagem baseada em práticas de referência e uma segunda abordagem de base analítica. As abordagens baseadas em práticas de referência assumem um carácter prescritivo definindo um conjunto de requisitos ou práticas, originárias de organizações com processos de desenvolvimento com elevados níveis de desempenho. Os modelos resultantes são adotados pelas organizações que procuram idênticos níveis de desempenho. As abordagens analíticas são alicerçadas em estratégias que visam numa primeira fase definir objetivos de negócio, de processo e de produto e depois perceber, de uma forma clara o impacto das fraquezas da organização na capacidade de esta atingir os objetivos identificados. Uma vaga recente no domínio da melhoria do processo de software é a adoção de mais do que um modelo de melhoria pela mesma organização, originando os denominados ambientes de melhoria multi-modelo. O objetivo é acumular os benefícios dos modelos adotados. Novos desafios emergem nestes ambientes que motivam o esforço de investigação desta dissertação. Um desafio nestes ambientes ´e a comparação de modelos de qualidade para efeitos de seleção e integração. As abordagens existentes permitem comparar os modelos de uma forma qualitativa. No ˆâmbito desta dissertação um dos contributos ´e uma pro posta de métricas de tamanho e de complexidade de forma a permitir uma comparação de base quantitativa. De igual forma, nos ambientes multi-modelo, assegurar o alinhamento das práticas organizacionais com os modelos adotados ´e na maior parte das vezes um requisito. No âmbito desta dissertação propomos um modelo que permite gerir a informação sobres as práticas organizacionais implementadas e os requisitos/práticas prescritas pelos modelos de melhoria adotados com o objetivo de minimizar o esforço necessário para assegurar o alinhamento de práticas organizacionais e os modelos adotados. Adicionalmente e em parceria com a empresa CRITICAL Software S.A., é proposto um processo para a melhoria do processo de desenvolvimento de software alinhado com a abordagem analítica de melhoria de processos e com os objetivos específicos da área de processo de nível 5 do CMMI-Dev. Finalmente, abordamos o problema de modelação de processos de software de elevada complexidade que resultam tipicamente da adoção de vários modelos de qualidade. É proposta uma abordagem de modelação de processos a níveis elevados de abstração que permite o seu refinamento para modelos de mais baixo nível, baseado num conjunto de regras de transição que permite a sua conversão de uma forma sistemática. A metodologia de investigação adotada nesta dissertação foi Design Research e executámos os passos expectáveis da metodologia na extensão possível. No objetivo de validação, o método espera o uso de demonstrações e de experimentação. O nosso principal foco foi a demonstração, não tendo sido possível atingir o nível de experimentação desejável. Porém, o detalhe e extensão das descrições nas demonstrações é elevado e o trabalho foi submetido e aceite em conferências internacionais da área. A contribuição desta dissertação é a demonstração, através de cenários práticos, de um conjunto de abordagens para endereçar desafios emergentes nas organizações que adotam múltiplos modelos de qualidade na melhoria do processo de software
    corecore