Qualidade de Processo de Desenvolvimento de Software

Documentos relacionados
Fatores de Sucesso e Dificuldades na Implementação de Processos de Software Utilizando o MR-MPS MPS e o CMMI

Qualidade e Teste de Software. QTS - Norma ISO (NBR13596) 1

Qualidade de software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Riscos

= PF &ODXGLD+D]DQ06F. &HQiULR $JHQGD 3URGXWLYLGDGHGH6RIWZDUH. BFPUG Brazilian Function Point Users Group.

Todos nossos cursos são preparados por mestres e profissionais reconhecidos no mercado, com larga e comprovada experiência em suas áreas de atuação.

QUALIDADE. Avaliação positiva

FACULDADE SENAC GOIÂNIA

7 perguntas para fazer a qualquer fornecedor de automação de força de vendas

QUALIDADE DO SOFTWARE (PRODUTO)

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

21. Qualidade de Produto ou Qualidade de Processo de Software?

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Conceitos Fundamentais de Qualidade de Software

Profa. Dra. Ana Paula Gonçalves Serra

Engenharia de Software II

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

3 Qualidade de Software

QUALIDADE DE SOFTWARE

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

EXTRATO DA POLÍTICA DE GESTÃO DE RISCOS

5 EDI - As montadores e suas distribuidoras

Information Technology Infrastructure Library. Breno Torres Bruno Ferys Denio Brasileiro Pedro Araújo Pedro Lucena

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Engenharia de Software II: Iniciando o Projeto. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Módulo 14 Treinamento e Desenvolvimento de Pessoas Treinamento é investimento

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Objetivos. Histórico. Out/11 2. Out/11 3

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Gerenciamento da Integração (PMBoK 5ª ed.)

Processos de gerenciamento de projetos em um projeto

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

Atividade da gerência da qualidade

esags.edu.br Santo André > Av. Industrial, Bairro Jardim (11) Santos > Av. Conselheiro Nébias, 159 (13)

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Escritório de Projetos

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Qualidade de Software

Unidade I Conceitos BásicosB. Conceitos BásicosB

MPS.BR. O MPS.BR é um programa para Melhoria de Processo do Software Brasileiro. A proposta MPS.BR nasceu com base nos moldes CMMI.

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

QUALIDADE DE SOFTWARE

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios.

Porque estudar Gestão de Projetos?

PIM VII e VIII Projeto Integrado Multidisciplinar

A utilização de planos de testes como instrumento de qualidade na produção de salas no Moodle VITÓRIA ES

Engenharia de Software II

Questionário de avaliação de Práticas X Resultados de projetos - Carlos Magno Xavier (magno@beware.com.br)

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

CUSTOS DA QUALIDADE EM METALURGICAS DO SEGMENTOS DE ELEVADORES PARA OBRAS CÍVIS - ESTUDO DE CASO

Engenharia de Software II

Qualidade de software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Processo de Avaliação da Transparência Organizacional

Gledson Pompeu 1. Cenário de TI nas organizações. ITIL IT Infrastructure Library. A solução, segundo o ITIL

Certificações ITIL voltam a ganhar destaque

Gerenciamento de Requisitos Gerenciamento de Requisitos

Fatores que Influenciam na Migração do Processo de Melhoria de Software baseado em MPS para o CMMI nas Empresas Brasileiras

ABNT NBR ISO. ABNT NBR ISO 9001:2015 Como usar

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

Avaliação de Riscos Aplicada à Qualidade em Desenvolvimento de Software

Projetos Ágeis aplicados a TI. Júlio Cesar da Silva Msc.

O desafio de gerenciar o fluxo de caixa. Gilvânia Banker

WORKSHOP MELHORIA DE PROCESSOS

Texto para Coluna do NRE-POLI na Revista Construção e Mercado Pini Dezembro 2013

Elicitação de requisitos e análise

QUALIDADE DE SOFTWARE AULA N.7

Sumário. Modelo de Maturidade vs Tomadores de Decisão: Reduzindo o Gap Através do Método UTA

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

Administração de Pessoas

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

