Metodologia de sistemas Flashcards
Que es una metodología?
Es un conjunto de técnicas y métodos que permite abordar de forma homogénea y abierta cada una de las actividades del ciclo de vida de un proyecto de desarrollo.
Que es una metodología de desarrollo de software?
Es un marco de trabajo que se usa para estructurar, planificar y controlar el proceso de desarrollo de sistemas de información. Es un proceso de software detallado y completo.
Cuáles son los principios de una metodología?
- Optimiza el proceso y la producción de software.
- Proporciona métodos que guían la planificación y el desarrollo del software.
- Define qué hacer, cómo y cuándo durante el desarrollo y mantenimiento de un proyecto.
- Define una estrategia global de trabajo.
Cuales son los elementos de una metodología?
- Fases (con tareas a realizar)
- Productos (Entradas/Salidas de cada fase, documentos)
- Procedimientos y herramientas (apoyo a la realización de tareas)
- Criterio de evaluación (del proceso y producto para saber si se cumplen los objetivos)
Cuales son las ventajas de una metodología desde el punto de vista de gestión?
- Facilita la planificación
- Facilita el control y seguimiento
- Mejora la relación coste/beneficio
- Optimiza el uso de recursos disponibles
- Facilita la evaluación de resultados y cumplimiento de los objetivos
- Facilita la comunicación efectiva entre usuarios y desarrolladores
Cuales son las ventajas de una metodología desde el punto de vista de los ingenieros de software?
- Ayuda a la comprensión del problema
- Optimiza el conjunto y cada una de las fases del proceso de desarrollo
- Facilita el mantenimiento del producto final
- Permite la reutilización de partes del producto
Cuales son las ventajas de una metodología desde el punto de vista del cliente/usuario?
- Garantiza un determinado nivel de calidad en el producto final
- Confianza en los plazos de tiempo fijados en la definición del proyecto
- Definir el ciclo de vida que más se adecue a las condiciones y características del desarrollo.
Cómo se clasifican las metodologías?
- Metodologías tradicionales (se basan en una fuerte planificación durante el desarrollo)
- Metodologías ágiles (desarrollo incremental, cooperativo, sencillo y adaptado)
Hablar sobre las metodologías tradicionales
- Son denominadas a veces como metodologías pesadas
- documentación exhaustiva
- cumplen un plan de proyecto definido completamente en la fase inicial del desarrollo del proyecto
- Altos costes de implementar un cambio
- Falta de flexibilidad en proyectos cuyo entorno es volátil
Hablar sobre las metodologías ágiles.
- Retrasar decisiones y lograr una planificación adaptativa
- “La capacidad de respuesta a un cambio es más importante que el seguimiento estricto de un plan”
Cuales son los principios de agilidad?
- La prioridad más alta es satisfacer al cliente con entregas prontas y continuas
- los requerimientos pueden ser cambiantes
- entregar frecuentemente software que funcione
- los clientes y los desarrolladores deben trabajar juntos diariamente.
- La medida de avance es el software funcional
- simplicidad
- equipos auto-organizados
- el equipo reflexiona en diversas instancias y puede ajustar su comportamiento en consecuencia.
Nombrar diferencias entre la metodología tradicional y la agil
- una se basa en normas de estándares y la otra se basa en la práctica de producción de código
- resistencia al cambio vs preparadas para el cambio
- procesos controlados con políticas y normas vs procesos menos controlados con pocos principios
- contrato prefijado vs contrato flexible
- el cliente usa reuniones para comunicarse vs el cliente es parte del equipo de desarrollo
- grupos grandes y quizás distribuidos vs grupos pequeños trabajando en el mismo sitio
- muchos artefactos vs pocos artefactos
- muchos roles vs pocos roles
Ejemplos de metodologías ágiles
- Programación extrema (más enfocado en la adaptabilidad que en la previsibilidad)
- scrum (requerimientos cambiantes)
ciclos de vida de sistemas: nombrarlos
- Cascada
- Incremental
- Iterativo o evolutivo
- espiral
- proceso unificado
- proceso concurrente
Características del ciclo de vida en cascada
- impone disciplina al grupo que lo trabaja
- cada actividad del desarrollo es ejecutada de forma sistemática y secuencial, y debe estar terminada y aprobada antes de pasar a la siguiente
- Se utiliza en proyectos bien definidos y con poca volatilidad