Probablemente hayas escuchado antes la frase “hitos en el desarrollo de software” miles de veces. Pero, ¿qué son esos hitos, quién los necesita, cuándo, cada proyecto requiere hitos, cuáles son sus ventajas, etc.? Estas son las preguntas que puedes tener en mente y el artículo pretende resolveras todas.

 

¿Qué son unos hitos?

 

Cualquier proyecto o startup puede “sobrevivir” sin “hitos”. Es verdad. Pero, ¿se puede entregar un proyecto a tiempo sin hitos? ¿Será exactamente como lo querías? Poco probable. Los hitos son muy importantes para el equipo ágil y el éxito de los proyectos en general. Te ayudan a ser responsable, estar centrado en el camino y a completar las distintas tareas a tiempo. 

Diría que los hitos están estrechamente relacionados con el mapeo de carreteras. Después de tener una primera ruta del proyecto, es posible que decidas dividirla en distintas iteraciones o hitos. De esta manera puedes tener una mejor idea de que funciones estan asignadas a cada hito.

Un hito simboliza un logro, es uno de los aspectos más importantes de la planificación de proyectos, porque los hitos en el desarrollo de software son los mejores indicadores del progreso del proyecto hacia los objetivos finales. El incumplimiento de un hito indica que un proyecto no está procediendo como fue planificado y, por lo general, desencadena en una acción correctiva por parte de la dirección. Además, en algunos casos, los hitos determinan cuándo se envían los pagos a proveedores y distintos trabajadores.

Para darte un ejemplo más simple, aunque no todo el mundo es un buen gerente de proyectos en el campo de la construcción, la gran mayoría están familiarizados con los pasos a seguir para construir una casa:

  1. El sótano estará terminado el lunes
  2. El piso estará terminado el 1 de junio.
  3. El techo se completará el 1 de agosto
  4. Etc.

Para tener una imagen más clara, echemos un vistazo a un ejemplo específico de un proyecto de desarrollo de software: una aplicación que agrega mensajes de distintas fuentes (por ejemplo, Messenger, Instagram, Snapchat, WhatsApp, Viber, etc.) y que permite que el usuario los administre desde un sitio. En primer lugar, necesitamos una lista de todas las fases generales del proyecto. La lista podría ser algo parecido:

1. Registro e inicio de sesión
2. Conectar con las redes sociales
3. Integración de FB
4. Integración de Whatsapp
5. Integración de Viber
6. Integración de Snapchat
7. Integración de Instagram
8. Interfaz de mensajería y logística
9. Notificaciones push
10. Ajustes de perfil
11. Comportamiento fuera de línea
12. Implementación de diseño
13. Etc.

 

Y luego, por supuesto, se ha de poner fecha para cada uno. De esta manera, se puede llevar un seguimiento del proyecto y asegurarse de que vaya como planeado.

Los hitos también ayudan al desarrollador a comprender la estructura del proyecto. Cuando se crean los hitos, se ha de comprender que cada paso es un elemento visible y funcional de la aplicación. A menudo, una función depende de otra. Por ejemplo, es poco probable que la funcionalidad de “contraseña olvidada” esté en el primer hito, ya que primero se debe desarrollar una funcionalidad para “registro e inicio de sesión”.

 

Reglas generales en hitos en el desarrollo de software

Veamos algunas reglas generales:

  • Un hito de 5 – 10 días es considerada Menor
  • Un hito de 1 a 3 meses es considerada más importante.
  • Cuando se completan los hitos, significa que cumplen con todos los requisitos: diseño, testeo del código y envío / aceptacion / envío a producción.

 

¿Por qué utilizar hitos en el desarrollo de software?

 

Los hitos en el desarrollo de software pueden beneficiarte de distintas formas:

 

Controlar el progreso del proyecto
Es un punto de control para rastrear lo que se ha hecho y cómo.

 

Cumplir con los plazos
¡Ningún plan está finalizado sin una lista de tareas a completar ! La mejor manera de hacer un seguimiento del progreso es utilizar los hitos en para gestionar proyectos.

 

Día de entregas
Siempre hay días con tareas extras que podrían afectar al proyecto de alguna manera. Puede ser una reunión obligatoria, alguien enferma o abandona la empresa, etc. Es importante tener en cuenta todos estos eventos a la hora de planificar un proyecto, ya que podrían afectar el cronograma del global. Cuando estés creando un hito hay que prestar atención a estos detalles para precisar mejor las estimaciones.

 

Identificar los cuellos de botella del proyecto
Muchos proyectos se basan en el trabajo proporcionado por equipos externos o algunos equipos de software dependen en gran medida de otros departamentos, como el diseño, por ejemplo. Probablemente esto desarrolle en problemas para alcanzar los plazos. A medida que se comparten los hitos, provoca una mejor comunicación entre departamentos y equipos.

 

Evaluar el rendimiento del equipo 
Es una muy buena forma de evaluar la eficiencia y el rendimiento del equipo.

 

Administrar riesgos y suposiciones.
Los riesgos y suposiciones están presentes en cada proyecto. Para garantizar que los riesgos están mitigados y las suposiciones validadas, deben estar vinculadas a Milestones.

 

Debo decir que esa Milestone es una parte primordial de una gestión Ágil de proyectos. Sin eso, un proyecto desembocar en nada. Confía en nosotros ¡Es eficiente! En Apiumhub utilizamos hitos tanto para nosotros, internamente, como para gestionar los proyectos de nuestros clientes. Sin ninguna duda, un hito hará que el equipo se centre en las tareas importantes en el momento correcto.

Si quieres agregar algún otro beneficio u otra información relacionada con los hitos, ¡Tomate la libertad de compartirlo en la sección de comentarios! ¡Gracias!

Y si quieres saber más sobre los hitos en el desarrollo de software, que no se te olvide suscribirte a nuestro boletín mensual aquí.

 

Si este artículo sobre hitos en el desarrollo de software te gustó, te puede interesar: 

 

La Deuda Técnica 

Beneficios de la metodología ágil 

Los beneficios de la tecnología Scrum  

Beneficios de la integración contínua

Beneficios de TDD

¿Porque debería usar Docker en mi proyecto de desarrollo?

Beneficios de la pruebas unitarias

La importancia de las retrospectivas en la metodología Ágil 

Simular respuestas del servidor con Nodejs

Principio de responsabilidad única 

Por qué Kotlin ?

Patrón MVP en iOS

Arquitectura de microservicios  

F-bound en Scala: traits genéricos con higher-kinded types

Scala Generics I : Clases genéricas y Type bounds

Scala Generics II: covarianza y contravarianza