Qualidade de Software Normatização
Norma ISO/IEC 12207 processo do ciclo de vida de software Norma criada em 1995 com o objetivo de fornecer uma estrutura comum para adquirente, fornecedor, desenvolvedor, mantenedor, operador e gerentes envolvidos com o desenvolvimento de software. Na forma de processos classificados em três tipos: Fundamentais Apoio Organizacionais Todos esses processos, executados durante o projeto de software, conduzem a qualidade tanto do produto quanto do processo. Pode ser aplicada para aquisição de sistemas, produtos e serviços, para o suporte, desenvolvimento, operação, manutenção, tanto para sistemas desenvolvidos internamente como externamente para uma organização.
Extraído de [batebyte]
Processos Fundamentais Responsáveis pela geração dos produtos de software Aquisição: organização que adquire um produto de software. Percepção da necessidade de adquirir um produto de software, solicitação de propostas, seleção de fornecedor e gerência do processo de aquisição. Fornecimento: organização que provê o produto de software ao adquirente. Elaboração de propostas, procedimentos e recursos necessários para gerenciar e garantir o projeto até a entrega do produto Desenvolvimento: compreende o ciclo de vida de engenharia de softwares. Atividades para análise de requisitos, projeto, codificação, testes, instalação e aceitação relacionada aos produtos de software. Operação: operação do produto e o suporte operacional aos usuários. Manutenção: gerenciamento de modificações no software para mantê-lo atualizado e em perfeita operação
Processos de Apoio Têm como objetivo auxiliar outros processos, visando principalmente a qualidade e o sucesso do projeto. Documentação: documentos necessários a todos os interessados, tais como gerentes, engenheiros e usuários do produto de software. Gerência de Configuração: definir os itens de software em um sistema e controlar as modificações e liberações dos itens; registrar e apresentar a situação dos itens e dos pedidos de modificação Garantia da Qualidade: atender a ISO 9126, para que não haja não conformidades em relação aos requisitos. Verificação e Validação: atender aos requisitos e ao uso específico proposto.
Revisão Conjunta: revisões conjuntas com cliente Auditoria: prover um julgamento independente de produtos e processos de software, a fim de avaliar a conformidade com seus requisitos. Resolução de Problema: prover meio de analisar e solucionar problemas, incluindo não conformidades.
Processos Organizacionais Têm como objetivo garantir e melhorar os processos dentro da organização. Gerência: definir papéis, responsabilidades e processos de gestão Infra-estrutura: definir infraestruturas necessárias para o cumprimento do projeto Melhoria: processos de melhoria contínua Treinamento: manter pessoal treinado e qualificado para as funções
Norma ISO/IEC 15504 (SPICE) A norma ISO15504 foi criada para harmonizar as diferentes abordagens de avaliação do processo de software, também conhecido como projeto SPICE para avaliação de processos de software. SPICE (Software Process Improvement and Capability determination) tem como objetivo produzir um relatório mais geral e abrangente que os modelos existentes e mais específico que a norma ISO 9001. É uma evolução da ISO/IEC 12207, mas possui níveis de capacidade para cada processo assim como o CMMI. O modelo tem dois objetivos: melhoria dos processos; determinação da capacidade de processos de uma organização.
Melhoria dos Processos: conjunto de processos considerados universais e fundamentais para a boa prática da engenharia de software; Atualmente, um modelo de referência de processo no domínio de software é a ISO 12207. Identificar quais processos devem melhorar, o que deverá ser feito e priorizar os investimentos com vista à obtenção de retornos rápidos e significativos. Capacidade: modelo de avaliação, baseado na ISO 12207. Os processos são agrupados em cinco grandes categorias de processo cliente/fornecedor, engenharia; suporte; gerência e organização. Avaliar o estado dos seus processos em comparação com as melhores práticas, através da identificação das suas forças, fraquezas e riscos. Melhoria do processo e determinação da capacidade do processo
A norma prevê um total de 40 processos, divididos em 5 categorias (resumo) Cliente/Fornecedor: Prover soluções aos clientes; Gerenciar as necessidades dos clientes; Engenharia: Coleta de requisitos e projeto de software; Desenvolver e testar o software; Manter o software; Suporte: Desenvolver a documentação; Auditorias e revisões; Controle dos recursos do projeto; Gerência: Qualidade Riscos Organização: Controlar os processos; Melhorar os processos; Prover infra-estrutura
Extraído de [Processos]
Níveis de Maturidade do SPICE Nível 0 (Não executado): não possui nenhum tipo de processo, caótico; Nível 1 (Informalmente executado): algumas práticas básicas, porém não documentadas, depende de esforços individuais de seus colaboradores; Nível 2 (Planejado e rastreado): apresentam uma especificação padrão e requisitos bem delineados; Nível 3 (Definido): planejamento e organização usando processos padronizados; Nível 4 (Controlado): utiliza ferramentas de medição da melhoria dos seus processos tendo o desempenho gerenciado; Nível 5 (Melhoria contínua): possui uma resposta de seu desempenho. Controle e gerenciamento, visando detecção de falhas e correções.
Extraído de [ISACA]
O SPICE possui mecanismos de pontuação em escala: 0% a 15% não atendido; 16% a 50% parcialmente atendido; 51% a 85% largamente atendido; 86% a 100% totalmente atendido. Uma empresa pode ser considerada nível 2 quando todos os atributos dos nível 1 são totalmente atendidos e do nível em questão são largamente atendido ou totalmente atendido.
Referências: [Qualidade de Software] Professor Ivanir Costa. UNIP Interativa [ISACA]http://www.isaca.org/Knowledge-Center/Blog/Lists/Posts/Post.aspx?ID=160 [batebyte]http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=325 [Processos]http://balancedscorecard.blogspot.com.br/2008/06/abordagem-por-processosda-norma-spice.html