Posts Tagged ‘ desempenho

O que é CMMI II (de um jeito simples e fácil) 05 July 2009 as 12:05 am de Washington Souza

Olá, atendendo ao pedido do nosso leitor Tony, resolvemos criar um post que explica de um jeito mais fácil o que é o CMMI.

CMMI Nível 1

Antes de mais nada, não existe avaliação CMMI nível 1, mas esta é uma classificação que pode ser dada a toda empresa que não foi avaliada em um nível de maturidade CMMI.
É o que é feito na maioria das empresas, requisitos entram e o produto sai, mas não se sabe ao certo como ele saiu e o que foi necessário para conseguir isto.

CMMI Nível 2

O CMMI nível 2 implementa a Gestão (PMI pode ajudar muito nesta fase). Neste ponto, cria-se o plano de projeto e os projetos são tocados de forma organizada e sistematizada. Você começa a medir as coisas e analisar o desempenho, assim as decisões são tomadas com mais embasamento. Gestão é a palavra chave do CMMI nível 2.

Leia o post completo →

+ Você não entendeu corretamente alta maturidade se… Por Washington Souza 26 May 2009 as 4:00 pm Nenhum comentário

Os exemplos a seguir devem ser encarados com instrutivos e não pejorativos

Você não entendeu corretamente OPP se…

… uma tabela contendo os defeitos por fase parece um excelente modelo de performance de processos (PPM – Process performance model)
…A média de linhas de código produzidas por dia por desenvolvedor parece um baseline de desempenho de processo pra você
… um gráfico de controle usado para “gerenciar” defeitos escapados parece um excelente PPM para você
… um sistema e Earned Value Management parece atender completamente o nível 4 pra você

Você não entendeu corretamente QPM se…

… monitorar os bugs ao longo do ciclo de vida do projeto parece “gerenciamento estatístico” para você
… você recalcula os limites de controle de seu baseline pelo menos duas vezes ao ano
… decisões gerenciais são utilizadas para ajustar os limites de controle
… densidade de defeitos parece um perfeito subprocesso para gerenciamento estatístico

Você não entendeu OID corretamente se…

… 42 projetos six sigma – todos voltados à inspeção – fazer uma companhia ter maturidade nível 5
… uma melhoria de 5% em um processo com variação de +-7% parece excelente e pode ser implementada imediatamente
… o resultado (e força) de uma melhoria somente pode ser mensurado pelo poder de persuasão do autor
… as propostas de melhoria são desenvolvidas de acordo com a ordem de chegada
… você não consegue ver como PPMs – Process Performance Models e PPB – Process Performance Baselines podem contribuir com OID

Você não entendeu CAR corretamente se…

… você classifica como “severidade alta” os defeitos e diz “vamos rodar uma análise de causa e ver o que esta acontecendo”
… análise de causa é utilizada apenas para encontrar as causas raiz dos defeitos
… você não vê valor em aplicar DAR para selecionar quando utilizar ou não CAR
… você não vê o valor de aplicar CAR para selecionar quando e como aplicar OID
… você não consegue ver como PPMs – Process Performance Models e PPB – Process Performance Baselines podem contribuir com CAR

+ 101 dicas para implementação do CMMI nível 3 – Parte II Por Washington Souza 19 May 2009 as 1:56 pm 3 comentários

OT – Treinamento organizacional

101 dicas para o CMMI nivel 350. Tenha um mapa de treinamentos necessários para cada função
51. Defina claramente quais os treinamentos de responsabilidade da empresa e quais são os do projeto
52. Envolva a área de treinamento no planejamento do projeto
53. Identifique quais são os treinamentos necessários para atender os objetivos estratégicos da empresa
54. Mantenha um programa de treinamento contínuo
55. Colete informações de desempenho dos treinamentos
56. Verifique se após os treinamentos houve melhora de desempenho nas pessoas
57. Tenha uma descrição de responsabilidades e autoridades de cada função
58. Planeje o investimento com treinamentos e periodicamente verifique os benefícios
59. Armazene os dados de treinamentos

PI – Integração de produto