IC-UNICAMP IC-UNICAMP

Gerenciamento de Projetos Modulo IX Qualidade

PBQP-H QUALIDADE HABITACIONAL OBRAS DE EDIFICAÇÕES

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

O PAPEL EMPREENDEDOR NO SISTEMA DE GESTÃO DA QUALIDADE * PALAVRAS-CHAVE: Sistema de Gestão da Qualidade. Representante da Diretoria. ISO 9001.

Sistemas ERP. Profa. Reane Franco Goulart

6 Conclusão do estudo e implicações empresariais

Transcrição:

Qualidade de Processo de Desenvolvimento de Software DAS 5316 Integração de Sistemas Corporativos DAS 5316 Integração de Sistemas Corporativos Prof. Ricardo J. Rabelo

Conteúdo Introdução & Problemática O que é qualidade Por que fazer qualidade Processos de Software Melhoria de Processo Modelo de referência Comentários Finais

Introdução Após... 1) a especificação de um software / solução de automação, 2) a seleção da empresa externa ou grupo de pessoas da empresa que a implementará, e 3) a implementação propriamente dita feita, testada e documentada,... em teoria o problema está resolvido, certo?

Introdução Não!!! Por que?!?!

Problema Como saber se a solução atende realmente à especificação? Como ter um grau mínimo de certeza de que o software, uma vez posto em execução no ambiente de produção, não vai ter bug e, assim, ocasionar enormes problemas à fábrica? Como saber se ele foi testado corretamente? Como saber se ele foi documentado corretamente? Como saber se, uma vez pago, um pedido de uma próxima modificação / manutenção não vai ser cobrado desproporcionalmente?

Problema Ainda hoje, na grande maioria dos casos, os clientes dessas soluções só vão perceber a falta de qualidade geral do software depois dele implementado, entregue e pago! Quanto custa esta falta de qualidade?! Como o engenheiro de automação justifica esses problemas diante dos usuais altos investimentos e recursos gerais colocados nessa solução de software?!

Situação Atual Frequentemente os projetos não terminam com sucesso: ~ 30% dos projetos são cancelados ~ 50% dos projetos custam quase o dobro do planejado ~ 85% dos projetos não terminam no prazo Muitos projetos só trazem ~70% das funcionalidades originalmente planejadas (Standish Group. Chaos Report, 2010)

Cenas de uma empresa de software ou do setor de TI

Consequência Sistemas de software são entregues mesmo sabendo-se que têm defeitos: Pressão por menores custos, entrega dentro do prazo ou com menor atraso, baixo preparo ou rigor técnico da equipe.

Consequência Portanto, como se precaver disso?!?!

Solução tradicional Analistas e engenheiros super experientes conseguem antever um pouco isso e exigir certos procedimentos das empresas de software ou da equipe de TI. Além desses profissionais serem escassos no mercado, quem disse ou garante que esses procedimentos são os mais adequados e aceitos claramente pelas empresas de software e de auditoria?!

Solução tradicional Afinal, então como se resolve efetivamente isso?!?!

Solução Adequada Atualmente, com base em sólidas bases conceituais e práticas, através de... Modelos de Melhoria de Processo de Software.

Solução Adequada Selo de Qualidade da empresa de software (do engenheiro, do setor de TI da empresa onde atua, ou da contratada); Critério de seleção / decisão da empresa de software.

Solução Adequada Palavra-chave: Qualidade de Software

Mas, o que é qualidade de software?

Mas, o que é 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 do seu desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem principalmente no processo de desenvolvimento, o principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente.

Mas, o que é qualidade de software? Atualmente, a visão (definição) de qualidade (de um produto) de software é associada à qualidade do processo pelo qual ele é construído e mantido (aquisição, desenvolvimento e manutenção). Portanto, há diversas perspectivas de análise.

Mas, o que é qualidade de software? ISO/IEC 9126 e NBR 13596 Estas normas listam um conjunto de 6 características que devem ser verificadas em um software para que ele seja considerado um "software de qualidade.

