# data[].attributes.body
História e Estrutura do Modelo

A ISO/IEC 15504, também conhecida como SPICE, é a norma que define uma série de atividades para manter a qualidade de software, foi publicada em outubro de 2003, mas foi seu projeto começou em 1993 pela ISO com base nos modelos já existentes como ISO 9000 e CMM. Ela é uma “evolução” da ISO/IEC 12207, que possui níveis de capacidade para cada processo. Segundo a norma, uma avaliação de processo de software é uma investigação e análise disciplinada de processos selecionados de uma unidade organizacional em relação a um modelo de avaliação de processo.

# data[].attributes.body
O framework inclui um modelo de referência, que serve de base para o processo de avaliação. Um conjunto processos fundamentais que orientam para uma boa engenharia de software, e estabelece duas dimensões: a dimensão de processo e a dimensão de capacidade.
Na dimensão de processo o modelo é dividido em cinco grandes categorias de processo: Cliente-Fornecedor, Engenharia, Suporte, Gerência e Organização. Cada uma delas é detalhada em processos mais específicos. Tudo isso é descrito em detalhes pela norma.

Na dimensão de capacidade o objetivo é avaliar a capacitação da organização em cada processo e permitir a sua melhoria. O modelo de referência do SPICE inclui seis níveis de capacitação dos processos (Incompleto, Realizado, Gerenciado, Estabelecido, Previsível ou Otimizado).

# data[].attributes.body
O processo de desenvolvimento de software definido pela ISSO-15504 é divido em três categorias principais de processos:

1. Processos Primários

2. Processos Organizacionais

3. Processos de Apoio

# data[].attributes.body
Processos de Gestão:
Alinhamento aos objetivos estratégicos da organização;
Estabelecimento de práticas de gestão em geral, e especialmente gestão de projeto;
Gestão da qualidade;
Gestão de riscos;
Medição;

Processos de Melhoria de Processos:
Definição de processos;
Avaliação de processos: Avaliar como os processos estão contribuindo para a organização alcançar seus objetivos;
Melhoria de processos: Comprometimento, priorização, gestão das ações de melhoria;

Processos de Recursos e Infraestrutura:
Gestão de RH;
Treinamento;
Gestão do conhecimento;
Infraestrutura: Recursos materiais, ambiente de trabalho, ferramentas;

Processos de Reuso:
Gestão de Ativos (Componentes/módulos/informações = assets) suscetíveis de reuso;
Gestão do programa de Reuso: Estratégia, definição de domínios, procedimentos, melhoria;
Engenharia de Domínio:  A partir da definição de um ou mais domínios, de aplicação -> Desenvolvimento e manutenção de modelos, arquiteturas e componentes/módulos/informações relativos ao domínio;

# data[].attributes.body
Garantia de Qualidade:
Os produtos e atividades de um processo ou projeto devem estar de acordo com os requisitos especificados, planos e regras.

Verificação:
Cada produto ou serviço resultado de um processo obedecem às especificações de entrada do processo.

Validação:
Os requisitos para o uso desejado de cada produto ou serviço resultado de um processo deve ser atendido.

Revisão Conjunta:
O cliente pode ter visibilidade completa do andamento do desenvolvimento quando comparada ao estabelecido no contrato.

Auditoria:
Os produtos identificados devem estar em conformidade com as atividades com planos, requisitos e com o contrato.

Documentação:
Documentos que registrem informações produzidas por um outro processo ou atividade devem ser mantido.

Gestão de Configuração:
Integridade de todos os produtos de algum processo ou do projeto.

Solução de Problemas:
Todos os problemas encontrados devem ser analisados, resolvidos e que tendências sejam observadas visando o planejamento de ações preventivas.

Avaliação de Produto:
Garantir a devida avaliação do produto de acordo com as diretrizes estabelecidas do contrato.

Gestão de Mudança:
Garantir que todos os pedido de mudança serão gerenciados, acompanhados e controlados.

# data[].attributes.body
Processo de Aquisição:
O objetivo e obter um produto ou serviço que satisfaça o cliente, passando por quatro fazes: preparação, seleção do fornecedor, monitoração do fornecedor e aceitação.

Processo de Fornecimento:
E o processo de fornecer ao cliente um software que satisfaça suas necessidades, incluindo a preparação do contrato, entrega do produto e a instalação.

Processo de Elicitação de Requisitos:
Tem como objetivo capturar e processar todos os requisitos do cliente. É utilizado durante todas as fazes de desenvolvimento para o processo de revisão do plano de desenvolvimento e comunicação com o cliente para possíveis alterações de requisitos.

Processo de Operação:
Tem como função fazer o produto de software operar no ambiente para o qual foi desenvolvido e oferecer suporte ao usuário.

Categoria de Engenharia de Software:
Vai desde a parte da construção do software que é composta da analise de requisitos, construção, integração e testes à manutenção do software que tem o objetivo de alterar modificações, migrações e desativação do software, de acordo com os desejos do cliente.

# data[].attributes.body
Na dimensão de capacidade, essa norma classifica o processo de desenvolvimento de software de uma organização em seis possíveis níveis, acompanhe:
▪ Nível 0, ou incompleto: indica que não há implementação de nenhum processo padronizado, portanto não há garantias de que os resultados esperados sejam alcançados com sucesso.
▪ Nível 1, ou executado: indica que os resultados desejados são alcançados, mas que o planejamento e a execução não seguem um padrão rigoroso que garantam a qualidade de forma contínua.
▪ Nível 2, ou gerenciado: indica que há padrões, tanto de planejamento como de execução dos processos, que garantem que os resultados sempre sejam alcançados com um nível de qualidade satisfatório.
▪ Nível 3, ou estabelecido: indica que os padrões de planejamento e de execução existentes seguem os princípios estabelecidos pela
engenharia de software, o que garante que os resultados terão sempre o mesmo padrão de qualidade.
▪ Nível 4, ou previsível: indica que há padrões de planejamento e de execução coerentes com aqueles estabelecidos pela engenharia de software, além de medições detalhadas de desempenho e de medidas quantitativas de capacidade do processo. Essas medidas permitem prever as
medidas de qualidade dos resultados com relevante grau de precisão.
▪ Nível 5, ou em otimização: indica que todos os níveis anteriores foram atingidos e que o objetivo passa a ser a busca contínua pela melhoria do processo.

# data[].attributes.body
Os mecanismos de pontuação do SPICE são em escala ordenada por quatro valores, dependendo do percentual de atendimento aos requisitos do atributo de processo. As porcentagens de pontuação são 0% a 15% não atendido,16% a 50% parcialmente atendido,51% a 85% largamente atendido e 86% a 100% totalmente atendido.