SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Arquitectura
para
artesanos
Software Craftsmanship Barcelona
27.09.2015
Toni Tassani
@atassani
Nada de
tecnología
Experiencia
Niveles
Relación con
craftsmanship
Ideas
Expectativas
Arquitecto
Arquitecto
“La relación de
componentes
que forman un
sistema y las
interrelaciones
entre ellos”
¿De qué hablo
cuando hablo de
arquitectura?
El tamaño
importa
Startup Corporación
Velocidad
Cambio
Riesgo
Inestabilidad
Eficiencia
Seguridad
Control
Rentabilidad
Rápida
Informal
Eficaz
Rigurosa
Formal
Precisa
La historia es
importante
Todo por decidir
Aplicaciones
y sistemas
existentes
Todo por decidir
Aplicaciones
y sistemas
existentes
el arquitecto
hombre orquesta
Arquitecto
en departamento de
arquitectura
Decisiones de entorno de desarrollo
Decisiones de entorno de ejecución
Guía para el equipo
Estructura del código
CTO / Desarrollador senior
el arquitecto
Estructuras muy formales
Organizaciones con mucha historia
Decisiones a muchos niveles
TTM “Time to Market”
TCO “Total Cost of Ownership”
Arquitecto
Normalizar
Homogeneizar
Controlar a los
desarrolladores
Facilitar cambios futuros
Permitir multi-proveedor
Evitar CVDD
Industrializar
WTF!
The Cathedral and the
Bazaar: Musings on Linux
and Open Source by an
Accidental Revolutionary
by Eric S. Raymond
Las mejores arquitecturas,
requisitos y diseños emergen
de equipos auto-organizados.
Aprendiz
Oficial
Maestro
Growing the
architecture
¿Qué podemos aprender?
We Software
¿Qué podemos aprender?
Enterprise Architect
Solutions Architect
BusinessArchitect
DataArchitect
NetworkArchitect
InfrastructureArchitect
TechnicalArchitect
SecurityArchitect
Subject Areas
Projects/LowLevelStrategy/HighLevel
Arquitectura
empresarial
“La organización fundamental
de un sistema, compuesta por
sus componentes, las relaciones
entre ellos y su entorno, así
como los principios que
gobiernan su diseño y
evolución.”
Existe, esté definida o no
Business
Data
Application
Technology
TOGAF
The Open Group
Architecture Framework
Alternativas:
Zachman
IAF
Business Layer
Application Layer
Infrastructure Layer
ArchiMate
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
c
Logging
Monitorización
Caché
Procesos batch
Alertas
Internacionalización
Llamadas a servicios
Configuración
Transaccionalidad
Autenticación …
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
IDE
Pruebas unitarias
Estrategia de pruebas
Templates
Gestión de configuración
Modelado de datos
Generadores de código
Documentación
Integración continua
Encodings …
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Entornos
Promoción
Autorizaciones
Automatismos
Versionado
Alta disponibilidad
Registro de servicios
Alta disponibilidad
Contingencia
Intervenciones
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Hardware
Software de base
Virtualización
Containers
Cloud pública / privada
Topología de red
Licencias
Instalación
Mantenimiento
Arquitectura
de ejecución
Componentes software reutilizables
alineados con requerimientos
Arquitectura
de desarrollo
Herramientas, estándares y
metodologías para el desarrollo de
software
Arquitectura
de operación
Mecanismos para garantizar el nivel de
servicio y operación del software
Arquitectura
técnica
Infraestructura (HW y SW base) para
soportar el desarrollo y operación del
sistema.
Negocio
Arquitectura
como producto
App1 App2 App3 App4 AppN
ARQUITECTURA
SOFTWARE BASE
HARDWARE
Arquitectura
como producto
App1 App2 App3 App4 AppN
FONTANERÍA
SOFTWARE BASE
HARDWARE
Arquitectura en
Metodologías
ágiles
DSDM Atern
“Firm foundations”
Initial architectural envisioning
“Architecture Owner”
Agile DBAs
Defer Commitment
Agile Architecture
DAD
Arquitectos
Arquitecto como rol
Comunicar la
arquitectura
Abstracción,
reducir detalle
noUML
Verbo y nombre
Workspace workspace = new Workspace("Spring PetClinic", "");
// create a software architecture model
Model model = workspace.getModel();
SoftwareSystem springPetClinic =
model.addSoftwareSystem("Spring PetClinic",
"Allows employees to view and manage information “ +
"regarding the veterinarians, the clients, and their pets.");
Person clinicEmployee = model.addPerson("Clinic Employee",
"An employee of the clinic");
clinicEmployee.uses(springPetClinic, "Uses");
// create some views to visualise the model
ViewSet viewSet = workspace.getViews();
SystemContextView contextView =
viewSet.createContextView(springPetClinic);
contextView.addAllSoftwareSystems();
contextView.addAllPeople();
// upload the model and views to structurizr.com
StructurizrClient structurizrClient = new
StructurizrClient("https://api.structurizr.com",
"key", "secret");
structurizrClient.putWorkspace(1, workspace);
Descripción de la
arquitectura en
código
structurizr
The Craftsman I Would Like to Be
Alex Bolboaca
El título no es lo importante
Aprende tu técnica
Piensa a diferentes niveles
Sé pragmático
Rodéate de artesanos
Aprende toda tu vida
http://www.alexbolboaca.ro/
Niveles de arquitectura
Enterprise Architecture
Software Architecture
Comunicación
Abstracción
Respeto
TOGAF
ArchiMate
SAFe
Architecture runway
Architecture for
Developers
structrurizr
Firmitas
Utilitas
Venustas
Gracias
Toni Tassani
@atassani

