Diretriz: Revisões
Uma revisão é um procedimento formal em que um produto de trabalho é apresentado para as partes interessadas para comentários e aprovação. Essa diretriz explica como preparar e conduzir uma revisão.
Relacionamentos
Descrição Principal

Geral

  • Conduza revisões em um formato de reunião, embora os participantes das reuniões possam preparar algumas revisões eles mesmos.
  • Monitora continuamente a qualidade durante as tarefas do processo para impedir que vários defeitos permaneçam ocultos até as revisões. Em cada tarefa no RUP (Rational Unified Process), a lista de verificação listada abaixo é mencionada para reforçar isso; utilize-a em reuniões informais de revisão ou durante o trabalho diário.

Tipos de Revisão

Em um glossário de padrões de 1990, IEEE define três tipos de revisão:

Revisão
Uma reunião formal na qual um produto de trabalho, ou um conjunto de produtos de trabalho, é apresentado ao usuário, ao cliente ou a outras partes interessadas para comentários e aprovação.
Inspeção
Uma técnica de avaliação formal na qual os produtos de trabalho são examinados em detalhes por uma pessoa ou um grupo diferente do autor para detectar erros, violações dos padrões de desenvolvimento e outros problemas.
Navegação
Um processo de revisão na qual um desenvolvedor orienta um ou mais membros da equipe de desenvolvimento por meio do segmento de um produto de trabalho que ele/ela escreveu, enquanto outros membros fazem perguntas e comentários sobre técnicas, estilos, possíveis erros, violações dos padrões de desenvolvimento e outros problemas.

Quando implementado em equipes, as revisões também fornecem oportunidades para que as pessoas descubram o design e o código de outros grupos e aumentam as chances de detectar códigos-fonte comuns, reutilizar oportunidades e oportunidades para generalização. As revisões também fornecem uma forma de coordenar o estilo da arquitetura entre vários grupos.

No RUP, as revisões são uma parte secundária importante para garantir a qualidade. Os principais contribuidores de qualidade no RUP são bem descritos em [ROY98] na seção em Inspeções de Período. Entretanto, esse manual identifica um efeito adicional valioso de revisões no desenvolvimento profissional: a equipe júnior tem a oportunidade para ver o trabalho de especialistas e têm seus próprios trabalhos revisados pelos mentores seniores.

Planejamento

Planejamos revisões para determinar o foco e o escopo da revisão e para garantir que todos os participantes entendam suas funções e as metas da revisão.

Antes da revisão, defina o escopo da revisão, determinando a pergunta que será feita; definir o que será avaliado e por quê? Consulte a Lista de Verificação para os produtos de trabalho a serem revisado para os tipos de perguntas que poderiam ser feitas. As perguntas exatas dependerão da fase do projeto: revisões anteriores se concentrarão em problemas amplos de arquitetura; as revisões posteriores serão mais específicas.

Depois que o escopo da revisão foi determinado, defina os participantes da revisão, a agenda, as informações que serão exigidas para executar a revisão. Ao selecionar os participantes, estabeleça um equilíbrio entre a especialização de arquitetura de software e a especialização de domínio. Designe de forma clara e não dúbia um líder da avaliação que coordenará a revisão. Se necessário, obtenha informações de outras equipes ou de outras partes da organização para fornecer experiência de domínio ou técnica.

O número de revisores deve ser aproximadamente sete ou menos. Se escolhidos de forma apropriada, eles serão mais do capazes de identificar problemas na arquitetura. Mais revisores reduzem, na verdade, a qualidade da revisão, tornando a reunião mais longa, a participação mais difícil e injetando problemas e discussões à reunião. Menos de 4 revisores aumenta o risco de "miopia" na revisão, à medida que a diversidade de preocupações é reduzida.

Os revisores devem ser experientes na área a ser revisada; para casos de uso, os revisores devem compreender o domínio do problema; para a arquitetura de software é necessário ter conhecimento das técnicas de design de software. Revisores inexperientes podem aprender algo sobre a arquitetura participando, mas contribuirão pouco com a revisão e a presença deles pode ser distraída. Mantenha pequeno o grupo; não mais de sete pessoas e não menos de três. Poucos revisores prejudicam a qualidade da revisão, e mais revisores impedem a discussão interativa essencial para alcançar os resultados de qualidade.

Selecione os revisores apropriados para o material:

  • aqueles que têm conhecimento para entender o material apresentado
  • aqueles que têm um papel ativo na qualidade do produto ou do produto de trabalho sendo revisado

Preparação

Antes da revisão, os produtos de trabalho serão revisados e qualquer material adicional deve ser reunido e distribuído aos participantes da revisão. Isso deve ser feito antes da reunião de revisão para que os revisores revisem o material e os problemas obtidos. Distribuir os materiais de revisão com antecedência, e permitir que os revisores tenham tempo de preparar-se para a revisão melhora significativamente a qualidade dos resultados da revisão. A preparação para as revisões também aumenta bastante a eficiência e a eficácia da revisão.

Os revisores devem estudar a documentação, formular perguntas e identificar problemas a serem discutidos, antes da revisão. Dada a carga de trabalho normal dos revisores, poucos dias de trabalho é o tempo mínimo necessário para preparar-se para a revisão.

Conduzindo as Revisões

Há várias formas de se conduzir uma revisão bem-sucedida:

Cada um deles será discutido em detalhes abaixo.

Compreenda o processo de revisão Para Conduzir a Revisão

