O processo de desenvolvimento de software definido pela ISO 15504 é divido em três categorias principais de processos:
Processos Primários:
Processo de Aquisição:
O objetivo é obter um produto ou serviço que satisfaça o cliente, passando por quatro fases: preparação, seleção do fornecedor, monitoração do fornecedor e aceitação.
Processo de Fornecimento:
É 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 levantamento de Requisitos:
Tem como objetivo capturar e processar todos os requisitos do cliente. É utilizado durante todas as fases 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 da parte de construção do software, que é composta da análise 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.
Processos Organizacionais:
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) 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;
Processos de Apoio:
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 mantidos.
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 pedidos de mudança serão gerenciados, acompanhados e controlados.