Más contenido relacionado

Destacado

CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]
CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]
CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]Friso de Jong
 
Fofuchas en foami.pptx scripd
Fofuchas en foami.pptx scripdFofuchas en foami.pptx scripd
Fofuchas en foami.pptx scripdPampamell
 
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-Physiker
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-PhysikerE = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-Physiker
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-PhysikerHelen Wai-Ngan Ng Schreiber
 
Salvador palau molins francolí
Salvador palau molins francolíSalvador palau molins francolí
Salvador palau molins francolíAntoni Aixalà
 
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...Earthsite
 
TWI Newsletter January 2011 English
TWI Newsletter January 2011 EnglishTWI Newsletter January 2011 English
TWI Newsletter January 2011 EnglishTWI Ministry
 
Think tank empresarial por Jose Luis Tapia
Think tank empresarial por Jose Luis TapiaThink tank empresarial por Jose Luis Tapia
Think tank empresarial por Jose Luis TapiaJose Luis Tapia
 
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...Matthias Stürmer
 
9 simple steps_to_be_a_gre
9 simple steps_to_be_a_gre9 simple steps_to_be_a_gre
9 simple steps_to_be_a_grealexa92498
 
Smarphone diapositivas
Smarphone diapositivasSmarphone diapositivas
Smarphone diapositivas1040038849
 
síndrome de Munchausen
síndrome de Munchausensíndrome de Munchausen
síndrome de MunchausenPaulina Jq
 

Destacado (20)

CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]
CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]
CEN ISSS workshop e-invoicing A Mueller Tg4 Report 1.0[1]
 
Can ufo doc_16
Can ufo doc_16Can ufo doc_16
Can ufo doc_16
 
Fofuchas en foami.pptx scripd
Fofuchas en foami.pptx scripdFofuchas en foami.pptx scripd
Fofuchas en foami.pptx scripd
 
Bullseye Evalaution
Bullseye EvalautionBullseye Evalaution
Bullseye Evalaution
 
Ethnocentrism
EthnocentrismEthnocentrism
Ethnocentrism
 
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-Physiker
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-PhysikerE = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-Physiker
E = m c ², ein Vortrag im Einstein-Jahr für Ärzte und Nicht-Physiker
 
Boletín de Información Municipal nº72
Boletín de Información Municipal nº72Boletín de Información Municipal nº72
Boletín de Información Municipal nº72
 
