jueves 2 de agosto de 2007

El software se construye para los negocios

Nivel: Todos

¿Alguna vez has escuchado a alguien decir que estas haciendo mal una tarea porque afirma no la llevas a cabo como lo pide la aplicación de software? ¿Que te tienes que ajustar a la manera en la que trabaja el software? ¿Que el software fallo por un "error del usuario"? Yo sí. Ahora, la verdad, ¿les crees? Yo no.

Uno de los mayores retos en el desarrollo de productos de software consiste en hacer que estos trabajen para los negocios que los necesitan. Las organizaciones persiguen un objetivo: distribuir un producto, prestar un servicio ya sea con o sin fines de lucro. Para esto necesitan trabajadores, insumos, maquinaria y/o equipo, un entorno productivo y una técnica o forma de llevar a cabo el trabajo que demanda alcanzar la meta, suena lógico, incluso obvio, ¿verdad? Muy bien, ahora has memoria, ¿cuántos desarrollos de software hemos comenzado sin entender, ya no digamos en su totalidad, como funciona la parte del negocio que se supone que se agilizará o beneficiará de la "automatización" de actividades? ¿se puede construir una solución sin entender el problema? ¿tú que crees? ¿cuantas veces has liberado un producto y éste no cubre las necesidades o, en ocasiones, estorba a los trabajadores? Testimonios tales como: "Desde que instalaron el sistema, levantar el inventario nos lleva 3 días... antes nos llevaba 1 día. Tenemos que venir el sábado y el domingo para estar listos para el lunes. Y sí, si sabemos usarlo, si nos capacitaron". "Mucho ayuda el que no estorba", dirían por ahí.

Seguimos procesos de desarrollo, ágiles o burocráticos, que, nos jactamos, se dirigen por los requerimientos (casos de uso, por ejemplo), pero ¿cómo nos aseguramos de que los requerimientos son los correctos? ¿porqué un trabajador o grupo de trabajadores lo dijeron? o ¿porqué así lo indican los manuales de procedimientos de la empresas? Ahora, si bien es otra historia, ¿cómo sabemos que nuestras técnicas para transformar los requerimientos correctos en el producto correcto son las adecuadas?

Uno de los mayores riesgos en el desarrollo de software consiste en construir la solución incorrecta, es decir, la que estorba en lugar de ayudar. Mientras los "techies" no entendamos que el software se debe ajustar al los negocios y no al revés, y mientras no entendamos que el "traje a la medida" necesita conocer como funciona éste, siento decirlo pero seguiremos automatizando problemas y no soluciones.

0 comentarios: