Modelo de Maturidade de Software – Processo de Desenvolvimento de Software


Fundamentos da medição de software

O objetivo da medição de software é aumentar a qualidade, o desempenho e a produtividade dos processos de desenvolvedores.

O uso de métricas está diretamente ligado ao controle desses processos.

Pesquisas realizadas em empresas de software indicam que acima de 60% dos projetos de software apresentam atraso na entrega, acarretando em custos excessivos e, em muitos casos, fracasso no seu resultado. Isso se deve, principalmente, à falta de controle dos projetos de software.

Depois dessas informações, você pode estar se questionando: Por que o software deve ser medido?

O software deve ser medido para:


Medição e modelos/normas de qualidade de um software

Para compreendermos melhor esse processo, vamos ver em que as medições de software se baseiam:

  1. Medição na ISO/IEC 15504, também conhecida como SPICE, é a norma ISO/IEC que define o processo de desenvolvimento de um software. Ela é uma evolução da ISO/IEC 12207 e possui níveis de capacidade para cada processo assim como o CMMI.
  2. Medição no CMMI.
  3. Medição no MPS.BR

Vamos acompanhar, agora, boas práticas na implantação de Programas de Medição nas organizações:

É preciso prestar bastante atenção nos fatores críticos para implantação de programas de medição. Veja quais são eles:

Sobrecarga: evitar coletar dados em excesso e desnecessários, que podem causar desperdícios e perda da credibilidade do programa de medição.

Uso incorreto da medição: medições com perda da integridade dos dados, pois os profissionais tendem a mascarar os dados com medo de que estes sejam utilizados contra eles.

Falhas de medição: obtenção de medidas erradas, ambíguas e inconsistentes, resultando em análises não conclusivas.

Falhas de processo: obtenção de medidas que motivam falhas no processo (exemplo: o objetivo de diminuir a taxa de resolução de problemas induz a ação indesejada de que as equipes tratem primeiramente os problemas mais simples).


ISO e a tecnologia da informação

A ISO criou com a IEC (International Eletrotechnical Commission), a primeira comissão conjunta para elaboração de normas, o JTC1 (Joint Technical Committee).

O JTC1 é responsável pela criação de normas relacionadas à TI e é dividido em subcomissões (SC), que, por sua vez, são divididas em grupos de trabalho (Working Groups – WG).

A subcomissão SC-7 (Engenharia de Software e de Sistemas) trata das normas relacionadas à qualidade de software.

Veja alguns grupos de trabalho da SC-7:

Para compreender melhor, acompanhe o histórico da Série ISO 9000.

Normas da Série ISO 9000:2000

Estrutura da Série ISO 9000:2000

A Norma ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e estabelece a terminologia para esses sistemas. Define uma abordagem centrada em modelo de processos, baseada em 8 princípios de gestão da qualidade e 13 fundamentos, para atingir excelência e satisfação dos clientes. Serve como base de orientação a toda a série de normas ISO 9000 (ISO, 2005).


Princípios de gestão da qualidade

Todo o processo de medição, modelos e ISO, está totalmente ligado à qualidade. Vamos aprofundar mais no assunto:

Foco no cliente: Organizações dependem de seus clientes e, portanto, é recomendável que atendam às necessidade atuais e futuras do cliente, aos seus requisitos e procurem exceder as suas expectativas.

Liderança: Líderes estabelecem a unidade de propósito e o rumo da organização. Convém que criem e mantenham um ambiente interno, no qual as pessoas possam estar totalmente envolvidas no propósito de atingir os objetivos da organização.

Envolvimento de pessoas: Pessoas de todos os níveis são a essência de uma organização e seu total envolvimento possibilita que as suas habilidades sejam usadas para o benefício da organização.

Abordagem de processo: Um resultado desejado é alcançado mais eficientemente quando as atividades e os recursos relacionados são gerenciados como um processo.

Abordagem sistêmica para a gestão: Identificar, entender e gerenciar os processos inter-relacionados, como um sistema contribui para a eficácia e eficiência da organização no sentido desta atingir os seus objetivos.