Em geral, o processo de revisão segue um ciclo repetitivo:

  • Um problema é levantado por um revisor
  • O problema é discutido e potencialmente confirmado
  • Um defeito é identificado (algo é identificado e precisa ser solucionado)
  • Continue até que nenhum outro problema seja identificado

Para que isso funcione efetivamente, todos devem entender que a meta de uma revisão é aprimorar a qualidade do produto de trabalho revisado. Os produtos de trabalho devem ser revisado com um olho crítico para descobrir problemas. Fazer isso pode ser difícil, então, todos os revisores devem se lembrar constantemente de concentrar-se na identificação de problemas (somos todos naturalmente solucionadores de problemas, mas como revisores devemos deixar isso de lado).

Nós todos temos muito domínio no nosso trabalho; é difícil aceitar críticas, mesmo quando são construtivas. Conseqüentemente, devemos trabalhar cada vez mais para nos concentrar nas metas de revisão: para tornar nosso trabalho melhor.

Compreenda as Funções de Revisor Para Conduzir a Revisão

Para conduzir uma revisão efetiva, todos têm uma função a desempenhar. Mais especificamente, há certas funções que devem ser desempenhadas, e os revisores não podem alternar as funções com facilidade. As funções básicas em uma revisão são:

  • o moderador
  • o gravador
  • o apresentador
  • os revisores

O moderador deve garantir que a revisão siga a agenda e mantenha-se focada nos tópicos apresentados. O moderador garante que as discussões paralelas não atrapalhem a revisão e que todos os revisores participem igualmente.

O gravador é um observador freqüente, mas parte essencial da equipe de revisão. Controlar o que foi discutido e documentar a ações a serem executadas é uma tarefa em tempo integral. Designar essa tarefa a um dos revisores, essencialmente, o mantém fora da discussão. Pior ainda, uma falha ao documentar o que foi decidido pode fazer com o problema surja novamente no futuro. Certifique-se de ter um gravador e de que essa seja a única função desempenhada por uma pessoa.

O apresentador é o autor do produto de trabalho sob revisão. O apresentador explica o produto de trabalho e as informações adicionais necessárias para compreendê-lo (se o produto de trabalho não for auto-explicativo, ele provavelmente dará trabalho). É importante que as revisões não se tornem "trials" - o foco deve estar no produto de trabalho, não no apresentador. É função do moderador garantir que os participantes (incluindo o apresentador) tenham isso em mente. O apresentador está lá para iniciar a discussão, responder às perguntas e oferecer esclarecimentos.

Os revisores levantam os problemas. É importante manter-se focado nisso, e não se deter em discussões paralelas sobre como solucionar o problema. O foco deve estar no resultado e não nos meios.

Tenha um moderador Para Conduzir a Revisão

Como discutido acima, o moderador exerce uma função crucial em manter a revisão sem perder o foco. É importante que o moderador esteja focado em manter a revisão sob controle; o moderador não deve ter as responsabilidades de revisor. A função do moderador é iniciar a discussão, garantir uma participação igualitária e difundir a alegação. Essa é uma tarefa em tempo integral. Se houver falha na moderação, as revisões podem estar além da conclusão pretendida, e as metas podem não ser alcançadas.

Mantenha breve as reuniões de revisão Para Conduzir a Revisão

As revisões são mais eficientes quando são breves e focadas em objetivos bem-identificados. Como é difícil manter a concentração por períodos longos, e como os revisores têm outros trabalhos a serem feitos, limite as revisões a no máximo duas horas. Se uma revisão está prevista para ser longa, divida-a em várias revisões mais focadas e pequenas. Os resultados serão melhores se os revisores puderem se manter concentrados.

Para fazer isso, é preciso ter uma agenda bem-definida e metas claramente articuladas. Elas devem ser comunicadas quando os materiais de revisão são distribuídos, e o moderador deve reforçá-las no início da reunião de revisão. O moderador deve reforçar de forma consistente (e às vezes de forma impiedosa) essas metas durante a reunião.

Identifique os problemas, não corrija os problemas Para Conduzir a Revisão

Uma das principais razões para a falta de êxito das reuniões de revisão em alcançar os resultados pretendidos é que os revisores têm a tendência de prender-se em discussões de como um problema deve ser corrigido. A correção de problemas normalmente requer investigação e reflexão; o formato da revisão não é uma mídia efetiva para esse tipo de discussão. Depois que o problema é identificado, determine se ele é um defeito que deve ser resolvido e, em seguida, designe a alguém para investigá-lo e resolvê-lo. A reunião de revisão deve concentrar-se na identificação apenas.

Se o problema exigir uma discussão adicional entre um grupo de pessoas, planeje uma reunião separada para tratar do assunto. Normalmente, essa reunião exigirá alguma investigação e preparação, e as pessoas com as habilidades certas deverão ser envolvidas. A revisão deve permanecer concentrada na identificação de outros problemas. O moderador precisar impor-se de forma considerável para manter a reunião de revisão concentrada nisso.

Executando Ações com Base nos Resultados da Revisão

A revisão não terá muito valor se nada surgir dela. Na conclusão da revisão:

  • Priorize a lista de problemas.
  • Crie defeitos para controlar problemas e suas resoluções.
  • Se for necessária uma investigação adicional, designe uma pequena equipe para pesquisar o problema (mas não para solucioná-lo).
  • Para os problemas que podem ser resolvidos na iteração atual, designe uma pessoa ou uma equipe para corrigir o problema.
  • Alimente a lista de problemas não resolvidos em futuros esforços de planejamento de iteração.

Mais informações

Consulte também [MCO97].