Os doze passos para desenvolver software altamente eficaz

Lendo o livro Dreaming in Code, encontrei uma referência muito interessante para o chamado Joel Test.

Joel Spolsky, um grande desenvolvedor de software. Ex-Microsoft e que possui agora uma companhia que produz uma inovadora ferramenta de gestão de incidências chamada FogBugz.

Ele fez uma lista com 12 passos para medir se um time é bom ou não. O time ganha um ponto para cada passo que possui. 12 é um score perfeito, 11 é tolerável. 10 ou menos e você tem problemas. Segundo ele, que também é um prolífico autor e pesquisador na área de desenvolvimento de software, a verdade é que a maioria das organizações de software possui um score de 2 ou 3!

Aí vão os pontos essenciais:

1. Você usa controle de versões?

2. Você pode criar um build e sua documentação em somente um passo?

3. Você faz builds diários?

4. Você tem uma ferramenta de gestão de defeitos e incidências?

5. Você corrige defeitos antes de escrever código novo?

6. Você tem um cronograma e o mantém continuamente atualizado?

7. Você tem uma especificação?

8. Os programadores tem condições de trabalho tranqüilas?

9. Você usa as melhores ferramentas que o dinheiro pode comprar?

10. Você tem testadores?

11. Novos candidatos escrevem código durante a entrevista?

12. Você faz testes de usabilidade?

Sobre o autor:

José Papo
José Papo

Sou engenheiro de software e mestre em engenharia da computação pelo IPT. Professor de pós-graduação na Universidade São Judas Tadeu, na FIAP, no SENAC e na FAGOC. Sou IBM Certified Solution Designer Rational Unified Process V7.0, IBM Certified Specialist for Requirements Management w/Use Cases, IBM Certified Solution Designer – Object Oriented Analysis and Design vUML 2, IBM Rational Solution Sales Professional, Certified Scrum Master, ITIL Foundation Certified Professional e OMG UML 2.0 Certified Professional. Sou um historiador e filósofo diletante… entre outras coisas

6 thoughts on “Os doze passos para desenvolver software altamente eficaz

  1. Gostaria que explicasse melhor o que quer dizer o item 11. Novos candidatos escrevem código durante a entrevista?

    Um bom profissional, com postura, que trabalha bem em equipe, tem postura, potencial dentre outros requisitos que desejamos, pode ser avaliado pelo seu código ou ele é apenas um complemento?

    Abraços.

  2. Realmente o item 11 me deixou curioso também. Não creio que o código escrito em uma entrevista expresse o que o canditato vai fazer se contratado. Muda questões de arquitetura, contexto, premissas etc. Talvez um período trail dentro da equipe, mas aí surgem diversos outros problemas.

  3. Explicando o item 11… Hoje em dia, acima do conhecimento e da prática dos funcionários, as empresas começam a avaliar a competência dos mesmos. E a melhor forma de avaliar a competência é submetente o entrevistado a uma simulação de uma situação real do dia a dia.
    Já fiz uma entrevista com dever de casa uma vez. Após discutir a minha experiência e os trabalhos passados com o entrevistador, ele pediu que eu implementasse um pequeno sistema cliente servidor e enviasse o código fonte para ele em dois dias. Assim ele conseguia avaliar se eu conseguia aliar o conhecimento que tinha falado com a prática que eu já exerci.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s