Adopción de Lean-Agile

En la actualidad muchas organizaciones se encuentran en el dilema de considerar un cambio para acelerar sus procesos de desarrollo de software y no están seguros de qué forma realizar este cambio sin introducir riesgos en la calidad de software o en el cumplimiento de políticas y normas organizacionales. Es por ello que en Sistemas Humanos hemos generado un proceso de adopción orgánico, progresivo y sin ningún riesgo.

Nuestro equipo le ayudará a alcanzar resultados sostenibles de manera práctica y transparente a través de etapas de aprendizaje y adopción adecuadas a las necesidades particulares de su organización.

¿Cómo logramos esto?

Creemos que la mejor forma de adoptar cualquier metodología es realizar un proyecto inicial que genere resultados tangibles y replicables, es por eso que hemos creado un programa basado en 2 fases:

1. Fase de Preparación
Para tener buenos resultados en la adopción de la metodología elegida, realizamos un diagnóstico, donde, analizando las necesidades y prácticas actuales de su organización, diseñamos un plan especializado donde se estiman tiempos y se planean las fases de adopción a través del establecimiento de acuerdos.

En esta etapa su equipo recibirá entrenamiento en Lean-Agile de manera práctica con workshops, ejercicios y sesiones de trabajo continuas.

2. Fase de Adopción
Su equipo de trabajo desarrollará en equipo un proyecto piloto que refleje, sin riesgos, el conocimiento adquirido durante la fase de preparación, así, de manera práctica, se estarán enfrentando directamente a los nuevos retos que Lean presenta de mano de nuestros consultores. Al concluir el proyecto, realizamos una retrospectiva para identificar mejoras particulares en el equipo.

Para concluír esta fase, se crea una comunidad de práctica que se alimente de manera continua a su equipo de trabajo. En esta comunidad se generará conocimiento y resolución de problemas en grupo. Además, recibirá eCoaching de nuestros instructores.

Nuestros servicios de entrenamiento y consultoría en adopción de Métodos Lean-Agile están basados en un enfoque pragmático adaptado a las necesidades del mercado mexicano; contamos con una amplia experiencia ayudando a organizaciones de todos tamaños a lograr acelerar sus procesos y lograr una agilidad sustentable en su práctica de desarrollo de software, así, hemos sintetizado el proceso de adopción en las siguientes áreas:

Lean Software Development

Las necesidades actuales en en el ambiente del desarrollo de software exigen cada vez más rapidez en sus procesos. El éxito de un equipo de desarrollo depende de una carrera contra reloj y para lograr ganarla es necesario contar con una estrategia. Lean Software Development propone terminar con vicios de organizaciones tradicionalmente jerárquicas cuya naturaleza de orden y control no permite una comunicación efectiva entre los participantes del proyecto. En cambio, en Lean Software Development, los propios participantes deben romper con estos paradigmas y entrar en una forma de organización orgánica que les permita intercambiar conocimientos y aceptar sus roles naturales dentro del desarrollo de software.

SCRUM / KANBAN

Colaboración y Trabajo en equipo son la columna vertebral de un equipo de desarrollo ágil. La adopción de SCRUM y Kanban como un framework adaptable de administración de proyectos, le permite crear nuevas reglas y compromisos entre sus usuarios finales y el equipo de desarrollo. A través de un enfoque iterativo de inspección y adaptación, se puede lograr obtener resultados confiables y una mejora sustantiva en el tiempo de salida a mercado de aquellas funcionalidades de los sistemas que mas aportan valor a nuestros usuarios finales. Si cree que su equipo se beneficiará de una mas estrecha colaboración de sus clientes o usuarios finales, con estos métodos encontrará una práctica muy sencilla de implementar que garantiza un trabajo colaborativo a lo largo de todo el ciclo de vida de un proyecto.

User Stories

Lograr resultados confiables en una estimación de desarrollo de software no es tarea fácil. Muchas organizaciones pierden competitividad en tiempos y costos al manejar “colchones” en sus tiempos estimados de desarrollo. La práctica de estimación de software basada User Stories, le proporcionara una habilidad a su equipo de estimar rápidamente y con un alto nivel de certidumbre el esfuerzo requerido para implementar cualquier pieza de software, a través de un proceso transparente y con cooperación completa de sus usuarios finales o clientes.

Test Driven Development

Lograr velocidad sostenida en un proceso de desarrollo requiere de forma indispensable, un enfoque constante en la calidad del software. Introducir la práctica de Test Driven Development en su organización, le garantizará que su desarrollo podrá ser sujeto a cambios sin preocuparse por los riesgos que estos introduzcan en la base de código. Esta práctica requiere, además de una disciplina de desarrollo, elegir correctamente los frameworks y herramientas que permitan automatizar esta labor, obteniendo agilidad y seguridad en sus proyectos.

Agile Modeling

El acercamiento al diseño de sistemas a través de Agile Modeling permite que los desarrolladores vayan configurando el orden y estructura de una arquitectura que emerge con la implementación de requerimientos. Es necesario un fundamento basado en pragmatismo y patrones de diseño, para poder lograr el objetivo de conseguir una base de código que sea flexible y que proporcione agilidad en el mantenimiento. Los principios de Agile Modeling correctamente aplicados, dotaran a su equipo de desarrollo de una capacidad de respuesta adecuada para cumplir con las cambiantes exigencias del negocio.

Continuous Integration

Solo hay una manera de predecir la calidad del software que se construye y esta es el probar nuestros software de manera automatizada y continua. Desde el día uno del proyecto, todo equipo de trabajo deberia de tener una arquitectura base que permitiese ser probada conforme el sistema va realizando todos los requerimientos. La práctica de Continuous Integration le permitira garantizar, que cuando llegue el momento de poner en producción su funcionalidad, esta estará probada cientos de veces, garantizando los niveles requeridos de servicio del sistema.