1. Definición
1.1. Es una agrupación de métodos, herramientas y procedimientos con el fin de describir un modelo.
1.2. Los paradigmas o modelos de desarrollo de software mas utilizados son: el método de cascada, el método prototipo, y el espiral.
2. Modelo de prototipos
2.1. Permite que todo el sistemas, o algunas de sus partes, se construyan rápidamente para comprender con facilidad y aclarar ciertos aspectos en los que el desarrollador, el usuario y el cliente estén de acuerdo en lo que se va a necesitar, así como también la solución que se propone para dicha necesidad.
2.2. El paradigma de construcción de prototipo tiene tres pasos:
2.2.1. - Comunicación
2.2.2. - Plan rapido
2.2.3. - Modelado, diseño rapido
2.2.4. - Construcción del prototipo
2.2.5. - Desarrollo, entrega y retroalimentación
2.2.6. - Entrega del desarrollo final
3. Modelo en espiral
3.1. Describe el ciclo de vida de un software por medio de espirales, que se repiten hasta que se pueda entregar el producto terminado.
3.2. Una caracteristica clave de este modelo es la minimización de los riesgos en el desarrollo de software, lo que podria resultar en un aumento de los costes totales, mas esfuerzo y un lanzamiento retardado.
3.3. Se caracteriza por los siguientes ciclos:
3.3.1. - Objetivo y determinación alternativa
3.3.2. - Análisis y evaluación de riesgos
3.3.3. - Desarrollo y prueba
3.3.4. - Planificación del siguiente ciclo
4. Modelo de cascada
4.1. Es un procedimiento lineal que se caracteriza por dividir los procesos de desarrollo en sucesivas fases del proyecto.
4.2. Propone un modelo compuesto por siete fases que se ha de ejecutar en diversas vueltas.
4.2.1. 1. Requisitos de sistema
4.2.2. 2. Requisitos de software
4.2.3. 3. Analisis
4.2.4. 4. Diseño
4.2.5. 5. Implementación
4.2.6. 6. Prueba
4.2.7. 7. Servicio
5. Modelos agiles
5.1. Son aquellas que permiten adaptar la forma de trabajo a las condiciones del proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su desarrollo a las circunstancias especificas del entorno.
5.2. Hay varios tipos de metodologias agiles. las mas utilizadas son estas:
5.2.1. 1. Extreme Programming XP
5.2.1.1. Sus principales fases son:
5.2.1.1.1. - Planificación del proyecto con el cliente
5.2.1.1.2. - Diseño del proyecto
5.2.1.1.3. - Codificación, donde los programadores trabajan en pareja para obtener resultados eficaces y de calidad.
5.2.1.1.4. - Pruebas para comprobar que funcionan los códigos que se van implementando.
5.2.2. 2. Scrum
5.2.2.1. Los aspectos claves por los que se mueve el Scrum son:
5.2.2.1.1. - Innovación
5.2.2.1.2. - Flexibilidad
5.2.2.1.3. - Competitividad
5.2.2.1.4. - Productividad
5.2.3. 3. Kanban
5.2.3.1. Las ventajas que proporciona esta metodología son:
5.2.3.1.1. - Planificación de tareas
5.2.3.1.2. - Mejora en el rendimiento de trabajo del equipo
5.2.3.1.3. - Métricas visuales
5.2.3.1.4. - Los plazos de entregas continuos
5.2.4. 4. Agile Inception
5.2.4.1. Esta orientada a la definición de los objetivos generales de las empresas. Su proposito es clarificar cuestiones como el tipo de cliente objetivo, las propuestas de valor añadido, las formas de venta.
5.2.5. 5. Design Sprint (Metodología de google)
5.2.5.1. Esta metodología viene de la mano de Google Ventures, un servicio del gigante tecnológico para la innovación y promoción de startups tecnológicas.