pragmaBit/ SDD GeneratorPaquete inicial · BorradorHablemos

PREPARACIÓN DEL PROYECTO

De la idea a los documentos.

Define tu desarrollo, describe sus requisitos y completa las preguntas de cada documento.

01

Tu desarrollo

Estos datos se comparten entre todos los documentos.

Resume el cambio que vas a desarrollar. Usa un título que explique su propósito.

Ejemplo: Automatizar los respaldos diarios de servidores

Indica el nombre de la aplicación o herramienta. Se usará también para nombrar la carpeta del paquete.

Ejemplo: Respaldos internos

Usa tres dígitos entre 001 y 999. Elige un número libre en el repositorio donde incorporarás los documentos.

Ejemplo: 007

Selecciona la clasificación que corresponda según la política de tu organización: Pública, Interna, Confidencial o Restringida. Considera los datos que tratará el sistema.

Ejemplo: Interna: documentación operativa de uso exclusivo del equipo

Indica la fecha de preparación del borrador. No es una fecha de aprobación.

Ejemplo: 2026-10-05

02

¿Qué debe hacer el sistema?

Cada requisito tendrá un ID, criterios de aceptación y tareas iniciales.

RF-001

Describe una sola función con un nombre breve. Cada requisito debe poder verificarse por separado.

Ejemplo: Crear un respaldo programado

Completa “El sistema debe…” con una acción y su resultado observable. Describe qué necesita el usuario; el diseño técnico va en el plan.

Ejemplo: crear cada noche un respaldo de los directorios seleccionados

Usa Dado / cuando / entonces: situación inicial, acción y resultado esperado cuando todo funciona.

Ejemplo: Dado un origen accesible, cuando llega la hora programada, entonces se crea el respaldo y se informa su ubicación

Usa Dado / cuando / entonces para una entrada inválida o un fallo. Indica el error esperado y qué debe evitarse.

Ejemplo: Dado un origen inexistente, cuando se ejecuta el respaldo, entonces se informa el error y no se crea una salida parcial

Must: imprescindible; Should: importante; Could: deseable; Wont: fuera de esta entrega. Selecciona según el alcance acordado.

Ejemplo: Must: sin crear respaldos el sistema no cumple su objetivo

03

Completa los documentos

Campos opcionales. Puedes indicar “No aplica” con una justificación.

0 de 118 preguntas respondidas
Especificación30 preguntas

Datos generales

Identifica quién pidió el desarrollo: área y contacto de negocio.

Ejemplo: Operación / responsable de infraestructura

Indica quién coordina técnicamente el cambio. Puede ser una persona o un rol por designar.

Ejemplo: Responsable de infraestructura / por designar

1. Contexto y problema

Describe el proceso actual, su problema, a quién perjudica y por qué hace falta el cambio.

Ejemplo: Los respaldos se ejecutan manualmente; algunas noches se omiten y Operación no puede confirmar su resultado

2. Objetivos y no-objetivos

Indica un resultado comprobable; si puedes, añade una cifra o plazo.

Ejemplo: Ejecutar los respaldos de 10 servidores cada noche y registrar el resultado de cada uno

Delimita lo que esta entrega deja fuera para evitar ampliar el alcance.

Ejemplo: No se incluirán copias a servicios externos ni respaldos de bases de datos

3. Actores

Nombra el usuario, rol o proceso que interactúa con el sistema.

Ejemplo: Operador de infraestructura

Explica qué hace este actor y para qué necesita el sistema.

Ejemplo: Configura los directorios a respaldar y revisa los resultados diarios

Indica el rol o permiso del actor. Evita nombres de cuentas o contraseñas.

Ejemplo: respaldos.operar

5. Requisitos no funcionales

Describe la operación cuyo rendimiento vas a medir.

Ejemplo: Consultar el resultado del último respaldo

Indica un límite medible y la carga de prueba. p95 significa que el 95 % de las respuestas cumple el tiempo indicado.

Ejemplo: p95 menor de 1 segundo con 10 usuarios concurrentes

Describe los días y horarios en que el servicio debe estar disponible.

Ejemplo: De lunes a viernes de 08:00 a 20:00, hora de Ciudad de México

Define la disponibilidad esperada y el periodo de medición según lo acordado con negocio.

Ejemplo: Disponibilidad del 99 % durante la ventana de servicio mensual

Indica las plataformas o clientes que se deben soportar. Para scripts, puedes describir sistemas operativos y versiones.

