De que se trata o artigo: Este artigo apresenta uma ferramenta para apoiar a manutenção de software na rastreabilidade das implementações dos requisitos. Esta ferramenta servirá de apoio para o gerente de projetos, possibilitando-o rastrear de que forma determinado requisito foi implementado, facilitando a tomada de decisão em relação à manutenção de software.


Em que situação o tema é útil:
O tema é de grande importância para os gerentes de projetos que buscam verificar como e onde os requisitos dos clientes estão sendo implementados.

Resumo DevMan: A implementação básica da rastreabilidade é exigida pelos modelos de maturidade de software como MPS.BR e CMMI. Apesar dos custos, as empresas que participam destes processos cumprem as exigências, às vezes, fazendo a rastreabilidade por um processo não automatizado, fato que, com o tempo, pode comprometer a qualidade da informação. Neste contexto, neste artigo ficará evidente os benefícios de se ter o rastreamento implantado, pois através do mesmo é possível obter informações que interessam a várias áreas de processos de desenvolvimento, como teste, codificação e análise.

Atualmente grande parte das empresas de desenvolvimento de software tem mudado o paradigma de produção, visto que não basta apenas o software ser desenvolvido, é necessário que se façam cumprir prazos e o produto entregue, bem como sua documentação, devem possuir maior qualidade. A preocupação em ajustar os processos de produção de software vem sendo um assunto amplamente discutido por diversos autores uma vez que a organização que conseguir equilibrar os fatores (custo/prazo) e acelerar o desenvolvimento terá um diferencial competitivo em relação aos concorrentes.

Com o objetivo de suprir as deficiências relacionadas à qualidade, produtividade e agilidade do desenvolvimento de software, as organizações vêm a cada dia aderindo a modelos de maturidade.

O modelo de maturidade CMMI (Capability Maturity Model Integration) surgiu da junção de várias guias CMM (ler Nota 1). Este modelo é composto de cinco níveis de maturidade, utilizados para classificar as organizações, onde cada nível de maturidade possui características bem distintas como:

  1. Inicial: neste nível a empresa possui processos ad hoc e caóticos. Neste ponto ainda não possui áreas de processo implementadas;
  2. Gerenciado: nível onde a empresa já possui processos gerenciados e caracterizados por projetos, mas muitas vezes ainda trabalha de forma reativa;
  3. Definido: neste nível a empresa possui processos definidos e caracterizados para a organização. Normalmente a empresa trabalha de forma ativa;
  4. Quantitativamente Gerenciado: nível onde a empresa já efetua medições e controla os seus processos;
  5. Em Otimização: neste último nível a empresa tem o foco em descobrir a causa de seus problemas e melhorar continuamente os seus processos.

Nota 1. CMMI

O CMMI é um modelo de maturidade e de capacidade dos processos que reúne as melhores práticas direcionadas ao desenvolvimento, gestão e manutenção de produtos e serviços de software que abrangem todo o ciclo de vida, desde sua concepção até a entrega e manutenção. Descreve um caminho evolucionário nas organizações que permite o aprimoramento da maturidade e da capacitação de suas equipes nas atividades relacionadas a software.

As empresas evoluem de processos normalmente caóticos, dependentes de “profissionais-heróis”, para processos maduros e organizados. Faz-se assim possível a gestão do software por meio de métricas e modelos estatísticos mesmo diante de crises econômicas ou situações de stress.

Tratando-se de um modelo de referência, o CMMI contém componentes necessários à maturidade dos processos relacionados à gestão e ao desenvolvimento de projetos de software. Alguns dos principais elementos são:

  • Prática específica: elemento importante que descreve a atividade esperada para atingir a meta específica associada de uma área de processo. Exemplo: “obter o entendimento dos requisitos”;
  • Prática genérica: componente importante que descreve a atividade esperada para atingir a meta genérica associada e contribui com a institucionalização dos processos associados à área de processo. Exemplo: “executar práticas específicas”;
  • Meta específica: elemento do modelo que descreve a característica necessária para satisfazer a área de processo. Como exemplo tem-se a meta específica de “gerenciar requisitos”;
  • Meta genérica: componente da arquitetura que descreve a característica necessária para institucionalizar os processos que implementam uma área de processo. Exemplo: “alcançar metas específicas”;
  • Área de processo (Process Area – PA): conjunto de práticas relacionadas de uma área que, quando implementadas de forma integrada, satisfazem as metas consideradas importantes para a realização de melhorias naquela área. A versão 1.3 desse modelo é constituída por 22 áreas de processo, que são agrupadas de acordo com o nível de maturidade e/ou de capacidade;
  • Nível de capacidade: atendimento a práticas genéricas e específicas apropriadas para uma área de processo;
  • Nível de maturidade: estrutura conceitual constituída por processos bem definidos através da qual uma organização desenvolve-se e amadurece de modo sistêmico.

O CMMI apresenta duas representações: uma estagiada (também denominada “por estágios”) e uma contínua. A representação por estágios apresenta os mesmos cinco níveis de maturidade (maturity) do SW-CMM, sendo que cada um deles é caracterizado por um conjunto de áreas de processo cuja aderência é necessária para se atingir maturidade. Os estágios deste tipo de representação são: 1 – inicial (Ad-hoc); 2 – gerenciado; 3 – definido; 4 – gerenciado quantitativamente; e 5 – otimizado.

Na representação contínua, o modelo determina a avaliação do nível de capacidade (capability) de cada uma das áreas de processo individualmente. Isso permite que a organização atenda aos processos e práticas que lhe sejam interessantes e convenientes. Por exemplo, a especialização de uma fábrica de testes em áreas de processo Verificação e Validação.

Na representação por estágios, as 22 áreas de processos estão divididas entre os cinco níveis de maturidade.

O modelo de maturidade MPS.BR (Melhoria de Processo do Software Brasileiro) foi criado a partir das mesmas bases do modelo CMMI e adaptado para a realidade das empresas brasileiras (ler Nota 2). O fato do modelo CMMI possuir cinco níveis de maturidade, cada mudança de nível ocasiona o surgimento de novas tarefas para as empresas no que tange a sua organização. Percebeu-se que a melhor solução para as empresas brasileiras seria dividir os processos em mais níveis, diminuindo a complexidade entre os níveis e possibilitando uma mudança de nível mais gradual. Surge então o modelo de maturidade MPS.BR contendo os níveis de G a A [4]:

...
Quer ler esse conteúdo completo? Tenha acesso completo