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

El papel de la arquitectura en la velocidad de entrega de software

El papel de la arquitectura en la velocidad de entrega de software

Charla impartida en https://salmorejotech.com 2019. En esta charla hablamos sobre los factores que influyen en el desempeño de las organizaciones que dependen de la entrega de software. Exploramos el papel que juegan la arquitectura y el diseño de software y como ignorar algunos de estos aspectos nos llevaron a escribrir una gran bola de barro en Audiense.

Contamos la historia de cómo ha evolucionado la base de código de Audiense durante sus 8 años de vida y vemos ejemplos de código (lo malo, lo no tan malo, lo nuevo y lo nuevo nuevo), diagramas de arquitectura y anécdotas reales que han ido amoldando nuestra forma actual de entender el desarrollo de software.

Las slides no tienen mucho valor si no se ha visto la charla pues es sólo un apoyo visual a la misma.
Vídeo: https://www.youtube.com/watch?v=7s5y9pThRsk

Podéis escribirme en http://twitter.com/aartiles24

Alfredo Artiles

September 13, 2019
Tweet

More Decks by Alfredo Artiles

Other Decks in Programming

Transcript

  1. El papel de la Arquitectura en la Velocidad de Entrega

    de Software Alfredo Artiles Co-founder & CTO @aartiles24
  2. Agenda ¿Qué factores influyen en nuestra velocidad de entrega de

    software? Historia de nuestra Gran Bola de Lodo Enséñame tus Hexágonos
  3. Cubano de nacimiento y cordobés de adopción (adicto al salmorejo).

    Lic. en Ciencias de la Computación por la Universidad Central de Las Villas Investigador en el grupo investigación EATCO de la UCO Emprendedor en proyectos como MayoCordobés, e24Presenter, FollowFriday.com y Audiense Combino mi pasión por el desarrollo de software con el ajedrez, el deporte y mi familia ¿Quién Soy?
  4. ¿Qué factores influyen en la velocidad de entrega de software?

    Accelerate: https://www.amazon.es/Accelerate-Software-Performing-Technology-Organizations/dp/1942788339
  5. La solución a nuestros miedos Mantenibilidad del código Arquitectura débilmente

    acoplada Monitorización Despliegues automáticos Integración continua (CI) Trunk based development (TBD)
  6. ¿Cuándo deja de ser bueno un monolito? Necesidades de escalabilidad

    independiente de diferentes componentes del dominio Diferentes componentes o módulos necesitan escribirse en diferentes lenguajes Necesidad de despliegues independientes Big ball of Mud (gran bola de barro)
  7. Code is going to get messy. There is no shame

    in that. Seeing code as messy is a sign that you have learned something. Kent Beck
  8. Big design up front is dumb. Doing no design up

    front is even dumber. Dave Thomas
  9. Programming is not about building software; programming is about designing

    software. Jack W. Reeves, 1992 Fuente: https://www.developerdotstar.com/mag/articles/reeves_design.html
  10. No podemos olvidarnos del diseño previo El diseño es el

    código El coste de la calidad compensa Arquitecto no es un rango ni un rol individual La solución a los problemas de un monolito no siempre es microservicios Lecciones Aprendidas
  11. Hay miles de métodos pero sólo unos pocos principios. Quien

    entiende los principios podrá elegir sus propios métodos. Quien ignora los principios fracasará con cualquier método. Harrington Emerson