Mas, o que é qualidade de software? Característica Subcaracterística Significado Funcionalidade (satisfaz as necessidades?) Confiabilidade (é imune a falhas?) Adequação Acurácia Interoperabilidade Conformidade Propõe-se a fazer o que é apropriado? Faz o que foi proposto de forma correta? Interage com os sistemas especificados? Está de acordo com as normas ou padrões? Segurança de acesso Evita acesso não autorizado aos dados? Maturidade Tolerância a falhas Recuperabilidade Com que frequência apresenta falhas? Ocorrendo falhas, como ele reage? É capaz de recuperar dados em caso de falha?

Mas, o que é qualidade de software? Característica Subcaracterística Significado Usabilidade (é fácil de usar?) Eficiência (é rápido e enxuto?) Manutenibilidade (é fácil de modificar?) Intelegibilidade Apreensibilidade Operacionalidade Tempo Recursos Analisabilidade É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil de operar e controlar? Qual é o tempo de resposta, a velocidade de execução? Quanto recurso usa? Durante quanto tempo? É fácil de encontrar uma falha, quando ocorre? Modificabilidade Estabilidade Testabilidade É fácil de modificar e adaptar? Há grande risco quando se faz alterações? É fácil testar quando se faz alterações?

Mas, o que é qualidade de software? Característica Subcaracterística Significado Portabilidade (é fácil de usar em outro ambiente?) Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir É fácil adaptar a outros ambientes? É fácil instalar em outros ambientes? Está de acordo com padrões de portabilidade? É fácil usar para substituir outro?

Por que Fazer Qualidade? Qualidade não é mais uma opção para as empresas / clientes... Passou a ser uma exigência deles!! Cada vez mais se exige das empresas fornecedoras de software que sejam certificadas, ou seja, que ataquem aquelas 6 categorias de características de qualidade seguindo modelos de referência.

Processo de Software É o que as pessoas fazem, utilizando conhecimento, métodos, ferramentas, etc., para adquirir, desenvolver, manter e/ou melhorar software e produtos associados; Exemplos: plano de projeto, documentos de design, código, testes, manuais, etc.

Melhoria de processo Melhoria de Processo de Software (MPS) ou Software Process Improvement (SPI): Ação executada para mudar os processos de uma organização para que eles sigam as necessidades de negócio da organização e alcance suas metas mais efetivamente. Entender processos existentes e introduzir mudanças neles melhora a qualidade do produto (software), reduz custos e diminui a duração dos projetos.

Melhoria de processo: Realidade Maiores problemas nas organizações de software são gerenciais e não técnicos; Sem uma disciplina de gerenciamento, o processo de engenharia de software / qualidade é muito prejudicado; Boas práticas existem, mas são pouco disseminadas; A qualidade de uma solução é altamente influenciada pela qualidade do processo em si utilizado no desenvolvimento do software e na sua manutenção.

Metodologia de Melhoria de Processo

Metodologia de Melhoria de Processo Mas como por isso em prática? No que se basear? Utilizam-se Modelos de Referência!

Modelos para melhoria de processo de software Principais: ISO 15504 ISO 12207 ISO 9000 (-1/2/3) series CMMI - Capability Maturity Model Integration MPS.br Melhoria de Processo de Software Brasil

Modelos de Referência Repositórios com as melhores práticas; Referência para o mapeamento de processos; Referência para avaliação de processos; Definem O QUE deve ser feito; Independentes da tecnologia a ser utilizada; Independentes de contexto de aplicação. Dado a essas duas independências, os modelos não definem o COMO; portanto, detalhes de implementação, documentação, etc. precisam ser especificados ou adaptados para o caso em questão.

Como funciona (CMMI)

Como funciona Duração da transição: A transição de um nível de maturidade para outro no CMMI leva uma média de aproximadamente 2 anos. Nível 4 5 15 meses Nível 3 4 25 meses Nível 2 3 21 meses Nível 1 2 22 meses

Como funciona Período de certificação completa: 8 10 anos!! E auditorias (pagas) a cada 2 : 3 anos, que podem: Rebaixar o nível de maturidade de uma empresa; Manter o nível ou; Fazê-la ascender a um outro nível.

