1 / 31

Experiências na Definição, Uso e Medição de Processos de Software

Experiências na Definição, Uso e Medição de Processos de Software. Ana Regina Rocha COPPE- UFRJ darocha@cos.ufrj.br. Preocupações da Engenharia de Software. Qualidade do produto Qualidade do processo de desenvolvimento.

kieve
Download Presentation

Experiências na Definição, Uso e Medição de Processos de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Experiências na Definição, Uso e Medição de Processos de Software Ana Regina Rocha COPPE- UFRJ darocha@cos.ufrj.br

  2. Preocupações da Engenharia de Software • Qualidade do produto • 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. Processo de Software conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos relacionados

  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 • 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 • Testes só podem detectar 70% dos defeitos latentes no código • Inspeções podem detectar 80 a 90% dos erros antes dos testes Mas, 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 Fuggetta, A. Software Process: a Roadmap; in The Future of Software Engineering; 22nd International Conference on Software Engineering, Limerick, Irlanda, Jun 2000 • Início da área de Processo de Software: Anos 80 • Eventos: • International Software Process Workshop • European Workshop on Software Process Technology • Revista:Software Process - Improvement and Practice • Criação de Institutos: • Software Engineering Institute (SEI, Pittsburg, EEUU) • European Software Institute (ESI, Bilbao, Espanha) • Esforço da ISO:ISO 12207 e ISO 15504

  9. Raiz: Pesquisas realizadas nos Anos 60 e 70 emModelos de Ciclo de Vida • 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 • 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. Processo Imaturo Características • Ad hoc - Improvisado • Fortemente dependente dos profissionais • Indisciplinado Consequências • pouca produtividade • qualidade de difícil previsão • alto custo de manutenção • risco na adoção de novas tecnologias

  12. Processo Maduro Características • Processo conhecido por todos • Apoio visível da alta administração • Auditagem da fidelidade ao processo • Medidas do produto e do processo • Adoção disciplinada de tecnologias 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

  13. Qualidade do Processo Abordagens • ISO 12207 • ISO 9000-3 • CMM • SPICE • BOOTSTRAP • TRILLIUM

  14. Experiências de Definição de Processo

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

  16. Preocupação com qualidade ainda é incipiente nas empresas • 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 • 1988 - CENPES/Petrobrás • 1989 - Geofísica/Petrobrás • 1991 - IBM • 1993 - EMBRATEL/Planejamento • 1994 - EMBRATEL/Satélites • 1994 - Fundação Bahiana de Cardiologia • 1997 - Ministério da Aeronáutica • 1997 - CAC/CEDAE • 1998 - Rio-Sul Linhas Aéreas • 1999 - TecTeam • 1999 - Ministério da Marinha • 1999 - Bennett • 1999 - CCA-Aeronáutica • 2000 - 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. Enfoque para Definição e Avaliação de Processos de Software Processo Padrão ISO 12207 CMM/ SPICE Práticas E. de Software Cultura Organizacional Tipo de Software Particularidades do projeto Definição Especialização ... Especialização 1 Especialização n Instanciação ... Plano do Processo1 Plano do Processo n Medição e Avaliação do Processo

  21. Aspectos Fundamentais • 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 • Definição do Processo Padrão da Organização • 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 de características e procedimentos para avaliação da qualidade • treinamento • construção da 1a. Versão em 3 meses

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

  24. 1999: • validação com casos reais • teses de mestrado e doutorado • 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. Estudo da literatura Experiência Gerencial Identificação de Métricas de Processo Definição dos Critérios de Julgamento Desenvolvimento de Software e Uso do Processo Relatório Histórico do Projeto Valor medido Medição Nível de pontuação Pontuação Julgamento Resultado (Identificação de Problemas eSugestões de Melhorias no Processo) Planilha de Atividades

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

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

  30. Tempo Precisão da Estimativa de Cronograma Esforço Precisão da Estimativa de Esforço 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 Métricas Selecionadas

  31. Avaliação do Processo e Sugestão de Melhorias • 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

More Related