O que você acha do teste Joel? [fechadas]

51

O Teste Joel é um teste bem conhecido para determinar o quão boa é sua equipe. O que você acha dos pontos? Você discorda de algum deles? Há algo que você gostaria de adicionar?

Casebash
fonte

Respostas:

41

Jeff Atwood possui a Declaração de direitos do programador .

Da postagem:

  1. Todo programador deve ter dois monitores
  2. Todo programador deve ter um PC rápido
  3. Todo programador deve ter a opção de mouse e teclado
  4. Todo programador deve ter uma cadeira confortável
  5. Todo programador deve ter uma conexão rápida à Internet
  6. Todo programador deve ter condições de trabalho silenciosas

Parece haver alguns itens que eu gostaria de ver na lista de Joel. Especificamente na área de hardware (monitor duplo, PC rápido, mouse / teclado, cadeira confortável, conexão rápida).

A única coisa que não foi mencionada é ter uma mesa confortável e ajustável .

Tudo isso pode ser adicionado mudando:

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

para

Melhoria nº 9: Você usa as melhores ferramentas e equipamentos que o dinheiro pode comprar?

esponja
fonte
O seu número 6 não é idêntico ao número 8 no teste de Joel:
HerbN
É o nº 6 de Jeff Atwood, e sim, é.
spong
Parece que o Joel Test é mais específico para ajudar os programadores a desenvolver software limpo e sem erros, em oposição às condições de trabalho, exceto no 8
Archmede
13

É interessante que o ponto 8 agora leia:

8. Do programmers have quiet working conditions?

quando costumava ler (algo como)

8. Do programmers have their own office?

e o último parágrafo ainda começa:

Agora vamos movê-los para escritórios separados com paredes e portas.

Sempre suspeitei desse teste, como em todos os lugares em que trabalhei - como funcionário e visitante - as únicas pessoas com escritórios próprios são os diretores e os gerentes seniores.

Escrever software no mundo real geralmente é uma atividade de equipe, você precisa conversar com seus colegas de equipe para trocar idéias etc., e isso é mais difícil de ser feito com pessoas em escritórios separados, mesmo com sistemas de mensagens instantâneas. Ser capaz de desenhar as coisas e mostrar às pessoas códigos e diagramas ajuda bastante. Isso não quer dizer que as equipes distribuídas não possam funcionar - elas obviamente podem e fazem, isso é apenas um conjunto diferente de problemas.

O que eu diria é que cada equipe precisa estar em seu próprio escritório de 6 a 8 pessoas (supondo que esse seja o tamanho da equipe). Dessa forma, eles podem interagir sem incomodar as outras equipes (se houver) e continuar o trabalho sem serem incomodados pela equipe de vendas ou visitantes (em um local em que trabalhei, você entrou pela porta da frente diretamente para a área de desenvolvimento).

Se você estiver trabalhando com outros desenvolvedores, mas cada um estiver trabalhando em projetos separados, um escritório compartilhado poderá ser útil - mas apenas se você for rigoroso em participar de reuniões na sala de reuniões e respeitar os prazos de outras pessoas, etc.

A maioria dos outros são verdades auto-evidentes.

ChrisF
fonte
9
O problema de trocar idéias com colegas de equipe é que PEDIR verbalmente é uma grande distração. Se você precisar fazer alguma colaboração séria, trabalhe em um espaço de colaboração. Mas para as perguntas "ei, como você faria isso", você fica muito melhor com o IM.
Matt Olenik
@ Matt - Para as pequenas coisas que você tem razão, mas o espaço para escritórios é sempre escasso - nenhuma empresa quer gastar dinheiro em escritórios vazios - e é por isso que ter equipes em seu próprio espaço ajuda. Você pode transformar o escritório em um "espaço de colaboração".
ChrisF
2
Você nunca pode significar oito pessoas na mesma sala, pode? Eu já estou aborrecido por compartilhar uma sala com outros três programadores (cada um deles trabalha com suas próprias coisas, com um trabalhando em um projeto completamente não relacionado e outro sendo o responsável pelo back-end / banco de dados). Eu tenho certeza que se eu compartilhasse o quarto com outros sete caras, eu simplesmente iria para o correio.
Baelnorn 29/09/10
11
@ ChrisF: talvez esse seja o problema. Nós quatro, sentados na mesma sala, mal temos algo a ver um com o outro, programando. É mais como 4 pessoas trabalhando em 2 1/2 projetos sentados na mesma sala. E agora adicione um chefe que não se importa em manter discussões de meia hora com outro programador ao lado de sua mesa, apesar da sala de reuniões estar do outro lado do corredor . .> <
Baelnorn
11
@ChrisF - "Escrever software no mundo real é uma atividade de equipe. Você precisa conversar com seus colegas de equipe para trocar idéias etc., e isso é muito mais difícil com pessoas em escritórios separados." - Então, como as equipes de desenvolvimento espalhadas por diferentes locais funcionam? Trabalhei em estreita colaboração com pessoas nos EUA ou no Brasil ou na Índia - IM e Adobe Connect - e co-localizei, de equipes distribuídas de pequenas a muito grandes. O seu é um ambiente muito perturbador. Trabalhando em equipes pode ser feito de forma eficiente, mas o que você está prescrevendo não é nada (a sua ideia é desde Waterfalling década de 70)
luis.espinal
10

