Recientemente, comencé un nuevo proyecto en el trabajo (fue bueno sacudirme el crujido de un viejo proyecto y retomar uno nuevo) y mi equipo y yo estamos presionando más para lograr más prácticas de desarrollo profesional, que incluyen escribir pruebas unitarias. El propietario del producto no está tan impresionado, ya que, en opinión del PO, esto se traduce en un retraso en la entrega de funciones.
El PO (que también es el jefe de mi jefe, lo que genera un poco de conflicto de intereses en mi opinión) está muy molesto por un problema que se coló en nuestro producto de lanzamiento. Estoy señalando que un buen conjunto de pruebas unitarias habría detectado el problema (se necesitaron algunas refactorizaciones adicionales para lidiar con algunos errores de arquitectura de codificadores sin experiencia), y el PO no perdió tiempo en sugerir que "descubrimos cómo gastar algo de calidad". OT sobre la configuración de pruebas unitarias entonces". Nuestro cronograma ya está repleto de solicitudes de funciones y tiempo mínimo para corregir errores y otras tareas de mantenimiento requeridas.
No me inclino a ofrecer horas extras por algo que he aprendido a incluir como parte del proceso de desarrollo estándar en un equipo de profesionales. ¿Cómo comunico que la redacción de pruebas unitarias es una parte necesaria de la responsabilidad diaria del desarrollador? ¿Cómo puedo ayudar a evitar que mi equipo se desmotive cuando se les exigen horas extra?
PD, no sé cómo etiquetar esto, agradecería cualquier ayuda con eso también.
Dado que está utilizando el término propietario del producto, supondré que está utilizando Scrum (o un método relacionado). Si no, ignore esta respuesta por completo.
Si está utilizando scrum, el PO no determina cuánto puede hacer el equipo en un sprint, lo hace el equipo. Si necesita pruebas unitarias que lo ayuden a cumplir con la definición de hecho de la orden de compra, inclúyalas en sus estimaciones puntuales. En scrum, su programa no debe estar "lleno": solo puede obtener tantos puntos en cada sprint, y ese es su programa.
La OP debe establecer la prioridad en función del valor comercial obtenido. Si las correcciones de errores y la deuda técnica no son importantes para el PO, entonces no los pondrán en lo más alto de la lista de prioridades. Pero su equipo tampoco debe ser responsable de ellos. Si el trabajo cumplió con la definición de hecho de la orden de compra (y las pruebas de control de calidad deben incluirse en la definición de hecho), entonces hizo lo que se requería.
Su Scrum Master debe ser el que proteja al equipo tanto de la interferencia del PO como de la interferencia de los superiores, así que involúcrelos.
Cuando determina el alcance o el tamaño de sus características, ¿desglosa las pruebas unitarias como parte de eso o es un elemento de línea separado? Le sugiero que haga que las pruebas unitarias formen parte de su proceso de desarrollo y luego analice las tareas en consecuencia, sin desglosarlas en el código. Esta función prueba esta función. Simplemente suponga que el esfuerzo de "codificar" una característica incluye escribir los casos de prueba.
Si se le pregunta por qué las cosas tienen un alcance más alto, simplemente indique que el proyecto está creciendo, cuanto más grande sea el proyecto, más funciones costará agregar. Podría informarle sobre TDD (desarrollo basado en pruebas), pero no creo que haga mucha diferencia. Por otro lado, si TDD es parte de su proceso de desarrollo, entonces está todo integrado y no es realmente una cosa separada, es solo la forma en que hace las cosas.
Si está haciendo Agile/Scrum, entonces el PO no debería dictar el cronograma de todos modos, solo debería priorizar y definir las características. Es el trabajo de su equipo darle una línea de tiempo. Si tiene que regresar y hacer algo de limpieza, entonces hay un argumento para el tiempo propio, pero es posible que desee negociar una cierta cantidad de tiempo de "Ingeniería". Donde trabajo ahora, hemos negociado que el 15% de nuestro tiempo se dedique a los esfuerzos de ingeniería. Estas son cosas que hemos identificado internamente como que necesitan arreglo. Podría ser una cuestión de rendimiento que no se nota demasiado ahora, pero que lo será pronto, o podría ser ese módulo que no se hizo bien la primera vez y necesita algo de cariño.
david k
404usuario no encontrado
Hipérbole
Hipérbole
Hipérbole
Brandín
Hipérbole
Kent A.
Kent A.
bobo2000