Quotation automatic coffee machines Nivona
Quotation automatic coffee machines NivonaQuotation automatic coffee machines Nivona
Quotation automatic coffee machines Nivona
 
Certamen nº3 topografía
Certamen nº3 topografíaCertamen nº3 topografía
Certamen nº3 topografía
 
Salvador palau molins francolí
Salvador palau molins francolíSalvador palau molins francolí
Salvador palau molins francolí
 
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...
Sustainable Work - Stay Sane, Increase Productivity and Live Longer 
in the C...
 
TWI Newsletter January 2011 English
TWI Newsletter January 2011 EnglishTWI Newsletter January 2011 English
TWI Newsletter January 2011 English
 
Think tank empresarial por Jose Luis Tapia
Think tank empresarial por Jose Luis TapiaThink tank empresarial por Jose Luis Tapia
Think tank empresarial por Jose Luis Tapia
 
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...
Vorlesung Open Data: Informationen zur Vorlesung und Einführung ins Thema Ope...
 
Pulgarcita
PulgarcitaPulgarcita
Pulgarcita
 
9 simple steps_to_be_a_gre
9 simple steps_to_be_a_gre9 simple steps_to_be_a_gre
9 simple steps_to_be_a_gre
 
Smarphone diapositivas
Smarphone diapositivasSmarphone diapositivas
Smarphone diapositivas
 
síndrome de Munchausen
síndrome de Munchausensíndrome de Munchausen
síndrome de Munchausen
 
Carcinoma de mama metastásico. Caso clínico
Carcinoma de mama metastásico. Caso clínicoCarcinoma de mama metastásico. Caso clínico
Carcinoma de mama metastásico. Caso clínico
 
04. Taller Elevator Pitch - María Calvo del Brío
04. Taller Elevator Pitch - María Calvo del Brío04. Taller Elevator Pitch - María Calvo del Brío
04. Taller Elevator Pitch - María Calvo del Brío
 

Similar a Arquitectura para artesanos

Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netJuan Pablo
 
17 IBM SFIC 2009
17 IBM SFIC 200917 IBM SFIC 2009
17 IBM SFIC 2009Pepe
 
Jazz: El soporte definitivo para el modelo de factorias de software
Jazz: El soporte definitivo para el modelo de factorias de softwareJazz: El soporte definitivo para el modelo de factorias de software
Jazz: El soporte definitivo para el modelo de factorias de softwareLuis Reyes
 
DynamizeIT Introducción
DynamizeIT IntroducciónDynamizeIT Introducción
DynamizeIT IntroducciónDynamizeIT
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaFrancisco Arturo Viveros
 
Evolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesEvolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesJaime Contreras
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps
 
BPM con BonitaSoft y gestión documental con Alfresco
BPM con BonitaSoft y gestión documental conAlfrescoBPM con BonitaSoft y gestión documental conAlfresco
BPM con BonitaSoft y gestión documental con AlfrescoIntellego Chile
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Andres Solorzano
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreDiana Pinto
 
paas-01[1].pptx
paas-01[1].pptxpaas-01[1].pptx
paas-01[1].pptxAndreYS17
 
software
softwaresoftware
softwarealkosto
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwareem3marquez
 
Una introducción a ontimize
Una introducción a ontimizeUna introducción a ontimize
Una introducción a ontimizeontimize
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1preciadoag
 

Similar a Arquitectura para artesanos (20)

Oracle SOA Suite
Oracle SOA SuiteOracle SOA Suite
Oracle SOA Suite
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .net
 
17 IBM SFIC 2009
17 IBM SFIC 200917 IBM SFIC 2009
17 IBM SFIC 2009
 
Jazz: El soporte definitivo para el modelo de factorias de software
Jazz: El soporte definitivo para el modelo de factorias de softwareJazz: El soporte definitivo para el modelo de factorias de software
Jazz: El soporte definitivo para el modelo de factorias de software
 
DynamizeIT Introducción
DynamizeIT IntroducciónDynamizeIT Introducción
DynamizeIT Introducción
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 
Evolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesEvolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de Telecomunicaciones
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
 