60. Identifique as necessidades de integração entre produtos e componentes
61. Planeje como será a sequência de integração
62. Crie critérios para garantir que os produtos estão prontos para serem integrados
63. Tenha métodos alternativos de integração e selecione o melhor (se possível com DAR)
64. Armazene informações sobre o processo de decisão sobre integrações
65. Tenha guias ou processos de como as atividades de integração devem ser realizadas
66. Verifique a compatibilidade entre as interfaces
67. Documente os ajustes necessários nas interfaces
68. Crie mecanismos que garantam que o produto final contem as versões corretas dos códigos e componentes

RD – Desenvolvimento de requisitos

69. Identifique as necessidades do projeto
70. Identifique as expectativas que os envolvidos tem com o projeto
71. Tenha guias que auxiliem o desenvolvimento de requisitos
72. Traduza os requisitos de negócio e necessidades em requisitos técnicos
73. Verifique antes da validação com cliente
74. Defina critérios que liberem os produtos para validação com cliente
75. Assegure o entendimento correto dos requisitos – valide formalmente com o cliente
76. Faça o mapeamento dos requisitos com funções, códigos, componentes, aquisições, etc.

Veja o post completo →

+ 101 dicas para implementação do CMMI nível 2 – Parte II Por Washington Souza 05 May 2009 as 12:03 am 1 comentário

Continuando o post anterior (101 dicas para implementação do CMMI nível 2).

SAM – Gerenciamento de acordos com fornecedores

57. Crie processos para gerenciamento de fornecedores
58. Mantenha uma base de fornecedores com dados de desempenho
59. Crie critérios para aquisições
60. Tenha SLA’s estabelecidos para projetos e serviços
61. Estabeleça critérios para a seleção de fornecedores
62. Mantenha dados históricos de como foi o processo de seleção de um determinado fornecedor
63. Monitore o desempenho dos serviços de seus fornecedores
64. Tenha contratos formais

PP – Planejamento de projeto

65. Estime tudo nos projetos
66. Obtenha aprovações formais das estimativas
67. Utilize dados históricos para as estimativas
68. Formalize o entendimento do escopo por ambas as partes
69. Formalize o que será entregue
70. Desenvolva um cronograma
71. Documente toda atividade a ser realizada no projeto
72. Identifique dependências críticas e RCCs
73. Defina metas para os projetos
74. Planeje os recursos necessários
75. Planeje os compromissos
76. Planeje os eventos de auditoria de qualidade
77. Planeje o envolvimento dos stakeholders do projeto
78. Elabore um plano de gerenciamento de riscos coerente
79. Considere a utilização de um plano para gerenciamento do projeto (o CMMI não fala nada disto, mas eu recomendo)
80. Tenha um plano de projeto documentado
81. Obtenha aprovação do plano de projetos
82. Para alta maturidade existem diversos outros elementos que devem ser planejados – trataremos disto posteriormente
Veja o post completo →

+ Baselines, o que é isso? Por Washington Souza 09 March 2009 as 11:13 pm Nenhum comentário

Atendendo a um pedido de um leitor, vamos falar do que é um baseline e como usar isso de verdade.

Primeiramente, seus baselines demonstram o comportamento atual de seus processos, falando deste jeito realmente fica complicado, agora, vamos deixar isto mais simples.

Baseline de desempenho de im indicadorA produtividade em sua empresa na linguagem java é de 10h/PF (10 horas por pontos por função).

Sempre que você estima um projeto você utiliza este valor que alguém em algum momento te passou. Buscando o histórico você descobre que isso foi definido por um gerente à 3 anos atrás. Toda empresa usa este número, mas os projetos estão estourando, e você foi incumbido de definir o novo valor.

Primeiramente, não é um novo valor e sim os novos limites de variação.

Você coleta dados de 23 projetos desenvolvidos no ultimo ano e descobre e após calculos estatísticos (postarei mais pra frente como) você descobre que sua produtividade é sim de 10h, porém ela tem variação entre 8h até 16h.

