Upgrade to Pro — share decks privately, control downloads, hide ads and more …

#tarugo3 / Programania / Cómo gastarte (bien) los cuartos desarrollando software

TRGCON
September 21, 2018

#tarugo3 / Programania / Cómo gastarte (bien) los cuartos desarrollando software

En algunas empresas de éxito se cree que todo sucede “a pesar de la tecnología”, a pesar de un equipo técnico alienado de la realidad del negocio (cómo se gana y se gasta el dinero) y que, si es posible, se ha de subcontratar o controlar bajo varias capas de gestión y desconfianza.

Una desconfianza mutua, porque el equipo técnico también ve cómo se ignoran las buenas prácticas e infraestructuras que propone para no hipotecar futuros desarrollos o evitar problemas de seguridad.

En esta charla se habla de economía de software, de cómo romper esa desconfianza y acercar posturas para alinearse con los objetivos de la empresa. Hablaremos sobre buenas prácticas de desarrollo de software (integración contínua, backups, automatización, testing, cifrado...) y también de dinero (retorno, coste, riesgo, deuda…) y construiremos puentes para llegar a un entendimiento común y tomar decisiones en la misma dirección.

TRGCON

September 21, 2018
Tweet

More Decks by TRGCON

Other Decks in Technology

Transcript

  1. SOMOS NEGOCIO 2 BuntPlanet @artolamola LUIS ARTOLA Xabet @penguinjournals DAVID

    GONZÁLEZ Open Data Kit @ggalmazor GUILLERMO GUTIÉRREZ PROGRAMANIA ¿QUIÉNES SON? ¿DE DÓNDE VIENEN? PERO, SOBRE TODO, ¿POR QUÉ?
  2. SOMOS NEGOCIO 4 MENTALIDAD Debemos ser conscientes de que todas

    nuestras acciones tienen un impacto económico en el producto que realizamos HERRAMIENTAS ¿Cómo afectan las prácticas técnicas al coste, valor, riesgo y deuda de un producto? MARCO PARA TOMA DE DECISIONES Cuando estamos analizando diferentes alternativas técnicas, ¿analizamos su impacto económico antes de tomar la decisión? LENGUAJE COMÚN La gente de Negocio nos hará mucho más caso si les hablamos de lo que entienden y les importa VALOR, COSTE, RIESGO Y DEUDA DU YU SPIK ECONOMICS?
  3. SOMOS NEGOCIO 5 ¿POR QUÉ HABLAR DE ECONOMÍA DEL SOFTWARE?

    OBSERVAMOS Foco en lo técnico Modelos de gestión de churrería Falta de confianza mutua SENTIMOS Frustración, sensación de oportunidades perdidas Apatía NECESITAMOS Comunicación fluida Compartir objetivos PEDIMOS Un lenguaje común Reflexionar: ¿no tenemos todos el mismo objetivo?
  4. SOMOS NEGOCIO 8 AUTOMATIZACIÓN CONCEPTO 1 EvilCorp anuncia la nueva

    versión de su afamado ERP LoMioPaMi Cloud, alojado en AWS
  5. SOMOS NEGOCIO 9 AUTOMATIZACIÓN CONCEPTO 1 Enero Julio Hoy Agosto

    Los primeros contactos comerciales con clientes potenciales exigen instalaciones on-premise. Parece que la estrategia Cloud está coja.
  6. SOMOS NEGOCIO 10 AUTOMATIZACIÓN CONCEPTO 1 Julio Hoy Agosto Se

    duplica el número de clientes y su despliegue ocupa el doble de tiempo al equipo técnico. Enero
  7. SOMOS NEGOCIO 11 AUTOMATIZACIÓN CONCEPTO 1 Agosto Hoy Dada la

    tendencia, el equipo técnico se da cuenta de que su proceso de despliegue no escala y deciden invertir en un sistema de despliegue automatizado. Enero Julio
  8. SOMOS NEGOCIO 12 AUTOMATIZACIÓN CONCEPTO 1 Hoy Gracias al proceso

    automático de despliegue, duplicar el número de clientes afecta residualmente al trabajo del equipo técnico. Enero Julio Agosto
  9. SOMOS NEGOCIO 13 AUTOMATIZACIÓN CONCEPTO 1 EvilCorp hace lobby y

    la Unión Europea anula el cambio de hora de invierno/verano
  10. SOMOS NEGOCIO 14 AUTOMATIZACIÓN CONCEPTO 1 Enero Derpina encuentra la

    manera de realizar la adaptación el equipo de IT de EvilCorp deberá ejecutar la migración. EvilCorp hace lobby y la Unión Europea anula el cambio de hora de invierno/verano. Febrero Abril Marzo
  11. SOMOS NEGOCIO 15 AUTOMATIZACIÓN CONCEPTO 1 Abril Marzo Enero EvilCorp

    hace lobby y la Unión Europea anula el cambio de hora de invierno/verano. Febrero Derpina termina de preparar los cambios: ejecutar unos comandos mover unos ficheros y ejecutar unas instrucciones en la BBDD.
  12. SOMOS NEGOCIO 16 AUTOMATIZACIÓN CONCEPTO 1 Marzo Abril Derpina sabe

    que esta tarea se va a realizar una única vez y en vez de escribir un script para automatizar la intervención, decide que un documento de texto con instrucciones precisas puede ser más que suficiente. Enero EvilCorp hace lobby y la Unión Europea anula el cambio de hora de invierno/verano. Febrero
  13. SOMOS NEGOCIO 17 AUTOMATIZACIÓN CONCEPTO 1 Abril El equipo de

    IT, con la ayuda de Derpina, aplica los cambios en producción. Enero EvilCorp hace lobby y la Unión Europea anula el cambio de hora de invierno/verano. Febrero Marzo
  14. SOMOS NEGOCIO 18 Más coste hoy, pero menos coste en

    el futuro (inversión, amortización). VALOR AÑADIDO COSTE REDUCIDO RIESGO MITIGADO DEUDA PAGADA Bola extra: Puede aumentar, si el equipo deja tareas repetitivas y se centra en añadir valor Bola extra: Automatizar → entregar más a menudo → más feedback → reducir incertidumbre
  15. SOMOS NEGOCIO 19 ¿Estamos en exploración o explotación? Es difícil

    amortizar la automatización de un prototipo o una prueba de concepto. VOLATILIDAD FÓRMULA Automatizar también puede ser iterativo: ¿podemos empezar con un script bash y ya nos iremos complicando? ITERATIVO ¿Está el equipo centrado en tareas de Valor? Automatizar cosas puede ayudar a centrar al equipo.. COMO NEGOCIO Protegiendo la inversión Negocio y tecnología JUNTOS analizando el contextos y haciéndose preguntas para ver si la automatización es económicamente relevante Vale la pena = coste unitario de una tarea x periodicidad de repetir
  16. SOMOS NEGOCIO 24 REFACTORIZACIÓN CONCEPTO 2 EvilCorp quiere renovar su

    línea de ERPs para el sector de CEOs juveniles, empezando por añadir filtros de instagram a los gráficos de burndown
  17. SOMOS NEGOCIO 25 Enero El equipo recibe el encargo y

    descubre que no queda nadie (vivo o mentalmente sano) del equipo original. El código es un churro y nadie sabe muy bien ni cómo ni por qué funciona. Febrero Hoy Marzo REFACTORIZACIÓN CONCEPTO 2
  18. SOMOS NEGOCIO 26 Hoy Marzo Enero Febrero El equipo cree

    que podría implementar el primer filtro sin cambiar mucho el código original, pero prevén problemas de cara a futuros desarrollos. En vez de eso, deciden dedicar un par de iteraciones en aislar el código de las gráficas y reemplazarlo por una nueva versión testeada y modular. REFACTORIZACIÓN CONCEPTO 2
  19. SOMOS NEGOCIO 27 Marzo Hoy El código de gráficas ya

    no produce urticaria y cambiarlo es sencillo. El equipo implementa el primer filtro de instagram y continúa puliendo el diseño para facilitar la adición de nuevas funcionalidades. Enero Febrero REFACTORIZACIÓN CONCEPTO 2
  20. SOMOS NEGOCIO 28 Hoy EvilCorp es capaz de extender las

    funcionalidades del ERP sin que su complejidad pese sobre el ritmo de entregas y evitando comprometer partes funcionales no relacionadas. Enero Febrero Marzo REFACTORIZACIÓN CONCEPTO 2
  21. SOMOS NEGOCIO 29 REFACTORIZACIÓN CONCEPTO 2 EvilCorp desarrolla e implanta

    FranquiciaTracker 1.0 para gestionar turnos de trabajadores en tiendas de franquicias con hasta 1000 trabajadores
  22. SOMOS NEGOCIO 30 Enero El equipo comercial de EvilCorp empieza

    a sondear el mercado para vender licencias de FranquiciaTracker 1.0., que anuncia soportará hasta 1000 trabajadores. El equipo de desarrollo tiene la certeza de que tendrá problemas de rendimiento a partir de 100 trabajadores. Febrero Marzo Hoy REFACTORIZACIÓN CONCEPTO 2
  23. SOMOS NEGOCIO 31 Marzo Enero Febrero El equipo de desarrollo

    empieza a solicitar tiempo para volver a programar el módulo de gestión de turnos para que soporte hasta 1000 trabajadores preocupados por si llega un cliente tan grande. A día de hoy ninguno de los clientes tiene más de 100 trabajadores. Hoy REFACTORIZACIÓN CONCEPTO 2
  24. SOMOS NEGOCIO 32 A partir de las entrevistas con clientes

    potenciales, se descubre que hay mucho más interés por el boceto del módulo de gestión de almacenes de tienda, pendiente de desarrollar. ¡Oh! ¡El dilema! ¿Qué hacemos? ¿El refactor? ¿O pivotamos a la gestión de proyecto? Marzo Hoy Enero Febrero REFACTORIZACIÓN CONCEPTO 2
  25. SOMOS NEGOCIO 33 EvilCorp decide centrarse en mejorar el módulo

    de gestión de almacenes y asume que, quizá, reciba alguna queja de empresas con más de 1000 trabajadores. Hoy Enero Febrero Marzo REFACTORIZACIÓN CONCEPTO 2
  26. SOMOS NEGOCIO 34 Reduce el coste de añadir una funcionalidad

    nueva No cambia Eliminar deuda adquirida (por llegar a una demo, por ejemplo) Si no abordamos el pago ya, podemos estar pagando los intereses años VALOR AÑADIDO COSTE REDUCIDO RIESGO MITIGADO DEUDA PAGADA Bola extra: Entregar más a menudo, ser más competitivos
  27. SOMOS NEGOCIO 35 ¿Es un código volátil (prototipo, spike) o

    es algo esencial de la aplicación de la que pensamos vivir los próximos 10 años? Ningún proceso esencial usado intensamente en producción se puede permitir ser reescrito desde cero VOLATILIDAD FÓRMULA Las refactorizaciones también deben ser iterativas: lo ideal es ir añadiendo código y refactorizando… no generar horribles “sprints de refactorización”, etc. ITERATIVO Estar orgulloso de tu trabajo, tener una ética e inspirarse en la artesanía está estupendamente. Pero no aconsejamos decirle a Negocio: “voy a gastar tu dinero en sentirme orgulloso de mi código” COMO NEGOCIO Probabilidad de añadir ahí funcionalidad pronto x lo esencial que es la funcionalidad Protegiendo la inversión Negocio y tecnología JUNTOS analizando el contextos y haciéndose preguntas para ver si la refactorización es económicamente relevante
  28. SOMOS NEGOCIO 38 TRABAJO EN PAREJA CONCEPTO 3 Hulio, el

    empleado más veterano de EvilCorp, mantiene CoreTocho.jar, el núcleo del ERP LoMioPaMi. Los demás miembros del equipo técnico le piden a Hulio los cambios que necesitan y Hulio los encola
  29. SOMOS NEGOCIO 38 TRABAJO EN PAREJA CONCEPTO 3 Hulio, el

    empleado más veterano de EvilCorp, mantiene CoreTocho.jar, el núcleo del ERP LoMioPaMi. Los demás miembros del equipo técnico le piden a Hulio los cambios que necesitan y Hulio los encola
  30. SOMOS NEGOCIO 40 Hoy Mayo Enero Febrero Las peticiones del

    equipo técnico empiezan a encolarse, pero nadie se atreve a procesarlas. Se desata el caos cuando no se alcanza la primera deadline comercial debido a esto. TRABAJO EN PAREJA CONCEPTO 3
  31. SOMOS NEGOCIO 41 Mayo Hoy Hulio vuelve y el equipo

    decide comenzar a hacer los cambios en CoreTocho.jar siempre en pareja, hasta que haya al menos 3 personas capaces de meterle mano. Enero Febrero TRABAJO EN PAREJA CONCEPTO 3
  32. SOMOS NEGOCIO 42 Hoy Varios miembros del equipo pueden afrontar

    cualquier cambio en CoreTocho.jar, lo cual no solo reduce la probabilidad de bloqueo sino que además descubren que son capaces de entregar más a menudo porque han mejorado un cuello de botella. Enero Febrero Mayo TRABAJO EN PAREJA CONCEPTO 3
  33. SOMOS NEGOCIO 43 TRABAJO EN PAREJA CONCEPTO 3 Evilcorp necesita

    añadir un CRUD más a su ERP para gestionar traducciones
  34. SOMOS NEGOCIO 44 Enero Tras los aprietos a costa de

    la paternidad de Hulio y el éxito del trabajo en pareja, el equipo instaura el trabajo en pareja como norma para futuros desarrollos. Febrero Hoy Marzo TRABAJO EN PAREJA CONCEPTO 3
  35. SOMOS NEGOCIO 45 Hoy Marzo Enero Febrero Llega el encargo

    del nuevo CRUD y una pareja se pone manos a la obra. TRABAJO EN PAREJA CONCEPTO 3
  36. SOMOS NEGOCIO 46 Marzo Hoy En seguida se dan cuenta

    de que están haciendo una tarea muy fácil y que cualquier miembro del equipo podrá mantenerla aunque ellos no estén, así que deciden que la funcionalidad la haga uno de ellos por separado. Enero Febrero TRABAJO EN PAREJA CONCEPTO 3
  37. SOMOS NEGOCIO 47 Hoy El equipo reflexiona y decide no

    usar trabajo en pareja para tareas repetitivas y con poca incertidumbre. Enero Febrero Marzo TRABAJO EN PAREJA CONCEPTO 3
  38. SOMOS NEGOCIO 48 Se duplica Bus Factor: el número mínimo

    de miembros del equipo que deben desaparecer repentinamente de un proyecto antes de que el proyecto se detenga debido a la falta de personal experto. VALOR AÑADIDO COSTE REDUCIDO RIESGO MITIGADO DEUDA PAGADA Bola extra: Teclear nunca es el cuello de botella ¿Cuál es el cuello de botella?
  39. SOMOS NEGOCIO 49 ¿El equipo está “forming” o “performing”? ¿Va

    a ser un equipo estable de un producto estable? VOLATILIDAD FÓRMULA Reducir el bus factor o eliminar los cuellos de botella de conocimiento también puede ser algo iterativo o incremental: No hay por qué retrasar el comienzo de un proyecto con grandes formaciones previas. ITERATIVO Si te gusta echar unas jajas vete a un bar. Si trabajas en pareja, mejorando el flujo de entrega haciendo que no tengamos que esperarnos unos a otros, o reduciendo la dependencia en una persona y su riesgo asociado. COMO NEGOCIO Riesgo = probabilidad x gravedad ¿Qué probabilidad hay de que alguien se vaya de vacaciones? 100% Protegiendo la inversión Negocio y tecnología JUNTOS analizando el contextos y haciéndose preguntas para ver si el trabajo en pareja es económicamente relevante
  40. SOMOS NEGOCIO 52 ARQUITECTURA EVOLUTIVA CONCEPTO 4 Evilcorp apuesta por

    una nueva linea de negocio para el sector de albañilería con su nueva app RasillaYMortero y necesita contrastarla con el mercado lo antes posible. ¡La competencia nunca duerme!
  41. SOMOS NEGOCIO 53 Enero El equipo recibe el encargo pero

    nadie puede explicarles muy bien de qué se trata. Cosas en sitios con gente… ¡en una web! ¡responsive! Tiene que estar para la feria de febrero, donde los comerciales anunciarán el soporte para rasillas Bluetooth. Febrero Hoy Marzo ARQUITECTURA EVOLUTIVA CONCEPTO 4
  42. SOMOS NEGOCIO 54 Hoy Marzo Enero Febrero ARQUITECTURA EVOLUTIVA CONCEPTO

    4 Para poder llegar a la feria, el equipo ha implementado una arquitectura de cartón piedra. Toman el mínimo número de decisiones técnicas, a sabiendas de que en este punto, todo es totalmente volátil.
  43. SOMOS NEGOCIO 55 Marzo Hoy Llega el feedback de la

    feria y se confirma que el mercado reclama rasquetas WiFi, no rasillas Bluetooth, como pensaba el departamento de marketing. Enero Febrero ARQUITECTURA EVOLUTIVA CONCEPTO 4
  44. SOMOS NEGOCIO 56 Hoy El equipo técnico puede eliminar con

    facilidad lo poco que habían avanzado hacia el soporte de rasillas Bluetooth. Ahora puede centrarse en añadir soporte para rasquetas WiFi en la arquitectura de la solución. Enero Febrero Marzo ARQUITECTURA EVOLUTIVA CONCEPTO 4
  45. SOMOS NEGOCIO 57 ARQUITECTURA EVOLUTIVA CONCEPTO 4 Ante la escasez

    de programadores de Cobol, EvilCorp decide migrar su ERP a Java
  46. SOMOS NEGOCIO 58 Enero Tanto el alcance como los requisitos

    de escalado están claros, porque hay que replicar un software existente. Febrero ARQUITECTURA EVOLUTIVA CONCEPTO 4 Diciembre
  47. SOMOS NEGOCIO 59 Enero Febrero ARQUITECTURA EVOLUTIVA CONCEPTO 4 Como

    la solución está bien partida en trozos y la interacción entre estos está bien definida, cuando Hulio, que se iba a dedicar al módulo tienda y al módulo almacén se atasca con el módulo tienda, Derpina puede tomar la tarea del módulo almacén. Diciembre
  48. SOMOS NEGOCIO 60 Enero ARQUITECTURA EVOLUTIVA CONCEPTO 4 Diciembre La

    integración entre el módulo de almacén desarrollado por Derpina y el código del módulo de tienda desarrollado por Hulio funciona a casi la primera porque el alcance está claro y limitado. Febrero
  49. SOMOS NEGOCIO 61 Temprano Temprano != más valor Te arriesgas

    a gastar dinero en blufcionalidades que luego no aportan gran cosa. Te arriesgas a gastar dinero en crear macroconstrucciones para luego descubrir que no hacían falta VALOR AÑADIDO COSTE REDUCIDO RIESGO MITIGADO DEUDA PAGADA
  50. SOMOS NEGOCIO 62 ¿Es la solución canónica conocida? ¿Existen unas

    buenas prácticas que puedo googlear, aprender y ejecutar? ¿O por el contrario se trata de algo realmente innovador que, si se ha solucionado, sólo lo conoce nuestra competencia o no nos lo va a decir? VOLATILIDAD FÓRMULA Hacer la arquitectura evolutiva es todo un reto: require de una habilidad mayor que plantear toda la arquitectura a priori ITERATIVO Entregar valor desde las primeras fases te hace más competitivo (time to market) y hace que la inversión retorne antes (R.O.I) COMO NEGOCIO Riesgo = probabilidad x gravedad Protegiendo la inversión Negocio y tecnología JUNTOS analizando el contextos y haciéndose preguntas para ver si la arquitectura evolutiva es económicamente relevante
  51. SOMOS NEGOCIO 65 Cuanto más sepan los unos de los

    otros, mejor. Tener distintos puntos de vista es enriquecedor pero…. … tirar en distintas direcciones es contraproducente NEGOCIO Y TECNOLOGÍA: UN MISMO OBJETIVO Discutir sobre la idoneidad de una actuación técnica en función de cómo influye en la gestión económica del proyecto/producto: coste, valor, riesgo y deuda. OBJETIVO: PROTEGER LA INVERSIÓN Supeditar cualquier acción a sus aspectos económicos. Aprender a explicarnos en los términos que interesan al otro. Buscamos aumentar el valor mientras reducimos riesgos, costes y deuda. COMO TÉCNICOS Entender la técnica para tener unas expectativas adecuadas. Fijar un objetivo económico, y dejar que los técnicos lo traduzcan a código. COMO NEGOCIO CONCLUSIONES ECONOMÍA DEL SOFTWARE