DTIKC
Git
  1. Procesos de Sistemas
DTIKC
  • Inicio
  • Modelo de Gestión
    • ITIL 4
    • Gestión por Procesos
    • LEAN, BPM & RAD
    • OKR
    • El Nuevo Paradigma de TI
  • Personas
    • Organigrama Funcional
    • Roles y Matriz RACI
      • Matriz RACI - Mesa de Ayuda (N1)
      • Matriz RACI - Soporte Técnico (N2)
      • Matriz RACI - Infraestructura (N3)
      • Matriz RACI Consolidada de la Dirección de Tecnología e Innovación
    • Descriptivos de Puestos
      • Indice
      • Developer RPA & IA con Python
      • Analista de Operaciones y Mesa de Ayuda N1
      • Especialista de Soporte Técnico Nivel 2
      • Senior de Infraestructura
        • Especialista Senior en Infraestructura N3
        • Especialista Junior en Infraestructura N3
    • Medición y Mejora Continua
      • OKRs Generales
      • OKRs Analista de Operaciones y Mesa de Ayuda N1
      • OKR Especialista de Soporte Técnico N2
  • Procesos de Sistemas
    • Indice
    • Proceso de Control de Versiones con Git
    • Proceso de Ejecución de Proyectos para Desarrolladores de Software
    • Procesos de Mesa de Ayuda N1
    • Procesos de Soporte Técnico N2
    • Procesos de Junior de Infraestructura
    • Procesos de Senior de Infraestructura
  • Especificaciones
    • Devs
      • Patrones de Nombrado (Naming Conventions) en Programación
  • Sistemas
    • Indice
    • Prometeo
    • Pegasus
    • Olympus
    • Andromeda
    • FrontBack
    • OServerLogic
    • CServer
    • FbCotizador
    • Oserver
    • MetCotizadores
    • ClassLibrary
    • APIs
      • Chatbase
      • ApiMetPro_Pendientes_Emitir_Get
    • App Services
      • Documento sin título
  • Manuales Usuarios
    • Procedimiento para Recuperar Contraseña de Acceso a Titan
    • Procedimiento de Alta de Agente IP en Keysi
    • Checklist Mantenimiento Soporte N2
    • Manual de Sistema de Gestión
  • Lineamientos y Politicas
    • Acta de Protocolo Home Office
    • Acta de Compromiso: Excelencia Operativa en la Dirección de Tecnologías e Innovación
    • Modelo de Atención Universal de Soporte Técnico Nivel 2
Git
  1. Procesos de Sistemas

Proceso de Ejecución de Proyectos para Desarrolladores de Software

1. Entendimiento de la Solución con el Arquitecto de Software#

El desarrollador debe agendar y participar en sesiones de trabajo con el arquitecto de software para comprender a profundidad la solución propuesta. Durante estas reuniones se revisa la arquitectura técnica del sistema, se analizan los diagramas de componentes y flujos de datos, se discuten las decisiones tecnológicas y patrones de diseño a implementar, y se aclaran las integraciones con otros sistemas. Es fundamental que el desarrollador haga todas las preguntas necesarias para tener claridad total sobre cómo debe construirse la solución, incluyendo aspectos de seguridad, escalabilidad y estándares de codificación a seguir.

2. Planificación y Estimación#

Con el entendimiento claro de la solución, el desarrollador procede a analizar el alcance del trabajo y estimar el esfuerzo requerido. Se debe evaluar la complejidad de cada componente a desarrollar, identificar dependencias técnicas y de otros equipos, calcular tiempos realistas considerando posibles contingencias, y priorizar las funcionalidades según su criticidad. Esta estimación debe ser honesta y fundamentada en la experiencia técnica, contemplando tiempo para desarrollo, pruebas y posibles refactorizaciones.

3. Desglose de Tareas y Registro en Canvas#

El desarrollador descompone el proyecto en tareas específicas y manejables, creando tarjetas detalladas en la herramienta de control Canvas (o el sistema de gestión que utilice el equipo). Cada tarjeta debe contener una descripción clara de la tarea, los criterios de aceptación, la estimación de tiempo, las dependencias con otras tareas, y cualquier nota técnica relevante. El desglose debe ser lo suficientemente granular para permitir un seguimiento efectivo del progreso, pero no tan detallado que genere sobrecarga administrativa.

4. Confirmación de Fechas de Alcance con el PM#