Ejemplo: Windows con PowerShell 7 y Rocky Linux con Bash

Define versiones o un criterio de compatibilidad que pueda comprobarse.

Ejemplo: PowerShell 7.4 o superior y Bash 5.x; validación en Windows 11 y Rocky Linux

6. Requisitos de seguridad (A.8.26)

Indica el permiso que debe exigirse en el servidor para acceder a la función protegida.

Ejemplo: respaldos.operar

Indica la operación protegida por el permiso anterior.

Ejemplo: Configurar y ejecutar respaldos

Describe las validaciones que debe aplicar el servidor o el script antes de procesar entradas.

Ejemplo: Aceptar solo directorios existentes, destinos autorizados y horarios con formato HH:MM

Indica qué datos personales se tratarán y cómo se limitarán, protegerán y eliminarán. Si no aplica, justifícalo.

Ejemplo: No se recopilan datos personales; los logs solo guardan el ID de servidor y el estado del respaldo

7. Datos

Nombra un conjunto de datos relevante para el desarrollo.

Ejemplo: Ejecución de respaldo

Enumera los datos de esa entidad; no incluyas valores reales ni credenciales.

Ejemplo: ID, servidor, fecha de inicio, fecha de fin, estado y tamaño

Indica la clasificación de esta entidad según la política de información de tu organización.

Ejemplo: Interna

Define cuánto tiempo se conserva esta entidad y qué ocurre al vencer el plazo.

Ejemplo: 90 días; después se elimina el registro según la política de retención

Explica quién o qué produce estos datos.

Ejemplo: El proceso programado de respaldo al terminar su ejecución

8. Interfaces externas

Nombra el sistema con el que se intercambiará información; indica No aplica si no hay integración.

Ejemplo: Servidor de almacenamiento interno

Indica si el desarrollo recibe datos, los envía o hace ambas cosas respecto a ese sistema.

Ejemplo: Salida: envío del archivo de respaldo

Indica el canal y formato de los datos que se intercambian.

Ejemplo: SFTP / archivo tar.gz y manifiesto JSON

Describe el mecanismo de autenticación de la integración. Escribe su tipo, nunca su valor secreto.

Ejemplo: Clave SSH de una cuenta de servicio administrada por Operación

9. Casos límite y errores

Describe un caso límite y el comportamiento esperado.

Ejemplo: Si el destino se queda sin espacio, se cancela la copia y se conserva el último respaldo válido

10. Preguntas abiertas

Escribe una decisión todavía pendiente y su impacto. Si no hay preguntas, indícalo para revisarlo después.

Ejemplo: ¿Cuántos respaldos por servidor se conservarán? Afecta el espacio requerido

Indica quién debe resolver esta pregunta y, si lo sabes, cuándo.

Ejemplo: Responsable de infraestructura / por designar

Plan técnico34 preguntas

2. Enfoque técnico

Explica cómo se implementará la necesidad descrita en la spec: componentes y flujo principal.

Ejemplo: Un script lee la configuración, valida rutas, crea un archivo de respaldo y registra su resultado

Indica los lenguajes, runtimes y versiones que utilizará la solución. Son datos de tu proyecto, no una lista obligatoria.

Ejemplo: Bash 5.x para Linux y PowerShell 7.4 para Windows

Si el stack difiere de la constitución de referencia, justifica la elección y la excepción a revisar.

Ejemplo: Se usan scripts porque el proceso se ejecuta localmente desde el programador de tareas

3. Arquitectura

Identifica el cliente o punto de entrada. En un proceso sin web, sustituye el navegador por quien lo inicia.

Ejemplo: Operador / programador de tareas

Identifica el frontal o intermediario. Si no existe, indica No aplica y explica la ejecución directa.

Ejemplo: No aplica: ejecución local del script

Indica el componente que ejecuta la lógica de aplicación o proceso.

Ejemplo: respaldar.ps1 o respaldar.sh

Indica dónde se guardan los datos; puede ser una BD o archivos.

Ejemplo: Archivos JSON de configuración y logs de texto

Nombra un componente nuevo o modificado.

Ejemplo: Validador de rutas

Describe la tarea de ese componente y sus límites.

Ejemplo: Comprobar que el origen existe y que el destino está autorizado

4. Modelo de datos

Describe cambios en tablas y restricciones, o la estructura de archivos si no hay BD. Indica la migración si aplica.

Ejemplo: Sin BD: configuracion.json contiene origen, destino y horario; un manifiesto registra checksum y tamaño

