A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Experiências na Definição, Uso e Medição de Processos de Software Ana Regina Rocha COPPE- UFRJ

Apresentações semelhantes


Apresentação em tema: "Experiências na Definição, Uso e Medição de Processos de Software Ana Regina Rocha COPPE- UFRJ"— Transcrição da apresentação:

1 Experiências na Definição, Uso e Medição de Processos de Software Ana Regina Rocha COPPE- UFRJ

2 Preocupações da Engenharia de Software Qualidade do produto Qualidade do produto Qualidade do processo de desenvolvimento Qualidade do processo de desenvolvimento

3 Talvez uma das noções mais destrutivas já criadas seja a de que o processo de desenvolvimento de software é uma arte Munson,J.C. Software Measurement: problems and practice; Annals of Software Engineering 1(1995)

4 conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos relacionados Processo de Software

5 O interesse no processo de software está baseado em duas premissas: a qualidade de um produto de software é fortemente dependente da qualidade do processo pelo qual ele é construído e mantido a qualidade de um produto de software é fortemente dependente da qualidade do processo pelo qual ele é construído e mantido o processo de software pode ser definido, gerenciado, medido e melhorado o processo de software pode ser definido, gerenciado, medido e melhorado

6 O número de defeitos presentes no software quando entregue para testes é função direta da qualidade do processo usado para a construção do software O número de defeitos presentes no software quando entregue para testes é função direta da qualidade do processo usado para a construção do software Testes só podem detectar 70% dos defeitos latentes no código Testes só podem detectar 70% dos defeitos latentes no código Inspeções podem detectar 80 a 90% dos erros antes dos testes Inspeções podem detectar 80 a 90% dos erros antes dos testesMas, um bom processo evita a presença de defeitos no produto

7 Objetivo da Pesquisa em Processo de Software Métodos e tecnologias usados para avaliar, apoiar e melhorar as atividades de desenvolvimento de software Modelagem do Processo Melhoria do Processo Métricas e Estudos Empíricos

8 Histórico Início da área de Processo de Software: Anos 80 Início da área de Processo de Software: Anos 80 Eventos: Eventos: International Software Process Workshop International Software Process Workshop European Workshop on Software Process Technology European Workshop on Software Process Technology Revista: Software Process - Improvement and Practice Revista: Software Process - Improvement and Practice Criação de Institutos: Criação de Institutos: Software Engineering Institute (SEI, Pittsburg, EEUU) Software Engineering Institute (SEI, Pittsburg, EEUU) European Software Institute (ESI, Bilbao, Espanha) European Software Institute (ESI, Bilbao, Espanha) Esforço da ISO: ISO e ISO Esforço da ISO: ISO e ISO Fuggetta, A. Software Process: a Roadmap; in The Future of Software Engineering; 22nd International Conference on Software Engineering, Limerick, Irlanda, Jun 2000

9 Raiz: Pesquisas realizadas nos Anos 60 e 70 em Modelos de Ciclo de Vida Raiz: Pesquisas realizadas nos Anos 60 e 70 em Modelos de Ciclo de Vida Descrevem o esqueleto e a filosofia com que o processo de software deve ser conduzido Descrevem o esqueleto e a filosofia com que o processo de software deve ser conduzido Não prescrevem um curso de ação preciso, uma organização, ferramentas e procedimentos operacionais Não prescrevem um curso de ação preciso, uma organização, ferramentas e procedimentos operacionais São um ponto de partida importante para se definir como o software deve ser desenvolvido, mas apenas adotar um modelo de ciclo de vida não é suficiente São um ponto de partida importante para se definir como o software deve ser desenvolvido, mas apenas adotar um modelo de ciclo de vida não é suficiente

10 A implantação de um Programa de Qualidade começa pela definição e implantação de um processo de software O processo deve estar documentado, ser compreendido e seguido

11 Características Ad hoc - ImprovisadoAd hoc - Improvisado Fortemente dependente dos profissionaisFortemente dependente dos profissionais IndisciplinadoIndisciplinado Consequências Consequências pouca produtividade qualidade de difícil previsão alto custo de manutenção risco na adoção de novas tecnologias Processo Imaturo

