Trabalho sobre a ISO/IEC 15504

63
NORMA ISO/IEC 15504 Felipe Ferraz Luan Ferreira Cardoso Rafael Chaves Raffael Russo Ricardo Solon Zalla Trabalho para a cadeira de Engenharia de Software do 9º período do CFG de Engenharia da Computação do IME.

Transcript of Trabalho sobre a ISO/IEC 15504

NORMA ISO/IEC 15504

Felipe FerrazLuan Ferreira Cardoso

Rafael ChavesRaffael Russo

Ricardo Solon Zalla

Trabalho para a cadeira de Engenharia de Software do 9º período do CFG de Engenharia da Computação do IME.

Sumario

1. Introdução2. ISO/IEC 155043. Conclusão4. Questões5. Referências

Introdução

- Contextualização- Processos- ISO 9001 x ISO/IEC 15504- ISO/IEC 12207 x ISO/IEC 15504- CMMI x ISO/IEC 15504

Contextualização

Contextualização

A ISO/IEC 15504 é a norma que define uma série de atividades para avaliar e melhorar processos de software, e tem como objetivo determinar o nível de capacidade dos processos de uma organização.

Originou-se do projeto SPICE (Software Process Improvement and Capability Determination) com base nos modelos já existentes como ISO 9000 e CMM.

Contextualização

O SPICE foi niciado em 1993 a partir da necessidade de uma norma para avaliação de processos de software. Em 2003 o projeto SPICE se tornou a ISO/IEC 15504 com as alterações:

• Virou uma norma internacional• Foi dividida estruturalmente em 5 partes• Tornou-se mais genérica.

Contextualização

ISO - International Organization for StandardizationSEI - Software Engineering InstituteIEC - International Electrotechnical Commission

Contextualização

O contexto da ISO/IEC 15504 é o de padronização para avaliação de processos.

Logo esta norma insere-se no escopo de avaliação da qualidade do processo de software assim como a ISO 12207.

Portanto para entendermos a ISO/IEC 15504 precisamos entender a definição de processos, bem como a relação entre esta norma e as outras citadas anteriormente.

Processos

Processos

“O processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software. É um dos principais mecanismos para se obter software de qualidade e cumprir corretamente os contratos de desenvolvimento.”

Dentre os passos e atividades de um processo podemos citar:• Análise Econômica• Análise de requisitos de software• Especificação• Arquitetura de Software• Implementação (ou codificação)• Teste• Documentação• Suporte e Treinamento de Software• Manutenção

Processos

Processos

Como abordagens a um processo de software podemos citar os ciclos de vida:Esqueletos ou estruturas pré-definidas nas quais encaixamos as atividades do processo.

• Modelo em cascata• Prototipagem• Desenvolvimento incremental• Modelo em espiral• Desenvolvimento Rápido de Aplicação

Processos

Os padrões normativos para avaliação de processos foram criados para que as empresas que os seguem tivessem uma garantia de um certo grau de confiança aos seus clientes.

Logo o processo de desenvolvimento de software deve estar documentado para que possa ser avaliado, compreendido e seguido.

Processos

Como padrões que focam no processo de desenvolvimento de software podemos citar:

• CMMI• ISO 9001• ISO/IEC 12207• ISO/IEC 15504 (SPICE)

ISO 9001 x ISO/IEC 15504

ISO 9001 x IEC 15504

A ISO 9001 é uma evolução da ISO 9000 e tem como objetivo melhorar a gestão de uma empresa. Através do ISO 9001, uma empresa aplica nos seus processos padrões para o seu sistema de gestão e qualidade. Esta norma também é usada para medir o nível de satisfação dos clientes, melhorando a eficácia da gestão da empresa.

ISO 9001 x IEC 15504

Com isso a ISO 9001 relaciona-se com a ISO 15504 no sentido de que a norma 15504 define os requisitos para avaliação e orientações na aplicação, enquanto a 9001 dá apenas um modelo abstrato. Sendo assim a norma ISO/IEC 15504 é um complemento à norma ISO 9001

ISO/IEC 12207 x ISO/IEC 15504

ISO/IEC 12207 x ISO/IEC 15504

A ISO/IEC 12207 estabelece uma estrutura comum para os processos de ciclo de vida de software. Ela é uma base que serve de fundamentação para várias outras normas e modelos.

A norma ISO/IEC 15504, como será visto adiante, contém um modelo exemplo de avaliação de processo que é baseado no modelo de referência de processo definido na ISO/IEC 12207. Esse modelo exemplo pode ser utilizado para conduzir uma avaliação do processo de engenharia de software.

ISO/IEC 12207 x ISO/IEC 15504

Por esse fato, muitas vezes, diz-se que a ISO/IEC 15504 é uma evolução da ISO/IEC 12207, pois além de basear-se na 12207 para avaliar software, a norma 15504 possui uma dimensão de determinação do nível de capacidade dos processos.

CMMI x ISO/IEC 15504

