¡Hola!
Bueno, hay varias metodologías diferentes adaptadas a las diferentes necesidades de diferentes organizaciones. No todas las metodologías funcionan para todos los equipos. Se trata de encontrar el equilibrio adecuado de lo que funciona para usted, su equipo y, lo más importante, hacer el trabajo.
Cascada
- ¿Qué es mejor para un pequeño equipo de desarrollo ágil, JIRA Agile o Rally?
- ¿Cuál es la mejor manera de mostrar el estado futuro de la arquitectura de los sistemas de software a los ejecutivos de nivel CxO?
- ¿Por qué debería uno elegir C ++ sobre C aparte de la programación orientada a objetos?
- Cómo construir un software de alquiler de autos para una compañía de agregación de taxis
- Cómo pasar de un desarrollador senior de .NET a un arquitecto de software .NET
Cascada es probablemente la metodología más antigua para implementar su idea. Es muy sencillo con un flujo simple que sigue como tal: descripción de la idea -> implementación -> pruebas -> mantenimiento.
Fácil, verdad? Más que eso, hay muchas ventajas en este flujo:
- Sabes cómo es el producto al final.
- Este modelo es simple y fácil de entender y usar.
- En este modelo, se procesan y completan grandes fases una por una, una a la vez, y las fases no se superponen.
- Es fácil para un equipo técnico hacer estimaciones de tiempo y crear la arquitectura del producto.
- Usted, como propietario de un producto, puede predecir fácilmente el límite del proyecto en función de todo eso.
Pero esta metodología casi nunca se usa hoy en día. ¿Por qué? ¡Porque no es flexible en absoluto! Debido a este enfoque de cascada no sirve bien en la mayoría de los casos. Entonces que hace? ¡Desarrollo ágil para la victoria!
Ágil
Entonces, ¿qué es el desarrollo ágil? Bueno, Wikipedia lo posiciona así: “El desarrollo ágil de software describe un conjunto de valores y principios para el desarrollo de software bajo el cual los requisitos y las soluciones evolucionan a través del esfuerzo colaborativo de equipos autoorganizados y multifuncionales”.
En otras palabras, y en marcado contraste con la cascada, puede cambiar los requisitos durante todo el desarrollo. No solo eso, sino que todo el desarrollo se realiza y mide en pequeños ciclos basados en el tiempo llamados iteraciones. Este es un proceso; está cuidadosamente organizado, paso a paso, mejorando el producto y minimizando el riesgo en cada iteración.
La metodología ágil tiene un manifiesto bastante sencillo (escrito por cuatro desarrolladores en Snowbird Ski Resort :), y aquí está:
- Individuos e interacciones sobre procesos y herramientas
- Software de trabajo sobre documentación completa
- Colaboración del cliente sobre la negociación del contrato
- Responde al cambio sobre el siguiente plan
Eso es practicamente todo.
Metodologías de gestión de proyectos ágiles: Kanban vs. Scrum
De acuerdo, entonces, si hemos acordado que el desarrollo ágil proporciona la flexibilidad necesaria para editar, revisar y refinar nuestros procesos de desarrollo de software que simplemente no tienen, necesitamos determinar qué escuela de pensamiento es la más práctica para mantenerse organizado.
Existen varias metodologías ágiles de gestión de proyectos, pero las más populares son Scrum y Kanban .
Entonces, ¿qué elegir para su proyecto?
Hay mucho que desempacar aquí. Kanban te da más libertad, mientras que el scrum es mucho más estricto. Sobre las principales diferencias que puede leer en nuestro artículo Confíe en el proceso: encontrar la metodología de desarrollo de software adecuada para su inicio.
¡Espero que mi respuesta haya sido útil!