lunes, 18 de marzo de 2019

Modelo Ágil: Valores, Actividades, Principios Y Practicas


Es una metodología basada en la practica para modelado efectivo de sistemas de software. Es una colección de prácticas, guiadas por principios y valores que pueden se aplicados por profesionales de software en el día a día.. (Scott W. Ambler, 2002).

Son una colección de metodologías innovadoras para el desarrollo de sistemas, las cuales se centran en los usuarios. En esta sección aprenderá sobre valores y principios, actividades, recursos, prácticas, procesos y herramientas asociadas con las metodologías ágiles. A estos métodos se les acreditan muchos proyectos exitosos de desarrollo de sistemas y en muchos casos también se les acredita el haber rescatado empresas de un sistema fallido diseñado mediante el uso de una metodología estructurada.(Julia A.Kendall y de Edward. 2011. p166).

Valores


El Manifiesto hace énfasis en cuatro valores principales que deben soportar el desarrollo de software las cuales describió Scott W. Ambler (2002).

  • Comunicación: En todo esfuerzo humano existe la posibilidad de una mala comunicación. Los proyectos de sistemas que requieren de una constante actualización y diseño técnico son especialmente propensos a dichos errores.



  • Simpleza:  Un proyecto de desarrollo de software, nuestra primera tendencia es abrumarnos con la complejidad y tamaño de la tarea. Sin embargo, no podemos correr sino hasta aprender a caminar, ni podemos caminar hasta no aprender a erguirnos. La simpleza para el desarrollo de software significa que debemos empezar con la cosa más simple que podamos hacer.

  • Retroalimentacion:  Ocurre cuando los clientes crean pruebas funcionales para todas las historias que hayan implementado posteriormente los programadores (más adelante en el capítulo podrá ver más sobre las historias de los usuarios). La retroalimentación crítica sobre la programación de fechas y tiempos proviene de los clientes que comparan el objetivo del plan con el progreso realizado hasta ese momento.

  • Valor: La valentía tiene que ver con un nivel de confianza y confort que debe existir en el equipo de desarrollo. Significa no tener miedo de desperdiciar una tarde o un día de programación y empezar de nuevo si no todo está bien. significa responder a la retroalimentación concreta, actuando con base en las corazonadas de sus compañeros de equipo cuando ellos piensan que tienen una forma más simple y mejor de obtener su objetivo.

Principios

En un mundo perfecto, los clientes y su equipo de desarrollo de software se verían directamente a los ojos y no sería necesaria ninguna otra forma de comunicación. Todos estaríamos de acuerdo en todo momento.
Estos principios se pueden expresar en una serie de dichos tales como:
  1. Satisfacer al cliente por medio de la entrega de software funcional.
  2. Adoptar el cambio, incluso si se introduce en las últimas etapas del desarrollo.
  3. Seguir entregando software funcional en incrementos y con frecuencia.
  4. Fomentar a los clientes y analistas a que trabajen juntos a diario.
  5. Confiar en los individuos motivados para que realicen su trabajo.
  6. Promover la conversación cara a cara.
  7. Concentrarse en hacer que el software funcione.
  8. Fomentar el desarrollo continuo, regular y sostenible.
  9. Adoptar la agilidad con especial atención en un diseño lúcido.
  10. Apoyar a los equipos auto organizados.
  11. Proveer retroalimentación rápida.
  12. Fomentar la calidad.
  13. Revisar y ajustar el comportamiento de vez en cuando.
  14. Adoptar la simpleza.

Actividades

Hay cuatro actividades básicas de desarrollo que utilizan los métodos ágiles: codificar, probar, escuchar y diseñar. El analista necesita identificar el grado de esfuerzo requerido por cada actividad para compararlo con los recursos necesarios para completar el proyecto.
  • Codificar: Es la actividad indispensable. Un autor establece que lo más valioso que recibimos del código es el “aprendizaje”. El proceso es fundamentalmente el siguiente: elija una idea, codifíquela, pruébela y compruebe si la idea era lógica.
  • Probar: las pruebas automatizadas son imprescindibles. La metodología ágil aboga por la escritura de pruebas para verificar codificación, funcionalidad, rendimiento y cumplimiento.
  • Escuchar: El proceso de escuchar se lleva al extremo. Los desarrolladores utilizan la escucha activa para oír a su socio de programación. En el modelado ágil hay menos dependencia de la comunicación formal por escrito, por lo que escuchar se convierte en una habilidad de suma importancia.
  • Diseñar: Se prefiere sobre una representación más compleja. Además, el diseño guía la implementación de una historia conforme se escribe: nada más y nada menos. Se desalienta el diseño de funcionalidad adicional porque el desarrollador supone que se requerirá después.

Recursos

Significa que el analista sacrifique algunas ventajas por otras. Algunas veces el costo puede estar predeterminado, mientras que otras veces el tiempo puede llegar a ser el factor más importante.
  • Tiempo: hay que asignar tiempo suficiente para completar el sistema y entender lo que necesita para varias actividades distintas.
  • Costo: es la segunda variable que podríamos ajustar, tal vez tengamos que contribuir más recursos que requieran dinero para balancear el proyecto.
  • Calidad: La tercera variable de control de recursos.Si los sistemas ideales son perfectos, ¿por qué hay que poner tanto esfuerzo en dar mantenimiento a los sistemas? ¿Acaso estamos practicando ya el desarrollo agil al sacrificar la calidad en el desarrollo de software?
  • Alcance: Para determinar el alcance hay que escuchar a los clientes, las historias deben se breves y fáciles de comprender.

Practicas

Hay cuatro prácticas básicas que marcan una diferencia considerable entre la metodología ágil y las demás metodologías: entregas pequeñas, semana de trabajo de 40 horas, alojar al cliente en el sitio, y programar en pareja. Las practicas básicas están interrelacionadas con los recursos, actividades y valores del modelo ágil.
  • Entregas pequeñas: El equipo de desarrollo comprime el tiempo entre entregas de su producto.
  • Semana de trabajo de 40 horas: los equipos de desarrollo ágil patrocinan una práctica básica cultural en la que el equipo trabaja intensamente durante una semana laboral de 40 horas. Como corolario de esta práctica, la cultura refuerza la idea de que trabajar tiempo extra por más de una semana consecutiva es dañino para la salud del proyecto y de los desarrolladores.
  • Alojar al cliente en el sitio: Es decir, tener “en casa”, durante el proceso de desarrollo, a un usuario experto en el aspecto de negocios relacionado con el trabajo de desarrollo de sistemas.
  • La programación en pareja: Es una importante práctica básica. Aquí usted trabaja con otro programador que usted mismo haya elegido. Ambos realizan la codificación y las pruebas.



No hay comentarios.:

Publicar un comentario