O debate: Todo o desenvolvimento, incluindo o trabalho de refatoração, deve ser acompanhado por um problema de rastreamento? (no nosso caso, Jira)
O terreno comum: Nosso principal objetivo é a qualidade. Um produto funcional, a cada versão, é mais importante do que qualquer outra coisa. Nossa base de código é antiga e faltam testes automatizados; estamos trabalhando nisso, mas é um projeto de longo prazo, precisamos de processos interinos.
Posição 1: O trabalho de refatoração deve ser rastreado em Jira. Se não estiver obviamente relacionado à alteração que está sendo feita, você deverá levantar outra questão. Caso contrário, o trabalho ignora a revisão e o teste e há um risco em nosso objetivo principal. Argumentou-se que a conformidade com o PCI (uma meta de futuro próximo dos negócios) requer esse nível de rastreamento; Não estou em posição de dizer que é verdadeiro ou falso com qualquer nível de certeza.
Posição 2: a qualidade do código é muito importante. Quanto melhor for (a um ponto; um ponto que não estamos nem perto), maior a probabilidade de continuarmos lançando um produto em funcionamento. Qualquer coisa que coloque uma barreira, por menor que seja, na refatoração é um risco para o nosso objetivo principal. Freqüentemente, o IDE faz o trabalho para você, portanto, não é provável que dê errado de qualquer maneira.
Os seguintes casos foram feitos:
Satisfaria ambas as posições se um desenvolvedor escrever "Refatorar" e os números de revisão relevantes em um cartão? Honestamente, parece que isso vai deixar todo mundo igualmente infeliz. Ele ainda coloca um nível de resistência na refatoração, mas não oferece rastreamento suficiente.
Que tal ter problemas abrangentes do Jira que cobrem o trabalho de refatoração para uma iteração? Sim, isso remove a camada de resistência do desenvolvedor, mas temo que também remova os benefícios de rastreamento de um problema com o Jira. Como o controle de qualidade tem uma idéia clara do que testar? Essa parece ser uma solução política, mantendo todos calmos, adicionando um processo leve, mas, em última análise, inútil.
Parece-me que, dado que ambos os lados do debate querem a mesma coisa, deve haver uma solução que deixe todos genuinamente felizes. Não podemos ter sido as primeiras pessoas a fazer essa pergunta; então, que experiências outras pessoas tiveram em situações semelhantes?