Norma - Processos do Ciclo de Vida de Software

Autores: Cristina Angela Filipak Machado

Raghu Singh

Space and Naval Warfare Systems Command

Uma nova norma, Processos de Ciclo de Vida (ISO/IEC 12207), desenvolvida durante os últimos 6 anos, foi recentemente aprovada pela JTC1 (Joint Technical Committee 1 of the International Organization for Standardization and the International Electrotechnical Commission) nos Estados Unidos. Enquanto o software tem sido estabelecido como uma parte integrante das disciplinas de ciência e de negócios, os ambientes para desenvolvimento e gerenciamento de software têm proliferado sem uma estrutura comum e uniforme para o Ciclo de Vida de Software. Esta norma fornece uma estrutura para que os praticantes de software possam "falar a mesma linguagem", quando criam e gerenciam software. Os praticantes podem usar a estrutura para adquirir, fornecer, desenvolver, operar e manter software.

Os processos

O novo padrão estabelece uma arquitetura de alto nível para o Ciclo de Vida do Software, desde a definição de conceitos até o seu descarte. A arquitetura é construída através de um conjunto de processos e interfaces entre esses processos. Os processos são providos e identificados com base nos princípios de modularidade e responsabilidade. Cada processo é colocado sob a responsabilidade de uma parte (ou participante) dentro do ciclo de vida do software.

Os 17 processos são agrupados dentro de três classes gerais: primária, suporte e organizacional. Os cinco principais processos são: aquisição, suprimento, desenvolvimento, operação e manutenção; eles são as alavancas primordiais dentro do ciclo de vida. Os oito processos de suporte são: documentação, gerência de configuração, garantia de qualidade, revisão conjunta, auditoria, verificação, validação e resolução de problemas. Um processo de suporte apoia outro processo com um propósito distinto. Os quatro processos organizacionais são: gerenciamento, infra-estrutura, melhoria e treinamento. Uma organização pode usar estes processos no nível da corporação para estabelecer, implementar, gerenciar e melhorar seus processos de ciclo de vida.

Cada processo é definido em termos das suas próprias atividades constituintes, e cada um destes é definido em termos das suas tarefas constituintes. Há 74 atividades e 224 tarefas. Um tarefa é expressada como um requisito, uma declaração própria, uma recomendação, ou uma ação permissível.

Atributos

O padrão de Processos de Ciclo de Vida de Software estabelece o elo necessário entre o software e seu sistema origem, definindo um espectro para o ciclo de vida do sistema e colocando o ciclo de vida do software dentro dele. O software é separado do sistema, projetado e implementado, e integrado novamente dentro do sistema. Assim, engenheiros de software participam na engenharia dos sistemas.

O padrão também implementa princípios de TQM (gerenciamento da qualidade total). Equipa cada processo com um ciclo PDCA "Planejar-fazer-checar-agir" embutido e apropria tarefas relacionadas com qualidade para cada processo.

Além disso, o padrão é flexível no uso. Uma organização, um projeto, ou as partes de um acordo podem selecionar os processos, atividades e tarefas apropriadas para realizar um propósito específico de negócio. Uma organização pode executar mais do que um processo, e um processo pode ser executado por mais do que uma organização. E a norma pode ser aplicada internamente por uma organização ou contratualmente por 2 ou mais partes. As tarefas são expressas em linguagem contratual. Quando aplicada unicamente dentro de uma organização ou por um indivíduo, a linguagem contratual é interpretada como tarefas propriamente impostas a si mesmas.

A ISO/IEC 12207 reage às tecnologias de software em rápida evolução. Ela pode ser usada com modelos de engenharia de software, métodos, e ambientes conhecidos. Além disso, fornece ao adquirente uma forma de especificar um produto ou serviço, enquanto encoraja o fornecedor a ser criativo usando uma tecnologia apropriada. De acordo com o padrão, certas saídas dos processos são documentadas. Contudo, os detalhes para métricas especificadas e indicadores, e os formatos para as saídas são deixadas para os usuários da norma.

Finalmente, a norma permite conformidade a nível do projeto e a nível da organização. Processos, atividades e tarefas são selecionados e adaptados para contemplar um projeto em particular. A nível da organização, como uma condição comercial, uma declaração pública especifica um conjunto de processos, atividades e tarefas da norma com a qual os fornecedores concordam.

A norma de Processos de Ciclo de Vida de Software não é um substituto para gerenciamento sistemático, disciplinado e engenharia de sistemas de software. A norma meramente fornece uma estrutura dentro da qual os processos, atividades e tarefas podem ser judiciosamente selecionados, planejados e executados. Um ponto chave para lembrar é que a norma contém somente um conjunto de blocos de construção bem definidos (processos); o usuário da norma deve selecionar, adaptar e juntar estes processos apropriadamente e com um custo razoável para o projeto ou organização. No entanto, a norma fortemente recomenda que tal adaptação preserve a arquitetura, intenção e integridade da norma.

Reconhecimentos

Esta norma foi desenvolvida sob o patrocínio do Subcomitê 7 (Engenharia de Software) do Joint Technical Commitee 1 (Information Technology) da ISO e IEC. O organizador do grupo de trabalho foi James R. Roberts dos E.E.U.A. ( afiliado com a Bell Communications Research) e o editor desta norma foi o autor deste artigo. Os seguintes países participaram no desenvolvimento desta norma : Austrália, Brasil, Canadá, Checoslováquia, Dinamarca, Finlândia, França, Alemanha, Hungria, Irlanda, Itália, Japão, Coréa, Holanda, Espanha, Suíça, Inglaterra e os Estados Unidos.

No Brasil

Existe uma comissão da ABNT que se reúne todas as primeiras terças-feiras de cada mês, normalmente aqui na Celepar, que está tratando da adaptação desta norma internacional para a realidade brasileira. Os interessados em participar do grupo ou de saber mais a respeito podem entrar em contato com Cristina Ângela Filipak Machado pelo e-mail.

Texto traduzido por : Cristina Ângela Filipak Machado - Presidente da Comissão de Estudos da ABNT que trata de Processos de Ciclo de Vida