Avaliação e Melhoria da
Maturidade do Processo
Fernando Brito e Abreu (fba@di.fct.unl.pt)
Universidade Nova de Lisboa (http://www.unl.pt)
QUASAR Research Group (http://ctp.di.fct.unl.pt/QUASAR)
Resumo
MELHORIA DO PROCESSO (SPI) O QUE É A MATURIDADE?
AVALIAÇÃO E MELHORIA
COMO É FEITA UMA AVALIAÇÃO? ¡ A QUEM INTERESSA A AVALIAÇÃO? ¢ O QUESTIONÁRIO DE AVALIAÇÃO £MODELOS DE 1ª GERAÇÃO
© Fernando Brito e Abreu 3 17-06-2007
Software Process Improvement (SPI)
A melhoria do processo de desenvolvimentoé uma área muito activa
Há várias revistas dedicadas
http://www3.interscience.wiley.com/cgi-bin/jhome/15482
Há muitos grupos de interesse / organizações de
profissionais (SPINs – SPI Networks)
http://www.sei.cmu.edu/collaborating/spins/
© Fernando Brito e Abreu 4 17-06-2007
Alice in Wonderland, Lewis Carroll
Alice: I was just wondering if you could help me
find my way.
Cheshire Cat: Well that depends on where you
want to get to.
Alice: Oh, it really doesn't matter, as long as... Cheshire Cat: Then it really doesn't matter
which way you go.
If you don’t know what is wrong, how can you improve?
© Fernando Brito e Abreu 5 17-06-2007
Melhoria (contínua) do processo
Conduzir a avaliação Planear a avaliação Planear acções de melhoria Promover os resultados Realizar acções de melhoria Validar os resultados Requisitos do negócio Requisitos do negócio
O que é a maturidade do processo?
grau de capacidade com que uma
organização (ou departamento, ou equipa)
desenvolve software, tal que este:
cumpra com as expectativas dos clientes
tenha um número mínimo de defeitos
custe o mínimo possível
seja construído no menor tempo possível
© Fernando Brito e Abreu 7 17-06-2007
Avaliação e melhoria do processo
Melhoria do Processo Avaliação do Processo Determinação da Adequação Processo identifica a apropriação do identifica alterações a é sujeito a leva a leva a pode levar a
© Fernando Brito e Abreu 8 17-06-2007
Como é feita uma avaliação ?
Questionário Selecção Grupo de Treino Análise de Respostas Entrevistas e revisão de documentos Perfil Conclusões Recomendações (baseadas nas conclusões e no perfil) Plano de Acção (para implementar as recomendações)
© Fernando Brito e Abreu 9 17-06-2007
Questionário de avaliação
O(s) questionário(s) contem perguntas qualitativas, "booleanas" ou quantitativas; as respostas são validadas por entrevistas e revisão de documentos. Exemplos:
i) Questões qualitativas
Descreva a forma como são obtidas as estimativas de custo e calendário para novos projectos de Sistemas de Informação? E para as actividades de manutenção?
ii) Questões "booleanas"
São utilizadasferramentas que suportam a metodologia de análise adoptada? (Sim/Não)
iii) Questões quantitativas
Qual é o número médio de pedidos de alteração por cada mil linhas de código fonte para os projectos desenvolvidos nos últimos três anos?
Qual é o tempo médio entre falhas para os mesmos projectos?
A quem interessa a avaliação?
)
Há vários “stakeholders” interessados:
)Produtores (softwarehouses)
)Clientes (no outsourcing)
)Terceiros (empresas consultoria, organizações certificadoras, auditores)
© Fernando Brito e Abreu 11 17-06-2007
Perspectiva do produtor (softwarehouse)
)Benefício interno
)Determinação dos pontos fracos e fortes do processo de desenvolvimento de software
)Construção de um plano de melhoria (passos / acções recomendadas necessárias para melhorar o processo)
Onde estamos
Onde queremos estar Boa prática
corrente
Requisitos do negócio
Situações-tipo:
antes de um processo de migração tecnológica para avaliar o estádio da prática actual e assim compreender melhor o impacto
definir um rumo antes e após a certificação ISO9001
© Fernando Brito e Abreu 12 17-06-2007
A quem interessa a avaliação?
Perspectiva do produtor (softwarehouse)
)Benefício externo
)Certificação do nível de maturidade da
organização (para evidenciar essa maturidade)
)Competem no mercado vários esquemas de certificação (ISO9001, SPICE, CMMI, etc)
)TickIT/ISO9001: http://www.tickit.org/cert-org.htm
)CMMI: http://www.sei.cmu.edu/cmmi/appraisals/
© Fernando Brito e Abreu 13 17-06-2007
A quem interessa a avaliação?
Perspectiva do cliente
Para ajudar a seleccionar um
fornecedor
avaliar o risco na contratação ou subcontratação do desenvolvimento de software (outsourcing)
seleccionar as parcerias com base em critérios objectivos de custo / benefício
A quem interessa a avaliação?
Perspectiva de terceiros
Outras organizações / participantes estão
interessados nesta avaliação
Organizações acreditadoras Organizações certificadoras
Empresas de consultoria / consultores independentes Empresas de formação
© Fernando Brito e Abreu 15 17-06-2007
Perspectiva de terceiros
Organizações acreditadoras
Acreditam as organizações certificadoras
Acreditam os fornecedores de cursos de formação de auditores
Geralmente são organismos oficialmente reconhecidos a nível nacional
Organizações certificadoras
Empresas consultoria / consultores independentes Empresas de formação
Auditores
© Fernando Brito e Abreu 16 17-06-2007
A quem interessa a avaliação?
Perspectiva de terceiros
Organizações acreditadoras
Organizações certificadoras
Contratualizam as avaliações com o cliente
Contratam auditores credenciados
Emitem certificados de avaliação
Empresas consultoria / consultores independentes Empresas de formação
© Fernando Brito e Abreu 17 17-06-2007
A quem interessa a avaliação?
Perspectiva de terceiros
Organizações acreditadoras Organizações certificadoras
Empresas consultoria / consultores independentes
Apoiam na organização do SGQ do cliente
Apoiam na preparação do processo de avaliação
Auxiliam na implementação das acções recomendadas pela avaliação
Empresas de formação Auditores
A quem interessa a avaliação?
Perspectiva de terceiros
Organizações acreditadoras Organizações certificadoras
Empresas consultoria / consultores independentes
Empresas de formação
Formam e credenciam os auditores, os consultores e os responsáveis pelos SGQ Auditores
© Fernando Brito e Abreu 19 17-06-2007
Perspectiva de terceiros
Organizações acreditadoras Organizações certificadoras
Empresas consultoria / consultores independentes Empresas de formação
Auditores
Passam por processo de acreditação
Conduzem as auditorias de avaliação
Mantêm a acreditação através da participação regular em acções de avaliação e de formação
processo semelhante a brevet de piloto de aviões
Modelo de Maturidade do SEI
(CMM - Capability Maturity Model)
Princípios gerais
Define o conceito de estágio ou nível de maturidade
Prevê cinco níveis ordenados de 1 a 5, cada um com:
um conjunto de características específicas
um conjunto de problemas a resolver e recomendações para a sua resolução a fim de passar ao nível seguinte
A avaliação da maturidade:
pode ser efectuada ao nível de um projecto, departamento ou empresa
posiciona a entidade avaliada num dos níveis definidos Mais informações em: http://www.sei.cmu.edu/cmm
© Fernando Brito e Abreu 23 17-06-2007
Níveis do CMM
Progressão 1 - Inicial 2- Repetido 3 - Definido 4 - Gerido 5 - Optimizado Disciplinar o processo Normalizar o processo Dar previsibilidade ao processo Melhorar o processo continuadamente© Fernando Brito e Abreu 24 17-06-2007
Nível 1 - Inicial
Descrição:
Processo ad-hoc / caótico
Áreas chave do processo:
Gestão do projectoPlaneamento
© Fernando Brito e Abreu 25 17-06-2007
Nível 2 - Repetitivo
Descrição:
Processo intuitivo (existe mas não está escrito)
Processo dependente dos intervenientes (existe na sua cabeça)
Áreas-chave do processo:
Práticas de V&V (revisões, testes)
Definição do processo
Formação
Nível 3 - Definido
Descrição:
Processo definido e institucionalizado
Processo qualitativo
Áreas chave do processo:
Medição do processo© Fernando Brito e Abreu 27 17-06-2007
Descrição:
São recolhidas medidas do processo e produto
O processo e o produto são compreendidos e controlados usando essas medidas
Áreas chave do processo:
Gestão estatística do processoAlinhamento do produto com a organização
Avaliação do desempenho do processo
© Fernando Brito e Abreu 28 17-06-2007
Nível 5 - Optimizado
Descrição:
A melhoria contínua do processo é conseguida através de realimentação quantitativa do
processo e do ensaio de ideias e tecnologias inovadoras
Áreas chave do processo:
Prevenção de defeitosInovação no processo organizacional
Gestão de alterações tecnológicas (ex: migrações de paradigma)
© Fernando Brito e Abreu 29 17-06-2007
Questionário
Cada pergunta está associada a um nível
de maturidade
Há perguntas com dois pesos diferentes
Um nível é atingido se obtivermos uma
percentagem elevada (80 ou 90%) de
respostas afirmativas ao conjunto de
perguntas desse nível e dos anteriores
O nível da avaliação obtido é o do nível mais alto que foi atingido
Críticas ao CMM
fraca cobertura: aspectos como a gestão da
subcontratação, apoio aos clientes e marketing, não são explicitamente incluídos
difícil escalabilidade: o modelo foi concebido para
grandes organizações ...
dificuldade de comparação com normas
(Roger Pressman & Associates)
© Fernando Brito e Abreu 32 17-06-2007
Modelo do "Process Advisor”
Roger Pressman propôs:
um aumento do questionário (mais perguntas) a ponderação das questões "booleanas“
o agrupamento das perguntas em categorias, cada uma classificada individualmente
que a classificação em cada categoria fosse também no intervalo [1, 5] mas numa escala contínua e não discreta como no caso do CMM A representação dos resultados num diagrama de
© Fernando Brito e Abreu 33 17-06-2007
Modelo do "Process Advisor”
As categorias de classificação são:
Políticas organizativas
Formação
Processo de Desenvolvimento
Actividades de Garantia de Qualidade
Gestão do Projecto
Métodos e Técnicas
Ferramentas
Métricas
© Fernando Brito e Abreu 35 17-06-2007
Modelo do "Process Advisor"
Modelo Trillium
© Fernando Brito e Abreu 37 17-06-2007
Modelo TRILLIUM
Proposto pela Bell Canada, com
participações de outras organizações
(Northern Telecom, BNR)
Concebido a pensar em software embutido,
como é o caso maioritário do software de
telecomunicações
Contudo a maioria do modelo é também
aplicável a Sistemas de Informação de Gestão
http://www2.umassd.edu/SWPI/BellCanada/trillium-html/trillium.html
Modelo TRILLIUM
Inspirado no CMM …
Também tem 5 níveis (cada um cumprindo com os requisitos do nível correspondente do CMM)
… mas tem uma maior cobertura dos
aspectos do ciclo de vida
Dá uma ênfase especial no marketing e ponto de vista dos clientes
Alarga o conceito de produto passando a incluir também a documentação, formação e serviços
© Fernando Brito e Abreu 39 17-06-2007
Conformidade com outras normas
Reliability & Availability Management IEC 300
4
Software Verification and Validation IEEE 1012
3
Guidelines for the application of ISO 9001:2000 to computer software
ISO 9000-3 3
Reliability & Quality Measurement Systems (RQMS) for Telecommunication. Systems (só 95%) Bellcore
TR-TSY-000179 2
Software User Documentation IEEE 1063
2
Software Project Management Plans IEEE 1058.1
2
Software Reviews and Audits IEEE 1028
2
Recom. Practice for SW Design Descriptions IEEE 1016
2
Recom. Practice for SW Requirements Specs IEEE 830
2
Software Configuration Management Plans IEEE 828
2
Software Quality Assurance Plans IEEE 730
2
Descrição Norma
Nível
© Fernando Brito e Abreu 40 17-06-2007
Modelo TRILLIUM
Advoga uma série de actividades por cada uma das seguintes áreas:
Área 1: Gestão da Qualidade
Liderança e Organização
Área 2: Recursos Humanos
Área 3: Processo
Definição e âmbito do Processo
Gestão da Tecnologia
Melhoria e Engenharia do Processo
© Fernando Brito e Abreu 41 17-06-2007
Modelo TRILLIUM
Área 4: Gestão
Gestão do Projecto e da Subcontratação
Parceria Cliente-Fornecedor
Gestão dos Requisitos
Estimação Área 5: Sistema de Qualidade
Área 6: Práticas para o Desenvolvimento
Processo e Técnicas no Desenvolvimento
Documentação Interna
Verificação e Validação
Gestão de Configurações
Reutilização
Gestão da Fiabilidade
Área 7: Ambiente de Desenvolvimento
Modelo TRILLIUM
Área 8: Apoio aos Clientes
Sistema de Resposta a Problemas
Engenharia da Utilizabilidade
Modelização de Custos do Ciclo de Vida
Documentação para os Utilizadores
Formação dos Utilizadores
Área 9: Desempenho
Correcção das Estimativas
Características Especificadas/Concluídas
Melhorias no Cumprimento de Prazos
Melhorias na Produtividade
(SAM, SQPA, STD, BOOTSTRAP)
© Fernando Brito e Abreu 44 17-06-2007
Modelo SAM
(Software Assessment Method)
Proposto pela British Telecom, para permitir uma avaliação quantitativa de projectos de
desenvolvimento de software e de fornecedores.
É utilizado para:
avaliar a adequação da actividade de obtenção dos requisitos de um projecto, antes de seleccionar um fornecedor;
avaliar a capacidade de potenciais fornecedores durante o processo de selecção;
acompanhar o desenvolvimento efectuado pelo fornecedor.
© Fernando Brito e Abreu 45 17-06-2007
Modelo SAM
(Software Assessment Method)
Também se suporta num questionário e está dividido em vários tópicos
Cada questão dentro de um tópico é ponderada por forma a traduzir a sua importância relativa.
Os tópicos também são ponderados. As questões (aproximadamente 1500 !!!) podem ser respondidas como SIM, NÃO ou DESCONHECIDO / NÃO
RESPONDIDO.
Os resultados por tópico são calculados a partir das respostas, sendo definido um intervalo de confiança com base no valor ponderado das questões respondidas com SIM/NÃO face às outras
Modelo SQPA
(Software Quality and Productivity Analysis)
Criado pela Hewlett Packard para permitir uma melhoria nas suas várias Divisões
Baseado no trabalho de Caper Jones, que foi adaptado para o ambiente da HP
A base da avaliação é um conjunto de 8 áreas chave, estas últimas constituídas por
características chave (sub-processos, actividades ou atributos)
© Fernando Brito e Abreu 47 17-06-2007
(Software Technology Diagnostic)
Proposto pela Scottish Entreprise
Vocacionado para pequenos e médios projectos / empresas (20 a 200 pessoas)
Modelo dividido em três partes:
modelo organizacional específico - reconhece que cada
empresa tem um perfil diferente dependendo do ramo do negócio
áreas chave do processo - cada área do processo tem um ou
mais objectivos que definem o resultado desejado do processo; cada uma é medida através de um Nível de Maturidade numa escala de 1 a 4 (Inicial, Repetitível, Definido e Gerido);
práticas chave - cada área chave do processo compreende um
conjunto de práticas, actividades e aptidões que são medidas através de um Nível de Conformidade Prática (Não Conformidade, Conformidade Parcial e Conformidade Completa).
© Fernando Brito e Abreu 48 17-06-2007
Projecto BOOTSTRAP
Derivou de um projecto financiado pelo
programa ESPRIT da Comunidade Europeia
Inspirado no CMM
Usa também um questionário organizado em 3
partes (organização, metodologia e tecnologia)
Tem 203 questões, de dois tipos diferentes:
Globais - referem-se ao local (empresa, departamento) onde se encontra(m) a(s) equipa(s) de desenvolvimento
© Fernando Brito e Abreu 49 17-06-2007
Bibliografia
[Bell92] Bell Canada : "Trillium -Telecom Software Product Development Process Capability Assessment", 1992. [Eman97] Khaled El Eman, Jean-Normand Drouin & Walcélio Melo (eds.) : SPICE: The Theory and Practice of Software Process Improvement and Capability Determination, IEEE Computer Society Press, 1997.
[Humphrey87] Humphrey, Watts .S. & Sweet, W.L. : "A Method for Assessing the Software Engineering Capability of Contractors", Technical Report CMU/SEI-87-TR-23, Software Engineering Institute, Carnegie Mellon University, 1987. [Humphrey89] Humphrey, Watts .S. : "Managing the Software Process", SEI Series in Software Engineering, Addison-Wesley Publishing Company, 1989.
[Paulk91]Paulk, Mark C. & Curtis, Bill & Chrissis, Mary Beth & outros : "Capability Maturity Model for Software", CMU/SEI-91-TR-24, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Agosto 1991.
[Paulk92a] Paulk, Mark C. &
Humphrey, Watts S. & Pandelios, George J. : "Software Process Assessments: Issues and Lessons Learned", Software Engineering Institute, Carnegie Mellon University, Pittsburgh, 1992.
[Paulk92b] Paulk, Mark C. : "U.S. Quality Advances: The SEI's Capability Maturity Model", Software Engineering Institute, Carnegie Mellon University, Pittsburgh, 1992.
[Pressman97] Pressman, Roger S. : "Software Engineering: a Practitioner's Approach" (4ª edição / edição europeia), McGraw-Hill, 1997.