Esta informação é valiosissima pois se utilizada sabiamente, em determinados projetos em java onde o cenário seja desfavorável você poderá aplicar a produtividade de 16h e saberá que conseguirá entregar. Da mesma forma, em projetos onde o ambiente é conhecido e a competição é grande você poderá aplicar a produtividade de 8h e mesmo assim saberá que conseguirá entregar.

Se sua organização já esta pelo menos no CMMI 2, provavelmente você já tem alguns baselines definidos como:

- Produtividade
- Densidade de defeitos
- Entregas no prazo
- Rentabilidade
- Desempenho pessoal
- Custo médio
- Assertividade dos requisitos

Veja o post completo →

+ Descrição rápida das PA’s do CMMI nível 5 Por Washington Souza 26 November 2008 as 1:00 am 2 comentários

Nivel 5 = CAR + OID

CAR – Análise de Causa
Tem como objetivo identificar as causas reais dos defeitos e problemas bem como tomar ações para previnir que estes problemas ocorram novamente no futuro.

OID – Inovação Organizacional
Tem como objetivo desenvolver melhorias que estatisticamente com comprovem que houve melhora no desempenho dos processos. As melhorias devem ser derivadas dos objetivos de negócio da organização.

+ CMMI Nível 4: Entendendo a estabilidade de processos Por Washington Souza 24 November 2008 as 12:02 am Nenhum comentário

Semana passada recebi um e-mail perguntando “O que é a tal da estabilidade de um processo”
Para ajudar, vamos fazer uma analogia com um processo corriqueiro que todos fazemos todos os dias: “Ir trabalhar”
Vamos colocar o seguinte cenário:
- Moro (A) em Campinas e trabalho (B) na mesma cidade
- Vou de carro
- Meu horário de entrada é as 8:00h

Faço o seguinte percurso:
Situação 1: Percurso padrão

Normalmente, levo 30 minutos de casa até o trabalho. Se o transito estiver bom, consigo chegar em 27 minutos e quando esta ruim por volta de 33 minutos. Mas em média levo 30 minutos. Tenho certeza destes tempos, pois já fiz isto mais de 100 vezes. Desta forma, saio de casa 35 minutos antes, pois assim tenho certeza que chegarei a tempo.

Este processo (ir trabalhar) está estável, pois sei o desempenho dele (30 m) e sua variação natural (27m – 33m). Esta é a voz do processo, ou seja, o que o processo pode me oferecer. Como o que o processo me oferece atende minha necessidade que é chegar no trabalho em, no máximo, 35 minutos (voz do cliente, ou seja, o que o cliente – no caso eu mesmo – espera do processo), podemos dizer que este processo, além de estável, é capaz

Todavia, ultimamente tenho levado mais que 33 minutos (máxima variação para meu processo) para chegar ao trabalho e isso tem acontecido freqüentemente. Por causa disso, estou chegando atrasado alguns dias na empresa, o que não esta sendo bom.

Neste momento, o processo deixou de ser estável e não atende mais minhas necessidades, é preciso fazer algo.
Investigo os motivos para esta perda de estabilidade e verifico que isso ocorreu pois abriu-se uma escola infantil no meu percurso e o horário que passo é o mesmo horário que os pais deixam seus filhos na escola.

Tenho duas opções:
- Aceitar que meu processo foi modificado e que não é mais capaz, ou seja, não atende mais minhas necessidades, e alterar tais necessidades para que ele volte a ser tornar capaz, ou seja, passar a sair mais cedo; ou
- Fazer um projeto piloto (tentar um outro caminho)

Escolho a segunda opção pois não quero levar mais tempo para chegar ao trabalho
Situação 2: Análise e melhoria

Neste projeto piloto, experimento alguns percursos diferentes e após duas semanas escolho um que aparentemente leva o mesmo tempo que o que eu fazia (30m)
Depois de uma semana (5 amostragens) verifico que a média é de 30m com variações entre 28m e 32m. Isto atende minhas necessidades.
Com isso, defino que este é meu processo padrão a partir de agora (e garanto o mesmo desempenho que o anterior).

Passado algum tempo decido por melhorar o desempenho deste processo, minha meta é reduzir meu tempo em 10%.
Novamente, faço alguns testes piloto e escolho o percurso abaixo.
Veja o post completo →