Metodologías de Desarrollo de Software

Descrição

Mapa conceptual de las Metodologías de Desarrollo de Software_JoseDanielRamirezAristizabal
JOSE DANIEL RAMIREZ ARISTIZABAL
Fluxograma por JOSE DANIEL RAMIREZ ARISTIZABAL, atualizado more than 1 year ago
JOSE DANIEL RAMIREZ ARISTIZABAL
Criado por JOSE DANIEL RAMIREZ ARISTIZABAL aproximadamente 6 anos atrás
16
0

Resumo de Recurso

Nós do fluxograma

  • METODOLOGÍAS DE DESARROLLO DE SOFTWARE
  • buscan
  • Estructuracion
  • Planificacion
  • Control de los proyectos
  • Su premisa
  • Software satisfactorio
  • Presupuesto y plazos acordes
  • Se divide en 
  • Metodologías Agiles
  • Metodologías convencionales
  • Modelo cascada
  • Prototipado
  • Modelo incremental
  • Modelo en Espiral
  • SCRUM
  • KANBAN
  • EXTREME PROGRAMMING
  • CRYSTAL METHODOLOGIES
  • Dynamic Systems Development Method
  • Adaptive Software Development
  • Feature -Driven Development
  • Lean Development
  • Creadores Jeff De Luca y Peter Coad.
  • FDD es un método de desarrollo de ciclos cortos que se concentra en la fase de diseño y construcción.
  • El proceso de diseño y construccion consta de 5 fases
  • Este metodo propone
  • -Iteraciones cortas y grandes -Tener una mejor comunicación durante todo el desarrollo -Hacer entregas frecuentes con trabajos reales realizados -Contar con información precisa del progreso -Tener procesos apreciados por clientes, desarrolladores y gerentes -Realizar iteraciones con los 5 pasos de las fases.
  • Hay 6 roles claves en este desarrollo
  • – Administrador de Proyecto (PM).  – Arquitecto jefe (CA) – Programadores Senior – Dueño de clase – Expertos en dominios – Roles transversales al desarrollo
  • Creadores Ken Schwaber, Jeff Sutherland y Mike Beedle
  • Es un marco de trabajo que promueve la colaboración y la comunicación entre los integrantes del equipo de trabajo; esta metodología promueve la auto organización.
  • Roles que intevienen
  • -Product owner (Definir y establecer prioridades -Scrum Master (Asegurar que se cumplan los lineaminetos) -Scrum team (Construccion de producto)
  • Esta guiado por procesos
  • 1. Sprint planning meeting (Estimacion de tiempo y esfuerzo) 2. Scrum daily meeting (Revison diaria para revisar status de asiganciones y obstaculos)  
  • 3. Iteration review (Showcase del producto generado) 4. Retrospective (Rapida revision del producto y como mejorarlo)
  • Es la metodologia mas usada
  • Se desarrolla mediante Sprint (que es el resultado de todas las iteraciones que se planifiquen durante el proyecto)
  • Es una técnica creada por Toyota para controlar el avance del trabajo en la creación de automóviles, pero ha sido implementada ampliamente en el desarrollo de proyectos de software, apoyando a su vez metodologías como Scrum
  • Kanban se basa en un sistema de señalizacion en el que se basan los temas de produccion por demandas mediante tarjetas, el objetivo es minimizar el trabajo progresivo y el stock entre procesos.
  • Caracteristicas importantes
  • -Tareas en Desarrollo -Lista de Tareas -Pruebas -Despliegue -Terminado
  • Si se logra aplicar este metodo de forma correcta en los equipos de trabajo se mejorara altamante la eficiencia, se tendra control de todas las fases del proyecto y las necesidades se resolveran rapidamente.
  • Creada por Kent Beck
  • Enfatiza en la previsibilidad y adaptabilidad.
  • Es una metodología orientada a aplicar mejores prácticas de ingeniería de software en el desarrollo de proyectos, mejorar la productividad en los proyectos y aumentar la calidad del desarrollo de los productos de software.  Se llama extrema por la capacidad de adaptarse al cambiar los requisitos en la marcha.
  • 5 valores
  • -Simplicidad -Comunicasion -Retroalimentacion -valentia -Respeto
  • Caracteristicas del metodo
  • -Desarrollo iterativo e incremental -Pruebas unitarias continuas -Programación en parejas -Frecuente integración del equipo de programación con el cliente -Corrección de todos los errores -Refactorización del código -Propiedad del código compartida -Simplicidad en el código
  • Roles que intervienen
  • -Cliente -Desarrollador -Rastreador -El entrenador  
  • Han sido desarrolladas por Alistair Cockburn
  • Estás metodologias estan pensadas para más tipologías de proyectos y organizaciones, destacando especialmente proyectos y empresas grandes.
  • Se carcateriza segun dos dimenciones
  • Tamaño
  • Criticidad
  • En las metodologías Crystal, proyectos grandes, que necesitan más coordinación y comunicación, se asocian con colores más oscuros. Proyectos en los que un fallo pueda causar mayores problemas, también se asocian con colores más oscuros. Así, aparece una familia de metodologías:
  • -Clear, para equipos de hasta 8 personas o menos. -Amarillo, de entre 10 y 20 personas. -Naranja, para equipos entre 20 y 50 personas. -Roja, entre 50 y 100 personas.
  • Propiedades de la metodologia cristal
  • 1 – Entregas frecuentes, en base a un ciclo de vida iterativo e incremental. 2 – Mejora reflexiva 3 – Comunicación osmótica. 4 – Seguridad personal. 5- Enfoque 6 – Fácil acceso a usuarios expertos. 7 – Entorno técnico con pruebas automatizadas, gestión de la configuración e integración continua.
  • DSDM es un método ágil que se enfoca en el ciclo de vida completo del proyecto, DSDM (formalmente conocido como Método de desarrollo dinámico de sistemas) se creó en 1994, después de que los gerentes de proyecto que usaban RAD (Desarrollo rápido de aplicaciones) buscaran más gobernanza y disciplina para esta nueva forma iterativa de trabajo
  • Principios
  • 1-Centrarse en la necesidad empresarial 2-Entregar a tiempo 3-Colaborar 4-Nunca comprometa la calidad 5-Construya gradualmente a partir de cimientos firmes 6-Desarrollar iterativamente 7-Comunicarse de forma continua y clara 8-Demuestra control
  • Fases y etapas
  • 1-El Pre-Proyecto: 2-El Ciclo de vida del Software 3-Estudio de Viabilidad y de Negocio. 4- Iteración de Modelo Funcional 5-Iteración de diseño y desarrollo 6-Implementación 7-El Post-Proyecto
  • Roles que intervienen
  • 1-Patrocinador ejecutivo 2-Visionario 3-Ambassador User 4-Usuario asesor 5-Project Manager 6-Coordinador Técnico 7-Líder de equipo 8-Desarrollador de soluciones  9-Probador de soluciones 10-Escriba 11-Facilitador 12-Roles de Especialista 
  • Su impulsor es Jim Highsmith
  • Sus principales características son: iterativo, orientado a los componentes software más que a las tareas, guiado por los riesgos y tolerante a los cambios.
  • 3 fases
  • son
  • Especular: Esta fase consiste en realizar una planificación tentativa del proyecto tomando en cuenta las futuras entregas que se le darán al usuario prototipos
  • Colaborar: es aquella en la que se construye la funcionalidad definida durante la especulación. Durante cada iteración el equipo colabora intensamente para liberar la funcionalidad planificada
  • Aprender: La fase final de ASD, aprender, consiste en la revisión de calidad que se realiza al final de cada ciclo
  • -Iniciacion del proyecto -Planeacion de los ciclos  
  • -Ingenieria de componentes concurrente
  • -Calidad del resultado desde la perspectiva del cliente. -Calidad del resultado desde la perspectiva tecnica. -Funcionamiento del equipo de desarrollo y las prácticas que este utiliza. -Estatus del proyecto  
  • Control de calidad
  • Entrega final
  • Robert “Bob” Charette, planteó el concepto de desarrollo de software lean
  • Este método ofrece todo un marco teórico sólido y basado en la experiencia, para las prácticas ágiles de gestión. los cambios se consideran riesgos, pero si se manejan adecuadamente se pueden convertir en oportunidades que mejoren la productividad del cliente. Su principal característica es introducir un mecanismo para implementar dichos cambios.
  • -Eliminar los desperdicios -Amplificar el aprendizaje -Decidir lo más tarde posible -Entregar tan rápido como sea posible -Capacitar al equipo -Construir integridad intrínseca -Véase todo el conjunto
  • El proceso se resume en
  • La versión original fue propuesta por Winston W. Royce en 1970 y posteriormente revisada por Barry Boehm en 1980 e Ian Sommerville en 1985
  • Este modelo ejecuta las diferentes etapas de desarrollo de forma secuencial, iniciando por el levantamiento de requisitos y continuando ordenadamente con planeación, modelado, construcción del software, pruebas y despliegue. El modelo en cascada se desarrolló tomando como base los modelos de producción de productos
  • Fases del modelo
  • -Análisis de requisitos del software -Diseño del sistema -Diseño del programa -Codificación -Pruebas y error -Validación y Verificación del producto de software -Mantenimiento  
  • Ventajas
  • Desventajas
  • -Comenzar con el software con bastante rapidez. -Estimar calendarios y presupuestos con mayor precisión. -Lograr un nivel de satisfacción del cliente más elevado que otros enfoques, ya desde el principio.
  • -Alterar el diseño del proyecto en cualquier etapa es muy complicado. -Una vez que una fase se ha completado, es casi imposible de realizar cambios. -Es absolutamente necesario reunir todos los requisitos iniciales. -Resulta muy difícil responder a los problemas que puedan surgir, ya que tanto la retroalimentación, como las pruebas se retrasan hasta estadios muy tardíos del desarrollo de proyecto. -Solucionar cualquier cuestión que se plantee requiere una cantidad sustancial de tiempo, esfuerzo y dinero.
  • Esta metodología permite que empresas de desarrollo presenten a sus clientes prototipos de la solución que ayuden a validar la funcionalidad de la herramienta, los requisitos previamente obtenidos y realizar cambios sobre estos antes de construir la solución definitiva.
  • Etapas
  • 1. Recolección y refinamiento de requisitos 2. Modelado, diseño rápido 3. Construcción del Prototipo 4. Desarrollo, evaluación del prototipo por el cliente 5. Refinamiento del prototipo 6. Producto de Ingeniería
  • Ventajas
  • -No modifica el flujo del ciclo de vida -Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios -Reduce costo y aumenta la probabilidad de éxito -Exige disponer de las herramientas adecuadas -Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida.  
  • Tipos de prototipos
  • Desechable
  • Evolucionario
  • Elimina dudasde lo que quiere el cliente y la interfaz que le convenga
  • Es un modelo parcialmente construido que puede pasar de ser prototipo a ser software pero no tiene una buena documentación y calidad.
  • Este modelo combina el desarrollo en cascada con el modelo de construcción de prototipos. Consiste en ir generando incrementos de la funcionalidad del software haciendo entregas de funcionalidades específicas de la plataforma, conforme transcurre el tiempo.
  • Caractersiticas
  • -Los incrementos son pequeños. -Permite una fácil administración de las tareas en cada iteración. -La inversión se materializa a corto plazo. -Es un modelo propicio a cambios o modificaciones. -Se adapta a las necesidades que surjan.
  • Fases
  • 1.Requerimientos 2.Definición de las tareas y las iteraciones 3.Diseño de los incrementos 4.Desarrollo del incremento 5.Validación de incrementos 6.Integración de incrementos 7.Entrega del producto
  • Ventajas
  • Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se implementa la funcionalidad parcial. - También provee un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del Software. - El modelo proporciona todas las ventajas del modelo en cascada realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento. - Permite entregar al cliente un producto más rápido en comparación del modelo de cascada. - Resulta más sencillo acomodar cambios al acotar el tamaño de los incrementos. - Por su versatilidad requiere de una planeación cuidadosa tanto a nivel administrativo como técnico.
  • Desventajas
  • - El modelo Incremental no es recomendable para casos de sistemas de tiempo real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de riesgos. - Requiere de mucha planeación, tanto administrativa como técnica. - Requiere de metas claras para conocer el estado del proyecto.  
  • El modelo fue creado por Barry Boehm;
  • Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
  • 2 caracteristicas distintivas
  • Enfoque cíclico para el crecimiento incremental del grado de definición de un sistema y su implementación, mientras que disminuye su grado de riesgo.
  • Es un conjunto de puntos de referencia de anclaje puntual para asegurar el compromiso del participante con soluciones factibles y mutuamente satisfactorias”
  • Fases
  • Ventajas
  • Desventajas
  • -Los factores de riesgo son reducidos. -El desarrollo es iterativo y se pueden incorporar funcionalidades progresivamente.
  • -La duración de la ejecución no es concreta. -Fallos en el análisis de riesgos podría influir negativamente a todo el proyecto.

Semelhante

Metodologías de desarrollo de software tradicionales
Luis Rodriguez