5
Processo de Engenharia e Qualidade de Software 1.0 – Introdução No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento, desta forma, é comum que a busca por um software de maior qualidade passe necessariamente por uma melhoria no processo de desenvolvimento. A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento e tem evoluído abruptamente nas instituições conscientizadas da seriedade na melhoria dos processos. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente. O CMM (Capability Maturity Model ou Modelo de Maturidade da Capacidade) é um modelo de avaliação e melhoria da maturidade de Processo de Software idealizada pela SEI (Software Engineering Institute) utilizado para avaliar e melhorar a capacitação de empresas que desenvolvem e mantém sistemas de software. A criação do modelo CMM teve forte apoio do Departamento de Defesa dos Estados Unidos, que é o maior consumidor de software do mundo e precisava de um modelo que permitisse selecionar os seus fornecedores de software de forma adequada. E, embora não seja uma norma emitida por uma instituição internacional, tem obtido grande aceitação nos Estados Unidos e no mundo. 2.0 – Estrutura do CMM Um modelo de maturidade é uma coleção estruturada de elementos que descrevem certos aspectos da maturidade de uma organização. Um modelo de maturidade fornece, por exemplo, um ponto de partida, os benefícios dos usuários em experiências anteriores, um vocabulário comum e uma visão compartilhada, um framework para priorizar ações e uma forma de definir as melhorias mais significativas para uma organização. O CMM fornece cinco níveis de maturidade que permite às organizações a orientação sobre como ganhar controle do processo de desenvolvimento de software e como evoluir para uma cultura de excelência na gestão de software. Essa classificação em níveis permite também que a evolução do processo de maturidade seja medida e comparada com a de outras organizações. Os cinco níveis de maturidade (Veja Figura 1) oferecem uma forma incremental de amadurecimento do processo de software. A cada nível de maturidade corresponde um conjunto de práticas de software e de

Processos de Engenharia e Qualidade de Software: CMM

  • Upload
    poop

  • View
    3

  • Download
    1

Embed Size (px)

DESCRIPTION

resumo sobre o CMM

Citation preview

Processo de Engenharia e Qualidade de Software

1.0 IntroduoNo desenvolvimento de software, a qualidade do produto est diretamente relacionada qualidade do processo de desenvolvimento, desta forma, comum que a busca por um software de maior qualidade passe necessariamente por uma melhoria no processo de desenvolvimento. A qualidade de software uma rea de conhecimento da engenharia de software que objetiva garantir a qualidade do software atravs da definio e normatizao de processos de desenvolvimento e tem evoludo abruptamente nas instituies conscientizadas da seriedade na melhoria dos processos. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo, o principal objetivo garantir um produto final que satisfaa s expectativas do cliente, dentro daquilo que foi acordado inicialmente.O CMM (Capability Maturity Model ou Modelo de Maturidade da Capacidade) um modelo de avaliao e melhoria da maturidade de Processo de Software idealizada pela SEI (Software Engineering Institute) utilizado para avaliar e melhorar a capacitao de empresas que desenvolvem e mantm sistemas de software.A criao do modelo CMM teve forte apoio do Departamento de Defesa dos Estados Unidos, que o maior consumidor de software do mundo e precisava de um modelo que permitisse selecionar os seus fornecedores de software de forma adequada. E, embora no seja uma norma emitida por uma instituio internacional, tem obtido grande aceitao nos Estados Unidos e no mundo. 2.0 Estrutura do CMMUm modelo de maturidade uma coleo estruturada de elementos que descrevem certos aspectos da maturidade de uma organizao. Um modelo de maturidade fornece, por exemplo, um ponto de partida, os benefcios dos usurios em experincias anteriores, um vocabulrio comum e uma viso compartilhada, um framework para priorizar aes e uma forma de definir as melhorias mais significativas para uma organizao.O CMM fornece cinco nveis de maturidade que permite s organizaes a orientao sobre como ganhar controle do processo de desenvolvimento de software e como evoluir para uma cultura de excelncia na gesto de software. Essa classificao em nveis permite tambm que a evoluo do processo de maturidade seja medida e comparada com a de outras organizaes. Os cinco nveis de maturidade (Veja Figura 1) oferecem uma forma incremental de amadurecimento do processo de software. A cada nvel de maturidade corresponde um conjunto de prticas de software e de gesto especficas, denominadas reas-chave do processo. Estas devem ser implantadas para que a organizao possa atingir o nvel de maturidade desejado. A Figura 1 apresenta os cinco nveis de maturidade proposto pelo CMM e as subsees seguintes apresentam cada nvel com mais detalhes.

2.1 Nvel 1 Inicial (um ponto de partida)No nvel 1 de maturidade os processos so geralmente ad hoc e caticos. A organizao geralmente no dispe de um ambiente estvel. O sucesso nessas organizaes depende da competncia e herosmo dos seus funcionrios e no no uso de processos estruturados. Devido ao imediatismo, o nvel 1 de maturidade produz produtos e servios que em geral funcionam, mas frequentemente excedem o oramento e o prazo dos projetos. No caso de problemas que venham a ocorrer durante a realizao de um projeto, a organizao tende a abandonar totalmente os procedimentos planejados e passa a um processo de codificao e testes, onde o produto obtido pode apresentar um nvel de qualidade suspeito. Geralmente, poucas atividades so definidas e o sucesso depende de esforos individuais.

