ISO/IEC 12207

Content

Histórico de Revisão

ISO/IEC/IEEE 12207: 2017 é a versão mais recente, publicada em novembro de 2017. A IEEE Computer Society se uniu diretamente à ISO/IEC JTC 1/SC 7/WG 7 no processo de edição desta versão. Uma mudança significativa é que ela adota um modelo de processo idêntico ao modelo de processo ISO/IEC/IEEE 15288: 2015 (há um processo de alteração de nome, o processo 15288 "Requisitos do sistema" é renomeado para o processo "Sistema/Requisitos de Software". ). Essa harmonização dos dois padrões levou à remoção de processos separados de desenvolvimento de software e reutilização de software, trazendo o número total de 43 processos de 12207 até os 30 processos definidos em 15288. Também causou alterações nas atividades de gerenciamento e garantia de qualidade de qualidade e qualidade e resultados. Além disso, a definição de "auditoria" e atividades de auditoria relacionadas foram atualizadas. O Anexo I da ISO/IEC/IEEE 12207: 2017 fornece um mapeamento de processo entre a versão de 2017 e a versão anterior, incluindo os alinhamentos primários do processo entre as duas versões; Isso pretende ativar a rastreabilidade e facilitar a transição para os usuários da versão anterior.

As versões anteriores incluem:

ISO/IEC 12207:2008, which was published in February 2008ISO/IEC 12207:1995/Amd 2:2004, an amended version of the prior, published in November 2004ISO/IEC 12207:1995/Amd 1:2002, an amended version of the prior, published in May 2002ISO/IEC 12207:1995, the first iteration, published in July 1995; originally was divided into five primary processes (acquisition, supply, development, operation, and maintenance), with eight supporting and four organizational life cycle processes

Versões IEEE

Antes da participação formal da Sociedade de Computação da IEEE (se tornando uma das principais partes interessadas) para o lançamento de 2017, o IEEE manteve suas próprias versões da ISO/IEC 12207, inicialmente com modificações feitas em conjunto com a Aliança das Indústrias Eletrônicas (EIA). Com a atualização de 2008, veio uma "estratégia compartilhada da ISO/IEC JTC 1/SC 7 e o IEEE para harmonizar suas respectivas coleções de padrões", resultando em padrões idênticos, mas com nomes ligeiramente diferentes. Essas versões IEEE incluíram:

IEEE Std. 12207-2008: "integrates ISO/IEC 12207:1995 with its two amendments and was coordinated with the parallel revision of ISO/IEC 15288:2002 (System life cycle processes) to align structure, terms, and corresponding organizational and project processes"; superseded by ISO/IEC/IEEE 12207:2017IEEE/EIA 12207.2-1997: "provides implementation consideration guidance for the normative clauses of IEEE/EIA 12207.0"; superseded/made obsolete by IEEE Std. 12207-2008, which was then superseded by ISO/IEC/IEEE 12207:2017IEEE/EIA 12207.1-1997: "provides guidance for recording life cycle data resulting from the life cycle processes of IEEE/EIA 12207.0"; superseded by ISO/IEC/IEEE 15289:2011, which was then superseded by ISO/IEC/IEEE 15289:2017IEEE/EIA 12207.0-1996: "consists of the clarifications, additions, and changes [to ISO/IEC 12207:1995 for industry implementation] accepted by the Institute of Electrical and Electronics Engineers (IEEE) and the Electronic Industries Alliance (EIA) as formulated by a joint project of the two organizations"; superseded by IEEE Std. 12207-2008, which was then superseded by ISO/IEC/IEEE 12207:2017

Também vale a pena notar que o IEEE/EIA 12207 substituiu oficialmente o MIL-STD-498 (lançado em dezembro de 1994) para o desenvolvimento de sistemas de software DOD em 27 de maio de 1998.

Processos não estágios

O padrão estabelece um conjunto de processos para gerenciar o ciclo de vida do software. O padrão "não prescreve um modelo específico de ciclo de vida de software, metodologia de desenvolvimento, método, abordagem de modelagem ou técnica". Em vez disso, o padrão (assim como ISO/IEC/IEEE 15288) distingue entre um "estágio" e "processo" da seguinte forma:

stage: "period within the life cycle of an entity that relates to the state of its description or realization". A stage is typically a period of time and ends with a "primary decision gate".process: "set of interrelated or interacting activities that transforms inputs into outputs". The same process often recurs within different stages.

Os estágios (também conhecidos como fases) não são os mesmos que os processos, e esse padrão define apenas processos específicos - não define nenhum estágio específico. Em vez disso, o padrão reconhece que os ciclos de vida do software variam e podem ser divididos em palcos (também chamados de fases) que representam os principais períodos do ciclo de vida e dão origem a portões de decisão primários. Nenhum conjunto específico de estágios é normativo, mas menciona dois exemplos:

The system life cycle stages from ISO/IEC TS 24748-1 could be used (concept, development, production, utilization, support, and retirement).It also notes that a common set of stages for software is concept exploration, development, sustainment, and retirement.