CMMI x ISO/IEC 15504O CMMI (Capability Maturity Model Integration), definido pelo SEI, é um modelo para melhoria contínua de processos. É uma evoulção do CMM.

Surgiu com o objetivo de reduzir duplicações, eliminar inconsistências e fornecer uma terminologia comum entre vários outros modelos também criados pelo SEI.

O CMMI relaciona-se com a norma ISO/IEC 15504 no que se refere à avaliação de processos em níveis de capacidade.

ISO/IEC 15504

- Estrutura do Modelo- A dimensão do processo- A dimensão de capacidade- Mecanismos de pontuação - Perfil de capacidade

Estrutura de modelo

Estrutura do Modelo

A ISO 15504 foi dividida em 5 partes:

• Parte 1: conceitos e vocabulário

• Parte 2: requisitos mínimos para a realização de uma avaliação visando consistência e repetibilidade

• Parte 3: guia (não normativo) para a interpretação dos requisitos para a realização de uma avaliação

• Parte 4: guia (não normativo) para: – determinação da capacidade (perfil de capacidade) – melhoria de processo (perfil + plano de ação)

• Parte 5: modelo de referência de processos (não normativo) aderente aos requisitos da Parte 2; podem ser usados outros modelos como, por exemplo, a ISO 12207 ou o CMMI

Estrutura do Modelo

Dimensão de Processo

Dimensão de Processo

A dimensão do processo se limita a verificação da execução dos processos. São relacionadas a “o que fazer” organizadas em processos específicos.

São 48 processos que estão organizados em 3 categorias de processo e 9 grupos de processo.

Dimensão de Processo

Cada processo é descrito com os seguintes seis elementos:

• Identificação (process identifier)

• Nome (process name)

• Propósito (process purpose)

• Resultados (Outcomes)

• Práticas base (base practice)

• Produtos de trabalho (work-products)

Processos Fundamentais

Processos Fundamentais

Processos de aquisição: aplicáveis a organizações na aquisição de serviços de desenvolvimento de SW, de componentes ou módulos

Envolve as etapas de preparação, seleção, contratação, monitoração e aceitação.

Processos Fundamentais

Processo de fornecimento: aplicáeis a organizações na fase de apresentação de proposta de serviços de desenvolvimento de SW, de componentes ou módulos.

Envolve as etapas de preparação de propostas, release de produto e apoio à aceitação.

Processos Fundamentais

Processo de Engenharia de Software: processos do ciclo de desenvolvimento de software e de sistemas

Envolve as etapas de elicitação de requisitos, arquiteturas do sistema, análise de requisitos, design, construção, integração e teste de SW, teste de SW e de sistema, instalação de SW e manuntenção de SW e de sistema.

Processos Fundamentais

Processo de operação: processos relacionados à operação do software.

Envolve as etapas de uso operacional e suporte à operação.

Processos Organizacionais

Processos Organizacionais

Processo de gestão: processos relacionados à gestão do software.

Envolve as etapas de alinhamento aos objetivos estratégicos da organização, estabelecimento de práticas de gestão em geral, gestão da qualidade, gestão de riscos e medição.

Processos Organizacionais

Processo de gestão: processos associados à definição e melhoria de processos

Envolve as etapas de definição de processos, avaliação de processos e melhoria de processos.

Processos Organizacionais

Processo de Recursos e Infra-estrutura: processos relacionados à gestão de RH e Infraestrutura.

Envolve as etapas de gestão de RH, treinamento, gestão do conhecimento e infraestrutura.

Processos Organizacionais

Processo de Reuso: processos relacionados à gestão de ativos susceptíveis de reuso.

Envolve as etapas de gestão de ativos, gestão de programa de reuso e engenharia de domínio..

Processos de Apoio

Processos de Apoio

Processo de Apoio: processos de apoio ao desenvolvimento de software e de sistemas.

Envolve as etapas de garantia da qualidade, verificação e validação, revisão conjunta, auditoria, avaliação de produto, documentação, gestão de configuração e de mudança e solução de problemas.

Dimensão da Capacidade

Dimensão de Capacidade

Permite uma avaliac ão detalhada dos processos executados por uma organizac ão

Trabalha com:

● N veis de capacidade● Atributos de processo

Niveis de Capacidade

0 - Incompleto Processo não existe ou falha em atingir seus objetivos

1 - Executado Processo geralmente atinge os objetivos, porem sem padrao de qualidade e sem controle de prazos e custos

2 - Gerenciado Processo planejado, acompanhado, e satisfaz os requisitos definidos de qualidade, prazo e custos

Niveis de Capacidade

3 - Estabelecido Processo executado e gerenciado com uma adaptação de um processo padrão definido; eficaz e eficiente

4 - PrevisívelProcesso executado dentro dos limites de controle definidos e com medições detalhadas e analisadas

5 - OtimizadoProcesso melhorado continuamente de forma disciplinada

Atributos de Processo

● 1.1 Execuc ãoO processo atinge os objetivos esperados.