2.2 - Nvel 2: RepetitivoNo nvel 2 de maturidade, o desenvolvimento do software repetido, porm pode no se repetir para todos os projetos da organizao. A adoo de um processo de desenvolvimento ajuda a garantir que prticas existentes sejam utilizadas em momentos de stress. A organizao pode usar ferramentas de Gerncia de Projetos para mapear os custos e o prazo do projeto. Assim, tcnicas de gerenciamento de projetos so estabelecidas para mapear custos, prazos, e funcionalidades. Quando essas prticas so adotadas, os projetos decorrem (e so gerenciados) de acordo com o planejamento inicial. O status do projeto e os servios entregues so visveis ao gerenciamento (por exemplo: possvel a visualizao de marcos do projeto e o trmino da maioria das tarefas). Um mnimo de disciplina nos processos estabelecido para que se possa repetir sucessos anteriores em projetos com escopo e aplicao similares. Ainda h um risco significativo de exceder as estimativas de custos e o prazo de desenvolvimento.Este nvel apresenta as seguintes KPAs (Key Process Areas ou reas chave de processo):Gerenciamento de Configurao (CM)Anlise e Medio (MA)Acompanhamento e Superviso de Projetos (PMC)Planejamento de Projetos (PP)Garantia de Qualidade de Software (PPQA)Gerenciamento de Requisitos (REQM)Gerenciamento de Subcontratao (SAM)

2.4 - Nvel 3: Definido No nvel 3 de maturidade, uma organizao alcanou todas as metas genricas e especficas das reas de processo designadas como de nveis 1 e 2. No nvel 3 de maturidade, processos so bem caracterizados e entendidos, e so descritos utilizando padres, procedimentos, ferramentas e mtodos.A organizao possui um conjunto de padres de processos, os quais so a base do nvel 3, que so usados para estabelecer uma consistncia dentro da organizao. Esses padres de processos so estabelecidos e melhorados periodicamente. O gerenciamento da organizao estabelece os objetivos dos processos baseado no conjunto de padres predefinidos e garante que estes objetivos sejam encaminhados de forma apropriada.Uma crtica distino entre os nveis 2 e 3 o escopo dos padres e a descrio dos processos e procedimentos. No nvel 2, os padres e a descrio de processos e procedimentos podem ser bem diferentes em cada instncia especfica do processo (por exemplo, em um projeto particular). No nvel 3, os padres e a descrio de processos e procedimentos para o projeto so guiados pelo conjunto de padres de processos da organizao. O conjunto de padres de processo da organizao inclui os processos do nvel 2 e 3. Como resultado, os processos realizados atravs da organizao so consistentes exceto pelas diferenas permitidas pelos guias.Outra distino crtica que, no nvel 3, processos so geralmente descritos com mais detalhes e com mais rigor do que no nvel 2. No nvel 3, processos so gerenciados mais proativamente. H entendimento acerca das inter-relaes entre as atividades dos processos. H medidas detalhadas dos processos, produtos e servios.KPAs deste nvel:Gerenciamento de Software Integrado (IPM)Definio do Processo da Organizao (OPD)Foco no Processo da Organizao (OPF)Programa de Treinamento (OT)Coordenao de Intergrupos (PI)Desenvolvimento de Requisitos (RD)Gerenciamento de Risco (RSKM)Soluo Tcnica dos Requisitos (TS)Validao (VAL)Verificao (VER)

2.5 - Nvel 4: GerenciadoUtilizando mtricas precisas, o gerenciamento pode efetivamente controlar os esforos para desenvolvimento de software. Em particular, o gerenciamento pode identificar caminhos para ajustar e adaptar o processo a projetos particulares, sem perda de mtricas de qualidade ou desvios das especificaes. Assim, subprocessos so selecionados conforme a importncia na performance total do processo. Esses subprocessos selecionados so controlados usando tcnicas estatsticas e quantitativas. Organizaes neste nvel conseguem metas quantitativas para o processo de desenvolvimento de software e de manuteno.Uma distino crtica entre o nvel de maturidade 3 e 4 a previsibilidade do desempenho do processo. No nvel 4, o desempenho do processo controlado usando tcnicas estatsticas e quantitativas, e previsvel quantitativamente. No nvel 3, os processos so somente previsveis qualitativamente.KPAs deste nvel:Desempenho do Processo Organizacional (OPP)Gerenciamento Quantitativo do Processo (QPM)

2.6 - Nvel 5: OtimizadoNo nvel 5, uma organizao adquiriu todas as metas especficas das reas de processo dos nveis 2, 3, 4, e 5 e as metas genricas dos nveis 2 e 3. Processos so continuamente melhorados com base no entendimento quantitativo das causas comuns de variao inerente aos processos.No nvel de maturidade 5, o foco o contnuo progresso do desempenho dos processos, atravs da introduo de melhorias de inovao tecnolgica e incremental. Objetivos de melhoria quantitativa dos processos para a organizao so estabelecidos, continuamente revisados, refletindo as mudanas nos objetivos da organizao, e usando critrios de melhoria na gerncia de processos. Os efeitos da melhoria da reviso dos processos so medidos e acompanhados, utilizando-se processos de melhoria de qualidade.Uma distino crtica entre os nveis 4 e 5 o tipo de variao do processo. No nvel 4, o interesse verificar as causas especiais de variao de processo e fornecer resultados estatsticos. No nvel 5, o foco so as causas comuns de variao de processo e a introduo de mudanas de modo a melhorar a performance do processo, atingindo objetivos quantitativos.KPAs deste nvel:Anlise e Resoluo de Causas (CAR)Gerenciamento da Desempenho (OPM) Paulk. M.C. Et al. "Capability Maturity Model, Version 1.1", Software Engineering Institute. 1993.

Paulk. M.C. Et al."Key Practices of the Capability Maturity Mode1", Software Engineering Institute. 1993.