jueves, 12 de enero de 2017

Agilidad, una forma de gestión y ejecución de proyectos software.


Agilidad una forma de gestión y ejecución de proyectos software

Quiero daros la bienvenida a mi blog con este primer artículo sobre un asunto que está muy en boga, la agilidad.
Hace mucho mucho tiempo estoy involucrada en el mundo de desarrollo de software. De la utilidad del software en nuestros días nadie duda, no tenemos más que mirar a nuestro alrededor para darnos cuenta que el software forma parte de nuestras vidas. Hay software en la mayoría de los aparatos que utilizamos, en nuestros coches, en nuestros teléfonos. Los organismos públicos ponen software a nuestra disposición para ayudarnos a hacer la declaración de la renta, hacer reclamaciones, obtener nuestra vida laboral y otras muchas cosas más. También otras organizaciones construyen software para nosotros: los bancos, los hospitales, los colegios, las tiendas, los operadores telefónicos, etc. Por todo esto, disponer de formas de trabajo que ayuden a construir software de calidad es fundamental.
En 1968 se terminó de impulsar una nueva ingeniería, la del Software. A partir de ese momento, empezó una profesión cuyos entresijos no han parado de cambiar. El motivo de tanto cambio es que en una nueva disciplina como esta, hay mucho que equivocarse, aprender y rectificar. Y en ello estamos.
En esta entrada quiero hablaros de agilidad. Desde hace tres años estoy colaborando con Estratecno que tiene una larga tradición en el campo de la gestión de proyectos y está especializada en métodos Ágiles. Cuando descubrí en un curso de Estratecno el método Scrum de desarrollo de software, pensé "¿Cómo no nos habíamos dado cuenta antes de todo esto?". Hasta ese momento yo ya había aplicado buenas prácticas, métodos frente a metodologías y metodologías ligeras para el proceso de desarrollo. La agilidad para mí vino a poner la guinda del pastel.
La agilidad tiene el espíritu adecuado para conseguir que un equipo de personas que está construyendo un producto software, sean capaces de obtener un producto de calidad y que realmente se adapta a las necesidades del cliente/usuario. Las personas y el equipo que forman tiene una enorme importancia. Desarrollar software a menudo es difícil e incluso muy difícil y esto da muchos quebraderos de cabeza. No es sencillo para un desarrollador estar siempre en las mejores condiciones físicas, mentales y anímicas que le permitan idear y elaborar algoritmos bien diseñados, operativos y fáciles de mantener. Es un trabajo meticuloso y en el que es importante estar al día en muchos aspectos. Por todo esto, cuando se desarrolla software es importante no sentirse sólo, es decir trabajar en equipo. Esto el método ágil Scrum lo potencia al máximo.
Llevo comprobando estos últimos tres años que la agilidad a ayudado a mejorar muchos departamentos de tecnologías de la información. Desde que en 1995 Ken Schwaber formalizase Scrum para la industria de desarrollo de software, son muchas las grandes compañías que han adoptado el método. Frente a los métodos predictivos, Scrum aporta grandes novedades. Como oí decir a Rafael Sabbagh de Scrum Alliance en una formación en Madrid, los promotores de un producto software a menudo no saben lo que quieren, aunque crean que sí lo saben. Realmente los requisitos de usuario no son más que una hipótesis de lo que quieren. Partiendo de esta premisa los métodos predictivos no pueden funcionar bien y por eso está aquí Scrum, para mejorar la ingeniería del software. No se trata de olvidar la historia anterior, sino de mejorar la actual. Muchas grandes e importantes organizaciones están haciendo uso de esta forma de trabajo y beneficiándose de sus ventajas.
Os invito a que profundicéis es este tema, por ejemplo de la mano de mi colega Alexander Menzinsky http://scrum.menzinsky.com/.
Hasta el próximo artículo.
Marisa Afuera