arquitectura evolutiva por fausto de la torre
TRANSCRIPT
Fausto De La Torre
Desarrollador
Líder Desarrollo
@faustodelatog
Project Manager
Arquitecto Software
Desarrollador
Consultor
Líder Técnico / Arquitecto
Arquitectura de Software
“things that people perceiveas hard to change”
Martin Fowler http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
“SA = {Elements, Form, Rationale}” Perry DE, Wolf AL
Foundations for the study of software architecture
“… the important stuff (whatever that is)” Ralph Johnson
¿Qué es la Arquitectura de Software?¿Por qué es importante?
una buena arquitectura es la clave del éxito a largo plazo
Creando la Arquitectura
Código que funciona y NO documentación
Código que funciona
DocumentaciónSOBRE
Evitar pagar el costo del cambio al final
Evitar el cambio Desiciones de diseño correctas al inicio Decisiones hechas por alta gerencia
Decisiones reversibles Retardando las decisiones Decisiones involucran trabajadores
30
control de versiones
servidor integración continua
build tests …
todos envían sus cambios al trunk al menos una vez
al día
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
Customer
Delivery teamConstant flow of new features into production listo para
producción SIEMPRE
Entrega Continua
Micro Servicios
Responsabilidad única
Alta cohesión y bajo acoplamiento
Artefactos desplegables independientes
Guiados por las capacidades del negocio
Ley de Conway
“Las organizaciones que diseñan sistemas están limitadas a producir diseños que son copias de las estructuras de comunicación de estas organizaciones.”
Ley de Conway
“Las organizaciones que diseñan sistemas están limitadas a producir diseños que son copias de las estructuras de comunicación de estas organizaciones.”
Productos en lugar de Proyectos
Si lo diseñas lo implementas
“you build, you run it”
Si lo implementas, lo despliegas
Empezar con lo más fácil
Maleable No Irreversibles
Simplificar, Desacoplar y Desenredar
ProactivoPredictivo