Tengo curiosidad por saber si alguien conoce alguna metodología que sea significativamente diferente (no una recombinación) y agradecería especialmente a cualquiera que haya presentado alguna experiencia con alternativas.
fuente
Tengo curiosidad por saber si alguien conoce alguna metodología que sea significativamente diferente (no una recombinación) y agradecería especialmente a cualquiera que haya presentado alguna experiencia con alternativas.
Wikipedia enumera estos como metodologías / procesos de desarrollo :
Ágil : basado en el desarrollo iterativo e incremental, donde los requisitos y las soluciones evolucionan a través de la colaboración entre equipos autoorganizados y multifuncionales.
Sala limpia : el enfoque del proceso de sala limpia es la prevención de defectos, en lugar de la eliminación de defectos.
Iterativo : un proceso de desarrollo de software cíclico desarrollado en respuesta a las debilidades del modelo en cascada. Comienza con una planificación inicial y termina con el despliegue con las interacciones cíclicas en el medio.
RAD : utiliza una planificación mínima a favor de la creación rápida de prototipos. La "planificación" del software desarrollado utilizando RAD se intercala con la escritura del software en sí.
RUP : Rational Unified Process (RUP) es un marco de proceso de desarrollo de software iterativo adaptable, diseñado para ser seleccionado mediante la selección de los elementos del proceso que sean apropiados.
Espiral : combina elementos de diseño y creación de prototipos en etapas, en un esfuerzo por combinar las ventajas de los conceptos de arriba hacia abajo y de abajo hacia arriba. Este modelo de desarrollo combina las características del modelo de creación de prototipos y el modelo en cascada.
Cascada : secuencial a través de las fases de Concepción, Iniciación, Análisis, Diseño, Construcción, Pruebas y Mantenimiento.
Lean : una traducción de los principios y prácticas de Lean Manufacturing y Lean IT al dominio de desarrollo de software; todo lo que no agrega valor al cliente se considera desperdicio.
Modelo V : en lugar de moverse hacia abajo de forma lineal, los pasos del proceso se doblan hacia arriba después de la fase de codificación, para formar la típica forma de V. El modelo V demuestra las relaciones entre cada fase del ciclo de vida del desarrollo y su fase asociada de prueba.
TDD : se basa en la repetición de un ciclo de desarrollo muy corto: primero, el desarrollador escribe un caso de prueba automatizado fallido que define una mejora deseada o una nueva función, luego produce código para pasar esa prueba y finalmente refactoriza el nuevo código a estándares aceptables.
Codificación vaquero
Desarrollo puro, no estructurado, no gestionado y de forma libre. Puede ser útil para pequeños proyectos de pasatiempos que carecen de una fecha límite o incluso un objetivo claro, pero que probablemente no funcionen en un entorno corporativo.
fuente
El modelo espiral
El modelo en espiral es un proceso de desarrollo de software que combina elementos de diseño y creación de prototipos por etapas, en un esfuerzo por combinar las ventajas de los conceptos de arriba hacia abajo y de abajo hacia arriba. También conocido como el modelo de ciclo de vida en espiral (o desarrollo en espiral), es un método de desarrollo de sistemas (SDM) utilizado en tecnología de la información (TI). Este modelo de desarrollo combina las características del modelo de creación de prototipos y el modelo en cascada. El modelo en espiral está destinado a proyectos grandes, caros y complicados.
- Wikipedia
fuente
Plan
Siéntese con el cliente (o usuario final) y diseñe una serie de casos de uso.
Diseño
Diseñe el sistema en papel / pizarra con unas cervezas y pizzas. Ríete cuando algo parece fálico.
Confirmar
Confirme el diseño con el cliente (o usuario final) y congele los requisitos.
Código
Autoexplicativo.
fuente
Este argumento de Waterfall ha existido por un tiempo y fue utilizado por los líderes de pensamiento ágiles desde el principio. También se encontraron con la "realidad" de la cascada como una "alerta roja".
Cuando comience a trabajar en un proyecto de desarrollo de software, descubrirá rápidamente que la metodología de desarrollo utilizada tendrá un papel importante en la velocidad y la calidad del código desarrollado. Dado que la metodología ágil es tan ampliamente utilizada, es importante que comprenda las ventajas y las desventajas de ágil para que pueda determinar si es la mejor opción para los entregables de su proyecto.
El desarrollo ágil de software es un marco conceptual para emprender proyectos de ingeniería de software. La mayoría de los métodos ágiles intentan minimizar el riesgo mediante el desarrollo de software en plazos cortos, llamados iteraciones, que generalmente duran de una a cuatro semanas. Cada iteración es como un proyecto de software en miniatura propio e incluye todas las tareas necesarias para liberar el mini incremento de la nueva funcionalidad: planificación, análisis de requisitos, diseño, codificación, pruebas y documentación.
Es un buen proceso para la empresa porque incluye al cliente en el proceso de desarrollo y lo hace responsable de la entrega del producto. Por otro lado, los clientes están contentos porque se encuentran a sí mismos participando en el desarrollo del producto.
Deméritos para Agile:
Bueno, para una metodología interesante que podría funcionar como una alternativa para AGILE puede verse mejor en estos 3 enlaces:
Kanban como implementación ágil alternativa
Desarrollo de software Kanban
Desarrollo de software ligero en la nube
fuente