RUMO AO NÍVEL 3 Soeli T. Fiorini SPIN/SP Nov./1999 Agenda Introdução Rumo ao Nível 3 Noções da ACP (KPA) ACP Nível 3 x Nível 2 Barreiras Gastos Retorno CBA IPI Dados do SEI Metas do Desenvolvimento Custo Produtividade Satisfação do Cliente Cronograma Lucro Problema - Processo Imaturo Processo improvisado pelos praticantes e seus gerentes Nada é rigorosamente seguido ou aplicado Dependente das pessoas que realizam as atividades Problemas com custo e cronograma Pouca visibilidade do progresso e qualidade ... Processo Maduro Consistente com a forma que o trabalho é realizado Definido, documentado e em melhoria contínua Visivelmente mantido por todos Bem controlado - auditado e seguido Medido Tecnologia usada de forma disciplinada Solução MELHORIA DO PROCESSO O que significa melhoria de processo? Reconhecer “a lei da criatividade” Mudar o comportamento das pessoas Prover mecanismos de feedback medições verificações Esforço e reforço contínuo dinâmico - nunca estático ... Melhoria do Processo de Software - SPI Defina um modelo IDEAL (iniciar, diagnosticar, estabelecer, agir, implantar) PDCA (planejar, fazer, verificar e agir) Crie o seu modelo Organize-se Sumário do projeto Priorize avaliação Conflitos, desafios e riscos de projetos SPI Conflito cultura enraizada - processo e ideais Desafio implantar o processo com poucos recursos e e no menor tempo possível Risco institucionalização Rumo a Nível 3 N3 Foco no Processo da Organização Organization Process Focus - OPF OPF x N2 Gerência de Requisitos Requisito do cliente x SPI Projeto SPI possui requisitos (ACPs, práticas) Projeto SPI x status dos requisitos OPF x N2 Planejamento do Projeto de Software Atividades de SPI - faça um projeto Plano de Ação/Melhoria x Plano de Projeto Plano de transferência de tecnologia (cronograma ...) OPF x N2 Supervisão e Acompanhamento de Projeto de Software Acompanhe o projeto SPI tamanho, esforço, custo, cronograma, ... acompanhar produtos produzidos registrar dados de replanejamento - histórico revisões medições (ex. trabalho dos PATs) SQA OPF x N2 Gerência de Configuração de Software Documentação do projeto SPI Plano de ação, plano de gerência de configuração e plano de garantia de qualidade, treinamentos,... Planilhas de medições com status das áreaschaves do processo (KPAs) ferramentas utilizadas no processo OPF x N2 Garantia de Qualidade de Software revisão/ auditoria de produtos do projeto SPI Apoio na institucionalização dos processos - feedback OPF x N2 Gerência de Contrato de Software Desenvolvimento de ferramentas para dar suporte “casar” com o tempo para institucinalização OPF - Barreiras Comprometimento da gerência superior Respeito aos membros do SEPG Recursos alocados Motivação e comprometimento das equipes Gerentes e engenheiros cépticos mudança cultural Organizações com freqüentes mudanças OPF - Gastos Recursos SEPG coordenação, revisões, orientações, medições, ... Treinamento do SEPG Treinamento para a organização CMM e CBA IPI, processos, ferramentas, ... Equipes (PATs) Avaliação (assessment) OPF - Retorno do Investimento Redução do risco Melhoria planejada Melhoria de processo coordenada e focada Entendimento da capacitação do processo Avaliações Aumento da capacitação do processo Ações de melhoria Definição do Processo da Organização Organization Process Definition - OPD Definição do Processo da Organização - OPD Desenvolver o Processo de Software Padrão da Organização Banco de Dados de Processos de Software da organização Biblioteca de Documentação Relacionada ao Processo de Software Requisitos Externos Requisitos de Sistema Descrições dos Ciclos de Vida Requisitos do Sistema Alocados ao Software Diretrizes e Critérios para Adaptar o Processo de Software Padrão da Organização Selecionar o Ciclo de Vida Descrição do Processo de Software Padrão da Organização Arquitetura do Processo de Software Descrição dos Elementos do Processo de Software Descrição do Processo de Software Definido do Projeto Ciclo de Vida de Software do Projeto {Fase a} {Fase b} {Fase c} {Fase d} Arquitetura de Alto Nível do Proc. Soft. de Software do Projeto Desenvolver o Processo de Software Definido do Projeto Descrição do Processo de Software do Projeto Plano de Desenvolvimento de Software do Projeto Tarefas de Projeto Etapa a Etapa b Etapa c Etapa d Atividades Resultados do Projeto e artefatos de software OPD x N2 Gerência de Requisitos participantes são os clientes que tem requisitos para melhoria de processos, procedimentos e definições de processos requisitos para criar padrão de documentação requisitos para diretrizes e critérios de adaptação requisitos para criar BB e biblioteca padronização das descrições de processos de gerência de requisitos OPD x N2 Planejamento, Supervisão e Acompanhamento do Projeto de Software padronização das descrições de processos de planejamento, supervisão e acompanhamento descrições, templates, medições, padrões, procedimentos estimativas no banco de dados OPD x N2 Gerência de Configuração de Software padronização das descrições de processos de gerência de configuração descrições do processo de software padrão sob SCM ativos de processo gerenciados e controlados OPD x N2 Garantia de Qualidade de Software padronização das descrições de processos de garantia de qualidade de software participa da aprovação dos processos revisa e/ou audita atividades e produtos de OPD OPD x N2 Gerência de Contrato de Software padronização das descrições de processos de gerência de contrato de software definição de um “modelo de fábrica” OPD - Barreiras Nível de detalhes nas descrições de processos e notações p/ representar o proc. Boas práticas geralmente não estão definidas e documentadas Definição de processo não ser entendida Esquema do banco de dados limitado Mudanças durante a implantação/ institucionalização do processo OPD - Gastos Definir padrão para doc. de processos Desenvolver e documentar o processo Desenvolver e manter guidelines de adaptação do processo Definir e/ou comprar e manter o BD de processo Estabelecer e manter a biblioteca de documentação relacionada ao processo Treinamentos, medições, pilotos, ... OPD - Retorno Um processo e ativos -> Padronização Base p/ gerar adaptações controladas BD - possibilidade de medições e histórico para estimativas -> controle/ previsibilidade Biblioteca de documentação - auxilia no aprendizado e institucionalização dos processos Programa de Treinamento Training Program - TP Programa de Treinamento - TP Grupo de Treinamento Necessidades de pessoas, projetos e organização Padrões organizacionais Procedimento de Dispensa Plano Treinamento Organização Execução do Treinamento Plano Treinamento Projeto x Plano Treinamento Projeto y Plano Treinamento Projeto z Registros de Treinamentos TP x N2 Gerência de Requisitos Necessidade de treinamento contínuo Treinamento em métodos, técnicas ... TP x N2 Planejamento, Supervisão e Acompanhamento do Projeto Necessidade de treinamento contínuo Ênfase em controles baseados em dados do BD e limites Pode-se incluir no plano de projeto as necessidades de treinamento TP x N2 Gerência de Configuração de Software Necessidade de treinamento contínuo TP x N2 Garantia da Qualidade de Software Necessidade de treinamento contínuo Ênfase em checklists padronizados TP x N2 Gerência de Contrato de Software Necessidade de treinamento contínuo Treinamento de fornecedores TP - Barreiras Orçamento - dinheiro Falta de suporte da gerência Fornecer o treinamento muito tarde Fornecer o treinamento muito cedo Falta de instrutores TP - Gastos Treinamento para o grupo de treinamento Padrões para preparação de cursos Levantamento das necessidades de treinamento Prover o treinamento Manter registros de treinamentos Avaliações independentes - consultores TP - Retorno Capacitação das pessoas Produtividade Qualidade Satisfação Institucionalização mais rápida Engenharia de Produtos de Software Software Product Engineering - SPE Engenharia de Produtos de Software - SPE Métodos Ferramentas Processo de Software Definido do Projeto - PSDP Descrição Requisitos Codificação Design Documentação Teste Produtos sob SCM/ Gerenciados e Controlados Revisão por Parceiros Manter Consistência dos Artefatos Coleta e Análise de Defeitos SPE x N2 Gerência de Requisitos Base para as atividades de SPE Foco na definição de requisitos -métodos SPE x N2 Planejamento, Supervisão e Acompanhamento do Projeto de Software definição de novas atividades a serem incluídas e acompanhadas no plano do projeto SPE x N2 Gerência de Configuração de Software definição de baselines de acordo com o ciclo de vida do processo de desenvolvimento de software estabelecido integração da ferramenta de gerência de configuração com as ferramentas de desenvolvimento SPE x N2 Garantia de Qualidade de Software passa a ter mais recursos para realizar revisões e auditorias -> procedimentos, métodos, padrões de SPE ... Passa a verificar traceability efetivamente SPE x N2 Gerência de Contrato de Software Cláusulas no contrato, se necessário, para manter métodos, ferramentas e processos compatíveis Fábrica de software x atividades em conjunto, integração do produto ... SPE - Barreiras Métodos e ferramentas pouco apropriados ou incompatíveis Métodos e ferramentas pouco eficientes Processo pouco efetivo (ex. revisão por pares) Falta de conhecimento técnico SPE - Gastos Comprar ferramentas Capacitar desenvolvedores nas técnicas e ferramentas Rastear e manter a consistência através dos produtos Definir e executar atividades de teste Coletar e analisar dados de defeitos SPE - Retorno Consistência através dos produtos Uso dos dados de defeitos para melhoria do processo Uso mais efetivo de ferramentas e métodos Mais controle e qualidade no desenvolvimento Gerência de Software Integrada Integrated Software Management - ISM Gerência de Software Integrada - ISM Processo de Software Padrão da Organização Ciclos Diretrizes Padrões de e e Vida Critérios Formulários Processo de Software Definido do Projeto Plano de Desenvolvimento de Software ISM x N2 Gerência de Requisitos Base para o desenvolvimento do plano de projeto processo de gerência de requisitos -> adaptação do processo - ex. solicitação de mudanças (pequenas manutenções) ISM x N2 Planejamento, Supervisão e Acompanhamento do Projeto de Software Estabelecer limites para gerenciar tamanho, esforço, custo, dependências e caminhos críticos do cronograma e recursos críticos de computação Riscos gerenciados - todos os eventos com reais possibilidades de impedir que o projeto alcance seus objetivos - plano de ger. riscos ISM x N2 Planejamento, Supervisão e Acompanhamento do Projeto de Software Desenvolver e revisar o processo do projeto definido com base no padrão Plano de projeto pode conter referências do padrão - registro do processo definido do projeto ISM x N2 Gerência de Configuração de Software Pode-se definir baselines mínimas acordando para a duração de projetos ISM x N2 Gerência de Contrato de Software Contratada define e entrega produtos de acordo com os processos definidos (ex. classes de projetos) ISM x N2 Garantia de Qualidade de Software Segue o processo de software definido para para o projeto acesso ao banco de dados p/ planejamento, estimativa, acompanhamento coleta e fornecimento de dados ao banco de dados gerência do projeto ... ISM - Barreiras Não existir um processo de software padrão na organização Planejamento, supervisão e acompanhamento do projeto ainda com problemas Ativos serem difíceis de recuperar e usar Definir diretrizes e guias de adaptação claros e úteis ISM - Barreiras Identificação errônea de classes de projetos/ manutenções e a adaptação necessária Resistência na documentação das manutenções Banco de dados pouco utilizado - uso para planejar e estimar ISM - Gastos Levantamento de como adaptar Elaboração de diretrizes e critérios de adaptação - guias Adaptação do banco de dados de processos - limites Adaptação ferramentas para reconher tipos de projetos, templates, ... ISM - Retorno Processo definido de acordo com as características dos projetos - diminui a resistência ao uso de processos Alertas anteriores ao acontecimento de problemas no projeto Possibilidade de medições mais efetivas Coordenação entre Grupos Intergroup Coordination IC Coordenação entre Grupos - IC IC x N2 Gerência de Requisitos Base para os acordos entre grupos envolvidos IC x N2 Planejamento, Supervisão e Acompanhamento de Projeto Incluir no plano de projeto os compromissos, responsáveis e dependências Os compromissos e dependências são acompanhados IC x N2 Gerência de Configuração de Software Disponibilizar a ferramenta de SCM para todos os grupos envolvidos no projeto Estabelecer as baselines em conjunto controle IC x N2 Garantia de Qualidade de Software incluir revisão/ auditoria de atividades e produtos de IC IC x N2 Gerência de Contrato de Software exigências de níveis de maturidade da contratada para trabalho em conjunto IC - Barreiras Estrutura organizacional rígida Falta de respeito entre os grupos procedimento de escalonamento problemas Diferenças de cultura/ linguagem Diferenças de níveis de maturidade Localização geográfica Compatibilidade dos meios de comunicação IC - Gastos Gerenciar compromissos e dependências entre grupos Revisões técnicas Comunicação Treinamentos - dinâmica em grupo, orientações IC - Retorno Estabelecimento de responsabilidades “falar com a pessoa certa” Visibilidade de dependências e compromissos por todos os grupos envolvidos Tratamento de questões que impedem o progresso - escalonamento Conhecimento - aumenta com trabalho em grupo Revisões por Pares Peer Review - PR Revisões por Pares PR x N2 Gerência de Requisitos Requisitos podem ser submetidos a uma reunião de revisão por pares PR x N2 Planejamento, Supervisão e Acompanhamento do Projeto de Software Incluir no plano de projeto atividades de revisão por pares Plano de projeto pode ser submetido à revisão por pares Ações de melhoria para corrigir defeitos devem ser acompanhadas até sua conclusão PR x N2 Gerência de Configuração de Software correções de defeitos resultam em mudanças que precisam ser controladas PR x N2 Garantia de Qualidade de Software revê e/ou audita processo e atividades de revisão por pares cobra evidências da reunião PR x N2 Gerência de Contrato de Software Produtos entregues pela contratada podem passar por uma revisão por pares PR - Barreiras Pressões de cronograma Acreditar que as peer reviews são demasiadamente caras Revisões hostis Medo de avaliações das pessoas Seleção pouco apropriada de revisores Pouca experiência técnica dos revisores PR - Gastos Treinamento Planejamento Fazer Registrar dados - ferramenta PR - Retorno Descobrir defeitos cedo - menor custo Dados disponíveis para guiar os testes Dados para análise de processos Aumenta qualidade - diminui o custo do processo: retrabalho Processo CBA IPI CBA IPI - CMM Based Appraisal Internal Process Improvement Processo CBA IPI 1. Identificar o Escopo da Avaliação 4. Brief do Assessment aos Participantes 2. Desenvolver um Plano para a Avaliação 5. Administrar os Questionários 3. Preparar e Treinar a Equipe 6. Examinar as Respostas dos Questionários 7. Iniciar a Revisão da Documentação 8. Apresentar Draft dos Findings Processo CBA IPI 2. Entrevistar os Líderes de Projeto ( individual 4) 1. Conduzir a Reunião de Abertura 8. Consolidar, Medir e Preparar Findings Final 5. Consolidar Informações 3. Entrevistar Gerentes Intermediários (grupo) 5. Consolidar Informações 4. Entrevistar Representantes de Áreas Func. (grupo 6-12) 5. Consolidar Informações 6. Preparar Draft dos Findings 7. Apresentar Draft dos Findings Revisão de documentos, Entrevistas de Foloow-up 9. Apresentar Findings Final 10. Conduzir uma Sessão Executiva 11. Elaborar Relatório Final para o SEI Depois da conquista ... Melhoria de processo é melhoria contínua Dados do SEI - Maio 97 Número de organizações iniciando SPI continua a aumentar Organizações da área comercial tem aumentado Aproximadamente metade das organizações que tem reportado tem menos que 100 funcionários Transição de níveis: 2-3 tendem a ser mais rápidos e com menos variância Dados do SEI - Maio 97 Organizações Nível 1 Garantia de Qualidade de Software e Planejamento do Projeto de Software são as áreas-chave freqüentemente menos satisfeitas Organizações Nível 2 Definição do Processo da Organização, Gerência de Software Integrada e Programa de Treinamento são as áreas-chave menos satisfeitas. Sucesso do projeto SPI CMM tem que ser uma conquista de todos