Eu gosto, mas se o estivesse usando para avaliar uma empresa, não pesaria todos os itens da mesma forma. Não ter controle de origem é um problema muito maior do que comprar as melhores ferramentas que o dinheiro pode comprar.

JeffO
fonte
9

O único negócio para mim é:

 8. Do programmers have quiet working conditions?

Interessante é a pergunta que provavelmente falhará nas postagens de trabalho do Stack Overflow.

Algumas das questões são difíceis de falhar, principalmente se houver mais de um programador na empresa:

 1. Do you use source control?
 2. Can you make a build in one step?
 4. Do you have a bug database?

A maioria dos outros com quem realmente não me importo. Quero dizer, honestamente:

12. Do you do hallway usability testing?

Existe um para detectar mentirosos:

 5. Do you fix bugs before writing new code?
Tom Hawtin - linha de orientação
fonte
20
Acho que você ficaria surpreso com quantas empresas não conseguem criar uma única etapa e não possuem um banco de dados de erros. Você provavelmente está certo sobre o controle de código-fonte, mas eu argumentaria que muitas empresas o utilizam simplesmente para fazer backup de seu código e nem sequer arranham a superfície dos benefícios do controle de código-fonte.
Rob Sobers
11
Quando comecei no meu trabalho atual, tínhamos um sistema de controle de origem, mas as compilações foram feitas na máquina de um cara e só ele sabia de todas as etapas, e os bugs eram rastreados no papel. Tudo isso está "consertado" agora, mas eu nunca consideraria essas coisas como garantidas.
21911 HappyCat
6

Devo dizer que é uma boa "linha de base", mas com qualquer ferramenta de medição existem outros fatores. Por exemplo, nem uma única empresa em que trabalhei fez o Daily Builds (eu sei, eu sei), mas algumas delas foram muito boas.

Pessoalmente, tenho alguns outros itens que gostaria de adicionar a uma lista.

  1. Você apóia a educação de desenvolvedores participando de conferências, comprando livros ou algo dessa natureza?
  2. Você tem um processo simples e documentado para adotar novas ferramentas, se necessário, para concluir as funções do trabalho
  3. Você fornece aos desenvolvedores equipamentos e um ambiente que lhes permita ser produtivos.

Mais do que tudo, esses itens "me irritaram" de empregadores anteriores, e agora eles são perguntas rápidas que eu pergunto sobre cada oportunidade.

Mitchel Sellers
fonte
11
3 já não está na lista?
Casebash 12/09/10
Sim, de uma forma ou de outra é. Mas eu listo o meu de maneira um pouco diferente e deixei lá.
Mitchel Sellers
5

Eu concordo com a maioria dos pontos de Joel. Não tenho tanta certeza sobre "testes de usabilidade no corredor". Teste de usabilidade, claro, mas na verdade agarrando alguém do corredor e fazendo-o testar seu programa, mesmo que não seja o trabalho deles? Essa parece ser uma ótima maneira de marcar as pessoas.

