Guía Esencial

Navegue en las secciones

BACKGROUND IMAGE: iSTOCK/GETTY IMAGES

Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

Soluciones colaborativas al desarrollar: una orquesta sinfónica

El desarrollo de software no es una actividad trivial; requiere analizar, recolectar información, coordinar, llegar a acuerdos, entender la operación, entender al cliente, entender los problemas y sobre todo priorizar con base a la capacidad de desarrollar la solución.

El desarrollo de software en algún momento (muy muy lejano) se percibió como una actividad de una sola persona sentada codificando al ritmo de un pianista que toca durante todo el día y toda la noche. Pero en realidad es un proceso creativo que involucra a muchos roles, cuanto más grande sea el proyecto más involucrados existirán y todos colaboran (sí, los clientes también).

Así que en realidad es una orquesta y la cantidad de músicos que requiera depende del tamaño e impacto del proyecto.

Algo de lo que la mayoría estamos conscientes pero rara vez hablamos es que las condiciones del desarrollo en la mayoría de los casos no son favorecedoras, hay varios factores pero los más predominantes son:

  • La prisa del cliente por recibir lo que “pide”
  • La prisa de la empresa desarrolladora por facturarle al cliente
  • Y las dos anteriores provocan prisa por codificar

Históricamente la prisa por codificar no nos ha traído nada bueno, porque no se trata de programar sin parar, se trata de DESARROLLAR SOLUCIONES con un entendimiento suficiente de capacidades. Sin una sinfonía la orquesta no tiene con qué trabajar. Sin entendimiento de la problemática a solucionar, no se pueden crear buenos desarrollos.

No es una actividad trivial, requiere analizar, recolectar información, coordinar, llegar a acuerdos, entender la operación, entender al cliente, entender los problemas y sobre todo priorizar con base a la capacidad de desarrollar la solución y que todos los involucrados estén conscientes de esa capacidad que SIEMPRE es limitada y me atrevo a decir “siempre” porque no importa lo que hagamos, solo tenemos 24 horas al día de las cuales trabajamos (o deberíamos trabajar) solo ocho.

Imagina esta situación: Parte de los miembros de la orquesta saben que hay que incluir a los del contrabajo y las arpas, pero no se llevan bien con ellos y aparte si los involucran desde el principio se requerirán más ensayos, así que mejor ensayan sin ellos y nada más les avisan el día en que tienen que presentarse al concierto. ¿Cómo crees que va a salir eso?

La prisa por codificar, por recibir y por facturar también provoca que evitemos incluir a involucrados importantes que no invitan a tiempo a ensayar con el resto de la orquesta: Áreas de Infraestructura. Los evitamos por razones “naturales” porque es natural querer minimizar las actividades que tenemos y por supuesto involucrar en etapas tempranas a áreas de infraestructura aumenta las actividades a realizar; el fenómeno chistoso es que no importa que nos los involucremos, al final el software no se puede quedar feliz y libre en un ambiente de desarrollo, requiere salir a la superficie, requiere estar en producción, está vivo y necesita su espacio y ese espacio lo dan las áreas de infraestructura.

Conciertos ágiles

Los clientes actuales prefieren entregas frecuentes, pagar y esperar un año por un concierto que dure todo un día ya no es viable e incluso es cansado. Qué mejor que cada cuatro semanas disfrutar de un concierto de dos horas con las canciones de su preferencia y al final poder tener el conjunto de todas las canciones que pidió.

Los métodos ágiles responden a la necesidad de los negocios de obtener entregas frecuentes con valor, y es una necesidad porque los mercados cambian constantemente, si antes las prioridades cambiaban con cierta frecuencia ahora esa frecuencia es mucho más alta, esa es la nueva exigencia, ese es el reto, el que no se suba al reto no podrá darle a sus clientes lo que necesitan en el momento en la que lo necesitan.

El desarrollo de software a la medida ha estado presente y seguirá estando, la convivencia entre aplicaciones es cada vez mayor, es muy difícil que un desarrollo no conviva más que con su propia base de datos, no, se convive con varias bases de datos, con varias aplicaciones, con muchos componentes. Si los sistemas conviven y colaboran es simplemente el reflejo de lo que los equipos que los crean también deben de hacer.

Sin colaboración no hay software efectivo. Formemos orquestas de desarrollo que enriquezcan todos los sentidos de nuestros usuarios, que la efectividad sea la música que acompañe a nuestros clientes en su operación diaria, música que ayude a aumentar la productividad y a tomar buenas decisiones. 

Sobre el autor: Vanessa Amaya es Agile Coach de CECoaching, miembro del Comité del TSU de Software de la Universidad IBERO y miembro organizador de la Comunidad Agile Nights. Cuenta con 14 años de experiencia en proyectos de desarrollo de Software en Corporativos de la rama Financiera, Automotriz, Farmaceútica y Logística como Consultora, Instructora y Coach. Sus pasiones profesionales son la Ingeniería de Requerimientos y los Métodos ágiles. Sígala en twitter: @vanessa_amaya

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close