Una vez completada la planificación y el desglose de tareas, el desarrollador debe reunirse con el Project Manager para alinear expectativas. Se revisa el cronograma propuesto, se validan los hitos y entregables clave, se discuten los riesgos identificados y sus planes de mitigación, y se llega a un acuerdo sobre las fechas de compromiso. Es importante que el desarrollador comunique con transparencia cualquier limitación o riesgo que pueda afectar los plazos, y que ambas partes estén alineadas en las prioridades del proyecto.

5. Configuración de Entorno y Ramas Necesarias#

Antes de comenzar a codificar, el desarrollador debe preparar adecuadamente su ambiente de trabajo. Esto incluye configurar el entorno de desarrollo local con todas las dependencias necesarias, crear las ramas en el repositorio de control de versiones siguiendo la estrategia de branching acordada (por ejemplo, feature branches desde develop), configurar los ambientes de pruebas necesarios, verificar accesos a bases de datos y servicios requeridos, y asegurar que las herramientas de CI/CD estén correctamente configuradas. Esta preparación es fundamental para evitar bloqueos técnicos durante el desarrollo.

6. Codificación, Avance y Movimiento de Tarjetas en Canvas#

Durante la fase de desarrollo, el desarrollador escribe el código siguiendo los estándares establecidos y las mejores prácticas. Conforme avanza en cada tarea, actualiza el estado de las tarjetas en Canvas moviéndolas a través de los diferentes estados del workflow (por ejemplo: To Do → In Progress → In Review → Done). Es importante mantener esta información actualizada en tiempo real para que el equipo tenga visibilidad del progreso. Cada vez que se complete una tarea, se debe realizar commit del código con mensajes descriptivos, mantener el código limpio y bien documentado, y asegurar que las pruebas unitarias correspondientes estén implementadas.

7. Reuniones Periódicas para Aclaración de Dudas y Reporte de Avances o Bloqueos#

El desarrollador participa activamente en las ceremonias ágiles establecidas, como daily stand-ups o reuniones de seguimiento semanales. En estas sesiones se reportan los avances logrados desde la última reunión, se comunican los bloqueos o impedimentos que están afectando el progreso, se solicita apoyo o clarificación cuando surgen dudas técnicas o de negocio, y se coordinan dependencias con otros miembros del equipo. La comunicación proactiva y transparente es clave para mantener el proyecto en curso y resolver problemas rápidamente.

8. Revisión de Avances para Alineación del Entendimiento de la Solución#

De manera periódica, el desarrollador debe realizar sesiones de revisión con el arquitecto, el PM y otros stakeholders relevantes para validar que lo desarrollado está alineado con la solución esperada. Estas revisiones pueden incluir demos de funcionalidades completadas, code reviews con otros desarrolladores, validación de que la implementación sigue la arquitectura definida, y ajustes o correcciones basadas en el feedback recibido. Estas sesiones ayudan a detectar desviaciones tempranamente y aseguran que el producto final cumple con las expectativas.

9. Documentación del Proyecto#

A lo largo y al finalizar el proyecto, el desarrollador debe mantener documentación técnica actualizada. Esta documentación incluye:
Cambios al Aplicativo: Documentar todas las modificaciones realizadas al sistema, incluyendo nuevas funcionalidades, cambios en la arquitectura, modificaciones a la base de datos, actualizaciones de dependencias, y cualquier otro cambio significativo que afecte el comportamiento del aplicativo.
Lecciones Aprendidas: Registrar los aprendizajes obtenidos durante el proyecto, tanto positivos como negativos. Esto incluye qué funcionó bien y debería replicarse, qué problemas se enfrentaron y cómo se resolvieron, qué se haría diferente en un proyecto futuro, y recomendaciones para mejorar procesos o prácticas del equipo.
Deuda Técnica: Identificar y documentar cualquier deuda técnica generada durante el proyecto. Esto incluye código que necesita refactorización, soluciones temporales que deben reemplazarse, pruebas faltantes, optimizaciones pendientes, y cualquier compromiso técnico que se haya tomado por restricciones de tiempo. Cada ítem de deuda técnica debe incluir su justificación, impacto estimado, y prioridad sugerida para su resolución.

Este proceso asegura que el desarrollo se realice de manera ordenada, con comunicación clara entre todos los involucrados, y que quede un registro completo del trabajo realizado para facilitar el mantenimiento futuro del sistema.
Modificado en 2025-11-28 20:22:55
Anterior
Proceso de Control de Versiones con Git
Siguiente
Procesos de Mesa de Ayuda N1
Built with