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 2 1
Melhoria do processo 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 3 Alice in Wonderland, Lewis Carroll If you don t know what is wrong, how can you improve? 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. Fernando Brito e Abreu 4 2
Melhoria (contínua) do processo Requisitos do negócio Promover os resultados Validar os resultados Planear a avaliação Realizar acções de melhoria Conduzir a avaliação Planear acções de melhoria Requisitos do negócio Fernando Brito e Abreu 5 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 seja fácil de manter Fernando Brito e Abreu 6 3
Avaliação e melhoria do processo identifica alterações a Processo é sujeito a Avaliação do Processo identifica a apropriação do Melhoria do Processo leva a leva a pode levar a Determinação da Adequação Fernando Brito e Abreu 7 Como é feita uma avaliação? Selecção Grupo de Treino Questionário Análise de Respostas Entrevistas e revisão de documentos Conclusões Perfil Recomendações (baseadas nas conclusões e no perfil) Plano de Acção (para implementar as recomendações) Fernando Brito e Abreu 8 4
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 utilizadas ferramentas 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? Fernando Brito e Abreu 9 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 10 5
A quem interessa a avaliação? 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) 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 Onde estamos Onde queremos estar Boa prática corrente Requisitos do negócio Fernando Brito e Abreu 11 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/ SPICE: http://www.isospice.com/ Fernando Brito e Abreu 12 6
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 Fernando Brito e Abreu 13 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 Auditores Fernando Brito e Abreu 14 7
A quem interessa a avaliação? 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 15 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 Auditores Fernando Brito e Abreu 16 8
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 Fernando Brito e Abreu 17 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 18 9
A quem interessa a avaliação? 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 Fernando Brito e Abreu 19 MODELOS DE 1ª GERAÇÃO 10
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 22 11
Níveis do CMM Melhorar o processo continuadamente 5 - Optimizado Dar previsibilidade ao processo 4 - Gerido Normalizar o processo 3 - Definido Disciplinar o processo 2- Repetido Progressão 1 - Inicial Fernando Brito e Abreu 23 Nível 1 - Inicial Descrição: Processo ad-hoc / caótico Áreas chave do processo: Gestão do projecto Planeamento Gestão de configurações Fernando Brito e Abreu 24 12
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 Fernando Brito e Abreu 25 Nível 3 - Definido Descrição: Processo definido e institucionalizado Processo qualitativo Áreas chave do processo: Medição do processo Planeamento quantitativo Fernando Brito e Abreu 26 13
Nível 4 Gerido quantitativamente 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 processo Alinhamento do produto com a organização Avaliação do desempenho do processo Fernando Brito e Abreu 27 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 defeitos Inovação no processo organizacional Gestão de alterações tecnológicas (ex: migrações de paradigma) Fernando Brito e Abreu 28 14
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 Fernando Brito e Abreu 29 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 Ex: os requisitos da norma ISO9000-3 correspondem, grosso-modo ao nível 3 do CMM Fernando Brito e Abreu 30 15
Modelo do Process Advisor (Roger Pressman & Associates) 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 Kiviatt Fernando Brito e Abreu 32 16
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 33 Modelo do "Process Advisor" Fernando Brito e Abreu 34 17
Modelo do "Process Advisor" Fernando Brito e Abreu 35 Modelo Trillium (Bell Canada) 18
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 Fernando Brito e Abreu 37 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 38 19
Conformidade com outras normas Nível Norma Descrição 2 IEEE 730 Software Quality Assurance Plans 2 IEEE 828 Software Configuration Management Plans 2 IEEE 830 Recom. Practice for SW Requirements Specs 2 IEEE 1016 Recom. Practice for SW Design Descriptions 2 IEEE 1028 Software Reviews and Audits 2 IEEE 1058.1 Software Project Management Plans 2 IEEE 1063 Software User Documentation 2 Bellcore TR- TSY-000179 Reliability & Quality Measurement Systems (RQMS) for Telecommunication. Systems (só 95%) 3 ISO 9000-3 Guidelines for the application of ISO 9001:2000 to computer software 3 IEEE 1012 Software Verification and Validation 4 IEC 300 Reliability & Availability Management Fernando Brito e Abreu 39 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 Métricas Fernando Brito e Abreu 40 20
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 Fernando Brito e Abreu 41 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 Densidade de Defeitos Entregue Fernando Brito e Abreu 42 21
Outros modelos de 1ª geração (SAM, SQPA, STD, BOOTSTRAP) 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 44 22
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 Fernando Brito e Abreu 45 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 46 23
Modelo STD (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 47 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 Específicas referem-se a um projecto específico Fernando Brito e Abreu 48 24
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. Fernando Brito e Abreu 49 25