Instituto de Ensino Superior de Itapira Disciplina: Projetos de Sistemas Administração de Empresas – o Analise de Sistemas – 5 semestre aula 3 Professor: William A Zacariotto [email protected] 3.9 Áreas-chave do processo (ACPs) As áreas-chave de processo – ACPs – constituem a primeira divisão sistemática dentro dos níveis de maturidade. Identificam um grupo de atividades relacionadas, que, quando executadas em conjunto, satisfazem um grupo de metas relevantes para a melhoria da capacitação do processo. O CMM considera cada ACP como um processo particular. Cada nível de maturidade define o seu conjunto de ACPs. Uma descrição de uma ACP envolve: sua descrição, o estabelecimento das metas da ACP e a definição das práticas-chave da ACP. Estas últimas correspondem tipicamente a ações a serem realizadas por pessoas e grupos da organização atuantes no desenvolvimento do Software, ou, então correspondem á infra-estrutura necessária para a realização das práticas. Ao todo o CMM descreve dezoito ACPs distribuídas no nível dois (seis), três (sete), quatro (dois) e cinco (três). Não há ACPs para o nível um, uma vez que neste nível não se espera uma organização formalmente estabelecida. Nível Objetivo principal das ACPs 1 Não possui ACPs. 2 Estabelecer controles básicos de gerência. 3 Fundir as ações técnicas e gerenciais em um único processo. 4 Entender quantitativamente o processo de software, bem como os artefatos produzidos. 5 Manter, de maneira contínua a melhoria do processo. As ACPs são ainda classificadas de duas formas: - Classes de responsabilidade. - Categorias de processo de cada ACP, nos níveis de maturidade. Na classe de responsabilidade têm-se duas: as ACPs de projeto e as ACPs da organização. Classe de Áreas-chave de Processo Caracterização responsabilidade ACP de projeto Supervisão e Acompanhamento de Envolvem apenas projeto de software. 3.10 Certificação baseada no CMM Como já havia sido mencionado o CMM pode ser utilizado de diversas formas. A mais simples é usá- lo como uma diretriz para implementar boas práticas de engenharia de software. Neste caso selecionam-se ACP´S que trarão o maior impacto positivo para a organização e implementa-se as correspondentes ACP´S. A vantagem disso é estar construindo um ambiente coerente e homogêneo, ao qual poderá se adicionar mais ACP´s a medida que se vai guardando níveis de sofisticação ou de qualidade exigida. Uma outra forma de usá-lo é na busca de um certificado de conformidade, atestando que se está em determinado e desejável nível de maturidade. Neste caso realiza-se uma Avaliação de Processo de Software. Para tal é necessário que se implementa todas as ACP´S do nível e, interagindo com uma agência certificadora, se obtenha o certificado desejado. A vantagem disto é poder este certificado como um indicador idôneo da capacitação de desenvolver software de qualidade assegurada fornecida por uma agência certificadora independente. Estes certificados podem ser exigências para participar de concorrências, para poder vender determinado tipo de software, ou para dispor de um elemento diferenciador com relação às empresas concorrentes. Uma terceira forma é examinar um fornecedor de software quanto a sua capacitação em produzir o software desejado no nível de qualidade requerido. Neste caso realiza-se uma avaliação da capacitação de software, sendo que o laudo se torna parte da análise de riscos realizada pela organização contratante. A vantagem disto é dispor de um fornecedor de software melhor qualificado. 3.11 Seleção e treinamento da equipe Nesta etapa seleciona-se e prepara-se a equipe que participará e executará o processo de certificação. Os membros da equipe devem ser treinados nos conceitos do CMM, bem como no método que será empregado para a certificação. Devem ainda ser familiarizados com o questionário de maturidade, treinados na sua aplicação e, finalmente, no método de revisão dos documentos da organização e das entrevistas. 3.12 Questionário de maturidade e amostragem do CMM Na segunda etapa aplica-se o questionário de maturidade, bem como outros instrumentos de diagnóstico. O questionário deve ser respondido por pessoas, geralmente quatro a dez, da organização que esta sendo avaliada. 3.13 Análise das respostas Uma vez aplicado o questionário, a equipe de certificação analisa as respostas do questionário, classifica–as e identifica as áreas que deverão ser exploradas mais intensamente. Tais áreas correspondem ás ACPs – Áreas-Chaves de processo do CMM. As respostas dos questionários não apresentam o resultado final, mas servem como um ponto de partida para a investigação das ACPs que serão avaliadas e para elaboração de perguntas par os líderes de projeto. 3.14 Visitas, entrevistas e revisões de documentos O próximo passo é a visita da equipe de certificação ao local a ser certificado. Munidos dos resultados da análise das respostas, a equipe conduz entrevistas e efetua uma análise crítica e minuciosa de documentações, com vistas a ganhar profundo entendimento acerca do processo de software que se pratica na organização. As ACPs e práticaschave do CMM guiam os membros através da entrevistas e do exame de documentos. Um dos objetivos da revisão de documentos é buscar uma visão dos processos em uso, entender a sua arquitetura, conhecer os ciclos de vida, verificar se os documentos (por exemplo, padrões, política, procedimentos e planos) existem e se de alguma forma estão em conformidade com as prescrições do CMM e confirmar dados da entrevistas. 3.15 Laudo baseado no CMM É nesse ponto que são realizados os julgamentos acerca da satisfação ou não dos requisitos do modelo. Busca-se verificar a satisfação das metas de cada ACP. Nota-se que em alguns casos tais julgamento serão feitos com informação incompleta, pois a depender do ramo de atuação da empresa a ser certificada, informações sigilosas podem ser inacessíveis mesmo aos integrantes da equipe de certificação. No caso de Avaliação de Processo de Software, o laudo se torna a base das recomendações para melhoria de processo; no caso de avaliação de capacitação de software, o laudo se torna parte da análise de risco realizada pela organização contratante. 3.16 Finalização – perfil das ACPs Esta é a etapa conclusiva do processo de avaliação. É gerado em relatório ue indica quais as áreas que satisfazem e quais as áreas que não satisfazem as metas das ACPs previstas no CMM, juntamente com os respectivos laudos. O objetivo é dar o correspondente retorno aos participantes e á organização. As ACPs, apesar de satisfeitas, poderão ter pontos de melhorias. Estes não impedem a satisfação da meta, mas são pequenos pontos que ainda podem ser melhorados. 3.17 Interpretando o CMM O CMM não se propõe a solucionar todos os problemas encontrados ao desenvolver software. Deve-se, também, ter muito cuidado para não torná-lo uma burocracia, principalmente em pequenas organizações. Ao implantar, o CMM deve ser interpretado de modo que práticas já existentes na organização sejam aproveitadas e, se necessário, melhoradas para que contribuam para atingir as metas das ACPs do CMM. Estas práticas existentes podem substituir uma ou mais práticas-chave e são denominadas práticas alternativas. Além do aproveitamento das práticas existentes, interpretar o CMM significa entendê-lo para, então, adaptá-lo ás características da organização. As práticas do CMM visam divulgar princípios que podem ser aplicados em projetos da organização. Estes princípios devem ser implementados, mas sempre lembrado de adaptá-los ´a cultura e á experiência dos gerentes e do corpo técnico da organização. 3.18 Interpretando as características comuns Dentro das características comuns foram definidas frases e convenções para dar maior uniformidade e consistência ás ACPs. 3.18.1 Compromisso em executar - Política Documentada: geralmente se refere a uma política escrita que deve ser seguida pelo projeto ou pela organização para execução das práticas de uma determinada área-chave. - Liderança: Em muitas ocasiões o compromisso implica liderança, como, por exemplo, gerência de projeto. 3.18.2 Habilidade para executar - Recursos e Fundos: refere-se aos recursos e financiamentos necessários para as atividades de uma ACP. Existem três categorias: (a) acesso a treinamento e habilitações especiais (b) financiamento adequado e (c) acesso a ferramentas. Utilizamos o termo Fundo (financiamento) ao invés de Orçamento para enfatizar que o recurso esta efetivamente disponível e que isto é mais importante para o processo do que o prometido ou solicitado. 4. CMMI (Capability Model Integration) Maturity O modelo CMMI é mais abrangente que o CMM. A adição do ‘i’ representa a integração de modelos de capacidade e maturidade, aumentando a complexidade e exigência deste novo modelo. Família de modelos CMMI: O CMMI provê um guia para a melhoria dos processos de uma organização e sua habilidade de gerenciar o desenvolvimento, aquisição e manutenção de produtos ou serviços. 4.1 Propósitos do CMMI Integrar processos de engenharia de sistemas e de software. Integrar disciplinas de sistemas e software em uma estrutura de processo de melhoria. Prover uma estrutura para introdução de novas disciplinas quando necessário. Criar ambiente para atuar de forma integrada. 4.2 Principais objetivos do CMMI Redução do custo da implementação de melhoria de processo multidisciplinar baseada em modelo por meio de: - Eliminação de inconsistências, redução de duplicidades. - Melhoria da clareza e entendimento. - Utilização de terminologia comum e estilo consistente. - Estabelecimento de regras de construção uniformes. - Manutenção de componentes comuns. - Consistência com a norma ISSO/ IEC 15504. - Sensibilidade às implicações dos esforços legados. O CMMI é um modelo de maturidade de processo mais abrangente que combina CMM for software com disciplinas mais amplas nas áreas de engenharia de sistemas e desenvolvimento de produtos. Os responsáveis pela idéia de CMMI são a Software Engineerig Institute e Carnegie Mellon University. O CMMI estende e combina o Capability maturity model for software (SW-CMM), o systems engineering capability model e o integrated product development capability maturity model. 4.4 Representações CMMI 4.4.1 Contínua - Melhorar o desempenho de um processo único. - Melhorar o desempenho em várias áreas alinhadas aos objetivos do negócio da organização. - Níveis de capabilidade utilizados para medir as melhorias; - Melhorar diferentes processos com diferentes classificações (rates); - Necessário conhecimento das dependências e interações entre áreas de processo (PA); - Apropriado para quem sabe que processo deve ser melhorado; - Alinhado com a ISSO/IEC 15504, devido a organização idêntica das PA’s. 4.4.2 Estágio - Enfoque de melhoria do processo de forma sistêmica e estruturada. - Atingir cada um dos estágios garante a base fundamentada necessária para o próximo estagio. - PA’s organizadas em níveis de maturidade. - Permite a organização ter um caminho evolutivo pré-definido para melhoria. - Provê a migração mais fácil do SW-CMM para o CMMI. - Apropriado para quem não sabe como iniciar um processo de melhoria ou qual processo deve ser prioridade. - Possui grande numero de casos de estudo e dados históricos de praticas bem sucedidas. - Recomendado para quem está atuando com SWCMM. 4.4.2.1 Representação por estágios - Estrutura e elementos – chave – Processo de software eficaz. - Caminho evolutivo até um processo maduro e disciplinado. - Aplicação do TQM. A representação por estágios possuí cinco categorias organizadas em níveis, são eles: Nível 1 – Inicial: Precariamente controlado, reativo e imprevisível. O processo de software é caracterizado como “ad hoc”, e ocasionalmente também caótico. Poucos processos são definidos e o sucesso depende de esforços individuais e heróicos e não da aplicação de processos definidos. A organização normalmente não provê um ambiente estável que suporte os processos. As organizações podem oferecer produtos que “funcionem”, porém geralmente excedem os orçamentos e não cumprem seus prazos e compromissos. São organizações com características de abandonar os processos em tempos de crise e com inabilidade de repetir seus sucessos. Este nível não possui áreas chaves do processo. Nível 2 – Gerenciado: Requisitos gerenciados e processo planejado, medido e controlado, Ainda reativo; Processos básicos de gerenciamento de projetos são estabelecidos para monitoramento de custo, prazo e funcionabilidade. A necessária disciplina do processo é adequada para repetir sucessos anteriores em projetos com aplicações similares. As principais características deste nível são: - Garantia que os requisitos são gerenciados. - Processos são planejados, desempenhados, medidos e controlados. - As práticas são mantidas em períodos de crise. - Projetos são desempenhados e gerenciados conforme planos documentados. - O controle gerencial permite a visibilidade em ocasiões definidas (milestones). - Compromissos estabelecidos e revisados com stakeholders relevantes. - Produtos de trabalhos apropriadamente controlados. A área chave deste processo é a gerência de projetos, que é dividido nas seguintes categorias: - PP: Planejamento de Projeto. - PMC: Acompanhamento e Controle de Projeto. - SAM: Gerencia de Acordos com Fornecedores. - REQM : Gerencia de Requisitos. - PPQA: Garantia da Qualidade de Processo e Produto. - CM: Gerencia de Configuração. - MA – Medição e análise. Nível 3 – Definido: Processo é caracterizado e claramente bem entendido. Os processos são claramente caracterizados e entendidos e estão descritos em processos, procedimentos, ferramentas e métodos. O conjunto de processos padrões da organização (OSSP – Organization’s Set Of Standart Process) que é a base deste nível, é estabelecido e aprimorado / melhorado continuamente. As principais características deste nível são: - Os processos padrões são utilizados para estabelecer consistência por toda a organização. - Processos definidos para o projeto (Project Defined Process) são adaptados (tailored) do OSSP de acordo com guias apropriados (tailoring guidelines). A área chave deste processo é a engenharia, que é dividido nas seguintes categorias: - OPF: Foco no Processo da Organização. - OPD: Definição do Processo da Organização. - OT: Treinamento organizacional. - IPM: Gerencia integrada de Projeto. - RSKM: Gerencia de Risco. - RD: Desenvolvimento de Requisitos. - TS: Solução Técnica. - PI: Integração do Produto. - VER: Verificação. - VAL: Validação. - DAR: Análise de Decisão e Resolução. Nível 4 – Quantitativo Gerenciado: Processo medido e controlado. São estabelecidos objetivos quantitativos, tanto para a organização como para os projetos, relativos a qualidade e desempenho do processo. Estes objetivos são utilizados como critérios na gerencia dos processos. As principais características deste nível são: Objetivos quantitativos baseados nas necessidades dos clientes. - Medições detalhadas são coletadas e analisadas estatisticamente. - O desempenho da qualidade e do processo gerenciados estatisticamente dando condições de avaliar seu progresso e possíveis problemas. - Causas especiais de variação do processo são identificadas e onde apropriado a origem destas causas são corrigidas para prevenir futuras ocorrências. - A habilidade de prever resultados é maior e a variabilidade do processo é menor. A área chave deste processo é a gerência de processos, que é dividido nas seguintes categorias: - OPP: Desempenho do Processo Organizacional. - QPM: Gerencia Quantitativa de Projeto. Nível 5 – Otimização: Foco na melhoria continuada do processo. Processo melhorado continuamente, baseado no entendimento quantitativo das causas comuns de variação, inerentes ao processo. As principais características deste nível são: - Melhoria continuada do desempenho dos processos por meio de processos incrementais e inovadores e melhorias tecnológicas. - Objetivos quantitativos de melhoria dos processos, para a organização, são estabelecidos, revisados continuamente. - Gerentes são aptos a estimar e monitorar a eficácia das mudanças. A área chave deste processo é o suporte, que é dividido nas seguintes categorias: - IOD: Inovação e Melhoria Organizacional. - CAR: Análise Casual e Resolução. 4.5 Benefícios – exemplos de algumas empresas 4.5.1 Custo - Redução em 33% nos custos de correção de defeitos - Boeing Austrália. - 20 % de redução na média da variação dos custos - Thales. 4.5.2 Cronograma - Atendimento aos milestones dos projetos de 50 % para 95 % - General Motors. - 30 % de aumento de produtividade – Lockheed Martin. 4.5.3 Qualidade - Redução de defeitos de 6,6 para 2,1 por KLOC – Northorp. - Dois milhões de dólares ganhos devido a detecção e remoção prévia de defeitos – Sanches Computer. 4.5.4 Satisfação do cliente - Aumento em 55% nos resultados das avaliações de satisfação dos clientes – Lockheed Martin. - Mais que 95% na satisfação dos clientes – Northorp.