miércoles, 29 de octubre de 2014

¿Para gestionar un equipo que trabaja bajo TDD se puede añadir una columna de "refactorización" en la pizarra Kanban?

Ciclo TDD
Como sabréis Test-Driven Development (TDD) se basa en la programación orientada a objetos en que se escriben las pruebas unitarias primero y se desarrolla después, siendo guiados por estas pruebas. El ciclo de codificación acaba cuando el código pasa todas las pruebas. Finalmente se refactoriza el código escrito para lograr un código limpio y homogéneo que funcione.

Usualmente se incluye la refactorización dentro de la programación, el que efectúa las pruebas unitarias al fin y al cabo es el programador, por tanto cuando este acaba con la codificación puede dedicarse a la refactorización para terminar la tarea. Incluir una columna de refactorización en nuestra pizarra implica que se va a refactorizar cada tarea recién programada en otra etapa y esto a primera vista parece una "muda", un desperdicio.

Kanban lo que hace es gestionar flujos de trabajo, sea el que sea, por tanto una columna de refactorización puede perfectamente ser necesaria. Imaginémonos una empresa como Microsoft, que aún trabaje de forma distribuida con factorías en la India, y que cada tarea que reciba la refactoriza en la central para asegurarse que el código sigue los patrones establecidos y es homogéneo con el resto del software.


La cuestión clave es ¿la refactorización aporta valor?

2 comentarios:

  1. yo creo que si, ya que le aporta valores de calidad, escalabilidad y estabilidad al producto

    ResponderEliminar
  2. Muy cierto Elba Marina, la refactorización aporta valor siempre.

    La pregunta final del post está mal formulada, para quién lo lea, lo que realmente deberíamos de preguntarnos es ¿un estado "refactorización", o columna en nuestra pizarra, aporta valor a nuestro flujo de trabajo?

    Gracias por escribir :-)

    ResponderEliminar