DevOps vs Agile: cuál es la diferencia

La diferencia es lo que sucede después del desarrollo.



imagen

Cuando se desarrolló el software por primera vez, el proceso de desarrollo no se ajustaba a ningún tipo de gobierno. Luego vino la cascada , que introdujo la idea de que el desarrollo de software puede determinarse en el momento en que se crea o construye una aplicación.



Solía ​​llevar mucho más tiempo probar e implementar software que ahora porque no había equilibrio ni verificaciones intermedias durante el proceso de desarrollo. Como resultado, recibimos software de baja calidad con errores y bugs, realizados mucho más tarde de los plazos establecidos. La atención se centró principalmente en la planificación de proyectos largos y prolongados.



Los diseños de cascada se han vinculado al modelo de triple restricción, también llamado triángulo de gestión de proyectos. Cada lado del triángulo representa una de las limitaciones de la gestión de proyectos: escala , tiempo y costo . Como escribe Angelo Beretta , el modelo de triple restricción establece que “el costo es una función del tiempo y el volumen, y estos tres factores están relacionados de una manera determinada y predecible ... Si queremos acortar el tiempo de entrega (tiempo), debemos aumentar el costo. El modelo también implica que si queremos aumentar el volumen, debemos aumentar el costo o el tiempo de entrega.



Pasar de cascada a ágil



La cascada nos llegó de la producción y la ingeniería mecánica, que son difíciles de imaginar sin un proceso lineal. Antes de construir un techo, construye paredes. Los problemas de desarrollo de software también se vieron como algo que podría resolverse mediante la planificación.



Al final, la cascada fue reconocida como un enfoque dañino, contrario al enfoque intuitivo del desarrollo de software. Muy a menudo, el valor de un proyecto no se puede determinar hasta el final del ciclo del proyecto. En muchos casos, los proyectos han fracasado. Además, el cliente no vio ningún software en funcionamiento hasta el final del proyecto.



Agile implica un enfoque diferente que se aleja de la planificación de todo el proyecto, vinculando fechas e informes estimados. La metodología ágil asume y tiene en cuenta la incertidumbre. Te anima a reaccionar ante el cambio en lugar de ignorarlo. El cambio se considera una forma de satisfacer las necesidades del cliente.



Valores ágiles



Agile se rige por el Manifiesto Agile. Aquí están sus 12 principios :



  1. La satisfacción del cliente es la máxima prioridad.
  2. Se fomenta el cambio de requisitos, incluso en las últimas etapas de desarrollo.
  3. Un producto de trabajo debe lanzarse con la mayor frecuencia posible.
  4. Los desarrolladores y los representantes comerciales deben trabajar juntos.
  5. Los profesionales motivados deben trabajar en el proyecto.
  6. La comunicación en vivo es la forma más práctica y efectiva de intercambiar información.
  7. Un producto funcional es el principal indicador de progreso.
  8. Los procesos ágiles contribuyen al desarrollo sostenible.
  9. Es importante prestar atención a la excelencia técnica y al buen diseño.
  10. La sencillez es fundamental.
  11. Las mejores soluciones arquitectónicas, requisitos e ideas de diseño provienen de equipos autoorganizados.
  12. Reflexione regularmente sobre las formas de mejorar el desempeño y ajustar su estilo de trabajo.


4 ideas principales de Agile:



  • las personas y la interacción son más importantes que los procesos y las herramientas,
  • un producto funcional es más importante que una documentación completa,
  • la cooperación con el cliente es más importante que acordar los términos del contrato,
  • estar dispuesto a cambiar es más importante que seguir el plan original.


Este enfoque es muy diferente de una cascada dura. En Agile, el cliente es miembro del equipo de desarrollo. En la cascada, solo participa al inicio, al definir los requisitos del negocio, y al final, al considerar el producto final. En Agile, el cliente ayuda al equipo a redactar los criterios de aceptación del producto y permanece involucrado durante todo el proceso. Además, Agile requiere cambios y mejoras continuas de todos los miembros de la organización. El equipo de desarrollo trabaja con otros equipos, incluidos los gerentes de proyectos y probadores. Quién hace qué y cuándo depende del rol asignado y se discute con todo el equipo.



Desarrollo Ágil de Software



El desarrollo de software ágil requiere planificación adaptativa, diseño evolutivo y entrega del producto final. Muchas metodologías, estructuras y prácticas de desarrollo de software se clasifican como ágiles, que incluyen:



  • Melé
  • Kanban ( )
  • XP ( )
  • Lean
  • DevOps
  • FDD ( )
  • TDD ( )
  • Crystal
  • DSDM ( )
  • ASD ( )