Melhoria contínua: Convém que a melhoria contínua do desempenho global da organização seja seu objetivo permanente.

Abordagem factual para tomada de decisão: Decisões eficazes são baseadas na análise de dados e informações.

Benefícios mútuos nas relações com os fornecedores: Uma organização e seus fornecedores são interdependentes e uma relação de benefícios mútuos aumenta a capacidade de ambos em agregar valor.

 

Para se obter sucesso na implantação da ISO 9000, é necessário implantar o processo de melhoria contínua, com o objetivo de aumentar a probabilidade de fazer crescer a satisfação dos clientes.

Qualidade é estar em conformidade com os requisitos dos clientes; é antecipar e satisfazer os desejos do cliente.


 Visões da qualidade de software


Padrões de qualidade de software

O conhecimento referente aos padrões de qualidade está apoiado nas melhores práticas recomendadas pelas normas internacionais e que venham a favorecer a empresa. Esse conhecimento é adquirido após um grande número de tentativas e erros. Ajudam a empresa a evitar a não repetir erros cometidos no passado.

Os padrões favorecem para a implantação do processo de garantia de qualidade. Como esses padrões se apoiam nas melhores práticas, a garantia da qualidade deve estar assegurada.

Alguns padrões de Qualidade de Software

CMM – Capability Maturity Model – Desenvolvido pelo SEI (Software Engineering Institute).

SPICE (Software Process Improvement and Capability Determination) -Desenvolvido pela “International Organization for Standardization and the International Electrotechnical Commission” (ISO/IEC).


ISO 9001:2000 e ISO 1207

Vamos acompanhar, agora, as outras ISOs que também estão envolvidas no processo de qualidade e software.

A ISO 9001: 2000 é usada para demonstrar capacidade de atender aos requisitos do cliente e os da própria organização.

A organização deve documentar seus processos, comunicar, manter e melhorar continuamente o SGQ. Para tal, a organização deve:

Vamos acompanhar, agora, as outras ISOs que também estão envolvidas no processo de qualidade e software.

ISO 1207

O padrão internacional ou modelo de referência ISO/IEC 12207 – Processos do Ciclo de Vida do Software tem como objetivo fornecer uma estrutura única para que o desenvolvedor e todo pessoal envolvido no desenvolvimento de software utilizem uma linguagem comum, que é estabelecida na forma de processos bem definidos.

A ISO/IEC 12207 contém processos, atividades e tarefas a serem aplicados durante a aquisição de um produto ou serviço de software e fornecimento, desenvolvimento, operação e manutenção e distribuição de produtos de software. A ISO/IEC 12207 provê, também, um processo que pode ser empregado na definição, controle e melhoria de processos de ciclo de vida (ISO/IEC, 2008).


ISO/IEC 12207: histórico


Medição de software e melhorias em processos

Atualmente, há uma série de abordagens para medição de software, inclusive alguns padrões internacionais. Existe uma comunidade que divulga a combinação entre medição de software e melhorias em processos. Essa comunidade colaborou no desenvolvimento do processo de Medição e Análise do Capability Maturity Model Integration (CMMI) e no desenvolvimento do padrão ISO relacionado à medição de software e à avaliação de processos. O processo de Medição e Análise foi um importante adendo ao CMMI. Seu escopo é bem mais abrangente e explícito que o tratamento dispensado à questão de medição no Capability Maturity Model for Software (SW-CMM).


Atividade proposta

Pesquise um caso de sucesso com o emprego de métricas no desenvolvimento de um software.

Chave de resposta: Os modelos de métricas são usados na busca incessante pela qualidade de software.


 

Referências

PRESSMAN, Roger S. Engenharia de Software – Uma Abordagem Profissional. 7. ed. São Paulo: MCGRAW-HILL BRASIL, 2011.

SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: PEARSON (LIVROS UNIVERSITÁRIOS), 2011.

PFLEEGER, Shari Lawrence. Engenharia de Software – Teoria e Prática. 2. ed. São Paulo: Pearson (Livros Universitários), 2003.


Lista de Exercícios de Modelo de Maturidade de Software – Lista 4


 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.