domingo, março 16, 2008

Revisoes e Inspecoes de Software e/ou Pair Programming no CMMI

Uma interessante questão surgiu no grupo CMMI Brasil:

O que caracteriza uma revisão por pares ? Se um time desenvolve seus componentes em conjunto (pair programming), podemos dizer que o componente já está revisado na sua origem ?

Minha resposta:

De acordo com uma das referências clássicas sobre revisões em pares (Livro "Peer Reviews in software" de Karl Wiegers), podemos considerar sim o pair programming como um prática de peer review, porém informal (pois não envolve preparação e registro de informações e métricas).

Ela poderia ser considerada uma prática alternativa que ajuda a atingir os "Specific Goals" da PA de Verificação. Porém, acredito que seria necessário uma boa demonstração (inclusive mostrando referências) de que o pair programming pode substituir revisões formais ou inspeções.

Outra estratégia que você pode usar é a de trabalhar com o pair programming E fazer revisões e/ou inspeções em artefatos considerados mais críticos.

Eu, particularmente, considero que revisões e inspeções possuem um retorno sobre investimento gigantesco e já mais que comprovado na indústria (quem quiser pode ver esses dados em meus materiais de ensino da disciplina de revisões e inspeções que ministro na pós de Engenharia de Software da USJT).

Inclusive, revisões e inspeções dão mais retorno que testes! Realizar revisões em artefatos de requisitos e em código de componentes mais complexos (com apoio de ferramentas de análise estática de código) é crucial para melhorar a qualidade e aumentar a produtividade (devido à redução do retrabalho) da equipe.

De acordo com os autores clássicos em revisões e inspeções, quem deve fazer a inspeção de artefatos são membros da equipe que possuem a mesma função do autor do artefato analisado e também, se possível, pessoas que utilizarão o artefato. Até porque, em alguns casos, seria complicado pedir para um analista de requisitos ou um gerente de projetos para revisar código-fonte. A formação deles não é técnica (muitas vezes) e levaria à detecção de um número bem reduzido de defeitos.

Pode não parecer, mas revisões e inspeções são mais dinâmicas do que muita gente imagina. Além disso geram possibilidades imensas de melhoria contínua das equipes.

Marcadores:

0 Comentários:

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas