La filosofía de gestión de procesos Lean surgió del sistema de producción de Toyota; este consistía en hacer más eficientes algunos procesos de la industria mediante la eliminación de desperdicios o actividades que no aportaban beneficios. Esto para
obtener resultados más veloces en la productividad, competitividad y rentabilidad de las compañías sin la necesidad de requerir otras fuentes como la contratación de personal extra o la compra más de maquinaria, sino aprovechando los recursos actuales de la empresa.
Esta filosofía fue tomada por Tom y Mary Poppendieck y adaptaron los principios Lean al desarrollo de software y lo llamaron
LSD (Lean software development), el cual fue el que inspiró a los métodos de desarrollo ágil conocidos actualmente.
El lean software development se rige bajo 7 principios fundamentales, que al aplicarse correctamente en el desarrollo de software dan como resultado
sistemas más eficientes y productivos para los clientes.
A continuación, describiremos los 7 principios del LSD:
- Eliminación de desperdicios. Tan sencillo como evitar o suprimir todo aquello que no le aporte valor al proyecto, en este caso el desarrollador debe tener la habilidad de reconocer que procesos son innecesarios, es decir aquellos que al no aplicarlos pueden dar los mismos resultados, tales como códigos, retrasos, requisitos poco claros, cambios constantes y procesos mal desarrollados. Una forma de identificar fácilmente los desperdicios es mediante la aplicación de un mapa de flujo de valor.
- Ampliar el aprendizaje. En este caso la idea es que el producto se vaya probando constantemente para evitar amontonar errores que al final serán más complicados de resolver, y que darán como resultado demoras en la entrega del proyecto. Otra manera de aumentar el aprendizaje es mediante la integración del cliente en el proceso de desarrollo, de esta manera se podrán evitar agregar funciones que este no desee.
- Decidir lo más tarde posible. Aunque parezca contraproducente decir que se deben tomar decisiones lo más tarde posible, a la hora de desarrollar se debe esperar a estar completamente informado sobre el cliente. La persona que va a desarrollar el software debe tener claro el user story, para esto el cliente debe proporcionar la mayor cantidad de información acerca del proyecto, sus dificultades y como quiere solucionarlas, para de esta manera poder proceder al desarrollo.
- Entregar tan rápido como sea posible. Inmediatamente después de recibir la información sobre el cliente, se debe iniciar labores y procurar entregar la primera iteración lo más pronto posible, para así poder agregar recomendaciones a las siguientes iteraciones y entregar un producto de calidad en el menor tiempo posible, algo realmente valorado por los clientes.
- Potenciar el equipo. Se debe fortalecer el equipo de trabajo que se encarga del desarrollo, esto se hace mediante la integración de todo el equipo en cada actividad del proyecto, a través de la motivación constante hacia ellos en pro del proyecto y por medio de una buena relación y comunicación, tanto con el cliente como con los mismos integrantes del equipo.
- Crear la integridad. Es ideal que el software sea probado tanto en su estructura como en su usabilidad, generalmente un software tiene varias ventanas o entradas que tienen funciones diferentes, y por ello se debe asegurar que exista una integridad en estos componentes del software, es decir, que funcionen igual de bien en conjunto y de manera separada.
- Visualizar todo el conjunto. En este punto se debe analizar la interacción que tiene el software con los otros sistemas de la empresa, esta acción da la posibilidad de examinar futuras mejoras que impacten en la calidad del proyecto y en la satisfacción del cliente.
Los 7 principio anteriores son una especie de paso a paso que facilitan el trabajo de desarrollo y que al seguirlos dan como resultado software más eficaces, rápidos y satisfactorios para los clientes. Esto a su vez tiene algunas ventajas para las compañías, aquí presentamos algunas de las ventajas más sobresalientes de la implementación de esta metodología en las empresas.
- La eliminación de desperdicios permite obtener un software más básico e intuitivo, en donde solo existen las funcionalidades necesarias, lo que significa un ahorro en tiempo y dinero en capacitación al personal de la empresa en el manejo del software.
- Otra ventaja de esta metodología es que la entrega en un corto periodo de tiempo posibilita la mejora e implementación de otras funcionalidades dentro del software, acción que permite obtener un software más completo y totalmente probado.
- La participación activa del cliente dentro del desarrollo del software garantiza una máxima satisfacción por parte del mismo, lo que implica también una gran probabilidad de éxito en la implementación del sistema dentro de la compañía, ya que el cliente alcanzó a conocer a cabalidad su funcionamiento.
- Se recibe un software más seguro, con menos errores, el cual aprovecha al máximo el uso de los recursos.
Para concluir, es importante destacar que la implementación de esta metodología a la hora de desarrollar software, es la mejor opción para aquellas empresas que quieren ser partícipes de la construcción de su sistema, que quieren recibirlo en un corto periodo de tiempo y que buscan simplicidad en sus funcionalidades. Al finalizar el proyecto el cliente va a recibir un software productivo y eficiente, más seguro y optimizado a sus necesidades específicas.
Si deseas implementar un software que se construya bajo la metodología ágil, debes encontrar una compañía que cuente con experiencia verificable y el equipo idóneo en el área tecnológica. En
GlobalBit tenemos más de 9 años de experiencia y estamos calificados para desarrollar proyectos con alto nivel de productividad.
Contáctanos y conoce como puedes desarrollar el mejor software para tu compañía:
http://globalbit.co/contacto/