12 Características Processo conhecido por todosProcesso conhecido por todos Apoio visível da alta administraçãoApoio visível da alta administração Auditagem da fidelidade ao processoAuditagem da fidelidade ao processo Medidas do produto e do processoMedidas do produto e do processo Adoção disciplinada de tecnologiasAdoção disciplinada de tecnologias Consequências Consequências papéis e responsabilidades claramente definidos acompanhamento da qualidade do produto e da satisfação do cliente expectativas para custos, cronograma, funcionalidades e qualidade do produto é usualmente alcançada Processo Maduro

13 Qualidade do Processo ISO ISO CMM SPICE BOOTSTRAP TRILLIUM Abordagens

14 Experiências de Definição de Processo

15 Avaliação da Situação das Empresas de Software Brasileiras Desconhecimento sobre ISO , CMM e SPICE por gerentes e desenvolvedores Desconhecimento sobre ISO , CMM e SPICE por gerentes e desenvolvedores Formação não sistemática e desatualizada em Engenharia de Software Formação não sistemática e desatualizada em Engenharia de Software Ausência de processo definido: desenvolvimento ad-hoc ou gerenciado Ausência de processo definido: desenvolvimento ad-hoc ou gerenciado Dificuldade para introduzir novas tecnologias Dificuldade para introduzir novas tecnologias Dificuldade para o gerenciamento de projetos Dificuldade para o gerenciamento de projetos Gerentes gastam a maior parte do tempo apagando incêndios Gerentes gastam a maior parte do tempo apagando incêndios Gerentes e desenvolvedores insatisfeitos Gerentes e desenvolvedores insatisfeitos

16 Preocupação com qualidade ainda é incipiente nas empresas Preocupação com qualidade ainda é incipiente nas empresas Experiência tem mostrado que os benefícios de investimentos em qualidade são percebidos rapidamente Experiência tem mostrado que os benefícios de investimentos em qualidade são percebidos rapidamente qualidade do produto produtividade no desenvolvimento competitividade recursos humanos formados

17 Gerentes começam a perceber a necessidade de um processo de software definido para a empresa e seguido por todos

18 Experiência da Equipe de Engenharia de Software da COPPE na Definição e Implantação de Processos de Software em Empresas CENPES/Petrobrás Geofísica/Petrobrás IBM EMBRATEL/Planejamento EMBRATEL/Satélites Fundação Bahiana de Cardiologia Ministério da Aeronáutica CAC/CEDAE Rio-Sul Linhas Aéreas TecTeam Ministério da Marinha Bennett CCA-Aeronáutica ASBACE

19 Outra Experiência Significativa: 1995: processo de software para o Projeto ATLAS do CERN 1997/1998: definição de um processo de software para equipes geograficamente distribuídas e com diferentes níveis de capacitação

20 Plano do Processo1 Instanciação... ISO CMM/ SPICE Práticas E. de Software Cultura Organizacional Tipo de Software Particularidades do projeto Definição Especialização Processo Padrão Especialização 1... Plano do Processo n Especialização n Medição e Avaliação do Processo Enfoque para Definição e Avaliação de Processos de Software

21 Aspectos Fundamentais Respeito a cultura organizacional Respeito a cultura organizacional Uso de práticas comprovadas de Engenharia de Software: Engenharia de Software Baseada em Evidências necessidade de pesquisa empírica Uso de práticas comprovadas de Engenharia de Software: Engenharia de Software Baseada em Evidências necessidade de pesquisa empírica Definição do Processo Padrão da Organização Definição do Processo Padrão da Organização Definir um processo, usar, medir, avaliar e melhorar continuamente Definir um processo, usar, medir, avaliar e melhorar continuamente