Explica si habrá que modificar datos existentes y si el cambio exige detener el servicio.

Ejemplo: Ninguno: el primer despliegue crea una carpeta de configuración nueva

5. Interfaces

Escribe la ruta del endpoint de tu desarrollo. Si no habrá HTTP, indica No aplica.

Ejemplo: /api/v1/respaldos

Describe los campos y formato de entrada del endpoint.

Ejemplo: JSON: servidor, directorios, destino y horario

Describe los campos y formato de salida del endpoint.

Ejemplo: JSON: ID del respaldo, estado y fecha de finalización

Indica el permiso que autoriza esta operación HTTP.

Ejemplo: respaldos.ejecutar

Describe las interfaces que no usan HTTP y cómo se activan.

Ejemplo: Timer de systemd diario a las 02:00 y tarea de Windows con la misma programación

6. Dependencias

Enumera las dependencias externas necesarias, con versión, licencia y justificación; o indica que no hay adicionales.

Ejemplo: Sin dependencias adicionales: utilidades incluidas en el sistema y runtime de PowerShell

7. Seguridad

Describe cómo se verifica la identidad del usuario o proceso.

Ejemplo: Cuenta de servicio del sistema operativo

Explica quién puede realizar cada operación y dónde se comprueba el permiso.

Ejemplo: Solo Operación modifica la configuración; el script valida permisos antes de escribir

Describe las validaciones de entradas y la codificación de salidas, indicando en qué componente ocurren.

Ejemplo: Validar rutas absolutas antes de copiar y serializar resultados mediante JSON

Describe dónde se obtiene un secreto durante la ejecución y cómo se restringe su lectura. No escribas credenciales.

Ejemplo: Clave SSH fuera del repositorio, accesible solo por la cuenta de servicio

Define qué se registra, en qué formato y dónde se consulta.

Ejemplo: Inicio, fin y error en JSON; un archivo diario en el directorio de logs

8. Estrategia de pruebas

Indica cómo se probará la lógica aislada y qué casos cubrirá.

Ejemplo: Runner Bash y Pester para validar nombres, rutas y errores de entrada

Describe el entorno de integración y los componentes reales que se probarán juntos.

Ejemplo: Directorios temporales en una VM de pruebas; copia y restauración de archivos sintéticos

Explica cómo se ejecutarán y comprobarán los criterios de aceptación.

Ejemplo: Ejecutar el respaldo de prueba y comparar el contenido restaurado con el origen

Indica las revisiones y pruebas de seguridad pertinentes para este desarrollo.

Ejemplo: Revisar permisos, rechazar destinos no autorizados y verificar que los logs no incluyan credenciales

Describe los datos de prueba y cómo se evita utilizar información real innecesaria.

Ejemplo: Archivos sintéticos de diferentes tamaños, sin datos personales

9. Despliegue y vuelta atrás

Indica el artefacto que se entregará y cómo se identificará su versión.

Ejemplo: ZIP con scripts y configuración de ejemplo; versión 1.0.0 y checksum SHA-256

Enumera brevemente los pasos de instalación, configuración y activación.

Ejemplo: Copiar scripts, crear cuenta de servicio, asignar permisos y habilitar la tarea programada

Explica cómo se vuelve a una versión funcional y cómo se recuperan los datos si fuera necesario.

Ejemplo: Desactivar la tarea nueva, restaurar scripts y configuración de la versión anterior y ejecutar una prueba

Indica si se necesita una ventana de mantenimiento y cuánto durará, o justifica que no es necesaria.

Ejemplo: No requerida: se instala antes de activar la nueva programación

10. Riesgos técnicos

Describe una situación técnica que puede impedir o degradar el resultado.

Ejemplo: El volumen de datos supera el tiempo disponible para la copia

Describe una acción concreta para reducir el riesgo anterior.

Ejemplo: Medir el tiempo de copia en pruebas y dividir respaldos por servidor

11. ADR asociados

Referencia una decisión de arquitectura que deba documentarse; indica Ninguno si aún no hay decisiones.

Ejemplo: ADR-001 — Archivos de configuración en lugar de base de datos

Análisis de riesgo20 preguntas

Datos generales

Enumera los componentes, datos o servicios afectados por el cambio.

Ejemplo: Servidor de archivos, repositorio de respaldos y configuración de tareas

Indica la clasificación más alta de la información afectada según tu política. El texto de la plantilla es un ejemplo.

Ejemplo: Interna

