Y la agilidad llegó a Visual Studio

Visual Studio 2012 es la cuarta versión de las herramientas de desarrollo de Microsoft que pone al equipo de desarrollo en el centro de la herramienta. Fue en la versión 2005 de Visual Studio cuando Microsoft pasó de construir herramientas enfocadas en el desarrollador a crear herramientas enfocadas en el equipo. Desde entonces se ha recorrido un larguísimo camino en el que los equipos de desarrollo versión tras versión hemos ido encontrando en Visual Studio novedades que extendían sus capacidades e integraban a todos los roles de un equipo de desarrollo en torno a una herramienta común. Un hito importante fue la llegada, en la versión 2010, de Test Manager y Lab Management como herramientas clave de ayuda a los perfiles de equipo centrados en la calidad. La adición de estas herramientas convirtió a nuestros testers en ciudadanos de primera clase dentro de Visual Studio dotándoles del soporte necesario para gestionar planes de prueba, resultados de pruebas y entornos en los que ejecutarlas. Pero sin duda la versión 2012 supone un salto cualitativo en Visual Studio: Visual Studio es la primera versión que es totalmente ágil, la primera versión que abraza los principios del desarrollo de software ágil en todas sus dimensiones.

¿Qué es la agilidad en el desarrollo de software?

Si bien este es un tema sobre el que se han escrito no decenas sino cientos de libros, la mejor síntesis sigue siendo sin duda el Manifiesto Ágil, que podéis encontrar en www.agilemanifesto.org. Este es un tema muy amplio, por lo tanto permitidme que me centre en lo relativo a que es una herramienta ágil. Una herramienta ágil es aquella que te ayuda a seguir los principios ágiles y sobre todo aquella que no se interpone en tu camino a la hora de trabajar. Si tuviésemos que resumir en un solo aspecto clave los valores del agilísimo, que son muchos, yo me quedaría con que ser ágil es crear software de valor para tus clientes de manera continua. Parece una definición simple y evidente, pero esconde muchas dificultades.

¿Por qué es importante ser ágil?

Está claro que la agilidad no es un fin en sí misma sino un medio para conseguir una mayor competitividad. Desde Plain Concepts hemos liderado la implantación de metodologías ágiles y de Visual Studio como herramienta de ALM en un gran número de organizaciones de todos los tamaños. Si algo han tenido en común todas estas empresas es cuál era el objetivo último: desarrollar más rápido y construir el software correcto. En la última encuesta sobre el estado del desarrollo ágil el 80% de los encuestados respondían que acelerar el time to market era uno de los principales motivos para para adoptar herramientas y meto. El segundo motivo para adoptar metodologías ágiles, con un 78%, es gestionar la respuesta ante cambios. Sin duda las metodologías ágiles ayudan a cumplir estos objetivos, que creo que muchos de los lectores compartirán. Si nos preguntamos cuál es la mejor manera de mejorar nuestra velocidad de desarrollo sin duda la respuesta es construir el software correcto, son dos realidades íntimamente relacionadas. Si algo he aprendido en los últimos años es que un aspecto vital del desarrollo de software es construir solo aquello que es de verdadero valor para los usuarios. No hay característica más rápida de construir, depurar y mantener que aquella que no se implementa. Sé que esto puede sonar a perogrullada pero es algo que a menudo olvidamos. Mirad el siguiente gráfico resultado de un estudio del Standish Group:

Es esclarecedor: el 64% por ciento de las características que construimos se utiliza raramente o nunca. Podemos pensar que a nosotros no nos pasa esto, que somos mejores que la media planificando qué características entran o no en nuestro software… De acuerdo, concedemos que somos mucho mejores, que solo el 30% o el 20% de lo que implementamos realmente no se usa… ¡es un desperdicio inaceptable en cualquier caso! A la vista de estos datos queda claro que nada es más efectivo a la hora de mejorar nuestra velocidad de desarrollo y construir el software adecuado que hacer una exquisita planificación de nuestro producto.

¿Cómo nos ayuda Visual Studio 2012?

Sin duda, versiones anteriores de Visual Studio brillaban con fuerza a la hora de ayudar a los equipos a implementar prácticas de ingeniería del software como pruebas unitarias, desarrollo guiado por pruebas, construcciones automatizadas, integración continua, etc… y no impedían el desarrollo ágil. Pero cojeaban en un aspecto clave: no nos ayudaban a planificar con agilidad y a visualizar nuestras planificaciones. Esto ha cambiado de manera radical en esta nueva versión. Todo ello gracias a que Microsoft ha puesto a disposición herramientas que permiten trabajar con nuestros requisitos, expresados como historias de usuario o no, de manera absolutamente ágil. Ahora basta con arrastrar y soltar elementos de nuestro backlog para mantener su prioridad actualizada, y lo que es mejor, en todo momento basándonos en nuestra velocidad de desarrollo podemos ver en qué iteración el equipo implementará una determinada característica. Además es más fácil que nuca recoger requisitos del usuario.

clip_image004

Pero recoger requisitos solo es una parte, asegurar que estos requisitos han sido correctamente entendidos y priorizados es tan importante como recogerlos. Para ello ahora contamos con una nueva herramienta en Visual Studio: la capacidad de construir storyboards con PowerPoint, herramienta con la que casi todos estamos más o menos familiarizados.

clip_image006

Además, aunque hayamos recogido los requisitos de manera adecuada todos sabemos que rara vez el cliente es capaz de expresar sus necesidades de manera correcta a la primera. Es aquí donde la mejora continua de las características implementadas en nuestro software, uno de los principios esenciales de las metodologías ágiles, toma el primer plano. Solo atendiendo a la voz de los usuarios y clientes podremos construir un software que les satisfaga y que logre un adecuado retorno de la inversión. Visual Studio 2012 nos proporciona una nueva herramienta gratuita, el Feedback Manager que nos permitirá recolectar el feedback de nuestros usuarios y compartirlo con el equipo de desarrollo de manera extremadamente simple.

En resumen, ninguna versión de Visual Studio anterior había permitido trabajar de manera tan ágil con requisitos, storyboards y, en general, colaborar con tanta facilidad con los clientes y usuarios para asegurarnos de que siempre estamos construyendo solo aquello que realmente aporta valor.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *