2013-03-25

97/1 cosas que todos los programadores deberían saber


Actuar con prudencia


"Todo lo que se comprometen, actuar con prudencia y considerar las consecuencias" Anon
No importa cómo si se ve un tiempo cómodo al principio de una iteración, no se puede evitar, estar bajo presión una parte del tiempo. Si usted se encuentra en tener que elegir entre "lo está haciendo bien" y "hacerlo rápido" que a menudo se apela a "hacerlo rápido", en el entendido de que va a volver y arreglarlo después. Cuando usted hace esta promesa a sí mismo, a su equipo o a su cliente, pero con demasiada frecuencia la próxima versión trae nuevos problemas y enfocado en ellas. Este tipo de trabajo diferido que se conoce como deuda técnica y no es tu amigo. En concreto, Martin Fowler llama a esta deuda técnica deliberada en su taxonomía de la deuda técnica , que no debe confundirse con la deuda técnica inadvertida.
La deuda técnica es como un préstamo: Usted se beneficia de ella en el corto plazo, pero usted tiene que pagar intereses sobre el mismo hasta que esté completamente pagado. Accesos directos en el código que sea más difícil para agregar características o refactorizar tu código. Ellos son caldo de cultivo para los defectos y los casos de prueba frágiles. Cuanto más tiempo se deje, peor se pone. En el momento de moverse para llevar a cabo el arreglo original puede haber una pila completa de opciones de diseño no del todo correctas en capas en la parte superior del problema original que el código mucho más difícil de refactorizar y corregir. De hecho, a menudo es sólo cuando las cosas se pusieron tan mal que hay que arreglarlo, que en realidad se remontan a arreglarlo. Y para entonces, es a menudo tan difícil de solucionar que usted realmente no puede permitirse el tiempo o el riesgo.
Hay momentos en que hay que incurrir en la deuda técnica para cumplir un plazo o implementar una rebanada delgada de una característica. Trate de no estar en esta posición, pero si la situación lo exige absolutamente, entonces adelante. Pero (y este es un gran pero) hay que realizar un seguimiento técnico deuda y pagar de nuevo rápidamente o las cosas van cuesta abajo rápidamente. Tan pronto como se tome la decisión de comprometerse, escribir una carta de misión o iniciar sesión en su sistema el seguimiento de problemas para asegurarse de que no se olvidan.
Si programa el reembolso de la deuda en la siguiente iteración, el costo será mínimo. Saliendo de la deuda pendiente devengará intereses y que el interés debe ser seguido para que el costo visible. Esto se hará hincapié en el efecto sobre el valor de negocio de la deuda técnica del proyecto y permite la priorización adecuada de la devolución. La elección de la forma de calcular y realizar el seguimiento del interés dependerá del proyecto en particular, pero el seguimiento de lo que debe.
Pagar deudas técnico tan pronto como sea posible. Sería imprudente hacer otra cosa.

Por Seb Rose

Fuente: http://programmer.97things.oreilly.com