BPM con BonitaSoft y gestión documental con Alfresco
BPM con BonitaSoft y gestión documental conAlfrescoBPM con BonitaSoft y gestión documental conAlfresco
BPM con BonitaSoft y gestión documental con Alfresco
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
 
paas-01[1].pptx
paas-01[1].pptxpaas-01[1].pptx
paas-01[1].pptx
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
 
software
softwaresoftware
software
 
Conceptos
ConceptosConceptos
Conceptos
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Una introducción a ontimize
Una introducción a ontimizeUna introducción a ontimize
Una introducción a ontimize
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1
 

Más de Toni Tassani

Dibujar para facilitar. dibujar para pensar
Dibujar para facilitar. dibujar para pensarDibujar para facilitar. dibujar para pensar
Dibujar para facilitar. dibujar para pensarToni Tassani
 
Putting order to your API ecosystem
Putting order to your API ecosystemPutting order to your API ecosystem
Putting order to your API ecosystemToni Tassani
 
How to implement agile
How to implement agileHow to implement agile
How to implement agileToni Tassani
 
Working with Distributed Teams
Working with Distributed TeamsWorking with Distributed Teams
Working with Distributed TeamsToni Tassani
 
Software Architecture for Developers
Software Architecture for DevelopersSoftware Architecture for Developers
Software Architecture for DevelopersToni Tassani
 
Hacking your Body Language
Hacking your Body LanguageHacking your Body Language
Hacking your Body LanguageToni Tassani
 
The Cognitive Power of Comics
The Cognitive Power of ComicsThe Cognitive Power of Comics
The Cognitive Power of ComicsToni Tassani
 
A few concepts for better software
A few concepts for better softwareA few concepts for better software
A few concepts for better softwareToni Tassani
 
SOLID and Better Design
SOLID and Better DesignSOLID and Better Design
SOLID and Better DesignToni Tassani
 
Agile retrospectives
Agile retrospectivesAgile retrospectives
Agile retrospectivesToni Tassani
 
xALEc. Agile-Barcelona Community events on 2012
xALEc. Agile-Barcelona Community events on 2012xALEc. Agile-Barcelona Community events on 2012
xALEc. Agile-Barcelona Community events on 2012Toni Tassani
 
Knowledge sharing and cargo cult
Knowledge sharing and cargo cultKnowledge sharing and cargo cult
Knowledge sharing and cargo cultToni Tassani
 

Más de Toni Tassani (12)

Dibujar para facilitar. dibujar para pensar
Dibujar para facilitar. dibujar para pensarDibujar para facilitar. dibujar para pensar
Dibujar para facilitar. dibujar para pensar
 
Putting order to your API ecosystem
Putting order to your API ecosystemPutting order to your API ecosystem
Putting order to your API ecosystem
 
How to implement agile
How to implement agileHow to implement agile
How to implement agile
 
Working with Distributed Teams
Working with Distributed TeamsWorking with Distributed Teams
Working with Distributed Teams
 
Software Architecture for Developers
Software Architecture for DevelopersSoftware Architecture for Developers
Software Architecture for Developers
 
Hacking your Body Language
Hacking your Body LanguageHacking your Body Language
Hacking your Body Language
 
The Cognitive Power of Comics
The Cognitive Power of ComicsThe Cognitive Power of Comics
The Cognitive Power of Comics
 
A few concepts for better software
A few concepts for better softwareA few concepts for better software
A few concepts for better software
 
SOLID and Better Design
SOLID and Better DesignSOLID and Better Design
SOLID and Better Design
 
Agile retrospectives
Agile retrospectivesAgile retrospectives
Agile retrospectives
 
xALEc. Agile-Barcelona Community events on 2012
xALEc. Agile-Barcelona Community events on 2012xALEc. Agile-Barcelona Community events on 2012
xALEc. Agile-Barcelona Community events on 2012
 
Knowledge sharing and cargo cult
Knowledge sharing and cargo cultKnowledge sharing and cargo cult
Knowledge sharing and cargo cult
 

Arquitectura para artesanos