Uma loja ágil pode realmente marcar 12 no teste Joel? [fechadas]


18

Gosto muito do teste de Joel, uso-o pessoalmente e incentivo minha equipe e entrevistados a considerá-lo com cuidado. No entanto, acho que nunca consigo marcar mais de 9, porque alguns pontos parecem contradizer o Agile Manifesto, XP e TDD, que são os alicerces do meu mundo.

Especificamente: as perguntas sobre cronograma, especificações, testadores e condições de trabalho silenciosas são contrárias ao que estamos tentando criar e aos valores que adotamos por ser genuinamente ágil.

Então, minha pergunta é se é possível para uma verdadeira loja Agile obter 12 pontos?

Editar:

Por recomendação de um respondente abaixo, estou adicionando um link ao meu blog, onde originalmente escrevi sobre isso e que me levou a querer postar a pergunta aqui.

http://simonpalmer.com/2011/03/16/why-i-will-never-score-more-than-9-on-the-joel-test/

Estou colocando isso porque concordo com muito do que foi dito abaixo e queria declarar minha posição completa.


3
Sou cético em relação à noção de uma "verdadeira loja Agile", pois implica que há uma maneira prescrita que deve ser seguida por todas as equipes de desenvolvimento. Além disso, a resposta a esta pergunta variará dependendo da metodologia exata usada. Agile é um termo coletivo para muitas abordagens.
JohnFx

você está certo, usamos o XP, mas eu queria ter uma conversa o mais ampla possível.
1716 Simon

3
Não. Isso nunca é possível. É assim que Joel pode atraí-lo para a empresa dele, fazendo você pensar que eles são um lugar melhor para trabalhar, mas ele o escravizará e você trabalhará nas minas subterrâneas para sempre! Mwahahahaaaaa!
FrustratedWithFormsDesigner

Respostas:


21

Meu ponto de vista como agilista:

Você usa o controle de origem?

Sim, é claro, com a integração contínua, parte do XP precisa de um sistema de controle de origem para poder comprometer o código.

Você pode fazer uma compilação em uma única etapa?

Sim, o servidor de integração contínua está lá para isso.

Você faz construções diárias?

Se conseguirmos dar um passo, podemos agendá-lo.

Você tem um banco de dados de bugs?

Sim, qualquer ferramenta de gerenciamento de "projeto ágil" pode rastrear bugs e adicionada ao backlog do produto scrum

Você corrige bugs antes de escrever um novo código?

Sim, eles são priorizados no backlog do produto

Você tem um cronograma atualizado?

Sim sempre, graças ao atraso do produto, ao atraso da iteração, ao plano de liberação e às estimativas precisas que o acompanham, graças ao Planning Poker.

Você tem uma especificação?

Sim, cada história do usuário vem com mais detalhes, se necessário. Também incentivamos a comunicação entre o proprietário do produto e a equipe.

Os programadores têm condições de trabalho silenciosas?

Sim, uma sala com 8 desenvolvedores geralmente é muito silenciosa. Tentamos não colocar os vendedores na mesma sala.

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

Sim, embora valorizemos os indivíduos em vez das ferramentas, não se preocupe Joel, adquirimos uma licença de todos os seus produtos;)

Você tem testadores?

Sim e eles são parte integrante da equipe.

Os novos candidatos escrevem código durante a entrevista?

Sim, e a equipe está envolvida no processo.

Você faz testes de usabilidade no corredor?

Sim, nossos testadores nos ajudam com isso.


26
Nunca vi uma sala com mais de três desenvolvedores calada.
Whatsisname

3
@whatsisname: jogando Quake 3, com certeza;)

5
Calmo não significa morto. Isso significa que não há distrações quando você quer chegar à zona. Uma pequena equipe trabalhando em conjunto (condições de trabalho ágeis), separada do restante (o proprietário do produto cuida de não incomodar os desenvolvedores no meio da iteração) é silenciosa e estimulante. A música está boa, algumas conversas estão bem.
helios

3
@ Simon: "Não consigo chamar histórias de usuários" especificações "". "Não consigo chamar nossa atividade de planejamento e definir um" cronograma "". Nesse caso, atualize a pergunta com seus problemas específicos. Essas são as melhores práticas ágeis. Se você não gostar, explique por que está rejeitando essas duas práticas recomendadas do Agile. "Também luto para chamar nossos engenheiros de qualidade de Testadores" Isso é um problema pessoal - nada a ver com o Agile.
S.Lott

