Joe Finsterwald
La importancia de la economía:
"Las ideas de los economistas ... son más poderosas de lo que se entiende comúnmente. De hecho, el mundo está gobernado por poco más."-John Maynard Keynes
Los desarrolladores de software están constantemente enfrentados a decisiones difíciles con respecto a la mejor manera de realizar una tarea o resolver un problema. Como resultado, estamos inundados de listas de precaución y artículos ensalzando los beneficios de las mejores prácticas. No haga "X" o asegúrese de hacer "Y". Los desarrolladores, sin embargo, a menudo no se les pide dar un paso fuera de sus funciones de desarrollo y piense en su código desde una perspectiva económica. El hecho es que para muchos de nosotros, el desarrollo es un negocio. Es nuestra primera profesión, incluso si pasa a ser nuestro segundo pasatiempo. En consecuencia, hacemos un flaco favor a nuestros empresarios, nuestros clientes y nosotros mismos cuando no somos capaces de pensar en el desarrollo de software en términos económicos.
Este artículo analiza algunos de los principios básicos de la economía que debe entrar en su forma de pensar antes de escribir que la próxima línea de código, empezar a trabajar en ese error, o bien optar por esta nueva característica fresca. Pensar de esta manera ayudará a que eleve del zángano que hace código a la esquina de un socio de negocios muy importante.
Cada error es sagrado. ¿O lo es?
Acabas de descubrir un error en una aplicación que utiliza su empresa para rastrear nuevas oportunidades de ventas. El equipo de ventas está furioso y su jefe está comprobando con que cada par de minutos para ver si se resuelve. Usted ya ha dejado una serie de mensajes que suenan cada vez más desesperados por el consultor que crea la aplicación. Por último se pone en contacto con usted. Él dice que tomará 10 horas a 200 dólares la hora de solucionar el problema. $ 2.000 dólares parece un montón de dinero a usted para que dude antes de decidir si se debe dar al consultor el visto bueno.
Entonces, ¿cuál es el costo de corregir el error? La respuesta de sentido común es de $ 2.000. Sin embargo, para un economista la respuesta es menos clara. El costo que representa para la empresa es de $ 2,000, pero el costo de oportunidad es potencialmente mucho mayor. ¿Cuál es el costo oportunidad que usted pide? Formalmente, se define como el valor de la alternativa no percibidos más valorada. Si usted está rascando la cabeza sobre la definición, imaginar que no corregir el error se traduciría en el equipo de ventas de la pérdida de un proyecto de millones de dólares. En este caso, el costo de oportunidad es un millón de dólares, que es significativamente más alto que el costo contable. En otras palabras, al no corregir el error que renunciar a una oportunidad millones de dólares para la empresa y la oportunidad del millón de dólares es la más valorada de todas las opciones que están disponibles para usted. Usted debe, obviamente, corregir el error.
No hay almuerzo gratis ... |
Ahora imagine el mismo escenario, excepto en este caso el error antes mencionado es una apariencia cuestión que sólo afecta a los empleados internos. También sabemos que el presupuesto para el desarrollo del departamento de ventas ya está atado, y cada gasto debe sopesarse cuidadosamente frente a otras prioridades. El equipo de ventas puede ser molesto, pero es que vale la pena para corregir el error?
La respuesta es probablemente no. Este principio puede parecer contrario a la intuición ya que como un desarrollador que ha estado más probable es inculcado en la creencia de que si se encuentra un error que debe ser corregido. Mantras se han construido en torno a la ermita de cero defectos, pero en realidad ese tipo de calidad tiene un costo. Cada decisión tiene un descuento comercial y el software no es diferente de cualquier otra cosa. La lección es: no todos los errores deben fijarse si su esfuerzo puede ser mejor gastado en otro lugar. La próxima vez que diga a su jefe que el costo opprotunity es demasiado alto para arreglar ese error, que tal vez inconvenientes a algunos usuarios y que se debe dejar que usted se centra en que la nueva función que abrirá las fuentes de ingresos adicionales.
Optimizar o no optimizar:
Ahora imaginemos otro escenario. Hace un par de años que escribió un informe automatizado para su empresa. Cuando escribió su primer informe a la gente en materia de contabilidad eran exuberante que ha tomado una tarea que antes llevaba días para completar reduce a una cuestión de minutos. Todo el mundo estaba tan impresionado que terminó en su revisión final del año y fue instrumental en conseguir que una gran ventaja. Ahora, sin embargo, la monotonía que liberaste a sus compañeros de trabajo de se ha olvidado y la gente ni siquiera han comenzado a quejarse de cuánto tiempo se necesita para ejecutar el informe que escribió. Ingratos! Para hacer las cosas más molestas que su jefe, incluso ha solicitado a acelerar su informe. ¿Crees que con un poco de optimización se puede reducir el tiempo de ejecución de su informe de entre 5 minutos y 1 minuto. Es esta una tarea que vale la pena?
Para responder a esta pregunta que tendrá que realizar un análisis de costos. ¿Cuánto cuesta hacer funcionar su informe? Para resolver esto vamos a tener que ser un poco creativo, y vamos a necesitar algo de información extra.
Tenemos que averiguar la frecuencia de uso de la información. Para ello tendremos que añadir un poco más de detalle a nuestro escenario. Imaginemos que un contador en la oficina corporativa se ejecuta el informe que escribió en el primer día de cada mes. Nuestro contador imaginaria tiene un trabajo bastante bueno. Ella sólo trabaja un 40 horas a la semana y le pagan un salario de $ 31.25 por hora. Ahora vamos a hacer los cálculos.
- El salario de un contador por minuto: $ 31.25 / 60 = $ 0,52
- El coste para la empresa para ejecutar el informe 5 minutos durante un año: $ 0.52 * 5 * 12 = $ 31.25
- El coste para la empresa para ejecutar el informe 1 minuto para un año: $ 0.52 * 12 = $ 6.25
- La diferencia de costos entre los dos informes: $ 31.25 - $ 6.25 = $ 25
Ya casi llegamos! El costo de oportunidad de la empresa de no volver a escribir el informe es el dinero adicional de los salarios que se deben pagar al contador que se ejecuta el informe, y los intereses no percibidos en el que el dinero pagado. La empresa no hubiera pagado el dinero de los salarios podría haber invertido en el mercado. Como resultado de ello, tendremos que dar cuenta de los intereses no percibidos para el cálculo de costes. Los economistas llaman a esto el costo de uso del capital: más formalmente, el costo de oportunidad que se incurre como consecuencia de la posesión y el uso de un activo.
Para calcular el costo en términos de interés que tendremos que calcular el valor temporal del dinero. La ecuación de valor futuro (FV) de una anualidad nos permite descubrir el valor futuro de los pagos anuales.
Ecuación de Valor Actual Neto
La siguiente tabla muestra los resultados de nuestros cálculos. El valor futuro se ha calculado para los tres tipos de interés diferentes y cuatro períodos de tiempo diferentes.
Tasa de interés: | |||
3% | 5% | 7% | |
FV 5 años | $132.73 | $138.14 | $143.77 |
FV 10 años | $286.60 | $314.45 | $345.41 |
FV 15 años | $464.97 | $539.46 | $628.23 |
FV 20 años | $671.76 | $826.65 | $1,024.89 |
Es interesante ver el efecto de unos minutos repartidos en varios años. Ahora imagínese si no fuera un usuario, pero mil y que el informe se ejecute todos los días en lugar de cada mes. En este caso, la optimización del rendimiento se hace más de un esfuerzo que vale la pena porque el costo de oportunidad de no solucionar el problema estaría en los millones!
Este escenario también muestra el efecto combinado de la tasa de interés y el tiempo en el costo de la optimización del rendimiento. Muchos desarrolladores podrían considerar la tasa de interés es un factor insignificante en un problema de optimización del rendimiento, pero cuando se piensa en términos de costo de oportunidad y el factor en el coste de uso del capital de los resultados en el tiempo pueden ser significativos.
En una escala más grande es el cambio en la tasa de interés afecta el mercado de software. Los economistas se refieren a la tasa de interés como el precio del dinero. Cuando el precio del dinero es alto estamos normalmente en una recesión, cuando el precio del dinero es bajo experimentamos la expansión económica. Sospecho que cuando el trabajo se ralentiza y las empresas se encuentran en un desarrollo de la contracción económica se centra en la refactorización más de desarrollo de nuevas aplicaciones. Este cambio de enfoque sería debido en parte a la escasez de obra nueva, sino también porque las empresas tienen más de un incentivo económico para trabajar en los problemas de refactorización, cuando la tasa de interés es alta y su tolerancia al riesgo es bajo. Es el equivalente de software de un vuelo hacia la calidad.
Conclusión:
Es una locura para mí que muchas decisiones importantes en materia de software se realizan en ausencia de información sobre los costos. En mi opinión la capacidad de gestionar los recursos con eficacia y para tomar decisiones de negocios requiere que usted tenga una comprensión de los principios elementales de la economía. Aprender a pensar como un economista es similar al aprendizaje de la programación orientada a objetos, ya que es un principio contrario a la intuición. Sin embargo, aumentar su comprensión de los conceptos económicos como el costo de oportunidad le proporcionará una metodología rigurosa para pensar acerca de los problemas en general, y en última instancia, hará un mejor desarrollador y socio de negocios.
Espero que este artículo ha sido útil para usted. Por favor, no dude en enviarme un correo electrónico si usted tiene cualquier pregunta (mi correo es en el "Sobre el autor" de arriba.) Si usted piensa que me he perdido algo, yo agradecería mucho que me deja saber.
Joseph Finsterwald