En la economía digital, su software es su ventaja competitiva
Muchas empresas responden a la competencia digital adoptando metodologías como la agilidad, la creación de «centros de innovación», la adquisición de empresas emergentes o la subcontratación del desarrollo de aplicaciones a firmas de consultoría. Pero los verdaderos disruptores saben que en la economía digital, quien cree el mejor software gana. Las empresas que quieren competir tienen que capacitar a sus desarrolladores y adoptar una «mentalidad de software»: asigne problemas a su equipo, en lugar de tareas; ejecute muchos experimentos y tolere los fracasos; obsesionarse con la velocidad y mantener a los desarrolladores cerca de sus clientes.
••• Hace quince años, cuando trabajaba como director de producto en Amazon, Jeff Bezos declaró en una reunión general que Amazon no era una tienda minorista, era una empresa de software. «Nuestro negocio no es lo que hay en las cajas marrones. Es el software el que hace que las cajas marrones estén de camino», nos dijo. «Nuestra capacidad de ganar se basa en nuestra habilidad de organizar las partículas magnéticas en los discos duros mejor que la competencia». Poco después dejé Amazon para fundar mi propia empresa, Twilio. Pero la lección de Jeff me ha quedado grabada desde entonces, especialmente cuando visito a nuestros clientes, muchos de los cuales se dedican a la transformación digital. Esas empresas esperan emular a empresas disruptivas como Uber, Lyft, Airbnb y Spotify, y competir contra gigantes como Amazon y Salesforce. Pero muchos no se dan cuenta de lo que Bezos sabía hace mucho tiempo: en la economía digital, quien cree el mejor software gana. Lamentablemente, muchas empresas nunca han considerado el desarrollo de software como una competencia fundamental. Se basan en programas empaquetados que venden vendedores de software independientes y contratan consultores para escribir códigos personalizados. El problema es que los programas empaquetados son talle único y no se pueden personalizar demasiado. Eso podría estar bien para los sistemas de back-end, como RRHH y finanzas, pero para las partes de la empresa orientadas al cliente, utilizar software estándar ya no es suficiente. ¿Cómo puede diferenciarse y obtener una ventaja competitiva si utiliza el mismo software que todos los demás? En esa parte de su negocio, su elección ya no es «construir o comprar». Es «construir o morir». Eso significa que las organizaciones deben crear sus propios equipos de desarrollo de software y permitir a los desarrolladores que resuelvan problemas de forma creativa. Las empresas pueden empezar por volver a capacitar al personal técnico existente. Estas personas se encuentran entre sus empleados más valiosos, pero a menudo son un recurso sin explotar. Pero las empresas también deben contratar y retener a los mejores ingenieros de software. ¿Cómo atrae una empresa no tecnológica a los grandes desarrolladores? Debe cambiar su forma de ver a los desarrolladores. Los mejores ingenieros no trabajarán para una empresa que los trate como «monos de los códigos», atrapados en alguna oficina administrativa, produciendo código por encargo. Los mejores desarrolladores quieren un asiento en la mesa. Involucre a los ingenieros en la resolución de problemas estratégicos y la toma de decisiones. Déles una voz para dar forma al futuro de la empresa y la libertad y la autonomía necesarias para ser creativos. Elevar el papel de los desarrolladores implica un cambio de poder sutil (o a veces no tan sutil) y, a veces, provoca una reacción violenta por parte de partes de la organización que se sienten amenazadas por la creciente influencia de los tecnólogos. Para que esto funcione, tiene que cambiar la mentalidad de toda la organización. El compromiso debe empezar por arriba. ## **Una verdad incómoda** Los operadores tradicionales suelen responder a la competencia digital adoptando metodologías como la agilidad y capacitando a miles de personas. Otras respuestas comunes incluyen la creación de «centros de innovación» separados de la compañía madre, la adquisición de empresas emergentes con la esperanza de difundir su ADN en toda la organización y la subcontratación del desarrollo de aplicaciones a firmas consultoras. Sin embargo, la mayoría de las empresas descubren que, tras tomar estas populares medidas, nada ha cambiado realmente: los disruptores digitales siguen avanzando rápidamente porque la creación de software es solo su ADN. La buena noticia es que hoy es más fácil desarrollar software que hace una década. En lugar de crear aplicaciones desde cero, los desarrolladores combinan microservicios, pequeños programas cada uno de los cuales proporciona funciones específicas, como comunicaciones y facturación. Las modernas herramientas de desarrollo y la automatización también aceleran las cosas. La recompensa puede ser enorme. Crear software internamente significa que los programas se pueden adaptar perfectamente a las necesidades únicas de su organización. En lugar de pedirle a Giant Software Co. una nueva función y esperar meses o incluso años para conseguirla, se crea un equipo de ingenieros internos que ponen el código en producción en cuestión de semanas, o incluso días. Por ejemplo, cuando Patrick Doyle se convirtió en CEO de Domino's en 2010, determinó que en una empresa de productos básicos la mejor manera de obtener una ventaja competitiva era ofrecer una mejor experiencia al cliente. Eso significaba tener un mejor software y excelentes aplicaciones móviles para teléfonos inteligentes. Domino's amplió 10 veces su organización de desarrollo e integró a los desarrolladores con los equipos de marketing. Juntos crearon aplicaciones y funciones innovadoras, incluida una que permite a los clientes hacer un seguimiento del progreso de su pedido desde el horno de pizza hasta la puerta de su casa. Un excelente software permitió a Domino's adelantarse a sus competidores y convertirse en la mayor cadena de pizzas de Estados Unidos. Desde 2012, el precio de las acciones de Domino's se ha disparado a 400 dólares desde 32 dólares, superando a Apple, Facebook y Google en ese período. ING, uno de los bancos más grandes del mundo, inició una transformación similar cuando Ralph Hamers pasó a ser CEO en 2013. Siguiendo el ejemplo de las empresas emergentes de tecnología, Hamers convirtió a ING en una organización que priorizaba lo digital. Invirtió mucho en el desarrollo de software y animó a los ingenieros de software a correr riesgos y a ser creativos, lo que incluyó el desarrollo de programas locales para reemplazar los paquetes comerciales. En 2018, un pequeño equipo de ingenieros de ING desarrolló un programa a medida para reemplazar un caro sistema de software empaquetado que utilizaban los representantes del servicio de atención al cliente del banco. El software interno supera al antiguo programa de software empaquetado y cuesta sustancialmente menos. Lo mejor de todo es que ING puede seguir añadiendo nuevas funciones cuando quiera. Una dinámica similar se está produciendo en Target, U-Haul y Allianz, la mayor aseguradora del mundo. Estas organizaciones están adoptando una «mentalidad de software», que se basa en algunos principios fundamentales: **Asigne problemas, no tareas.** Tradicionalmente, la gente de la parte empresarial tiene ideas y se las entrega a los desarrolladores que tienen la tarea de convertirlas en código. En cambio, deje que los desarrolladores contribuyan a la solución de los problemas empresariales. ¿Quién sabe mejor cómo aplicar el software a su empresa que las personas que tienen un profundo conocimiento de la tecnología? **Tolerar el fracaso**. La experimentación es el requisito previo para la innovación. Cree un entorno en el que los desarrolladores realicen muchos pequeños experimentos y en el que se celebre el fracaso y no se castigue. Realice autopsias sin culpa para descubrir por qué un experimento ha fracasado y qué puede aprender de esa experiencia. **Obsesionarse con la velocidad.** Las empresas emergentes publican nuevos códigos constantemente, todos los días. Las empresas ya no pueden dedicar meses a desarrollar nuevos programas. Busque sin descanso formas de reducir el tiempo que se tarda en pasar de una «gran idea» a un código de producción que funcione. **Mantenga a los desarrolladores cerca de los clientes**. Elimine las barreras organizativas que separan a los desarrolladores de las personas que realmente utilizan su software. Cuando los desarrolladores hablan con los clientes, pueden ofrecer funciones mejores y más útiles en menos tiempo. Cada organización adoptará la mentalidad del constructor a su manera. Sin embargo, estos principios proporcionan un marco para crear una organización de desarrollo de software de primera clase, de modo que pueda responder más rápido a las necesidades de los clientes, adaptarse a un mercado en constante cambio y mantenerse al día con las amazonas del mundo.