Como funciona No mundo o CMMI possui 3.446 empresas certificadas, 103 no Brasil; Nível de maturidade Número de empresas 1 1 2 50 3 42 4 1 5 9 O MPS.br possui 173 empresas certificadas; Nível de maturidade Número de empresas A 5 B 0 C 2 D 1 Ano-Base: 2009 E 5 F 49 G 111

Processos do MPS.br 1. Análise de Causas de Problemas e Resolução 2. Gerência de Projetos 3. Gerência de Riscos 4. Desenvolvimento para Reutilização 5. Análise de Decisão e Resolução 6. Gerência de Reutilização 7. Verificação 8. Validação 9. Projeto e Construção do Produto 10. Integração do Produto 11. Desenvolvimento de Requisitos 12. Gerência de Projetos 13. Gerência de Reutilização 14. Gerência de Recursos 15. Definição do Processo Organizacional 16. Avaliação e Melhoria do Processo Organizacional 17. Medição 18. Garantia da Qualidade 19. Gerência de Configuração 20. Aquisição 21. Gerência de Requisitos 22. Gerência de Projetos

Níveis do MPS.br

Processos da ISO 15504

Níveis da ISO15504

Capabilidade vs. Maturidade Incialmente os modelos apenas listavam os processos relacionados com a qualidade, e a isso chamavam de Modelos de Capabilidade (Capability Model), ou seja, quais processos uma empresa deveria ter para se credenciar a ser considerada como uma empresa que fazia um software de qualidade.

Capabilidade vs. Maturidade Com o tempo, observou-se que nenhuma empresa conseguia implantar todos os processos de um modelo de capabilidade de uma vez só, e que isso por si só era um processo de evolução. Daí que surgiu a noção de Modelo de Maturidade (Maturity Model), também chamado de Modelo de Capabilidade de Maturidade, que classificava os processos em níveis de evolução / melhoria, dando uma noção de maturidade da empresa em termos de capacidade dela de suportar certos níveis de qualidade de software.

Modelos para melhoria de processo de software Os modelos de referência são muito parecidos entre si, embora tenham algumas diferenças. Como escolher então um modelo de referência?

Modelos para melhoria de Critérios Básicos: processo de software Viabilidade técnico-organizacional para a adoção de um modelo / Impacto na empresa; Lista de processos e níveis de maturidade do modelo, e as prioridades dos processos de melhoria de qualidade de software da empresa; Fama / reconhecimento do modelo pelos clientes focados e o adotado pelos concorrentes; Complexidade do guia de implementação / Tempo de Implantação; Idioma do modelo / documentação; Procedimentos do guia de avaliação ( auditoria ); Nível de internacionalização pretendido, o modelo adotado pela matriz / demais empresas, nicho de mercado visualizado; Custo de implantação e de avaliação.

Custos Os custos da adoção de um Modelo se dividem em: Custos de Implantação do Modelo: custos para a introdução do modelo (seus processos) na empresa; Custos de Avaliação: custos efetuados após a implantação, para se auditar o cumprimento do modelo. Em ambas fases é exigido que as ações todas sejam conduzidas por profissionais certificados (há cursos ministrados pelas entidades de certificação que representam os modelos no País). Dependendo do porte da empresa, um funcionário (certificado!) dela costuma estar também envolvido no processo.

Custos de Implantação Uma implantação usualmente leva 2 anos, para cada nível de Maturidade. Feita por profissional (normalmente um grupo de pessoas) certificado, da ou externo à empresa (consultor). Consultores pagos por hora. No Brasil, entre 100 e 150 reais a hora, em média.

Custos de Implantação Teoricamente o preço de implantação independe do tamanho da empresa, mas o preço final de implantação acaba sendo na prática maior numa grande empresa, pois o projeto como um todo é maior (maior número de pessoas envolvidas, mais treinamento, sistemas maiores e mais complexos, etc.). Além disso, grandes empresas de software costumam ter funcionários certificados, o que diminui o custo com consultores. Como custo de referência, pode-se dizer que considerando os vários aspectos, na média, uma certificação (cada nível) custa em torno de 100 mil reais ao longo de ~2 anos.

