Release Management
Cuando son conocidos los requerimientos, dependencias y plazos, se comienza la construcción de la nueva entrega. El primer paso es el diseño de la nueva entrega. Se puede hacer usando técnicas de desarrollo de software, por ejemplo UML. El diseño es convertido en código fuente de algún lenguaje de programación (por ejemplo C). Se da a conocer a los desarrolladores la fecha de término para cambios (congelar el repositorio). Las piezas de código, clases, archivos de configuración, etc son entonces traídas desde el repositorio mediante un checkout, compiladas, enlazadas y finalmente armadas en un solo programa, un built. Se debe colocar una marca (tag) en el repositorio sobre la versión que fue traída, para posteriormente conocer el estado de avance de la versión usada por el usuario.
Dependencias de software
Los problemas de dependencias de software se pueden resolver de distintas maneras. Una de ellas es proporcionar un instalador que incluya todas las dependencias o las descargue automáticamente. Otro método alternativo es el de los gestores de paquetes, que calculan las dependencias cada vez que se instala nuevo software y las descarga. La desventaja más notoria de estos sistemas es probablemente que puede haber conflictos con bibliotecas compartidas de diferente versión. Sin embargo, en el caso de los gestores de paquetes es menos probable que esto ocurra, ya que la mayoría de los paquetes usados por los gestores de paquetes suelen ser creados por la misma persona o el mismo equipo de personas, con lo que pueden resolver dichos conflictos.