¿Qué debemos hacer para las historias de usuarios de deuda técnica en Pivotal Tracker? ¿Deberíamos considerar esto como características (dar puntos) o tareas (no dar puntos, por lo tanto, reducir la velocidad)?
Estoy confundido sobre lo que debería considerarse una tarea:
Duplicación de código: está claro que si hemos colocado el mismo código en varios lugares, eso es realmente una mala práctica de código e indica que los desarrolladores del equipo deberían pensar más en hacer que el software sea mantenible, refactorizarlo y el equipo debería dedicar tiempo a las revisiones del código. Como todo esto requeriría madurez, tiempo y experiencia a nivel de código, es mejor entregar menos puntos para que la calidad del código no se vea comprometida. Entonces, tales errores deberían ser penalizados y la velocidad debería reducirse al no dar puntos a la tarea.
Actualización de tecnología: como pasar a modular JS, HTTP2, React, MVC o cualquier otra tecnología nueva / mejor. Estos pasos mejorarán el rendimiento y el mantenimiento del código. ¿Pero debería ser esto una tarea o una característica? Creo que así es el mundo de la tecnología, las nuevas tecnologías vienen de vez en cuando y hay que migrar a él. Entonces, no veo ningún punto en penalizar la velocidad del equipo para tal trabajo. Sugerencias?
Duplicación / Código de subestándar en código heredado: pocos códigos permanecen intactos desde hace mucho tiempo O cuando se forma un nuevo equipo pero la base de código es un poco vieja, nos enfrentamos a este desafío. El equipo dice que no han codificado esta sección, entonces, ¿por qué debería penalizarse su velocidad al elegir deudas técnicas como nunca crearon esas deudas?
Código subestándar debido a la urgencia empresarial: a veces, los desarrolladores se ven obligados a implementar características lo antes posible en vivo debido a la presión de los competidores / objetivos / negocios / usuarios. ¿Debería considerarse la limpieza de un código tan malo como una tarea (sin dar puntos) también? Esta vez, el equipo de desarrollo no tiene la culpa, entonces, ¿por qué debería reducirse su velocidad, cuando en realidad dedican más horas en tales casos?
Creo que todos los tipos de tareas mencionadas anteriormente, si se hacen con prudencia, deberían mejorar la velocidad del equipo en el futuro. Pero, ¿cómo debemos mantener el equilibrio b / w manteniendo la velocidad del equipo y penalizando los errores técnicos que el equipo está cometiendo al tomar malas decisiones?
La pregunta es similar a: ¿Debería programarse la deuda técnica como una característica o una tarea (o un error)? , pero no encontré respuestas convincentes que cubran los 4 puntos, así que lo vuelvo a publicar de una manera diferente.