Tuesday, April 21st, 2009
Hace algunos días se llevó a cabo en las instalaciones del ITAM campus Santa Teresa una interesante conferencia titulada “Las metodologías ágiles y su potencial para el desarrollo de software en México” impartida por el Dr. Masa K. Maeda, Fundador y Presidente de Shojiki-Solutions.
Dr. Masa mencionó como primer punto, que hay algo mal en la forma en que se hacer software actualmente, esto se refleja en los retrasos que casi siempre se hay en los proyectos, el presupuesto para el desarrollo es mayor a lo calculado y en el peor de los casos al terminar el software, no es lo que el cliente esperaba.
A la conclusión que llegó Masa, es que el error no está en las personas sino en la metodología que se utiliza para desarrollar software.
El visitar la fábrica de Toyota en Japón, fue de gran impacto para el Dr. Masa debido a la eficiencia y pulcritud con la el personal hacia sus actividades, no obstante que era una fábrica de autos.
Esto es posible debido al sistema de producción Toyota llamado Lean Manufacturing , que utiliza 3 principios fundamentales:
- Muda – Desperdicio: El trabajo “sin valor” y “sin sentido”.
- Muri – Demasía: Requerimiento o solicitud poco razonable.
- Mura – Desbalance: Inconsistencia en procesos y actividades
Aplicando estos 3 conceptos a las personas que desarrollo software, se logran grandes resultados, señalo.
Mapeando de Lean Manufacturing al desarrollo de software, se pueden observar 7 desperdicios:
- Trabajo hecho a medias
- Características extras en el desarrollo
- Procesos de más
- Cambio de tareas
- Defectos
- Espera para las autorizaciones
- Traslados innecesarios
Al hacer un estudio más detallado sobre la aplicación del “Lean” al desarrollo de software, surge el manifiesto ágil:
Manifiesto por el Desarrollo Ágil de Software
Estamos descubriendo mejores maneras de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de esta experiencia hemos aprendido a valorar:
Individuos e interacciones sobre procesos y herramientas
Software que funciona sobre documentación exhaustiva
Colaboración con el cliente sobre negociación de contratos
Responder ante el cambio sobre seguimiento de un plan
Esto es, aunque los elementos a la derecha tienen valor, nosotros valoramos por encima de ellos los que están a la izquierda.
El Dr. Maeda hizo una advertencia sobre no malentender el manifiesto, dándole prioridad solo a la primera parte del manifiesto y desechando totalmente la segunda, pues esto nos llevaría al fracaso.
Con una analogía entre el software y un pan tostado, para mostrar cómo se lleva la administración de requerimientos en las metodologías ágiles, se continuó la charla haciendo una pregunta ¿qué es más importante? El pan tostado o el tostador de pan. Esto con la finalidad de mostrar que en el desarrollo de software la mayoría de las veces se le da prioridad al diseño, color o tamaño del tostador en vez de ,en primer lugar , hacer el dispositivo de tostado de pan que es el corazón del producto.
También se hizo hincapié en no tener miedo a los cambios que se van dando a lo largo del proceso de desarrollo de software, solo se debe de tener cuidado en la prioridad e impacto que tendrán en el proyecto.
El Dr. Masa mencionó que dentro de los equipos que hacen desarrollo con metodologías agiles se debe procurar respetar 4 puntos importantes:
- Simplicidad en todas las tareas
- Comunicación entre el equipo de trabajo
- Retroalimentación con el equipo y los clientes
- Cuidar que en cada cosa que se haga haya valor
Por último el Dr. Masa K. Maeda mencionó los factores para que un proyecto falle:
- Planear por actividad en lugar de por característica
- Crear actividades independientes
- Hacer tareas simultáneas
- Ignorar al usuario