LOS 12 PRINCIPIOS DEL MANIFIESTO ÁGIL

 LOS 12 PRINCIPIOS DEL MANIFIESTO ÁGIL

  1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con referencia al periodo de tiempo más corto posible.
  4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
  6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.


EJEMPLOS DE CADA UNO DE LOS 12 PRINCIPIOS ÁGILES
  1. En el proyecto de desarrollo de la aplicación de inventario para una empresa de cemento, cada cierto intervalo de tiempo, puede ser al final de cada mes, de un sprint o iteración, la conclusión de un prototipo, se muestre el software resultante al cliente, para que lo vea, lo pruebe, y pueda dar algún feedback que pueda beneficiar al proyecto, además de que este consciente del progreso y avance que se esta haciendo, el software entregado es la manera más tangible de demostrar al cliente que se está teniendo progreso.
  2. En el desarrollo de una aplicación que buscara implementar seguridad informática en los sistemas de una empresa, ya casi concluido todo el ciclo de desarrollo, y el software esta cercano a cumplir con todos los requerimientos previamente definidos, surge la cuestión de que hay un principio o mecanismo de seguridad que de acuerdo a prácticas del área, debería de ser implementado, pero hasta el momento no resulto necesario para el buen funcionamiento del software, al incorporar este nuevo requerimiento se esta fortificando la calidad del software y dando una ventaja al cliente gracias a un producto más avanzado y completo.
  3. Dado el caso del desarrollo de un sistema de realidad aumentada para una empresa, las entregas rápidas y continuas permiten al cliente no solo percibe el progreso obtenido, sino lo mantendrán atento en su crecimiento, evitando distracciones, y dando una perspectiva mas concreta sobre el desarrollo del proyecto.
  4. Para el desarrollo de un sistema para un bufete de abogados, seria de suma ayuda al avance adecuado del proyecto la comunicación abierta y la colaboración entre el cliente y los desarrolladores, así se tendrá mayor acceso y claridad de la información con la que se desea trabajar y en base a la que se va a trabajar, sobre el rubro y sus particularidades, y sobre como es que el cliente percibe sus deseos para el software.
  5. En un proyecto que abarque múltiples áreas (base de datos, seguridad informática, infraestructura, codificación, comunicaciones, cloud computing, entre otros) se obtendrá el máximo provecho de las capacidades del personal al asignarlos a sus áreas de mayor comodidad y competencia, y se brindaría mayor calidad al trabajo, por ejemplo, seria sumamente inadecuado colocar a un especialista en base de datos a cargo del área informática y a un titulado en seguridad informática a cargo de los servidores.
  6. Se usara el ejemplo de la modalidad virtual que se pudo experimentar estos últimos años dada la pandemia, de forma virtual la comunicación es mas impersonal, indirecta, menos abierta, además que se amplia el rango de distracciones y errores que pueden ocurrir, además que contra intuitivamente se llega a necesitar más tiempo para transmitir una información de forma que sea asimilada, dado que se requiere de mayor precisión y aclaración. La comunicación frente a frente es mas personal, rápida, clara e incluso inmediata, haciéndola ideal para transmitir información importante de forma breve.
  7. Dado el caso que en un ciclo de desarrollo se hizo amplia documentación y un software escaso, el cliente quedara poco impresionado ante las entregas, aun con el grueso de documentación, el cliente no se importara de eso, el cliente no le vera un uso o valor inmediato, lo que el cliente quiere ver es aquello por lo que cree esta pagando, el software, además que la documentación es inefectiva en atraer y mantener la atención de un cliente, 200 páginas de documentación de pruebas pesan menos que interfaces funcionales o aunque sea diseñadas.
  8. En el caso de que, para un proyecto de software grande, que abarcaría meses o hasta años de desarrollo, forzar al equipo de desarrollo a trabajar de forma desmedida, teniendo todas las expectativas del avance de forma inmediata, y exigiendo rendir un 110% a lo largo de todo el proceso es agotador, desmotivador y malo para la moral, las exigencias irrealista no hacen nada mas que daño, daño al equipo de desarrollo, daño al cliente, y daño a quien haya venido con esas expectativas.
  9.  Concluido un Sprint, se hace una entrega de software funcional, lo correcto es revisar todo lo ocurrido a lo largo del sprint, revisar si hubo una mejora o progreso con respecto del último, si la calidad se mantuvo, mejoro o empero, de manera que se pueda tomar ese análisis en consideración de la realización del siguiente sprint, y poder hacer las mejoras y ajustes necesarios.
  10. Un sistema necesita la funcionalidad de conectividad a una base de datos, la funcionalidad es genérica y no requiere de algún tratamiento particular o especializado, entonces se tiene una librería altamente usada y recomendada correspondiente al lenguaje de programación usado que contiene esas funcionalidades necesarias. Lo correcto seria de usarla si cumple con todas las necesidades del proyecto, el forzar al equipo de desarrollo a “reinventar la pólvora” seria un desperdicio de tiempo y recursos.
  11. Los equipos pequeños, con las capacidades de organizarse y ordenarse a si mismos para realizar el trabajo necesario y poder tomar las decisiones básicas necesarias son favorecidos dado que desperdician menos tiempo, tienen mayor competencia y rendimiento.
  12. Esencialmente, se recomienda cada cierto tiempo, dar un respiro, un stop, para poder examinar todo lo que se ha hecho hasta el momento en el progreso obtenido, y poder reflexionar en si se deben hacer cambios, en lugar de cargar ciegamente con el desarrollo.

BIBLIOGRAFÍA

Comentarios

Entradas populares