• Nenhum resultado encontrado

Melhorias de Processos de Engenharia de Software

N/A
N/A
Protected

Academic year: 2021

Share "Melhorias de Processos de Engenharia de Software"

Copied!
21
0
0

Texto

(1)

Melhorias de Processos de

Engenharia de Software

CMMI

(2)

O que é CMMI?

• O “Capability Maturity Model® Integration” (CMMI) é uma

abordagem de melhoria de processos que fornece às organizações elementos essenciais de processos eficazes. Pode ser usado para guiar a melhoria de processo em um projeto, divisão ou em uma organização inteira.

• O CMMI pode ser referenciados como:

• CMMI-DEV: para desenvolvimento de produtos • CMMI-DEV: para desenvolvimento de produtos • CMMI-SVC : para serviços

(3)

O que é CMMI?

• O modelo visa ajudar organizações envolvidas com o

desenvolvimento de produtos, prestação de serviços e aquisição a melhorar a capacidade de seus processos, por meio de um caminho evolucionário que considera desde processos com resultados imprevisíveis e até mesmo caóticos para processos disciplinados e definidos, com resultados previsíveis e com possibilidade de melhoria contínua.

(4)

CMMI-DEV

: para desenvolvimento

de produtos

• O CMMI para Desenvolvimento (CMMI-DEV) é um modelo de

maturidade para melhoria de processos, destinado ao desenvolvimento de produtos e serviços, e composto pelas melhores práticas associadas a atividades de desenvolvimento e de manutenção que cobrem o ciclo de vida do produto desde a concepção até a entrega e manutenção.

• Neste, contém práticas que cobrem: • Neste, contém práticas que cobrem:

• Gestão de Projeto, • Gestão de Processo, • Engenharia de Sistemas, • Engenharia de Hardware,

(5)

CMMI-SVC

: para serviços

• O CMMI para Serviços (CMMI-SVC) é um modelo de referência

CMMI que cobre as atividades de prestação e gestão de serviços de qualquer natureza.

• Organizações de muitos setores, tais como educação, sistema

financeiro, hotelaria, saúde, e telecomunicações, são público-alvo do CMMI para Serviços.

• O modelo CMMI para Serviços (CMMI for Services) contém

práticas que cobrem:

• Gestão de Projeto, • Gestão de Processo,

• Gestão de Serviços e outros processos de suporte utilizados na

(6)

CMMI-ACQ

: para aquisições

• O CMMI para Aquisição (CMMI-ACQ) é um modelo de

referência CMMI que cobre as atividades de aquisição de desenvolvimento de produtos e de prestação de serviços.

• Organizações de muitos setores, tais como aeroespacial,

hardware de computador, software, defesa, indústria automobilística, saúde, e telecomunicações, são público-alvo do CMMI Acquisition.

do CMMI Acquisition.

• O modelo CMMI for Acquisition contém práticas que cobrem: • Gestão de Projeto,

• Gestão de Processo,

• Engenharia de Aquisição e outros processos de suporte utilizados

(7)

Maturidade no desenvolvimento de

software com CMMI-DEV e CMMI-SVC

(8)
(9)

Importância dos níveis

• Através destes níveis é possível atribuir práticas para:

• planejar, desenvolver, gerenciar, e manter processos de

desenvolvimento e manutenção de software.

• E de forma gradual, aperfeiçoar as metas estabelecidas de

controle de custo, cronograma, produtividade e o desenvolvimento de um produto com foco na excelência.

(10)

Nível Inicial

• O processo de desenvolvimento de software é limitado e

altamente dependente.

• O controle de requisitos é praticamente inexistente, o gerente

não consegue estipular o progresso das atividades com clareza e o cliente só poderá avaliar a solução no momento da entrega.

entrega.

• Atualmente, a sobrevivência de uma empresa neste nível é

altamente atacada, pois não vivencia um processo organizado e confiável para o desenvolvimento de software.

(11)

Nível Repetitivo

Encontram-se a maioria das organizações brasileiras.

São estabelecidas políticas para gerenciar projetos de desenvolvimento de software bem como procedimentos para implementá-las.

O planejamento e a gerência de novos projetos são baseados

11

O planejamento e a gerência de novos projetos são baseados em experiências adquiridas com projetos similares já realizados.

Para cada projeto são estabelecidos processos que são definidos, documentados, praticados, executados, treinados, medidos, obedecidos e passíveis de melhoria.

Os requisitos do software, bem como os artefatos desenvolvidos para satisfazê-los, são formalmente registrados

(12)

Nível Definido

