V Workshop Anual do MPS - WAMPS 2009 Estudo de Viabilidade de Domínio para Avaliar o Potencial da Organização Quanto à Implementação do Processo Desenvolvimento para Reutilização do MR-MPS Mylene Lisbôa Cabral Thiago Moreira da Costa Cláudia Maria Lima Werner COPPE/UFRJ {mylene, thiagom, werner}@cos.ufrj.br Roteiro Introdução Processo Desenvolvimento para Reutilização (DRU) Abordagens para estudos de viabilidade de domínio Considerações finais Introdução de software é o uso de software existente para construir um novo software Reutilização ◦ Melhoria da qualidade do software ◦ Aumento da produtividade ◦ Redução do time-to-market ◦ Redução de custos Introdução (cont.) Desenvolvimento com reutilização ◦ Faz uso de técnicas de engenharia de aplicação para a incorporar ativos reutilizáveis em novas aplicações (SOFTEX, 2009b) Desenvolvimento para reutilização ◦ Faz uso de técnicas de engenharia de domínio para criar ativos reutilizáveis relacionados à um domínio específico (SOFTEX, 2009b) Introdução (cont.) MR-MPS ◦ Processo Gerência de Reutilização - GRU (Nível E) ◦ Processo Desenvolvimento para Reutilização – DRU (Nível C) Processo Desenvolvimento para Reutilização - DRU DRU1 - Domínios de aplicação em que serão investigadas oportunidades de reutilização de ativos ou nos quais se pretende praticar reutilização são identificados, detectando os respectivos potenciais de reutilização DRU2 - A capacidade de reutilização sistemática da organização é avaliada e ações corretivas são tomadas, caso necessário DRU3 - Um programa de reutilização, envolvendo propósitos, escopo, metas e objetivos, é planejado com a finalidade de atender às necessidades de reutilização de domínios DRU4 - O programa de reutilização é implantado, monitorado e avaliado DRU5 - Propostas de reutilização são avaliadas de forma a garantir que o resultado da reutilização seja apropriado para a aplicação alvo DRU6 - Formas de representação para modelos de domínio e arquiteturas de domínio são selecionadas DRU7 - Um modelo de domínio que capture características, capacidades, conceitos e funções comuns, variantes, opcionais e obrigatórios é desenvolvido e seus limites e relações com outros domínios são estabelecidos e mantidos DRU8 - Uma arquitetura de domínio descrevendo uma família de aplicações para o domínio é desenvolvida e mantida por todo o seu ciclo de vida DRU9 - Ativos do domínio são especificados; adquiridos ou desenvolvidos, e mantidos por todo o seu ciclo de vida Processo Desenvolvimento para Reutilização - DRU Oportunidades (DRU1) Capacidade (DRU2) Sim Sim - Os demais resultados do DRU são obrigatórios Sim Não - Deve executar ações corretivas para gerar capacidade - Deve comprovar que essas ações corretivas estão em andamento - Os demais resultados podem ser excluídos dessa avaliação - Para a próxima avaliação, dentro de 3 anos, deve obrigatoriamente ter construído a capacidade Não Excluído - Deve mostrar, via processo formal de tomada de decisão, que não existem oportunidades de reutilização - Os demais resultados podem ser excluídos enquanto houver ausência de oportunidades de reutilização (nessa e em próximas avaliações) (SOFTEX, 2009b) Solução Proposta Utilização de abordagens para o estudo de viabilidade de domínio como mecanismo formal de tomada de decisão para avaliar o potencial da organização com relação à adoção do processo Desenvolvimento para Reutilização (DRU) Abordagens para Estudo de Viabilidade de Domínio Estudo de Viabilidade no ODM (Organization Domain Modeling) (Simos et al., 1996) Estudo de Viabilidade no Odyssey-DE (Braga, 2000) PuLSE-Eco V2.0 (Schmid, 2001) Avaliação de Linha de Produto Orientada a Objetivos (Geppert e Weiss, 2003) Estudo de Viabilidade no ODM ODM (Organization Domain Modeling) é um modelo de processo de engenharia de domínio Fases do ODM ◦ Planejamento do Domínio ◦ Modelagem do Domínio ◦ Construção da Base de Ativos Planejamento do Domínio ◦ Definir objetivos ◦ Definir escopo do domínio ◦ Definir domínio Estudo de Viabilidade no ODM (cont.) Matriz domínio/critério Critérios de seleção de domínio Domínios candidatos Pesos Critério 1 Critério 2 Critério 3 Critério 4 1 1 2 1 -1 +1 +2 Total +1 Domínio 1 - + + + +3 Domínio 2 - - + 0 0 Domínio 3 + + + + +5 Domínio 4 - - + + +1 Domínios com pontuação 0 são considerados sem potencial para reutilização Estudo de Viabilidade no Odyssey-DE Odyssey-DE é um processo de engenharia de domínio Fases do Odyssey-DE ◦ Planejamento ◦ Análise de risco ◦ Análise de domínio ◦ Projeto do domínio ◦ Implementação do domínio Planejamento ◦ Estudo de viabilidade de domínio ◦ Estimativa dos recursos requeridos ◦ Estimativa dos custos do projeto Estudo de Viabilidade no Odyssey-DE (cont.) Critérios para seleção de domínios Técnicos 1.Número de sistemas existentes 2.Futuros sistemas a serem desenvolvidos 3.Melhoramentos nos sistemas existentes 4.Recursos técnicos disponíveis para a ED Organizacionais 1.Potencial para reutilização 2.Conhecimento em reutilização na organização e experiência prática na aplicação da reutilização 3.Compromisso em nível gerencial 4.Conhecimento do domínio Sociais 1.Necessidade de se ter informações do domínio para o treinamento de novatos 2.Participação dos especialistas no domínio 3.Consistência dos especialistas do domínio Estudo de Viabilidade no Odyssey-DE (cont.) Critérios Faixa de Valores Valores Pesos Pontos 1. Número de sistemas existentes 0-1=0 1-2=1 3-5=2 6-n=3 3 5 15 2. Futuros sistemas a serem desenvolvidos 0=0 1-2=1 3-4=2 5-n=3 3 7 21 … … … … … Total de Pontos 101 Mínimo de pontos para que o domínio seja viável 70 Domínios com pontuação abaixo da potuação mínima estabelecida são considerados sem potencial para reutilização PulSE-Eco V2.0 PuLSE™ é uma metodologia para desenvolvimento de linhas de produto de software PuLSE-Eco V2.0 ◦ Mapeamento da linha de produto ◦ Avaliação de potencial de domínio ◦ Escopo da infraestrutura de reúso PulSE-Eco V2.0 (cont.) Matriz inicial de característica/produto Existente Planejado Potencial P1 P2 P3 P4 Característica 1.1.1 X X X X Característica 1.1.2 - X X X Característica 1.1.3 X X - X … … … … … Característica 1.n.1 X - X X … … … … … Sub-domínio 2.1 Característica 2.1.1 - X X - … … … … … … … … … … … … … … … Característica m.1.1 - X - X Sub-domínio 1.1 Domínio 1 … Sub-domínio 1.n Domínio 2 PulSE-Eco V2.0 (cont.) Dimensões de avaliação Dimensões de Viabilidade Maturidade Estabilidade Restrições de recursos Restrições organizacionais Dimensões de Benefícios Potencial de mercado – externo Potencial de mercado – interno Similaridade e variabilidade Acoplamento e coesão Ativos existentes PulSE-Eco V2.0 (cont.) Dimensões de avaliação Estabilidade A. Padronização 1. Existem padrões para interfaces? 2. Existem padrões para subsistemas? 3. … B. … Respostas: Totalmente, Largamente, Parcialmente, Nenhum Domínios são julgados sem pontencial para reutilização com base nas entrevistas Avaliação de Linha de Produto Orientada a Objetivos Etapas: Objetivos para seleção dos domínios Critérios ◦ Seleção dos domínios candidatos ao processo de reutilização ◦ Pontuação dos critérios e totalização dos objetivos ◦ Seleção do domínio mais adequado à reutilização ◦ Impacto corporativo do domínio ◦ Probabilidade de sucesso ◦ ◦ ◦ ◦ Rentabilidade Atividade Independência Viabilidade Avaliação de Linha de Produto Orientada a Objetivos (cont.) Impacto Corporativo Domínio Rentável Domínio Ativo RP. Qual é o potencial de rentabilidade? NP. Qual é o número de produtos na sua linha de produtos? CR. Quão crítico/importante é o domínio para o mercado? Probabilidade de Sucesso Domínio Independente AD. Quão ativo o domínio será? AC. Quão ativa é a base de código? ID. Quão independente é o domínio? Act = (2*AD + 1*AC)/3 Ind = ID Rev = (3*RP + 1*NP + 2*CR)/6 Domínio Viável C. Quão complexo é o domínio? M. Quão maduro é o domínio? DTC. Qual o tempo e o custo de desenvolvimento? RC. Quais são as restrições de recursos? EA. Temos ativos existentes? Via = (1*C + 1*M + 2*DTC + 2*RC + 2*EA)/8 Impacto Corporativo = (2*Act + 3*Rev) / 5 Probabilidade de Sucesso = (1*Act + 3*Ind + 4*Via) / 8 Avaliação de Linha de Produto Orientada a Objetivos (cont.) Alto Baixo Impacto corporativo Domínios Selecionados Baixo Alto Probabilidade de sucesso Domínios localizados no quadrante esquedo inferior podem ser considerados com baixo potencial para reutilização Comparação Entre as Abordagens Características Abordagens 2** 3*** 1* 4**** Critérios/questões pré- Não definidos Valor esperado para 1. Satisfaz (+) critério/questão 2. Conflita (-) 3. Neutro (0) Sim Sim Sim Depende do critério Entre 0 e 1 Sim Definição de pesos para critérios/questões Forma de totalização Fórmula dos pontos Sim 1. Totalmente 2. Largamente 3. Parcialmente 4. Nenhum Não Julgamento de especialistas Fórmula Fórmula * Estudo de Viabilidade no ODM. ** Estudo de Viabilidade no Odyssey-DE *** PuLSE-Eco V2.0 **** Avaliação de Linha de Produto Orientada a Objetivos Sim Comparação Entre as Abordagens (cont.) Características 1* Abordagens 2** 3*** Definição dos domínios com algum potencial para reutilização Domínios com Domínios com Julgamento de maior pontuação especialistas pontuação acima da mínima estabelecida Definição dos domínios sem potencial para reutilização Domínios com Domínios com Julgamento de pontuação 0 pontuação especialistas (zero) abaixo da mínima estabelecida * Estudo de Viabilidade no ODM. ** Estudo de Viabilidade no Odyssey-DE *** PuLSE-Eco V2.0 **** Avaliação de Linha de Produto Orientada a Objetivos 4**** Domínios NÃO localizados no quadrante inferior esquerdo do diagrama Domínios localizados no quadrante inferior esquerdo do diagrama Comparação Entre as Abordagens (cont.) Características Apresenta subjetividade na valoração de critérios/questões Mecanismo para minimizar a subjetividade Abordagens 2** 3*** 1* Sim Sim Opções préFaixa de estabelecidas: valores +, - e 0 4**** Sim Sim Opções préestabelecidas: T, L, P e N Não apresenta * Estudo de Viabilidade no ODM. ** Estudo de Viabilidade no Odyssey-DE *** PuLSE-Eco V2.0 **** Avaliação de Linha de Produto Orientada a Objetivos Considerações Finais e próximos passos As abordagens permitem a identificação dos domínios com maior pontencial de reutilização Subjetividade das abordagens minimiza a precisão do estudo de viabilidade Próximos passos ◦ Realizar uma revisão sistemática (em andamento) ◦ Tentar definir um método de medição objetivo para cada um dos critérios V Workshop Anual do MPS - WAMPS 2009 Estudo de Viabilidade de Domínio para Avaliar o Potencial da Organização Quanto à Implementação do Processo Desenvolvimento para Reutilização do MR-MPS Mylene Lisbôa Cabral Thiago Moreira da Costa Cláudia Maria Lima Werner COPPE/UFRJ {mylene, thiagom, werner}@cos.ufrj.br