Os processos do ciclo de vida que o padrão define não estão alinhados a nenhum estágio específico em um ciclo de vida do software. De fato, os processos do ciclo de vida que envolvem planejamento, desempenho e avaliação "devem ser considerados para uso em todas as etapas". Na prática, os processos ocorrem sempre que são necessários em qualquer estágio.

Processos

ISO/IEC/IEEE 12207: 2017 Divide processos de ciclo de vida do software em quatro grupos de processos principais: concordância, ativação do projeto organizacional, gerenciamento técnico e processos técnicos. Sob cada um desses quatro grupos de processos, há uma variedade de subcategorias, incluindo as principais atividades de aquisição e suprimento (acordo); configuração (gerenciamento técnico); e operação, manutenção e descarte (técnico).

Processos de acordo

Aqui ISO/IEC/IEEE 12207: 2017 inclui os processos de aquisição e fornecimento, que são atividades relacionadas ao estabelecimento de um contrato entre um fornecedor e adquirente. A aquisição abrange todas as atividades envolvidas no início de um projeto. A fase de aquisição pode ser dividida em diferentes atividades e entregas que são concluídas cronologicamente. Durante a fase de fornecimento, um plano de gerenciamento de projetos é desenvolvido. Este plano contém informações sobre o projeto, como marcos diferentes que precisam ser alcançados.

Processos de ativação do projeto organizacional

Aqui estão detalhados aqui o gerenciamento de modelos de ciclo de vida, gerenciamento de infraestrutura, gerenciamento de portfólio, gerenciamento de recursos humanos, gerenciamento da qualidade e processos de gerenciamento de conhecimento. Esses processos ajudam uma empresa ou organização a ativar, controlar e apoiar o ciclo de vida do sistema e projetos relacionados. O gerenciamento do modelo de ciclo de vida ajuda a garantir que os esforços de aquisição e fornecimento sejam suportados, enquanto a infraestrutura e o gerenciamento de portfólio suportam iniciativas específicas de negócios e projetos durante todo o ciclo de vida do sistema. O restante garante que os recursos necessários e os controles de qualidade estejam em vigor para apoiar os esforços do projeto e do sistema da empresa. Se uma organização não tiver um conjunto apropriado de processos organizacionais, um projeto executado pela organização poderá aplicar esses processos diretamente ao projeto.

Processos de gerenciamento técnico

ISO/IEC/IEEE 12207: 2017 coloca oito processos diferentes aqui:

[Project planning]Project assessment and controlDecision managementRisk managementConfiguration managementInformation managementMeasurementQuality assurance

Esses processos lidam com o planejamento, avaliação e controle de software e outros projetos durante o ciclo de vida, garantindo a qualidade ao longo do caminho.

Processos técnicos

Os processos técnicos da ISO/IEC/IEEE 12207: 2017 abrangem 14 processos diferentes, alguns dos quais vieram dos antigos processos específicos de software que foram eliminados da versão de 2008.

A lista completa inclui:

Business or mission analysisStakeholder needs and requirements definitionSystems/Software requirements definitionArchitecture definitionDesign definitionSystem analysisImplementationIntegrationVerificationTransitionValidationOperationMaintenanceDisposal

Esses processos envolvem atividades técnicas e pessoal (tecnologia da informação, solucionadores de problemas, especialistas em software etc.) durante o pré-, pós-e durante a operação. Os processos de análise e definição desde o início preparam o terreno sobre como o software e os projetos são implementados. Processos adicionais de integração, verificação, transição e validação ajudam a garantir qualidade e prontidão. As fases de operação e manutenção ocorrem simultaneamente, com a fase de operação que consiste em atividades como ajudar os usuários a trabalhar com o produto de software implementado e a fase de manutenção que consiste em tarefas de manutenção para manter o produto em funcionamento. O processo de descarte descreve como o sistema/projeto será aposentado e limpo, se necessário.

Conformidade

A cláusula 4 descreve os requisitos de uso e conformidade pretendidos do documento. Espera -se que projetos específicos "possam não precisar usar todos os processos fornecidos por este documento". Na prática, a conformidade com esse padrão normalmente envolve a seleção e declaração do conjunto de processos adequados. Isso pode ser feito através de "conformidade total" ou "conformidade personalizada".

A "conformidade total" pode ser reivindicada de duas maneiras. "Conformidade total às tarefas" pode ser reivindicada se todos os requisitos das atividades e tarefas dos processos declarados forem atendidos. "A conformidade total com os resultados" pode ser reivindicada se todos os resultados necessários dos processos declarados forem atendidos. O último permite mais variação.

A "conformidade personalizada" pode ser declarada quando cláusulas específicas são selecionadas ou modificadas através do processo de alfaiataria, também definidas no documento.

Veja também

Software development processSoftware release life cycleISO/IEC/IEEE 15288ISO/IEC 15504ISO/IEC/IEEE 29119ISO/IEC JTC 1/SC 7Meta-modeling techniqueV modelUnified Modeling LanguageBuild managementRelease management