● 2.1 Administrac ão do ProcessoObjetivos do processo são identificados e sua execuc ão é planejada. Responsabilidades são atribu das, a infra-estrutura é fornecida e a comunicac ão entre os envolvidos é gerenciada.

● 2.2 Administrac ão do ProdutoProdutos do processo são identificados e documentados, requisitos para eles são definidos e revisões e ajustes são efetuados conforme necessário.

Atributos de Processo

● 3.1 Definic ãoUm processo padrão é definido para a organizac ão.

● 3.2 Implementac ãoOs elementos identificados em 3.1 são postos em prática.

● 4.1 Medic ãoEstabelecem-se objetivos quantitativos, bem como as medic ões a serem realizadas e a frequ e ncia de sua aplicac ão. Os resultados são coletados, analisados e publicados na organizac ão.

● 4.2 ControleEstabelecem-se limites de variac ão para as medidas e ac ões corretivas para tratar as causas de desvios em relac ão a esses limites.

Atributos de Processo

● 5.1 Inovac ãoObjetivos de melhoria são estabelecidos. Oportunidades de melhoria são identificadas

● 5.2 Otimizac ãoO desempenho do processo é medido e o impacto das melhorias propostas é comparado com os objetivos esperados. A implementac ão de mudanc as é gerenciada.í

Mecanismos de pontuação

Mecanismos de Pontuação

• Verificac ão do grau de satisfac ão (avaliação) dos atributos de processo

• Escala ordenada de quatro valores, escolhidos de acordo com um percentual de atendimento aos requisitos do atributo de processo.

Mecanismos de Pontuação

NNão atingido

0 - 15% Há pouca ou nenhuma evide ncia de que o atributo foi satisfeito

PParcialmente atingido

16 - 50% Há evide ncias de uma prática sistemática no sentido da satisfac ão do atributo. Entretanto alguns aspectos do atendimento podem ser imprevis veis.

LLargamente atingido

51 - 85% Há evide ncias de uma prática sistemática no sentido da satisfac ão do atributo. Alguns pontos fracos relacionados ao atributo podem ser encontrados.

TTotalmente atingido

86 - 100% Não há nenhuma falta ou falha significativa relacionada ao atributo

Níveis exigidos de capacidade de processo0 1 2 3 4 5

1.1 L ou T T T T T

2.1 L ou T T T T

2.2 L ou T T T T

3.1 L ou T T T

3.2 L ou T T T

4.1 L ou T T

4.2 L ou T T

5.1 L ou T

5.2 L ou T

Perfil de Capacidade

Perfil de Capacidade

Uma das vantagens da ISO 15504 é a grande quantidade de formatos de apresentac ão dos resultados

CMMI por estágios fornece um único número para representar o n vel de maturidade dos processos da organizac ão

Exemplos de formatos de apresentac ão poss veis:

● Perfil de capacidade t pico para dois processos● Perfil de capacidade por projeto

ConclusãoThe awesome points you must know

about ISO/IEC 15504 after today

Don’t miss any of that for the test!

Conclusão

A ISO/IEC 15504 definiu os requisitos para o Método de Avaliação de Processos de forma detalhada, bem como uma maneira de avaliar os níveis de capacidade de processos.

Portanto ela é de extrema importância para organizações e para os clientes, que ganham confiança na qualidade das atividades desempenhadas na organização.

Questões

Questões

1- Dado que sabemos o ciclo de vida de um processo, queremos verificar a execução deste. Para tal, qual norma é necessário se aplicar? Neste caso simples, a 12207 resolve o problema?

2- Tendo em vista a separação em categorias da ISO 15504-5 classifique os seguintes processos segundo sua categoria, justificando brevemente:

Análise de requisitos de Sistema, Garantia da Qualidade, Avaliação do Produto e Treinamento de Funcionário.

Questões

3- No contexto dos níveis de capacidade, proponha uma maneira de comparar a maturidade entre dois grupos de processos de uma organização.

4- No contexto de treinamento em engenharia de software, considere o processo como a cadeira ministrada no IME. Classifique-a cada atributo de processo em níveis de capacidade e diga seu nível.

5- Imaginando o IME como uma organização dotada de processos, existem algum processo do Tipo 5? Exemplifique e justifique.Faça o mesmo para um processo do tipo 1.

Thanks!

Grupo:

Luan CardosoFelipe FerrazRafael ChavesRaffael RussoRicardo Zalla

Referências

1-<http://www.devmedia.com.br/ciclos-de-vida-do-software-artigo-revista-engenharia-de-software-magazine-36/21099> Acessado em <01/05/2016>

2- <http://blog.newtonpaiva.br/pos/wp-content/uploads/2013/04/PDF-E5-I19.pdf> Acessado em <01/05/2016>

3- <https://en.wikipedia.org/wiki/ISO/IEC_15504> Acessado em <01/05/2016>

4- <http://www.ic.unicamp.br/~cortes/inf326/transp/cap7.pdf> Acessado em <01/05/2016>