Custos de Implantação Há linhas de financiamento do governo ou mesmo subsídios para PMEs de software para adoção do MPS.br. Na prática também se observam pacotes de consultoria, ou seja, envolvendo um grupo de PMEs de software, que implantam um modelo simultaneamente. Exemplo: 35 mil 50 mil reais pela Implantação (para tentar uma avaliação em 18:24 meses, e com uma consultoria de 4h por semana) 9 mil 15 reais pela Avaliação.

Custos de Avaliação Uma avaliação usualmente leva 2 dias. Feita por profissional certificado, externo à empresa (consultor). MPS.br = ~3 mil reais CMMI ou ISO = ~6 mil dólares Empresa precisa enviar à entidade certificadora / consultor uma série de documentos sobre as atividades realizadas / processos implementados, etc., bem antes da visita, para provar que ela está em condições de ser avaliada.

A Questão da Modelagem do Processo de negócio

Modelagem do processo de negócio é um dos subprocessos requeridos (i.e. obrigatórios) no processo de Gerência de Projetos

Objetivo da Modelagem de Processo de Negócio Expressar como todas atividades referentes ao desenvolvimento de software são feitas; Entender o negócio como um conjunto de processos bem definidos; Entender a estrutura e a dinâmica da empresa de software; Garantir que clientes, usuários e desenvolvedores tenham um entendimento comum sobre os processos da empresa;

Objetivo da Modelagem de Processo de Negócio Não há um padrão para modelagem de processos.

Modelagem de Processo de negócio Exemplo 1 Exemplo 2

Modelagem de Processo de Negócio Técnicas: Fluxograma UML BPMN IDEF0... A técnica para modelagem é escolhida de acordo com as características do negócio. O importante é conseguir representar o conhecimento.

Comentários Finais A mudança cultural é o fator principal da melhoria de processo Casos reais mostram que a falta de comprometimento das pessoas não permitem que a melhoria de processo traga resultados Convencer as pessoas da importância da mudança E não simplesmente mandar fazer

Comentários Finais Burocracia + custo financeiro + mudanças... Existe um investimento inicial grande, tanto de tempo quanto de dinheiro Mudança cultural nos gestores e programadores Principais Benefícios: Domínio do processo de negócio Documentação (especificação de requisitos) Estimativas mais realistas de tempo e custos Controle/gerência das ações do projeto Equipe mais treinada / preparada Acesso a novos mercados ou a licitações

Vale a pena! Comentários Finais

Comentários Finais Modelos de Referência concebidos para o modelo tradicional de Aquisição, mas nada ainda para o de Serviços de Software. A certificação é muito custosa, e leva muito tempo. Empresas certificadas acabam por de certa forma levar o custo adicional da certificação aos clientes.

Referências Bibliográficas CMMI Product Team. CMMI for Development (CMMI-DEV), Version 1.2. Technical Report CMU/SEI-2006-TR-008, Carnegie Mellon University/ Software Engineering Institute, Pittsburgh, August 2006. ISO/IEC FDIS 15504-5:2005(E), 2005. Information Technology - Process Assessment - Part 5: An exemplar Process Assessment Model. Ministério da Ciência e Tecnologia. Secretaria de Política de Informática. Qualidade e Produtividade no Setor de Software Brasileiro 2001. Brasília, 2002. ROCHA, A. R. C.; MALDONADO, J. C.; WEBER, K. C. Qualidade de Software: Teoria e Prática. 1. ed. São Paulo: Prentice Hall, 2001 SOFTEX, MPS.BR Melhoria de Processo do Software Brasileiro, Guia Geral, Versão 1.2, 2007. Qualidade de Software, José Barreto Júnior, http://www2.unemat.br/rhycardo/download/qualidade_em_software.pdf

F I M

Introdução Em 2010, as empresas Brasileiras de tecnologia movimentaram no Brasil US$ 14 bilhões; 11ª posição entre os maiores mercados de Software no mundo; Participação de 1,8% no mercado global. (Associação Brasileira das Empresas de Software (Abes))