🌻 Codificación
Proceso para establecer un flujo estructurado que garantice la creación de código de alta calidad, la detección temprana de defectos y la verificación efectiva en el desarrollo de software.
🎯 Objetivo
- Establecer un flujo para el desarrollo de código de alta calidad.
- Identificar y corregir defectos en etapas tempranas del desarrollo.
- Asegurar la verificación efectiva de código.
📥 Entradas
- Requerimientos o historias de usuario asignadas en READY.
- Estándares de codificación del proyecto.
- Checklist de verificación de código.
- Checklist de análisis.
- Checklist de diseño.
⚙️ Proceso
Fase | Descripción | Responsable | Meta y práctica específica del CMMI |
---|---|---|---|
Verificación | Verificar que el análisis del componente esté completo y no sea ambiguo, llenando una copia de la checklist de análisis y guardándola en la carpeta correspondiente. | Desarrollador. | VER SP 1.1 (Seleccionar los productos de trabajo para la verificación), VER SP 1.3 (Establecer los procedimientos y los criterios de verificación), VER SP 3.1 (Realizar la verificación). |
Verificar si el requisito o historia tiene diagrama de flujo. - Si tiene diagrama, verificar el diseño llenando una copia de la checklist de diseño y guardándola en la carpeta correspondiente - Si no tiene diagrama, verificar la prioridad del requisito para saber si amerita uno. En caso de que sí, diseñarlo usando la misma checklist. | Desarrollador | VER SP 1.1 (Seleccionar los productos de trabajo para la verificación), VER SP 1.3 (Establecer los procedimientos y los criterios de verificación), VER SP 3.1 (Realizar la verificación), TS 2.3 (Diseñar las interfaces usando criterios). | |
Desarrollo | Entrar a la rama de desarrollo del repositorio según la estrategia de ramas del departamento. | Desarrollador. | CM, SP 2.2 (Controlar los elementos de configuración). |
Ejecutar git pull origin para asegurar que se tiene la versión más actualizada. | Desarrollador. | CM, SP 2.2 (Controlar los elementos de configuración). | |
Crear la rama de trabajo para el requisito o historia asignado siguiendo la estrategia de ramas del equipo. | Desarollador. | CM, SP 2.2 (Controlar los elementos de configuración). | |
Verificar el código de los archivos en los que se va a trabajar, refactorizar en caso de ser necesario y listar defectos encontrados en el defect log del equipo. Se asigna un responsable y la solución al defecto. | Desarrollador. | VER SP 1.1 (Seleccionar los productos de trabajo para la verificación), VER SP 1.2 (Establecer el entorno de verificación). | |
Los análisis de los defectos y la calidad se hacen en el defect log | Desarrollador. | VER SP 2.3 (Analizar los datos de las revisiones entre pares), VER SP 3.2 (Analizar los resultados de la verificación). | |
Desarrollar el requisito siguiendo el diseño técnico aprobado, aplicando métodos eficaces de implementación (ej. programación modular o basada en componentes), de acuerdo con los estándares definidos. | Desarollador. | CM, SP 2.1 (Seguimiento de solicitudes de cambio). | |
Desarrollar el requisito o historia siguiendo los estándares del equipo. | Desarollador. | CM, SP 2.2 (Controlar los elementos de configuración). | |
Copiar la checklist de desarrollo en la carpeta correspondiente y verificar que el código cumple con lo estipulado. | Desarollador. | PPQA, SP 1.2 (Evaluar productos objetivamente y documentar hallazgos), VER SP 1.3 (Establecer los procedimientos y los criterios de verificación) VER SP 3.1 (Realizar la verificación). | |
Trazabilidad | Ejecuta el proceso de trazabilidad. NO se puede pasar a la próxima fase sin haber ejecutado este proceso. | Desarrollador | REQM SP1.4 (Mantener la trazabilidad bidireccional de los requisitos). |
Desarrollo (Opcional) | Realizar pair programming para implementar el componente, para asegurar la aplicación de estándares en tiempo real y detectar errores de manera temprana. | Desarrolladores | TS SP 3.1 (Implementar el diseño de los componentes del producto), VER SP 2.1 (Preparar la revisión entre pares) |
Pruebas | Desarrollar y ejecutar pruebas unitarias y funcionales para validar la lógica del componente de forma aislada. Asegurar una cobertura adecuada con herramientas integradas en los respectivos proyectos. | Según la estrategia del equipo (Desarrollador o tester). | PPQA, SP 1.2 (Evaluar productos objetivamente y documentar hallazgos), VER SP 1.2 (Establecer el entorno de verificación), VER SP 3.1 (Realizar la verificación). TS SP 3.1 |
Ejecutar linting y otras verificaciones automáticas. | Desarollador. | PPQA, SP 1.2 (Evaluar productos objetivamente y documentar hallazgos). | |
Correcciones | Corregir los problemas identificados. | Desarollador. | CM, SP 2.1 (Seguimiento de solicitudes de cambio). |
Integración | Crear el pull request que se apegue a la guía de PR del equipo. En caso de que sea algo relacionado al departamento, seguir la guía del departamento. | Desarollador. | CM, SP 2.2 (Controlar los elementos de configuración). |
Aprobar formalmente el pull request siguiendo la Checklist de Pull Request y autorizar su integración a la rama principal. | QA. | CM, SP 2.2 (Controlar los elementos de configuración), VER SP 1.3 (Establecer los procedimientos y criterios de verificación), VER SP 2.1 (Preparar la revisión entre pares), VER SP 2.2 (Realizar la revisión entre pares), VER SP 3.1 (Realizar la verificación). | |
Verificar que la integración fue exitosa con base a las pruebas de integración definidas en el STP de cada equipo y que no se introdujeron problemas nuevos. | Desarrollador, QA. | CM, SP 2.1 (Seguimiento de solicitudes de cambio), VER SP 2.2 (Realizar la revisión entre pares), VER SP 3.1 (Realizar la verificación). | |
Trazabilidad | Asegurar que el requisito cumple con la definición de DONE. Actualizar la matriz de trazabildiad del requisito para indicar que esta en DONE siguiendo el proceso de trazabilidad. | Desarrollador. | REQM SP1.4 (Mantener la trazabilidad bidireccional de los requisitos), VER SP 3.1 (Realizar la verificación). |
📤 Salidas
- Código verificado y validado que cumple con los estándares de calidad.
- Checklist de código completada con evidencia del cumplimiento.
- Checklist de análisis completada con evidencia del cumplimiento.
- Checklist de diseño completada con evidencia del cumplimiento.
- Checklist de Pull Request completada con evidencia del cumplimiento.
- Registro de revisión con hallazgos y resoluciones.
- Código integrado exitosamente en la rama de desarrollo.
📎 Recursos relacionados
📚 Historial de cambios
Versiones
Versión | Descripción | Fecha | Colaborador |
---|---|---|---|
1.0.0 | Creación del proceso | 25/04/2025 | Daniel Queijeiro, Daniel Contreras |
1.1.0 | Cambios en pasos de integración y trazabilidad | 26/04/2025 | Daniel Queijeiro, Diego Fuentes |
2.0.0 | Agregar verificación, checklist de diseño, análisis y PR | 15/05/2025 | Emiliano Valdivia, Daniel Contreras |
**2.0.1 | Agregar especificación de responsable y solución en el defect log en el paso del proceso | 26/05/2025 | Ian Julián Estrada Castro |
2.0.2 | Corregir redacción y mapeo de VER | 26/05/2025 | Juan Carlos Calderón, Daniel Contreras |
2.0.3 | Mapear VER 3.2 | 27/05/2025 | Ian Julián Estrada Castro |
2.0.4 | Actualización pequeña al proceso. | 30/05/2025 | Juan Pablo Chávez Leal |
2.0.5 | Mapear TS 2.3 | 02/06/2025 | Emiliano Valdivia Lara, Hiram Israel Mendoza López |
2.0.6 | Mapeo de varias áreas de VER | 05/06/2025 | Daniel Contreras Chávez |