420 likes | 877 Views
Melhoria de Processos de Software. Reinaldo Cabral cabral@cos.ufrj.br. O curso. PARTE I Definição e Execução de Processos de Software PARTE II Melhoria de Processos de Software PARTE III Melhoria Radical em Processos de Software. Roteiro - Parte II. 1. Notas introdutórias
E N D
Melhoria de Processos de Software Reinaldo Cabral cabral@cos.ufrj.br
O curso • PARTE I • Definição e Execução de Processos de Software • PARTE II • Melhoria de Processos de Software • PARTE III • Melhoria Radical em Processos de Software
Roteiro - Parte II 1. Notas introdutórias 2. Exercícios (Torneio – 2ª Etapa) 3. Abordagens para Melhoria 4. Modelos para Melhoria 5. Foco no Processo Organizacional 6. Melhorar sem Melhorias 7. Fatores de Sucesso \ Lições Aprendidas 8. Referências 9. Verificação do Alcance dos Objetivos de Aprendizagem
Melhoria de Processos de Software 1. Notas Introdutórias • O que significa melhorar? • Existe melhoria para pior? • Existe piora para melhor? • Ganha-ganha • Como saber se melhorou? • “Só a própria organização pode melhorar o seu processo.” (Basili et. al, 2002) • “A melhoria deve ter um valor perceptível” (Rifkin, 2001)
Melhoria de Processos de Software 2. Exercícios – 2ª Etapa • Formar grupos de no máximo 6 pessoas • Definir os papéis dos integrantes nos grupos • Contexto de trabalho e apresentação do processo • Executar o processo
Papéis • Líder • Comunicação com o cliente • Guardião do material • GQPP • Aderência do processo • Registra inconformidades • Grupo de Métricas • Mensura o desempenho na execução do processo • Equipe de desenvolvimento • Monta o artefato
Melhoria de Processos de Software 3. Abordagens para Melhoria
Melhoria de Processos de Software 3. Abordagens para Melhoria
Melhoria de Processos de Software 4. Modelos para Melhoria • PDCA (Ciclo de Deming) Walter A. Shewhart em 1931 publicou o livro “Economic Control of Quality of Manufactured Product”, que estabeleceu as bases para o controle estatístico de processo e fundamentos para controle total da qualidade.
Melhoria de Processos de Software 4. Modelos para Melhoria • IDEAL (McFeeley, 1996)
Melhoria de Processos de Software 4. Modelos para Melhoria • QIP (Basili, 1985)
Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização SP1.2Avaliar Processos da Organização Stakeholders Relevantes Ativos de Processo da Organização SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo Planejar e Implementar Atividades de Melhoria de Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo 5. Foco no Processo Organizacional
Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização SP1.2Avaliar Processos da Organização Stakeholders Relevantes Ativos de Processo da Organização SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo 5. Foco no Processo Organizacional
5. Foco no Processo Organizacional • SP1.1. Estabelecer Necessidades do Processo Organizacional • Processos organizacionais operam em um contexto de negócio que deve ser compreendido. • Aspectos cobertos por necessidades e objetivos do processo organizacional • Características do processo • Objetivos de desempenho do processo • Eficácia do processo • Produto:Necessidades e objetivos do processo organizacional.
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização Stakeholders Relevantes SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP1.2. Avaliar Processos da Organização • Avaliar os processos da organização periodicamente e quando necessário, para manter um entendimento dos pontos fortes e fracos destes processos • Produtos: • Planos para a avaliação de processos da organização • Resultados obtidos com as avaliações relacionados aos pontos fortes e fracos dos processos da organização • Recomendações de melhorias para os processos da organização
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização SP 1.3 Implementar Melhorias para o Processo da Organização Determinar Oportunidades de Melhoria para o Processo Stakeholders Relevantes SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP1.3. Identificar Melhorias para o Processo da Organização • Determinar melhorias de processo candidatas • Priorizar melhorias de processo candidatas • Identificar e documentar as melhorias de processo que deverão ser implementadas • Revisar a lista de melhorias planejadas • Produtos: • Análise das melhorias de processo candidatas • Identificação de melhorias para os processos da organização
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização Stakeholders Relevantes SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo SP2.1 Estabelecer Planos de Ação do Processo Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP2.1. Estabelecer Planos de Ação do Processo • Estabelecer e manter planos de ação de processos para tratar das melhoria dos processos da organização e dos seus ativos de processoo. • É fundamental a participação dos stakeholders. • Produto: • Planos de Ação Aprovados
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização Stakeholders Relevantes SP 2.3Implantar Ativos de Processo da Organização SP2.4Incorporar Experiências nos Ativos de Processo SP 2.2 Implementar Planos de Ação do Processo Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP2.2. Implementar Planos de Ação do Processo • Implementar planos de ação do processo na organização. • Produtos: • Comprometimento entre as várias equipes envolvidas com o processo • Resultados e situação dos planos de ação do processo que estão sendo implementados • Planos para pilotos
5. Melhoria de Processos de Software Teste para as ações de melhoria • Abordagens: • Simulação dinâmica de processos • Execução de Pilotos • Modelos que sugerem a adoção de pilotos: • IDEAL (McFeeley, 1996); • QIP (Basili et al., 1994); • CMMI (SEI, 2002).
5. Melhoria de Processos de Software Avaliação do teste das ações de melhoria • Os dados coletados estão corretos? • Que fatores influenciam a interpretação dos resultados? • Os efeitos observados podem ser generalizados? • A mudança foi conduzida de forma correta a ponto de apresentar os reais efeitos? • As pessoas foram devidamente preparadas para a mudança? • A mudança poderia ser melhor?
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização Stakeholders Relevantes SP2.4Incorporar Experiências nos Ativos de Processo SP 2.3 Implantar Ativos De Processo da Organização Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP 2.3. Implantar Ativos de Processo da Organização • Implantar novos ativos de processo ou alterar já existentes. • A participação dos stakeholders é importante. • Produtos: • Planos para implantação de novos ativos e de alterações aos ativos do processo da organização • Material de treinamento • Documentação de alterações dos ativos do processo • Material de apoio
Ativos de Processo da Organização 5. Foco no Processo Organizacional Pontos Fortes e Pontos Fracos Iniciativas de Melhoria Objetivos e Necessidades do Processo Melhorias Selecionadas SP1.1Estabelecer Necessidades do Processo Organizacional SP1.2Avaliar Processos da Organização Determinar Oportunidades de Melhoria para o Processo SP1.3Identificar Melhorias para o Processo da Organização Stakeholders Relevantes SP 2.4 Incorporar Experiências nos Ativos de Processo SP 2.3 Implantar Ativos De Processo da Organização Planejar e Implementar Atividades de Melhoria para os Processos SP2.2Implementar Planos de Ação para o Processo SP2.1Estabelecer Planos de Ação para o Processo
5. Foco no Processo Organizacional • SP2.4. Incorporar Experiências nos Ativos de Processo • Incorporar produtos relacionados ao processo, medições e informações de melhorias derivadas do planejamento e execução do processo nos ativos de processo da organização • Produtos: • Proposta de melhoria do processo • Lições aprendidas do processo • Medições nos ativos de processo da organização • Recomendações de melhorias para os ativos de processo • Registro das atividades de melhoria de processo da organização • Informação sobre os ativos de processo e suas melhorias
Melhoria de Processos de Software 6. Melhorar sem Melhorias • Treinamentos interno • Monitoring, “Learning by doing” • Melhorar a comunicação • Programas de qualificação • Incentivos para aumentar o comprometimento
Melhoria de Processos de Software 7. Lições Aprendidas / Fatores de Sucesso • A coleta de dados deve ser feita através de um processo rigoroso e por uma equipe profissional • Estabelecer uma baseline para os processos, produtos e objetivos é crítico em qualquer programa de melhoria. • A acurácia dos dados mensurados será sempre suspeita, mas temos que aprender a viver com isso e entender estas limitações. • O apoio da gerência é muito importante para manter o sucesso das iniciativas em prol da melhoria
Melhoria de Processos de Software 7. Lições Aprendidas / Fatores de Sucesso • Sempre que possível inicie com iniciativas bottom-up. Para isso, inicie focado nas necessidades mais urgentes e simples, envolva os desenvolvedores, obtenha o feedback a cada iniciativa e torne-os visíveis a alta gerência. • Promova uma mudança cultural gradual com ações que minimizem o impacto e estimulem o aprendizado e a participação no processo. • Implemente um sistema de “gratificação” para relatos de problemas e idéias de melhorias. Objetivo: Motivar e comprometer.
Referências • (McGarry e Thomas, 1994) McGarry, F. E., Thomas, M., “Top-Down vs. Bottom-Up Process Improvement”, IEEE Software, p. 12-13, Julho, 1994. • (Basili et. al, 2002) Basili, V. R., McGarry, F. E., Pajerski, R., Zelkowitz, M. V., “Lessons learned from 25 years of process improvement - The Rise and Fall of the NASA Software Engineering Laboratory”, 24th International Conference on Software Engineering, p. 69-82, Maio, 2002. • (Rifkin, 2001) Rifkin, S., “Why Software Process Innovations Are Not Adopted”, IEEE Software, p.110-112, Julho/Agosto, 2001. • (McFeeley, 1996) McFeeley, B., “IDEALSM: A User’s Guide for Software Process Improvement”, CMU/SEI-96-HB-001, Software Engineering Institute, Fevereiro, 1996. • (Basili e Caldiera, 1995) Basili, V. R., Caldiera, G., “Improve Software Quality by Reusing Knowledge and Experience”, Sloan Management Review, Fall 1995, Vol. 37, N. 1, p. 55-64. • (Basili, 1985) Basili,V. R., "Quantitative Evaluation of Software Engineering Methodology,“ Proceedings of the First Pan Pacific Computer Conference, Melbourne, Australia, September 1985.
6. Verificação do Alcance dos Objetivos de Aprendizagem • Como identificar oportunidades de melhorias? • Quais as ações de melhoria que podemos realizar? • O que fazer quando as ações de melhorias oferecem riscos ao processo? • Como institucionalizar melhorias?
Melhoria de Processos de Software Reinaldo Cabral cabral@cos.ufrj.br