22 O Caso da Fundação Bahiana de Cardiologia Histórico de desenvolvimento informal, ad-hoc, fracassos 1994: inicio do Projeto SEC (Sistema Especialista para Diagnóstico de Infarto Agudo do Miocárdio) definição do processo de software definição do processo de software definição de características e procedimentos para avaliação da qualidade definição de características e procedimentos para avaliação da qualidade treinamento treinamento construção da 1 a. Versão em 3 meses construção da 1 a. Versão em 3 meses

23 1995/1996: validação e refinamento do sistema validação e refinamento do sistema teses de mestrado e doutorado teses de mestrado e doutorado grande volume de publicações grande volume de publicações 2 o. Lugar no Concurso de Monografias PBQP 2 o. Lugar no Concurso de Monografias PBQP 1997: FBC é empresa SOFTEX FBC é empresa SOFTEX publicação de artigo na revista Artificial Intelligence in Medicine publicação de artigo na revista Artificial Intelligence in Medicine 1998: apresentação do SEC na Cebit98 (Hanover) e na MEDICA (Dusseldorf) apresentação do SEC na Cebit98 (Hanover) e na MEDICA (Dusseldorf)

24 1999: validação com casos reais validação com casos reais teses de mestrado e doutorado teses de mestrado e doutorado apresentação no Congresso Mundial de Cardiologia apresentação no Congresso Mundial de Cardiologia 2000: projeto concluído tradução para inglês e espanhol apresentação à Secretaria de Saúde para implantação

25 Investimento em Qualidade significou Produtividade e Competitividade Como grupo de pesquisa Como empresa de software

26 Pesquisas Teses de Mestrado e Doutorado Ferramentas de Apoio à Definição de processos na Estação TABA Processo de Software para Equipes Geograficamente Distribuídas Processo de Software para Desenvolvimento de Sistemas Baseados em Conhecimento Processo para o ADSOD NETUNO Processo para Desenvolvimento de Software na Web Medição e Melhorias no Processo de Software Engenharia de Software Baseada em Evidências

27 Experiência Gerencial Valor medido Nível de pontuação Resultado (Identificação de Problemas eSugestões de Melhorias no Processo) Estudo da literatura Identificação de Métricas de Processo Desenvolvimento de Software e Uso do Processo Medição Definição dos Critérios de Julgamento Pontuação Julgamento Relatório Histórico do Projeto Planilha de Atividades

28 Experiência na TecTeam Informática Definição do Processo Padrão da TecTeam (1999) Definição do Processo Padrão da TecTeam (1999) Especialização do Processo para 2 Empresas Clientes (4/2000) Especialização do Processo para 2 Empresas Clientes (4/2000) Instanciação para Projeto Específico (4/2000) Instanciação para Projeto Específico (4/2000) Definição de Métricas para Medição do Processo (4/2000) Definição de Métricas para Medição do Processo (4/2000) Medição Medição Avaliação dos Resultados para Melhoria do Processo Avaliação dos Resultados para Melhoria do Processo Definição e Construção de Ferramenta de Apoio

29 Plano do Processo1 Instanciação... ISO CMM Práticas E. de Software Tipo de Software Cultura Organizacional Particularidades do projeto Definição Especialização Processo Padrão Especialização 1... Plano do Processo n Especialização n Medição e Avaliação do Processo

30 Métricas Selecionadas Tempo Tempo Precisão da Estimativa de Cronograma Precisão da Estimativa de Cronograma Esforço Esforço Precisão da Estimativa de Esforço Precisão da Estimativa de Esforço Tamanho do Sistema Tamanho do Sistema Número de Erros Número de Modificações Densidade de Defeitos Rotatividade de Pessoal Produtividade Deterioração do Software Experiência da Equipe

31 Avaliação do Processo e Sugestão de Melhorias Sistema Baseado em Conhecimento Sistema Baseado em Conhecimento interpretação dos resultados obtidos nas medições relação entre os resultados e aspectos do processo relação entre os resultados e o contexto do projeto recomendações para melhoria do processo


Carregar ppt "Experiências na Definição, Uso e Medição de Processos de Software Ana Regina Rocha COPPE- UFRJ"

Apresentações semelhantes


Anúncios Google