Tim Goodman
fonte
11
Certamente é uma coisa cultural - se não é excessivamente perturbadora e se faz parte do modo como os negócios funcionam, não deve "irritar as pessoas" - especialmente se o objetivo dos negócios é o desenvolvimento de aplicativos.
Murph
11
Talvez o ponto seja que deva fazer parte do trabalho de outras pessoas?
JeffO
7
o ponto principal dos testes de usabilidade no corredor é que ele precisa ser alguém que não use o programa regularmente. Uma vez que você construiu e / ou horas gastas usá-lo (como um testador dedicado) a sua perspectiva sobre o aplicativo vai ser distorcida
GSto
5

O Teste Joel não testa quão boa é uma equipe. Ele testa quão bem sua equipe adere ao teste Joel.

Aqui está um teste melhor de quão boa é sua equipe. Eu chamo de teste GrandmasterB. Tem uma pergunta.

1) O software que você escreve é ​​bom?

É irrelevante para mim se você faz um 'teste de corredor' ou não, ou qual controle de origem você possui ou qual é o seu processo de construção (se houver um - nem todas as linguagens possuem). A verdadeira medida de uma equipe é a qualidade do software que eles criam.

Basicamente, você pode seguir todas as etapas do teste Joel e ainda assim acabar com códigos ruins e produtos que nunca são enviados. Por exemplo, o controle de origem não faz magicamente um codificador melhor; torna o código mais fácil de gerenciar. E ter a versão mais recente do Visual Studio não significa que seu aplicativo funcione melhor do que se tivesse sido escrito com o Visual Studio 2005 .

GrandmasterB
fonte
14
Você está perdendo o ponto. O Joel Test não é sobre o quão bom é o software, é sobre a eficácia do processo de produção. Uma equipe que falha no teste de Joel ainda pode produzir bons produtos, mas as chances são de que demore muito mais e os trabalhadores ficarão infelizes. Além disso, as ferramentas não se referem apenas ao software. Também significa hardware, do computador até a mesa e o teclado.
Matt Olenik
Eu acho que você está perdendo o ponto. Se uma equipe termina os projetos no prazo e produz software de boa qualidade, eles são, por definição, eficazes. E eles têm, por definição, um processo eficaz.
GrandmasterB
2
Você nunca mencionou o envio no prazo. Além disso, eu ficaria extremamente surpreso ao ver uma equipe eficaz que falhou (completamente) no teste Joel. Coisas como controle de versão, teste e usabilidade são críticas. Os outros itens também podem ser grandes impedimentos.
Matt Olenik
Este é um bom ponto, mas a principal fraqueza é a subjetividade dele. Todos podem ter uma opinião diferente sobre a qualidade do software, dependendo de sua experiência, nível de habilidade e perspectiva de uso. Mas eu gosto do ponto.
Bernard Dy
Se o processo efetivo deles for efetivo apenas para os membros da equipe, principalmente se a equipe for pequena, quão bem ela suportará o crescimento ou no caso de um desastre ou aposentadoria prematura? Ser capaz de produzir código que funcione bem e seja entregue dentro do prazo por meio de um processo que existe apenas na cabeça das pessoas que o desenvolvem é uma receita para o desastre, uma equipe que mais cedo ou mais tarde (provavelmente mais cedo) enfrentará um problema do qual a maioria das pessoas não pode, ou simplesmente não quer se recuperar.
Finni McFinger 12/09
5

Embora eu ache que faz sentido no sentido geral, achei a lista bastante centrada no tipo específico de software que a Fog Creek Software faz ( retração ). Isso não é realmente surpreendente, pois ele também fala sobre isso em outro post, Five Worlds . E há muitos desenvolvimentos fora desse mundo.

Existem algumas condições que realmente não fazem muito sentido se você desenvolver, por exemplo, software incorporado para um satélite ou uma máquina de venda automática, como compilações diárias (3) ou testes de usabilidade (12).

Khelben
fonte
Acordado. Depois que você se afasta dos aplicativos "topo da pilha", muitas idéias contemporâneas parecem se tornar um pouco ... irrelevantes.
Paul Nathan
Concordo. Existem muitos trabalhos de desenvolvedor em lojas de TI corporativas ... certamente não tão glamourosas quanto fazer encolhimento. Como a maioria dessas empresas não atua no ramo de software, a maioria delas pontua cerca de 4 no teste Joel.
Bernard Dy
6
Por que você não criou testes de unidade para software incorporado (e os executou automaticamente por um sistema de compilação)?
22813 Peter Mortensen