Cuaderno de software
Walking skeleton versus Spike
Diciembre 28th, 2011 - [Enlace local]
Cuando planeamos un desarrollo siguiendo las reglas XP es importante planear los Spikes que se van a hacer y atender al Walking Skeleton. A veces, cuando se habla de ello, se confunden ambos términos, y es importante saber si se está haciendo una cosa o la otra.
Spikes
- no se desarrollan con tdd ni se atiende al diseño
- sirven para resolver cuestiones técnicas, explorar soluciones y eliminar incertidumbre
- mejoran las estimaciones y reducen el riesgo
- es bueno aplicarles un timebox para controlar el tiempo empleado y debe tener el 100% de la funcionalidad que se quiere desarrollar
Walking skeleton
- se desarrolla con, al menos, tests top-down de aceptación
- sirve para esbozar las clases que van a hacer falta, sus responsabilidades y su colaboración. Combina muy bien con las CRC-Cards.
- no es robusto y no le importan los errores (pero le importa tener una arquitectura para gestionarlos).
- buildable, deployable y testeable
- no se desarrolla funcionalidad que añada valor, o se hace a nivel muy pequeño.
Al planear una iteración de user stories a añadir, es resulta muy útil sacar los spikes que hacen falta para resolver las cuestiones técnicas necesarias y desarrollar un walking skeleton sobre el que ir añadiendo esas funcionalidades.