• A organização interna das tarefas estará definida e visível no

projeto.

• Os envolvidos conhecem seus papéis, responsabilidades e a

forma com que suas atividades interagem entre si.

• Há preparo gerencial para prevenção e observação de riscos. • O processo de software padrão da organização inclui processo

de gerência e de Engenharia de Software. de gerência e de Engenharia de Software.

• O processo de software padrão da organização é adaptado às

características individuais de cada projeto, estabelecendo o seu próprio processo de software definido.

• A capacitação do processo deixa de ser uma habilidade das

(13)

Nível Gerenciado

A organização estabelece metas quantitativas de qualidade para os produtos e para os processos de software.

São medidas a qualidade e a produtividade para atividades importantes do processo de software, abrangendo todos os projetos, e tais medidas são parte de um programa organizacional de medições.

organizacional de medições.

Estas medições estabelecem a base quantitativa para avaliar os produtos e os processos de software dos projetos.

Quando os limites predefinidos forem excedidos, poderão ser tomadas ações para atender as causas e corrigir a situação de modo que problemas sistemáticos deixem de ocorrer.

(14)

Nível Otimização

• Tenta-se de maneira contínua e controlada, identificar, avaliar

ou desenvolver novas e melhores maneiras de construir o software, de forma a melhorar a qualidade e a produtividade.

• As alterações são disciplinadas e as atividades com tendência

a problemas são identificadas e revisadas ou substituídas.

• Os gerentes são capazes de estimar e acompanhar • Os gerentes são capazes de estimar e acompanhar

quantitativamente o impacto e a efetividade de alterações nos processos.

• Os clientes e a organização trabalham juntos para fortalecer

(15)

Nível Otimização

• A organização inteira está voltada para o processo de melhoria

contínua, com meios para identificar fraquezas e fortalecer o processo de forma pró-ativa, prevenindo a ocorrência de defeitos.

• Os dados de efetividade do processo de software são usados

para realizar análise de custo beneficio em novas tecnologias e alterações propostas para o processo de software da alterações propostas para o processo de software da organização.

(16)

Por que aplicar o CMM?

É extremamente importante que as organizações preocupem-se com modelos de desenvolvimento de software na busca da excelência.

O CMM não se propõe a solucionar todos os problemas encontrados ao desenvolver o software. Deve-se, também, ter muito cuidado para não torná-lo uma burocracia, principalmente em pequenas organizações.

(17)

Por que aplicar o CMM?

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 expectativas da organização.

As práticas do CMM visam divulgar princípios que podem ser aplicados em projetos da organização, mas é imprescindível aplicados em projetos da organização, mas é imprescindível adaptá-los à cultura e à experiência dos gerentes e do corpo técnico da organização.

(18)

CMM Operacional

O CMM possui uma estrutura que indica o caminho recomendado para as organizações melhorarem seus processos de desenvolvimento de software.

Essa parte operacional do CMM é desenhada para suportar as várias formas de serem usadas. Existem pelo menos quatro usos do CMM:

1. Para identificar pontos fortes e fracos em uma organização;

1. Para identificar pontos fortes e fracos em uma organização;

2. Para identificar os riscos dentro de um processo de seleção de fornecedores e monitorar os resultados;

3. Para que o alto nível gerencial de uma organização possa entender as atividades necessárias para o lançamento de um processo de software para melhorar o programa.

(19)

Estrutura Interna dos Níveis de

Maturidade

(20)

Estrutura Interna dos Níveis de

Maturidade

• Cada nível de maturidade pode ser decomposto em partes.

• Com exceção do nível 1, a decomposição de cada nível de

maturidade abrange desde os sumários abstratos de cada nível até as definições operacionais das práticas chaves.

• Cada nível de maturidade é composto por vários processos

chaves. chaves.

• Cada processo chave é organizado dentro de 5 secções

chamadas de características comuns.

• As características comuns especificam as práticas chaves que,

quando corretamente usadas, atingem os objetivos dos processos chaves das áreas.

(21)

Lista de empresas CMMI

Referências

Documentos relacionados

De uma forma geral as medições efectuadas pelo sensor ASAR apresentam uma qualidade aceitável para a avaliação do recurso energético das ondas marítimas l como se pode

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

 Rendimentos de trabalho por conta própria, os quais são os auferidos no exercício, de forma independente, de profissão em que predomine o carácter

Apresenta-se neste trabalho uma sinopse das espécies de Bromeliaceae da região do curso médio do rio Toropi (Rio Grande do Sul, Brasil), sendo também fornecida uma chave

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...