Concepción
Siguiente fase
Siguiente fase
Retiro
Concepción
Análisis de Requerimientos
Diseño
Implementación
Prueba e Integración
Aceptación e Instalación
Operación y mantenimiento
Retirar
REQUERIMIENTO
DISEÑO
IMPLEMENTACIÓN
PRUEBA (TESTING)
MANTENIMIENTO
REQUERIMIENTO
MANTENIMIENTO
REQUERIMIENTO
MANTENIMIENTO
REQUERIMIENTO
MANTENIMIENTO
REQUERIMIENTO
MANTENIMIENTO
Asignación de recursos simplificada
El orden secuencial de las fases facilita la asignación y administración recursos
Dado que cada fase tiene sus propias necesidades específicas, las personas con esas habilidades específicas pueden asignarse fácilmente a fases distintas
Ideal para pequeños proyectos
Este proceso supone que todos los requisitos se entienden claramente al comienzo del proyecto
En proyectos más pequeños, los requisitos son generalmente más pequeños y más fáciles de entender
REQUERIMIENTO
MANTENIMIENTO
Requisitos claros y completos desde el principio
Es muy difícil capturar con precisión y completamente todos los requisitos
Normalmente, un proyecto comienza sin una comprensión completa de todos los requisitos
A medida que el proyecto avanza, se descubren más requisitos y el proyecto se altera en consecuencia
REQUERIMIENTO
MANTENIMIENTO
Retroalimentación retrasada
Los interesados no pueden dar su opinión hasta después de la Fase de prueba
Dado que el proceso no es iterativo, no proporciona fácilmente a los Stakeholders versiones intermedias del producto
Con frecuencia es deseable y necesario brindar a los Grupos de interés seguridad sobre el progreso, así como también confirmarles que lo que se está desarrollando cumple con sus requisitos.
REQUERIMIENTO
MANTENIMIENTO
Problemas descubiertos tarde
Según este proceso, los problemas se encuentran durante la Fase de prueba
Dependiendo del número y la naturaleza de los problemas encontrados, su impacto podría tener un efecto desastroso en el proyecto, tanto en términos de costo como de calendario
REQUERIMIENTO
MANTENIMIENTO
Sin procesos paralelos
Cada fase se ejecuta en orden y se completa antes de pasar al siguiente
En realidad, podría ser posible ejecutar algunas fases en paralelo, en lugar de secuencialmente
Por ejemplo, el producto que se está construyendo puede estar compuesto de subsistemas que están relativamente desconectados. Estos subsistemas separados podrían concebiblemente desarrollarse en paralelo
REQUERIMIENTO
MANTENIMIENTO
Uso de recursos ineficiente
Dado que las fases deben ejecutarse en orden, algunos miembros del equipo pueden estar inactivos mientras
esperando que se complete una fase en particular
Aunque la tentación es mover individuos inactivos a la fase activa actual, la realidad es que estos individuos pueden no estar calificados para las tareas en esa fase
REQUERIMIENTO
MANTENIMIENTO
Old, well-known, fundamental model for software development
It’s easy to understand and easy to use
It works great for small, simple projects
Unfortunately, it just has too many disadvantages to be used for complex development projects
Proceso iterativo
El proceso de desarrollo de software se ejecuta a través de una serie de iteraciones
Impulsado por el riesgo
La gestión del riesgo está incluida en el modelo
Los riesgos se identifican y analizan al comienzo de cada iteración
Durante cada iteración, se desarrolla un plan para abordar estos riesgos
La planificación también está incluida en el modelo
Los 2 objetivos generales de cada iteración:
Incrementar el grado de definición e implementación del sistema
Disminuir el grado de riesgo
Paso 1: evaluación / determinación de objetivos
Revisar la iteración anterior
Comprometerse con un enfoque para la próxima iteración
Determinar objetivos, alternativas y restricciones
Paso 2: Análisis de riesgo
Análisis
Simulación
Benchmarks
Modelos
Prototipos
Paso 3: Ingeniería
Requisitos
Diseño
Codificación
Prueba: Unidad, Integración, Aceptación
Lanzamiento
Paso 4: planifique la siguiente iteración
Plan de ciclo de vida
Plan de requisitos
Plan de desarrollo
Plan de integración y prueba
"Concepto de operaciones"
"Plan de ciclo de vida"
"Plan de requisitos"
Descripción general
Función del producto, clientes, entornos / plataformas y programa
Funcionalidad de alto nivel
Funcionalidad del producto; suficiente detalle para que los programadores capten los requisitos de implementación
Personal del proyecto
Roles requeridos para este proyecto, junto con la cantidad de personal requerido
para cada rol
Proceso de software
El proceso de desarrollo de software utilizado para producir el producto
Métodos de ingeniería de software
Los métodos y técnicas de ingeniería de software que se utilizarán para construir el producto de software
Horario y esfuerzo
Un resumen del cronograma general del proyecto, junto con estimaciones de esfuerzo
Incluye una lista de supuestos que se realizan y los riesgos asociados con esas suposiciones
Mediciones
Una lista de métricas que se recopilarán a lo largo del curso de este proyecto
Incluye una descripción de cómo se recopilarán las mediciones, qué roles las recopilarán, y cómo y dónde se almacenarán las mediciones
Riesgos del proyecto
Una lista de los riesgos más importantes para este proyecto, con un párrafo por riesgo, clasificados en orden de probabilidad e impacto
Herramientas de software
Una lista de las herramientas de software necesarias (como compiladores, editores, automatizados
herramientas de prueba, etc.), con referencia a cómo y cuándo se usarán
Soporte de hardware
Una lista de todo el hardware necesario para ejecutar nuestro proyecto, tomando nota de cualquier hardware que deberá comprarse, instalarse o actualizarse
Soporte de software
Una lista de todo el software necesario para completar nuestro proyecto, tomando nota de cualquier software que deberá comprarse, instalarse o actualizarse
Apoyo de personal
Una lista de todas las personas o grupos de personas que brindarán apoyo
El plan de desarrollo se desarrolla y refina
Los riesgos son analizados / resueltos
Se crea un prototipo
Documentos creados:
"Plan de integración y prueba"
Descripción general
Una lista de los principales tipos de pruebas que planea realizar y los objetivos de cada uno
Hitos de alto nivel
Una lista de hitos de prueba específicos, junto con los criterios necesarios para alcanzar esos hitos (como el número de pruebas ejecutadas, módulos específicos que se probarán, etc.)
Test Staffing
Una lista de los roles que realizarán las pruebas, y exactamente lo que deberán estar probando
Proceso de prueba
Descripciones de cómo se ejecutarán las pruebas, los datos que se utilizarán para ejecutar las pruebas, cómo se rastrearán los defectos y cualquier otra actividad de prueba relevante
Métodos de prueba
Una lista de los métodos utilizados para realizar pruebas, como las pruebas basadas en el usuario, pruebas automatizadas, etc.
Mediciones
Una lista de los tipos de métricas capturadas, cómo serán capturadas y por qué roles y cómo se usarán y analizarán las mediciones
Probando riesgos
Una lista de todos los riesgos para las pruebas, clasificados por probabilidad e impacto
Herramientas de software
Una lista de cualquier herramienta de prueba especial requerida
Soporte para prueba
Cualquier soporte de prueba adicional requerido, como hardware adicional, software o documentación
Apoyo de personal
Cualquier personal requerido fuera del equipo
Se desarrollan / refinan los planes de integración y prueba
Los riesgos son analizados / resueltos
Un prototipo operacional es creado
Comienza la implementación real
Diseño detallado
Codificación
Prueba
UnitTesting
IntegrationTesting
AcceptanceTesting
Lanzamiento del producto
Gestión de riesgos
Los riesgos se manejan temprano y durante todo el proceso
Los riesgos se reducen antes de que se vuelvan problemáticos, ya que se consideran en todas las etapas
Las partes interesadas pueden comprender mejor y reaccionar ante los riesgos
Evolución del producto
El producto de software comienza a producirse temprano en el ciclo de vida
El producto de software evoluciona a medida que avanza el proyecto
Es un enfoque realista para el desarrollo de software a gran escala
Errores y alternativas poco atractivas se eliminan temprano
Énfasis en la planificación
La planificación está integrada en el proceso
Cada ciclo incluye un paso de planificación para ayudar a controlar y mantener un proyecto en marcha
Proceso complicado
No es fácil de usar
El análisis de riesgos requiere una experiencia altamente específica
El éxito del proyecto depende en gran medida de un análisis de riesgos preciso
Existe inevitablemente cierta superposición entre las iteraciones
Más adecuado para grandes proyectos
Puede ser excesivo para pequeños proyectos
La complicación puede no ser necesaria para proyectos más pequeños
No tiene sentido si el costo del análisis de riesgos es una parte importante del costo total del proyecto