En el siguiente post de Henrik Kniberg comenta como llevar a la práctica los conceptos tratados en los posts sobre Software Configuration Management y Agile Software Development.
El siguiente gráfico, del mismo post, resume todo lo tratado en el artículo:
A continuación sencillos comentarios interesantes que aparecen en el post:
- Cada branch (rama), incluso la mainline (tronco), tiene un owner (propietario) y una policy (política).
- Tenemos to do, in progress y done como estados para cada user story.
- Done (hecho) significa releasable (entregable), es decir, que si en ese momento el cliente quisiera entrar y empezar a probarlo, nadie tuviera que decirle que no puede, que tiene que esperar.
- El tronco es la rama hecho, es decir, la que entrará en producción llegado el momento.
- La política del tronco puede ser o (exclusivo) entregable at any time (en cualquier momento) o lo antes posible (asap).
- Crear ramas cuantas menos mejor. Solo crearemos una cuando queramos probar algo y no lo podamos hacer con ninguna de las existentes sin violar sus políticas.
- Como entegrable incluye las pruebas de integración y no podemos hacerlo sobre la mainline, necesitamos una nueva rama: work branch (rama de trabajo) o development branch (rama de desarrollo).