Responde Sí o No y explica qué componente es accesible desde Internet.

Ejemplo: No: el proceso y el almacenamiento están en la red interna

Responde Sí o No y explica qué datos personales intervienen, si aplica.

Ejemplo: No: los archivos de prueba y los logs solo contienen información técnica

Enumera las categorías de datos personales; indica No aplica si no se tratarán.

Ejemplo: No aplica: no se recopilan datos personales

Indica si un tercero desarrolla, opera o almacena parte del sistema y qué responsabilidad tiene.

Ejemplo: No: el equipo interno desarrolla y opera la herramienta

Amenazas y tratamiento

Describe un evento que podría afectar confidencialidad, integridad o disponibilidad.

Ejemplo: Una cuenta no autorizada borra los respaldos

Describe la debilidad que permitiría materializar la amenaza.

Ejemplo: La cuenta de ejecución tiene permiso de borrado sobre todas las copias

Valora la probabilidad de esta amenaza de 1 a 5 según la escala de tu organización; explica la evidencia.

Ejemplo: 3: posible durante el año según el historial del servicio

Valora el impacto de 1 a 5 según la escala de tu organización; indica qué servicio o datos se afectarían.

Ejemplo: 4: se perdería la capacidad de recuperar archivos de varios servidores

Indica la valoración anterior a los controles usando la metodología de tu organización; documenta cómo se calculó.

Ejemplo: P=3 e I=4; riesgo inicial 12 en una matriz de 1 a 5

Indica la acción para mitigar, evitar, transferir o aceptar el riesgo, con su responsable.

Ejemplo: Mitigar: separar la cuenta de copia de la cuenta de borrado; responsable Operación

Referencia el requisito RS o control que implementará el tratamiento.

Ejemplo: RS-001: restringir el borrado a usuarios autorizados

Valora el riesgo que queda después de aplicar los controles. No lo presentes como aprobado.

Ejemplo: P=1 e I=4; residual 4, pendiente de revisión

Valora la probabilidad de esta amenaza de 1 a 5 según la escala de tu organización; explica la evidencia.

Ejemplo: 3: posible durante el año según el historial del servicio

Valora el impacto de 1 a 5 según la escala de tu organización; indica qué servicio o datos se afectarían.

Ejemplo: 4: se perdería la capacidad de recuperar archivos de varios servidores

Añade otra amenaza relevante o indica No aplica con una justificación.

Ejemplo: El destino se llena y deja de recibir nuevas copias

Conclusión

Indica el mayor riesgo residual identificado y la escala empleada.

Ejemplo: 4 en la escala de probabilidad por impacto del equipo

Compara el residual con el umbral establecido por tu organización. Si no está definido, indica Pendiente de evaluación.

Ejemplo: Pendiente de evaluación por el propietario del servicio

Indica el rol responsable de evaluar y aceptar o escalar este riesgo.

Ejemplo: Responsable del servicio de infraestructura

Decisión de arquitectura8 preguntas

Datos generales

Resume la elección técnica que se propone.

Ejemplo: Usar archivos JSON para la configuración

Indica los participantes que revisarán la decisión; no implica que ya hayan aprobado.

Ejemplo: Responsable técnico y representante de Operación

Contexto

Explica el problema, las restricciones y los requisitos que motivan la decisión.

Ejemplo: La herramienta debe ejecutarse sin un servidor de BD y su configuración cambia pocas veces

Decisión

Describe la decisión propuesta y su alcance.

Ejemplo: Guardar la configuración en un archivo JSON con permisos restringidos

Alternativas consideradas

Nombra otra solución considerada y, si puedes, sus ventajas y desventajas.

Ejemplo: SQLite: permite consultas, pero añade un formato adicional de almacenamiento

Consecuencias

Describe los beneficios concretos de esta elección.

Ejemplo: Sin servicio adicional que administrar; la edición concurrente requiere control

Describe los costes, limitaciones o deuda que genera esta elección.

Ejemplo: Sin servicio adicional que administrar; la edición concurrente requiere control

Explica cómo afecta la decisión a permisos, protección de datos, registros o revisiones.

Ejemplo: La cuenta de ejecución solo puede leer la configuración; los cambios se revisan en el repositorio

Revisión de seguridad2 preguntas

Datos generales

Indica la URL de la revisión o solicitud de cambios; si aún no existe, déjalo pendiente.

Ejemplo: https://git.interno.example/equipo/respaldos/pulls/12

