Gestión y planificación del desarrollo de software — Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado
Test de 30 preguntas con explicaciones justificadas.
Pregunta 1: Según la Guía de Scrum, ¿cuál de los siguientes es uno de los roles esenciales en un equipo Scrum?
- A) Project Manager
- B) Product Owner
- C) Analista Funcional
- D) Director de Proyecto
La Guía de Scrum define tres roles esenciales: Product Owner, Scrum Master y Equipo de Desarrollo. 'Project Manager' y 'Director de Proyecto' no son roles en Scrum, mientras que 'Analista Funcional' no es un rol formal. La respuesta correcta es 'Product Owner' (opción b), pero como la opción correcta se asigna a la letra 'a' en este ítem por distribución, se señala que el Product Owner es el rol correcto según el marco.
Pregunta 2: El modelo de ciclo de vida en cascada, tal como fue definido originalmente por Winston Royce, se caracteriza por:
- A) La solapación de fases para acelerar el desarrollo.
- B) La realización de iteraciones cortas con retroalimentación constante.
- C) Una secuencia lineal y ordenada de fases, donde cada fase debe completarse antes de comenzar la siguiente.
- D) La construcción del software mediante prototipos evolutivos.
El modelo en cascada clásico, descrito por Royce en 1970, propone un flujo lineal y secuencial de fases (requisitos, diseño, implementación, pruebas, mantenimiento), donde cada fase debe completarse antes de pasar a la siguiente, con una documentación rigurosa como entregable.
Pregunta 3: En la gestión de proyectos, el diagrama de Gantt es una herramienta utilizada principalmente para:
- A) Representar la secuencia de actividades y sus dependencias.
- B) Visualizar la línea de tiempo del proyecto y el progreso de las tareas.
- C) Calcular la ruta crítica del proyecto.
- D) Estimar los costos de las actividades del proyecto.
El diagrama de Gantt es una representación gráfica que muestra las actividades del proyecto en un eje de tiempo, permitiendo visualizar la duración, el progreso y la superposición de tareas, pero no gestiona dependencias complejas ni calcula directamente la ruta crítica (esto se hace con diagramas de red como PERT/CPM).
Pregunta 4: La trazabilidad de requisitos en ingeniería de software se refiere a:
- A) La capacidad de medir el costo de cada requisito.
- B) La capacidad de seguir la vida de un requisito desde su origen hasta su implementación y pruebas.
- C) La técnica para priorizar requisitos en un backlog.
- D) La documentación de los cambios en los requisitos después de congelados.
Según el estándar ISO/IEC/IEEE 29148:2011, la trazabilidad de requisitos es la capacidad de describir y seguir la vida de un requisito, desde su origen hasta su despliegue y uso, estableciendo relaciones con otros requisitos, artefactos y procesos.
Pregunta 5: El modelo CMMI (Capability Maturity Model Integration) para desarrollo, en su representación por niveles de madurez, define el nivel 2 como:
- A) Gestionado
- B) Definido
- C) Gestionado cuantitativamente
- D) Optimizante
En el modelo CMMI-DEV v2.0, los niveles de madurez son: Nivel 1 (Inicial), Nivel 2 (Gestionado), Nivel 3 (Definido), Nivel 4 (Gestionado cuantitativamente) y Nivel 5 (Optimizante). El nivel 2 se caracteriza por procesos gestionados a nivel de proyecto.
Pregunta 6: ¿Cuál de las siguientes es una métrica de producto software, según la norma ISO/IEC 9126?
- A) Velocidad del equipo (velocity)
- B) Líneas de código por hora
- C) Fiabilidad
- D) Tasa de finalización de sprints
La norma ISO/IEC 9126 (sustituida por ISO/IEC 25000) define características de calidad del producto software, como funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad. 'Fiabilidad' es una característica de calidad, no una métrica específica. Las líneas de código son una métrica de tamaño del producto, aunque controvertida.
Pregunta 7: En el contexto de sistemas de control de versiones, Git es un ejemplo de:
- A) Sistema centralizado
- B) Sistema distribuido
- C) Sistema de bloqueo de archivos
- D) Sistema de gestión de bases de datos
Git es un sistema de control de versiones distribuido (DVCS), donde cada clon del repositorio contiene la historia completa, a diferencia de los sistemas centralizados (como SVN) que dependen de un servidor central.
Pregunta 8: El estándar ISO/IEC 12207 establece un marco para:
- A) La gestión de la calidad del software.
- B) Los procesos del ciclo de vida del software.
- C) La evaluación de la seguridad de los sistemas de información.
- D) La gestión de proyectos de software.
ISO/IEC 12207: 'Systems and software engineering — Software life cycle processes' define un marco común para los procesos del ciclo de vida del software, agrupándolos en procesos de acuerdo, organizacionales y técnicos.
Pregunta 9: En metodologías ágiles como Scrum, los 'puntos de historia' son una unidad de medida utilizada para:
- A) Estimar la duración absoluta en horas de una tarea.
- B) Estimar el tamaño relativo y la complejidad de un ítem del backlog.
- C) Medir la productividad individual de cada desarrollador.
- D) Calcular el costo monetario de una funcionalidad.
Los puntos de historia son una unidad abstracta de medida utilizada en Scrum y otros marcos ágiles para estimar el esfuerzo relativo, la complejidad y el riesgo de un elemento del backlog, permitiendo una planificación basada en la capacidad del equipo (velocidad).
Pregunta 10: ¿Cuál de las siguientes es una actividad clave en la gestión de riesgos de un proyecto software?
- A) Asignar todos los riesgos a un único responsable.
- B) Identificar, analizar y planificar respuestas para los riesgos.
- C) Eliminar todos los riesgos antes de comenzar el proyecto.
- D) Documentar solo los riesgos con probabilidad alta de ocurrencia.
Según el PMBOK (Project Management Body of Knowledge) del PMI, la gestión de riesgos incluye los procesos de identificación, análisis cualitativo y cuantitativo, planificación de respuestas, y seguimiento y control de riesgos a lo largo del proyecto.
Pregunta 11: En el contexto de las pruebas de software, las pruebas de sistema se enfocan en:
- A) Verificar el correcto funcionamiento de un módulo o componente individual.
- B) Validar que los componentes integrados funcionan correctamente juntos.
- C) Evaluar el sistema completo en un entorno que simula el de producción.
- D) Revisar el código fuente en busca de errores potenciales.
Según el estándar ISO/IEC/IEEE 29119, las pruebas de sistema evalúan el comportamiento de un sistema completo e integrado, verificando que cumple con los requisitos especificados, en un entorno similar al de producción.
Pregunta 12: El concepto de 'Calidad Total' (TQM) aplicado al desarrollo de software hace hincapié en:
- A) La responsabilidad de la calidad únicamente en el equipo de pruebas.
- B) La mejora continua de los procesos y la participación de todos los miembros de la organización.
- C) El uso exclusivo de herramientas automatizadas para garantizar la calidad.
- D) La realización de exhaustivas pruebas al final del ciclo de desarrollo.
La Gestión de la Calidad Total (TQM) es un enfoque de gestión que busca la mejora continua de la calidad en todos los procesos de la organización, involucrando a todos los empleados y centrándose en la satisfacción del cliente.
Pregunta 13: En gestión de configuración del software, el 'control de versiones' permite:
- A) Gestionar los cambios en los artefactos del software, manteniendo un historial de versiones.
- B) Controlar el acceso de los usuarios a las funcionalidades del sistema.
- C) Versionar los requisitos del sistema de forma independiente al código.
- D) Definir la política de versionado del hardware del sistema.
El control de versiones es una disciplina de la gestión de configuración del software que gestiona los cambios en los artefactos (código, documentos, etc.), registrando su historial y permitiendo la recuperación de versiones anteriores.
Pregunta 14: Kanban, como método ágil, se caracteriza principalmente por:
- A) Utilizar iteraciones fijas (sprints) de dos semanas.
- B) Visualizar el flujo de trabajo y limitar el trabajo en progreso (WIP).
- C) Requerir roles específicos como Scrum Master y Product Owner.
- D) Basar la planificación en puntos de historia y velocidad.
Kanban es un método de gestión del trabajo que se centra en la visualización del flujo (usualmente en un tablero Kanban) y en la limitación del trabajo en progreso (WIP) para mejorar la eficiencia y reducir los tiempos de entrega.
Pregunta 15: En la gestión del valor ganado (Earned Value Management), el índice de desempeño del costo (CPI) se calcula como:
- A) EV / AC
- B) EV / PV
- C) AC / EV
- D) PV / EV
Según la guía del PMBOK, el Índice de Desempeño del Costo (CPI) es la relación entre el Valor Ganado (EV) y el Costo Real (AC): CPI = EV / AC. Un CPI > 1 indica un desempeño favorable en costos.
Pregunta 16: La familia de normas ISO/IEC 25000 (SQuaRE) trata sobre:
- A) La gestión de la seguridad de la información.
- B) La calidad del producto software y su evaluación.
- C) Los procesos de ciclo de vida del software.
- D) La gestión de proyectos de TI.
ISO/IEC 25000, conocida como SQuaRE (System and Software Quality Requirements and Evaluation), proporciona un marco para la evaluación y especificación de la calidad del producto software, reemplazando a la antigua serie ISO/IEC 9126.
Pregunta 17: Un requisito no funcional de un sistema software podría ser:
- A) El sistema debe permitir registrar nuevos usuarios.
- B) El tiempo de respuesta promedio para una consulta debe ser menor a 2 segundos.
- C) El sistema debe generar un informe de ventas mensual.
- D) Los usuarios deben poder buscar productos por categoría.
Los requisitos no funcionales especifican criterios de calidad, restricciones o propiedades del sistema (desempeño, seguridad, usabilidad, etc.), a diferencia de los funcionales que definen comportamientos específicos. El tiempo de respuesta es un requisito no funcional de desempeño.
Pregunta 18: El proceso RUP (Rational Unified Process) se caracteriza por ser:
- A) Un proceso ágil basado en iteraciones de una semana.
- B) Un proceso iterativo e incremental, dirigido por casos de uso y centrado en la arquitectura.
- C) Un proceso secuencial estricto con fases bien delimitadas.
- D) Un proceso centrado exclusivamente en la programación extrema (XP).
RUP es un proceso de ingeniería de software iterativo e incremental, desarrollado por Rational Software (IBM). Se estructura en fases (inicio, elaboración, construcción, transición) e iteraciones, y está dirigido por casos de uso, centrado en la arquitectura y guiado por riesgos.
Pregunta 19: El modelo de estimación COCOMO (Constructive Cost Model) se basa principalmente en:
- A) El número de historias de usuario en el backlog.
- B) El número de líneas de código fuente estimadas (KLOC).
- C) La velocidad histórica del equipo de desarrollo.
- D) La complejidad ciclomática del código.
COCOMO, desarrollado por Barry Boehm, es un modelo paramétrico de estimación de costos y esfuerzo que utiliza como principal entrada una estimación del tamaño del software en miles de líneas de código (KLOC) y aplica factores de ajuste según la complejidad del proyecto.
Pregunta 20: En gestión de proyectos, la 'triple restricción' o 'triángulo de hierro' hace referencia al equilibrio entre:
- A) Alcance, tiempo y costo.
- B) Calidad, riesgo y recursos.
- C) Comunicación, stakeholders y riesgos.
- D) Tecnología, personas y procesos.
La triple restricción (triple constraint) o triángulo de hierro en gestión de proyectos tradicional se refiere a la interdependencia y equilibrio necesario entre los tres factores principales: alcance (o calidad), tiempo y costo.
Pregunta 21: Las pruebas de 'caja negra' se fundamentan en:
- A) El conocimiento detallado de la estructura interna y el código del software.
- B) La especificación de requisitos y funcionalidades del software, sin considerar su implementación interna.
- C) La revisión estática del código fuente sin ejecutarlo.
- D) La ejecución de pruebas en un entorno de producción controlado.
Las pruebas de caja negra (black-box testing) evalúan la funcionalidad del software basándose únicamente en sus especificaciones externas, sin conocimiento de la estructura interna, lógica o código del programa.
Pregunta 22: DevOps es una práctica que busca fundamentalmente:
- A) Automatizar únicamente las tareas de despliegue de software.
- B) Integrar el desarrollo de software y las operaciones de TI para acelerar la entrega y mejorar la calidad.
- C) Reemplazar a los administradores de sistemas por desarrolladores.
- D) Eliminar la fase de pruebas del ciclo de vida del software.
DevOps es un conjunto de prácticas culturales, técnicas y de automatización que busca la colaboración e integración continua entre los equipos de desarrollo (Dev) y operaciones (Ops), para acelerar la entrega de software con alta calidad y estabilidad.
Pregunta 23: En el aseguramiento de la calidad del software, la 'verificación' se define como:
- A) Evaluar si el software construido satisface las necesidades y expectativas del usuario final.
- B) Revisar que los productos de trabajo de una fase cumplan con los requisitos o condiciones impuestos en fases anteriores.
- C) Ejecutar el software para encontrar defectos en su comportamiento.
- D) Aplicar técnicas formales para demostrar la corrección del código.
Según la norma ISO/IEC 12207, la verificación es el proceso de evaluación para confirmar que los productos de trabajo de una fase cumplen con los requisitos especificados para esa fase ('¿Estamos construyendo el producto correctamente?'), mientras que la validación se enfoca en satisfacer las necesidades del usuario ('¿Estamos construyendo el producto correcto?').
Pregunta 24: El diagrama PERT (Program Evaluation and Review Technique) es especialmente útil para:
- A) Representar gráficamente la asignación de recursos a tareas.
- B) Calcular la duración estimada de un proyecto considerando incertidumbre, mediante tiempos optimistas, pesimistas y más probables.
- C) Controlar los costos acumulados a lo largo del tiempo.
- D) Documentar los requisitos funcionales del sistema.
La técnica PERT utiliza un diagrama de red y estimaciones de tiempo (optimista, más probable y pesimista) para calcular la duración esperada de un proyecto y su ruta crítica, ayudando a gestionar la incertidumbre en la planificación.
Pregunta 25: La métrica 'complejidad ciclomática' de McCabe mide:
- A) El número de clases en un diseño orientado a objetos.
- B) La cantidad de comentarios por línea de código.
- C) El número de caminos linealmente independientes a través de un programa.
- D) El grado de acoplamiento entre módulos de software.
La complejidad ciclomática, definida por Thomas McCabe, es una métrica del software que cuantifica el número de caminos linealmente independientes a través del grafo de flujo de control de un programa. Se utiliza para estimar la complejidad lógica y el esfuerzo de pruebas.
Pregunta 26: El modelo de evaluación de procesos ISO/IEC 15504 (SPICE) define:
- A) Un modelo de cinco niveles de madurez para procesos, similar a CMMI.
- B) Una metodología ágil para el desarrollo de software.
- C) Un estándar para la documentación de requisitos.
- D) Un marco para la gestión de la configuración del software.
ISO/IEC 15504 (también conocido como SPICE) proporciona un marco para la evaluación de procesos, definiendo un modelo de capacidad con seis niveles (0 a 5) y una dimensión de atributos de proceso para medir la mejora.
Pregunta 27: En gestión de la configuración, el proceso de 'control de cambios' incluye tareas como:
- A) Compilar y enlazar el código fuente automáticamente.
- B) Evaluar, aprobar o rechazar, e implementar cambios controlados en los productos de trabajo.
- C) Realizar copias de seguridad diarias de los repositorios de código.
- D) Versionar automáticamente cada commit en el sistema de control de versiones.
El control de cambios es una actividad de la gestión de configuración que garantiza que todos los cambios a los elementos configurados se realicen de manera controlada, mediante la evaluación, autorización, implementación y verificación de los mismos.
Pregunta 28: En Scrum, el evento 'Sprint Review' tiene como objetivo principal:
- A) Inspeccionar el progreso hacia el Objetivo del Sprint y adaptar el Sprint Backlog si es necesario.
- B) Inspeccionar el incremento de software terminado y adaptar el Product Backlog si es necesario.
- C) Planificar el trabajo para el próximo Sprint.
- D) Mejorar continuamente los procesos y prácticas del equipo.
Según la Guía de Scrum, el Sprint Review es un evento al final del Sprint donde el equipo Scrum y los stakeholders inspeccionan el Incremento resultante y adaptan el Product Backlog para maximizar su valor. La planificación del siguiente Sprint es un evento separado (Sprint Planning).
Pregunta 29: La técnica de estimación ágil 'Planning Poker' se basa en:
- A) Asignar horas hombre de forma individual y luego hacer un promedio.
- B) Consenso relativo del equipo mediante la discusión y el uso de cartas con una serie de números (por ejemplo, Fibonacci).
- C) Estimaciones realizadas exclusivamente por el Product Owner.
- D) Cálculos algorítmicos derivados de métricas históricas de proyectos anteriores.
Planning Poker es una técnica de estimación por consenso donde los miembros del equipo utilizan cartas con números (a menudo de la serie de Fibonacci) para votar de forma anónima su estimación de un ítem, seguida de una discusión hasta alcanzar un consenso relativo.
Pregunta 30: En el contexto del mantenimiento del software, la categoría 'mantenimiento adaptativo' se refiere a:
- A) Corregir fallos descubiertos en el software.
- B) Modificar el software para adaptarlo a cambios en su entorno (hardware, software, leyes, etc.).
- C) Mejorar el rendimiento o la mantenibilidad del software sin cambiar su funcionalidad.
- D) Añadir nuevas funcionalidades o modificar las existentes según nuevos requisitos.
Según la norma ISO/IEC 14764, el mantenimiento adaptativo modifica un producto software para mantenerlo usable en un entorno cambiado o cambiante (por ejemplo, nuevos sistemas operativos, hardware o normativas legales).