10
+1: "Tentamos não colocar os vendedores na mesma sala." Posso trabalhar para você, por favor?
Tom Morgan

6

Você tem um cronograma atualizado?

Isso é ágil. O Scrum exige que nos comprometamos com um lançamento. Ter um cronograma atualizado significa saber o que será feito (e não será feito) no release e como será o backlog.

Você tem uma especificação?

Isso é ágil. Uma arquitetura (e a descrição associada) é essencial. Isso especifica o formulário. Casos de uso (ou histórias de usuário) são essenciais e especificam a funcionalidade.

Os programadores têm condições de trabalho silenciosas?

Não vejo como o Agile exige um ambiente barulhento, perturbador e irritante.

Você tem testadores?

Hum. Quando fazemos TDD, que são testadores. Quando entregamos o código ao proprietário do produto, testadores adicionais podem estar envolvidos antes que os clientes estejam envolvidos.

Como isso contradiz os métodos Agile ou o manifesto Agile?


4

Eu acho que a resposta é sim, uma loja Agile deve ser capaz de fazer isso. Especificamente para os seus pontos.

  • O agendamento é sobre ter uma definição clara de quais recursos você planeja abordar. Isso definitivamente alcançável.
  • "Condições de trabalho silenciosas" não são sobre o som no local de trabalho, estão removendo o ruído que não é do projeto / programação. Trata-se de impedir que seus programadores se esforcem para bloquear as distrações
  • As lojas ágeis devem estar testando desde o início e ter alguém que não seja o desenvolvedor testando o código é realmente o que Joel quer dizer.

3

Por que você acha que ter um cronograma (para dar um exemplo) é incompatível com o desenvolvimento Agile?

É altamente improvável que você trabalhe de sprint para sprint sem absolutamente nenhuma idéia de onde deseja ir com seu produto. Sim, você precisará revisar e revisar a programação após cada sprint, mas ainda terá uma.

Ter uma declaração como "no primeiro trimestre planejamos lançar os recursos A, B, C e no segundo trimestre estamos vendo os recursos X, Y, Z" ainda é um cronograma. Há todas as chances de que o X se torne W, mas é isso que ser ágil permite que você faça.

Tomando outra coisa da sua lista - Especificações. O que é uma história de usuário, se não uma especificação?


1
Semântica, talvez, mas esses são alguns termos muito carregados. Um plano de liberação com o qual concordo. Um horário que eu não faço. Eu diria que você não tem idéia exatamente do que estará trabalhando em uma iteração. Você sabe o que pretende fazer, mas provavelmente nem sempre cumprirá. Não é esse o objetivo de ser ágil? O problema é que, se eu disser "agendar" para alguém de fora do desenvolvedor, eles têm certas expectativas, e eu deliberadamente não mantenho muitas delas. Pior ainda, se eu perguntar "você tem um cronograma?", Alguém que tenha um gráfico GANTT de uma milha também dirá que sim e não posso me dizer isso.
Simon

1
@ Simon - Suponho que é semântica, mas o argumento ainda permanece. Essas coisas não são totalmente incompatíveis com as metodologias ágeis.
ChrisF

0

Acho que vou olhar para isso de uma perspectiva diferente da maioria aqui. Se você está marcando um 9 no teste de Joel, está à frente da curva. Muitos lugares lutariam para atingir um 5 ou 6, quanto mais 9 a 12.

Você está tendo dificuldades para contratar pessoas boas? Caso contrário, um número 12 no Teste Joel, embora seja um objetivo nobre, pode não ser realmente um problema. Se seus funcionários são capazes de funcionar no ambiente que você possui, eu diria que é um bom trabalho pontuar tão alto quanto você.


Acho que meu local de trabalho atual atinge cerca de um ano e meio, e outros lugares que vi são menos que isso. 6 seria incrível.
sevenseacat

Sim exatamente. Nós batemos 4 ...
Jesse McCulloch

Eu não acho que vi em qualquer lugar, em 15 anos, que
pontuaria
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.