Desafíos intangibles del desarrollo de software 2/3
En el primer post respondimos a la Frase #1, comentando nuestras experiencias en relación a ciertos desafíos difíciles de medir a la hora de estimar esfuerzos para un proyecto de desarrollo.
Continuamos con la siguiente explicación:
Frase 2: ¿Por qué al inicio anda todo bien y después se degrada el rendimiento y la respuesta a casi todo es “reiniciá tu equipo”?
Trataremos de explicarlo haciendo una analogía similar a la respuesta en Quora con la que iniciamos la serie de posts.
Supongamos que tu negocio es vender comida artesanal, donde preparás unos pocos platos exclusivos, o como mucho unas pocas decenas en la misma jornada.
¿Es igual de sencillo cocinar para 10 personas que para 100? ¿Que tal para 300?
Si comprás ingredientes para 20 o 40 platos, lo comprás de tu lugar habitual y conocés la calidad de cada uno de ellos; si tenés que comprar 10 veces esa cantidad, es probable que ya tengas que recurrir a otros proveedores, cuya constancia con la calidad desconocés. Riesgo #1: Control de calidad de tu materia prima.
Tu equipamiento, tu cocina, horno, cuchillos, etc. te sirven a vos, cuando estás cocinando para 10; para 100 necesitarás ayuda con seguridad, y probablemente nuevos equipos (aunque sea en alquiler). Riesgo #2: Mano de obra capacitada por periodos cortos.
Al comienzo, con 2 hornos más, y sólo 1 persona extra de ayuda, todo va bien; podés servir a las primeras 50 personas sin mayores inconvenientes; o incluso a las 80 primeras.
Luego el sistema de ventilación que no estaba preparado para soportar tanta cocina, dejó de extraer humo; sonó la alarma contra incendios y se dispararon los rociadores arruinándote los 30 platos que estabas por servir (Riesgo #3: Previsión de Infraestructura); para peor, la instalación eléctrica explotó porque al prender el 3er. horno industrial se sobrepasó la carga contratada y el generador sólo provee electricidad para las luces y unos aparatos mínimos; de ninguna manera aguanta los electrodomésticos profesionales. Riesgo #4: Anticipación a ciertos cambios durante la ejecución.
Todo funcionaba bien al comienzo, pero al crecer el negocio; crecieron las exigencias; e inicialmente sólo pagaste por un sistema que te servía para atender unas pocas decenas de clientes, colapsó; es normal que necesites ajustes o gente con más experiencia para un nuevo sistema. Riesgo #5: Delegar el control de calidad.
Algo similar nos sucede con sistemas nuevos, ciertas condiciones se pueden planear, en base a la experiencia; pero cada negocio es diferente; podemos minimizar las "escuelas" pero es muy costoso prever todas las situaciones riesgosas conocidas.
Ni siquiera las empresas de software más grandes del mundo pueden hacerlo, por eso IBM, SAP, Oracle, Red Hat, etc. te cobran la licencia por un lado y te cobran la implementación por el otro; este segundo por lo general es proporcional al esfuerzo en horas que les lleve hacerlo.
La implementación, es aprender tu negocio y adecuar el sistema a sus condiciones.
A veces un enlatado funciona, pero cuanto más se separe tu negocio de la media; más motivos tendrás para buscar una solución a medida.
Investigá en tu rubro, las empresas que son tu competencia, o tu modelo internacional a seguir.
¿Cuál porcentaje de su presupuesto destinan a TI?
Es muy importante hablar en términos de porcentaje porque obviamente Toyota no estará invirtiendo la misma cantidad de dinero que Changan, pero es probable que sí estén en porcentajes cercanos, según el mercado y los niveles de producción de cada marca.
Según The Computer Economics IT Spending and Staffing Benchmarks, como referencia, entre el 2014 y el 2018 el porcentaje del presupuesto destinado a TI sobre el presupuesto de las empresas encuestadas, osciló entre 2,4% y 3 %.
Cuarenta y siete porciento (47%) de los encuestados planeó aumentar sus presupuestos en el 2018. La encuesta sólo incluyó empresas que gastan anualmente al menos USD 1 millón en TI.
Es decir, sólo se tuvo en cuenta empresas de presupuestos anuales de aprox. USD 41 millones.
A modo de ejercicio, si tomamos los 5 mayores contribuyentes de la SET del 2017 copia de contribuyentes 2017 de los 500 mayores aportantes, y para tener una aproximación relativa de cuánto invierten, simplificamos los aportes a sólo IRACIS, sobre sus utilidades; los presupuestos de TI de estas 5 empresas los calculamos a continuación.
Hacemos la salvedad de que sabemos que los márgenes reales de ganancia no serán los mismos para todos. El ROI de una industria es diferente al de una empresa de servicios o comercializadora.
El ránking de aportantes a la SET 2017
Posición | USD millones en aporte a la SET
1 | 62,6
2 | 56,8
3 | 40,4
4 | 34,4
5 | 33,7
Seguimos el ejercicio, asumiento que invierten en TI lo mínimo de los encuestados : 2,4 %.
Posición | Presupuestos anuales teóricos de TI (en millones de USD.)
1 | 4M
2 | 3.6M
3 | 2.6M
4 | 2.2M
5 | 2.1M
Es decir, la empresa que más contribuye a la SET, estaría gastando aprox. USD 4.006.400 por año, USD 333.866 mensual en su departameto de TI, más de 2 mil millones de guaraníes. Y a su vez, invierte casi el doble que la empresa situada en el puesto 5 del ránking.
Estamos sacando hipótesis de cómo se comportarían estas empresas con respecto a TI; si estuvieran en EEUU o le dieran la misma importancia que en ese país.
Tendríamos que hacer la misma encuesta en Paraguay; para saber cuánto realmente invierten las grandes empresas en TI; y en base a eso poder dimensionar cuanta es la importancia que tiene TI dentro de su empresa.
Los presupuestos cuentan historias: de poder dentro de la empresa, de interés de la empresa y de la dirección a donde apunta el negocio.
En conclusión, tu sistema funcionará según los controles de calidad que le hayas aplicado; muy relacionado con el costo que tendrá finalmente la producción del software.
Tu sistema requerirá menos reiniciadas, en cuanto más calidad de inversión tenga su proceso de desarrollo.
En el siguiente Post, responderemos a la Frase #3:
¿Voy a cambiar de tecnología, porque no estamos avanzando con el lenguaje X y hoy en día en Silicon Valley todos usan el lenguaje Z?