Todos se utilizan por sí solos o en combinación con otras metodologías para el desarrollo y la implementación de software. Los más comunes son Scrum , Kanban (o una combinación llamada Scrumban) y DevOps.



Scrum es un marco en el que un equipo trabaja de manera independiente y multifuncional para aumentar la velocidad de entrega del producto terminado y agregar valor al negocio del cliente. El equipo generalmente consta de un Scrum Master, Product Manager y Desarrolladores. El enfoque principal en Scrum está en iteraciones más rápidas con menos mejoras .



KanbanEs un marco ágil, también denominado a veces sistema de gestión de flujo de trabajo. Ayuda al equipo a visualizar su trabajo y aumentar la eficiencia (sin dejar de ser ágil). Kanban suele ser una pizarra digital o física. Las tareas del equipo se mueven por el tablero dependiendo de la etapa: la tarea aún no ha comenzado, en progreso, en prueba, finalizada. Kanban permite que cada miembro del equipo vea el estado de las tareas.



Valores de DevOps



DevOps es una cultura, una forma de pensar, una forma de desarrollar software o infraestructura y una forma de crear e implementar software y aplicaciones. Las operaciones y el desarrollo no están separados; funcionan simultáneamente sin interferir entre sí



DevOps se basa en otras dos áreas: Lean y Agile. DevOps no es un nombre o función en una empresa. En realidad, este es un compromiso que una organización o un equipo asume en términos de entrega, implementación e integración continuas de productos. Según Jin Kim , autor de The Phoenix and The Unicorn Project, hay tres "caminos" que definen los principios de DevOps:



  • principios de flujo,
  • principios de retroalimentación,
  • principios de aprendizaje sin fin.


Desarrollo de software DevOps



DevOps es una práctica ágil. En su verdadera forma, representa una cultura compartida y un pensamiento sobre el desarrollo de software y la implementación de tecnología o infraestructura de la información.



Cuando piensa en automatización, nube, microservicios, piensa en DevOps.

Nicole Forsgren, Jez Humble y Jin Kim han escrito el libro ¡Date prisa! Cómo construir y escalar organizaciones de alto rendimiento ". En una entrevista, explicaron qué es DevOps:



  • La entrega de software eficaz es importante. Tiene un impacto significativo en la rentabilidad, la participación de mercado, la calidad, la satisfacción del cliente, los objetivos y la misión de la organización.
  • Las empresas con alta eficiencia logran una alta velocidad de desarrollo, estabilidad y calidad. No tienen que sacrificar nada para lograr todo esto.
  • Puede mejorar su rendimiento implementando principios y prácticas de DevOps de Lean, Agile.
  • La implementación de estas prácticas y oportunidades también afecta su cultura organizacional. A su vez, afecta tanto la eficacia de su software como la productividad de la organización.
  • Se necesita mucho trabajo para descubrir cómo mejorar la eficiencia.


DevOps y Agile



A pesar de las similitudes, DevOps y Agile están lejos de ser lo mismo. Algunos argumentan que DevOps es mejor que Agile. Llegar al fondo de la historia es importante para evitar confusiones.



Similitudes



  • Ambas son metodologías de desarrollo de software, no se puede discutir con eso.
  • Agile existe desde hace más de 20 años, DevOps también es relativamente nuevo.
  • Ambos enfoques creen en el desarrollo rápido de software. Sus principios se basan en cómo desarrollar software rápidamente sin dañar al cliente ni a las operaciones.


Diferencias



  • , .



    • , DevOps, Agile. , Agile , . DevOps, , , . .
  • Agile , . DevOps , DevOps . , .
  • DevOps , Agile . Agile MVP ( ) .
  • Agile — , .


Agile DevOps
,




Agile y DevOps son cosas diferentes, aunque sus similitudes llevan a muchos a pensar que son lo mismo. Este malentendido está haciendo un flaco favor a Agile y DevOps.



Trabajé en Agile y por mi experiencia puedo decir que es muy importante que los equipos y las organizaciones entiendan qué son DevOps y Agile. También debe comprender cómo ayudan a los equipos a trabajar de manera más rápida y eficiente, garantizar la calidad del producto y mejorar la satisfacción del cliente.



Agile y DevOps no son de ninguna manera rivales entre sí (al menos todavía no hay razones). Son más aliados que enemigos en el campo ágil. Agile y DevOps pueden funcionar de manera exclusiva e inclusiva, lo que les permite existir en el mismo espacio.



Traducción: Diana Sheremieva



imagen


Descubra los detalles de cómo obtener una profesión de alto perfil desde cero o subir de nivel en habilidades y salario tomando los cursos en línea pagados de SkillFactory:





Más cursos


Útil






All Articles