En los últimos años las metodologías ágiles han tenido un boom increíble esto ya que realmente funcionan y mejoran nuestro rendimiento en cualquier actividad de productividad, en nuestro caso como desarrolladores, estas metodologías nos vienen muy bien, ya que para empezar normalmente somos muy desorganizados y como siempre lo hemos mencionado en este blog, normalmente comenzamos por la parte de la programación y dejamos la planeación para el final, algo que en un ambiente de trabajo con una metodología ágil implementada probablemente no pasaría.
Para las personas que aun no saben que es agile aquí les dejo un video, en resumen habla de que agile no es una metodología en sí si no una base de principios y valores que un equipo debe de seguir para lograr el objetivo de convertirse en un equipo “ágil”, pero bien agile también propone el uso de metodología como scrum o kanban en mi caso les voy a platicar un poquito de kanban ya que es la herramienta con la que he trabajado y la que me parece más eficiente.
Y bien aquí les dejo otro video sobre kanban para que entendamos como funciona, kanban es un sistema de productividad en el cual generas tareas y las colocas en un “kanban board”, este está dividido en tres partes: pendiente, trabajando y terminado, las tareas se van colocando en estos tres apartados conforme se va trabajando hasta haber logrado terminar cada una de las tareas exitosamente, en mi caso desarrollé un videojuego con la ayuda de kanban, mi equipo y yo hicimos un tablero en Trello donde pusimos todas las tareas necesarias para poder tener un producto tangible, obviamente este proceso no es perfecto, ya que normalmente muchas de las tareas se van modificando, eliminado o agregando nuevas tareas conforme se va progresando en el desarrollo del proyecto pero la idea base de kanban es esta, en equipos pequeños o para tener una bitácora personal de productividad pienso que kanban es una herramienta muy poderosa pero siento que si se escala a equipos muy grandes puede ser un poco caótico, no digo que no se pueda aplicar pero en la parte de la administración de tareas y asignación el ser parte de un equipo muy grande probablemente se vaya a ver afectado el nivel de productividad.

Aquí hay un pequeño ejemplo de como trabajamos en mi equipo de desarrollo, podemos ver las distintas secciones de cada una de las tareas, de esta forma podemos escoger lo que queremos hacer en el día y atacar cada tarea individualmente.
Ahora, que tiene que ver todo esto con el diseño orientado a objetos, pues bien, todo lo que hemos hablado de POO, puede ser manejado con una metodología ágil, esta es la ventaja de agile, no es exclusiva para un solo tipo de tarea, si hay un proceso involucrado en una tarea, probablemente se le pueda aplicar una metodología ágil para mejorarla.
En conclusión agile es una herramienta muy poderosa para poner orden a nuestro proceso de desarrollo de software y poder tener la máxima productividad en nuestro día a día.
Pueden ver mi trabajo en grupoargon.co