Back-End

25 jul, 2016

Plano de Evolução – nível de qualidade equipe Java

Publicidade

Em uma das empresas em que eu atuo como consultor, acabei construindo uma classificação que define o nível de qualidade da solução produzida por uma equipe de desenvolvimento Java. Esse plano foi utilizado para conscientizar qual era a real situação da qualidade do código produzido pela corporação e, principalmente, para traçar um plano de evolução para cada programador da equipem utilizado no conceito “de pronto” do Scrum. Hoje, eu gostaria de publicar o plano com objetivo de receber sugestões sobre o assunto. Segue abaixo:

Nível 0

É classificada como “nível 0” uma equipe de desenvolvimento que codifica suas soluções Java sem quaisquer práticas, diretrizes ou patamar qualidade estabelecido, deixando o fato de livre decisão a cada desenvolvedor.

Nível 1

É classificada como “nível 1” uma equipe de desenvolvimento que consegue codificar suas soluções Java compatíveis com as seguintes práticas:

  1. Java Code Convention – o código da solução é escrito seguindo o padrão mundial de organização e nomeação dos elementos de programação.
  2. Java Doc – o design da solução é 100% documentado ao mesmo tempo em que ela é desenvolvida.

Nível 2

É classificada como “nível 2” uma equipe de desenvolvimento que consegue codificar suas soluções Java seguindo as práticas descritas no “nível 1”, acrescidas simultaneamente das novas seguintes práticas:

  1. Java Efetivo – o código da solução contempla o uso correto dos idiomas de programação Java descrito pelo Joshua Bloch em seu livro Java Effective.

Nível 3

É classificada como “nível 3” uma equipe de desenvolvimento que consegue codificar suas soluções Java seguindo as práticas descritas no “nível 1 + 2”, acrescidas simultaneamente das novas seguintes práticas:

  1. TDD – o código da solução é escrito seguindo o a filosofia baseada em testes, criando na solução algum nível de cobertura de testes automatizados.

Nível 4

É classificada como “nível 4” uma equipe de desenvolvimento que consegue codificar suas soluções Java seguindo as práticas descritas no “nível 1 + 2 + 3”, acrescidas simultaneamente das novas seguintes práticas:

  1. Princípios OOP – o código da solução contempla o uso de princípios básicos e elementares da programação orientada a objetos.
  2. Padrões de Projeto – o código da solução contempla o uso correto de padrões de projeto.

Nível 5

É classificada como “nível 5” uma equipe de desenvolvimento que consegue codificar suas soluções Java seguindo as práticas descritas no “nível 1 + 2 + 3 + 4”, acrescidas simultaneamente das novas seguintes práticas:

  1. Refatoração – o código da solução contempla o uso correto dos princípios de refatoração de programação Java descrito pelo Martin Folwer.
  2. Programação pareada – o código da solução é aperfeiçoada com a refatoração utilizando a pratica de programação em par.

Nível 6

É classificada como “nível 6” uma equipe de desenvolvimento que consegue codificar suas soluções Java seguindo as práticas descritas no “nível 1 + 2 + 3 + 4 + 5”, acrescidas simultaneamente das novas seguintes práticas:

  1. Desenvolvedor Oracle Certified OCA e OCP – o código da solução contempla o uso adequado dos recursos básicos de programação e API JSE resultantes do conhecimento adquirido pela processo de certificação oficial Java.

Dicas

Scrum Masters, gerentes XP ou GP responsáveis pelas equipes podem utilizar esses níveis de qualidade para propor uma plano de evolução individual a cada membro desenvolvedor. Vale lembrar que os níveis são cronologicamente evoluídos. Desafie sua equipe e veja como eles podem construir uma solução Java com o mais alto padrão de qualidade. Só quem já passou por isso é que pode realmente saber da diferença da entrega e manutenção de uma solução baseado no nível da equipe. E você? Em que nível você se encontra?