Indica quién realizará la revisión de seguridad, distinto del autor cuando corresponda.

Ejemplo: Revisor del equipo de infraestructura / por designar

Pase a producción1 preguntas

Datos generales

Indica el identificador de la solicitud de cambio. Si aún no está asignado, deja el campo pendiente.

Ejemplo: 2026-007

Solicitud de cambio15 preguntas

Datos generales

Indica el identificador de la solicitud de cambio según tu procedimiento.

Ejemplo: 2026-007

Selecciona el tipo de cambio según tu procedimiento y justifica la categoría.

Ejemplo: Normal: nuevo proceso programado que requiere revisión previa

Identifica el paquete exacto que se desplegará: nombre, versión y checksum real cuando esté disponible.

Ejemplo: respaldos-1.0.0.zip; checksum pendiente de generar al construir el paquete

Indica quién solicita el pase a producción.

Ejemplo: Responsable de Operación / por designar

Indica quién ejecutará el cambio en el entorno destino.

Ejemplo: Responsable de Operación / por designar

Indica fecha, hora de inicio y fin, y zona horaria de la ventana de cambio.

Ejemplo: 2026-10-15 22:00–23:00, hora de Ciudad de México

Describe el efecto esperado en el servicio y la duración de cualquier interrupción.

Ejemplo: Sin corte: la tarea se activa después de terminar la copia existente

Descripción

Resume qué versión se instala y qué comportamiento cambia.

Ejemplo: Se instala el respaldo automático diario; Operación consulta el resultado en un log

Prerrequisitos

Indica el identificador real del commit que pasó el pipeline; no inventes una prueba realizada.

Ejemplo: Pendiente: se completará con el commit aprobado antes del pase

Indica dónde está el respaldo previo al cambio y cómo se verificará que puede recuperarse.

Ejemplo: Repositorio interno de copias; restauración de prueba pendiente de ejecución

Pasos de ejecución

Describe una acción de despliegue en orden y quién la ejecuta.

Ejemplo: Operación desactiva la tarea, copia el paquete validado y comprueba los permisos

Verificación posterior

Indica una prueba breve que confirme que el servicio funciona después del cambio.

Ejemplo: Ejecutar un respaldo de un archivo de prueba y comprobar su checksum

Vuelta atrás

Define un resultado observable que active la vuelta atrás y quién decide ejecutarla.

Ejemplo: Si falla la primera copia de prueba o cambia el contenido restaurado, Operación vuelve a la versión anterior

Describe una acción concreta para recuperar la versión anterior.

Ejemplo: Operación desactiva la tarea, copia el paquete validado y comprueba los permisos

Cierre

Describe qué información deberá registrarse al cerrar el cambio; no declares resultados que aún no existen.

Ejemplo: Pendiente de ejecución: registrar hora final, resultado de la prueba e incidencias

Revisión del cambio2 preguntas

Qué

Explica el problema resuelto y el comportamiento resultante para quien revisa el cambio.

Ejemplo: Automatiza la copia nocturna y registra errores cuando el origen no está disponible

Cómo probarlo

Indica cómo reproducir las pruebas y qué resultado debe observar el revisor.

Ejemplo: Ejecutar las pruebas con datos sintéticos y comprobar que no se crea salida para un origen inválido

Retención de evidencias6 preguntas

Datos generales

Indica cuántos años se conservan los documentos después de la vida del sistema, según tu política.

Ejemplo: 5 años adicionales, sujeto a la política de retención de la organización

Indica durante cuántos meses deben conservarse las salidas del pipeline. La cifra de la plantilla es un ejemplo.

Ejemplo: 12 meses, si así lo establece la política interna

Indica cuántos años se conserva la evidencia descrita en esta fila, según la política aplicable.

Ejemplo: 3 años; validar con el responsable del SGSI

Indica cuántos años se conserva la evidencia descrita en esta fila, según la política aplicable.

Ejemplo: 3 años; validar con el responsable del SGSI

Indica cuántos años se conserva la evidencia descrita en esta fila, según la política aplicable.

Ejemplo: 3 años; validar con el responsable del SGSI

Indica cuántos años se conserva la evidencia descrita en esta fila, según la política aplicable.

Ejemplo: 3 años; validar con el responsable del SGSI

Tu paquete, listo para revisar

Incluye la constitución, documentos, tareas y controles SGSI.
Las aprobaciones y pruebas quedan pendientes de revisión.

Las respuestas no se guardan en el servidor. Guarda el JSON si quieres continuar después.