SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
OBJETIVO: revisión de aspectos que rodean el desarrollo de una solución de software
Conocer con qué debemos articular esa sólida base matemática de soluciones a problemas de la vida
diaria.
1
Esto lo dice pacho.
2
Veamos el primer punto de prerrequisitos para la charla: La arquitectura de software.
ANALOGIA CON LA CONSTRUCCIÓN: (1) CASA PARA UN PERRITO (2) CASA DE LOS 3 CERDITOS (3)
RASCACIELOS …
Imaginemos por un momento lo que implica construir una casa:
• Estamos de acuerdo en que es diferente construir una casa por ejemplo, para un perrito, para una
familia de cerditos o un rascacielos.
• Estamos de acuerdo en que según la casa a construir, existen otros parámetros que debe soportar
la casa al ser construida (recordemos la fábula de los 3 cerditos cuando no construyeron con
ladrillo-brick, sino con pajas-straw o palitos de madera-sticks)
• Cuando compramos una casa, antes de construirla, vemos los planos de diferentes sistemas; con
ello tenemos una visión y una dirección de lo que se construirá
VERSUS CASO SOFTWARE: FUNCIONALES+NO-FUNCIONALES (BASE-SÓLIDA)
Para el caso software:
• La arquitectura de software nos permite proponer soluciones que cumplen los requisitos
técnicos y operativos a al vez que optimiza lo que se llaman los atributos de calidad comunes
como rendimiento, seguridad
• Como cualquier otra estructura, el software se debe construir sobre una base sólida. Si no se
consideran escenarios clave se pone en riesgo su aplicación.
EL ESFUERZO DE ESTA DISCIPLINA VARÍA SEGÚN LO QUE SE QUIERE CONSTRUIR
• Para el caso industrial, son varias las perspectivas a observar cuando llega una iniciativa de
inversión. En este caso un área llamada arquitectura empresarial (siguiente slide).
• Para esfuerzos pequeños, un buen diseño está bien para iniciar.
3
REFERENCIAS
https://msdn.microsoft.com/en-us/library/ee658098.aspx
3
ARQUITECTURA EMPRESARIAL
Cuando el tamaño de los negocios es considerable, un área llamada arquitectura empresarial es un
colaborador interesante para abordar esta reallidad. No es lo mismo entender el sistema de
información de la panadería de la esquina, a la forma en la cual una empresa basada en tecnología
como uber, usa sus servicios tecnológicos para despacharnos un auto y cobrar.
Cuando el negocio comienza a crecer, necesitamos “trucos” para entenderlo.
La ARQUITECURA EMPRESARIAL, Es la alineación tecnológica basada en apoyar los objetivos de la
empresa, buscando mayor agilidad. Para ello,
• Debemos Entender las dinámicas de la empresa de hoy en día
• Tecnología como articulador de las necesidades del negocio actual
• Desde el punto de vista de lo que se llama Arquitectura de Software
4 EJES FUNDAMENTALES son trabajados por la arquitectura empresarial:
• El negocio y sus procesos (i)
• La Información y aplicaciones o sistemas (ii)
• La infraestructura base: redes y hardware (iii)
• La base estratégica sobre la cual el negocio evoluciona (iv)
4
TRUCO #0: ZACHMAN FRAMEWORK
A nivel horizontal, bajamos en detalle
A nivel vertical, cada columna nos indica una dimesión que exploramos
Busca dar estructura a un sistema mediante los componentes que lo constituyen
Por ejemplo,
• en la columna de motivación (por qué), iniciamos con unas metas estratégicas; luego las vamos
decantando hasta tener unos objetivos de negocio, unas reglas o políticas que guían la empresa
• En la columna de funciones, comenzamos con los procesos de negocio; pasamos por los diseños
de un sistema, y llegamos hasta las funciones y rutinas de nuestros algoritmos
5
DEL 4P+H y EL SOCIO (HISTORY CHANNEL).
Como hemos visto, uno de los puntos fundamentales para poder participar en la organización y
permitir que ella evolucione, es el entender cómo funciona ella. Necesitamos tener varias vistas o
perspectivas de la organización analizada.
Precisamente History Channel tiene un programa que se llama “El Socio”, en el cual un inversionista
observa el potencial de determinado negocio que se encuentra en problemas bajo 3 ejes
fundamentales:
El Producto que desarrolla la compañía (1)
El Proceso que les permite estandarizar la forma en la cual lo elaboran (2)
y sobre todo Las Personas que trabajan allí (3)
Para efectos de la presentación del día de hoy, se adicionan 2 puntos:
• Los Proyectos: o iniciativas que nos permiten transformar el negocio de hoy
• y las Herramientas: que nos permiten lograr mecanismos de automatización en las tareas que
elaboramos
CON UN EJEMPLO
Suponiendo que tenemos un negocio de venta de autos en SanFrancisco,
(1) El producto en este caso es la venta del auto
(2) El proceso de venta es uno de los más relevantes para la compañía (procesos misionales)
(3) Quienes venden y el apoyo de otras áreas para hacerlo posible son quienes orientan la dinámica
del capital en esta empresa.
6
Los 5 elementos en conjunto los denominan el 4P+T de la construcción de proyectos
de desarrollo de software
6
Precisamente en el punto C, se tiene la oportunidad para “Integrar el conocimiento abstracto
matemático y algorítmico a problemas teóricos y prácticos”.
Para ello debemos entender el negocio donde aplicamos la tecnología (B).
y lo vamos a realizar mediante el uso de los 5 elementos del socio (A)
EL MAGO Y SUS TRUCOS:
Alrededor de la charla vamos a revelar algunos trucos alrededor del negocio y la tecnología
7
8
LAS VERTICALES DE NEGOCIO,
Son soluciones focalizadas por sectores (sectores de actividad económica), que requieren tecnologías
específicas para sus necesidades:
• No es la misma manera en la que un retail atiende a un cliente que un banco o empresa de
transporte:
• Entender al cliente, su lenguaje y sus procesos
Normalmente tratan de especializar un esfuerzo inicialmente horizontal, con soluciones genéricas
que aplicaban a diferentes tipos de negocios (ejemplo, un CRM o un sistema de facturación POS).
9
TRUCO #1: BUSINESS MODEL CANVAS
Aunque llenando 9 cuadros no vamos a entender un negocio, el business model canvas es una
herramienta, que nos da una idea preliminar de la forma como se mueve el negoio que se quiere
estudiar, a muy gran escala.
Estas 9 perspectivas son:
• Clientes (Customer Segments): hacia los cuales orientamos nuestro producto o servicio
• propuesta de valor: que es lo que soluciona, y a lo cual le metimos trabajo (por qué la persona va
a comprarnos)
• Canal: forma de entrega de nuestra propuesta de valor
• Relación: fidelización
• Ingresos: venta directa, suscri´ción, freemium
• recursos clave: lo que vamos a consumir para prestar el servicio
• actividades clave: internas: producción, marketing; para con ello entregar la propuesta de valor
• Alianzas: complementan nuestras capacidades, reducen incertidumbre
• Costos: fijos y variables para diseñar un modelo óptimo
Ejemplo BMC (Busiless Model Canvas): venta de autos
REFERENCIAS
https://es.slideshare.net/jorgemanriquechavez/generacin-de-modelos-de-negocio-y-diseo-de-
planes-de-negocio
10
11
12
13
TRUCO #3: AGILE PRACTICES
En esto no me voy a detener, pues fue tema de una charla previa.
Básicamente es un tipo de practicas que nos permiten lograr la interacción de personas que
llamamos equipo autoorganizado, con colaboración del cliente, con el fin de crear un producto y
demostrable a lo largo de iteraciones llamadas sprints.
A lo largo del sprint hay que saber qué se debe construir (PLAN), que se organiza en un backlog
Hay que saber ESTIMAR lo que se va a realizar (PLANNING-POKER), y que el equipo quede medio
balanceado
Hay que realizar las actividades, donde cada quien tiene sus TODO’s (KANBAN)
Se construye o ejecuta ese plan, viendo pedazos de producto al final de la iteración.
EJEMPLO 2: JIRA AGILE
• YOUTUBE: https://youtu.be/BF5LzxaM_c4
Inactionsas.atlassian.net (proyecto: 0000_CXT)
14
15
ARQUITECTURA DE REFERENCIA PARA SOLUCIONES A NIVEL DE EMPRESA
Es un modelo de referencia aplicable de forma transversal a diferentes tipos de industria.
Varios tipos de negocio tienen:
UNA ZONA OPERATIVA (1):
Una plataforma para soportar su operación diaria a través de la cual generan información. Para
algunos negocios, que basan su construcción en servicios digitales, los canales por los cuales
atienden también son netamente digitales. Normalmente puede que no sean un solo sistema, sino
conjuntos de sistemas que mediante integraciones, colaboran entre sí. Integraciones a nivel de front,
a nivel de servicios o a nivel de datos permiten la operatividad del día a día de la empresa.
Desarrollo de aplicaciones web, mobile (SinglePageApplications), con unas tecnologías de backend, y
escribiendo a orígenes de datos Relacionales y NOSQL.
Algunas veces delegamos incluso la existencia de un backend y únicamente exponemos el algoritmo
(serverless computing).
Ejemplos de tecnologías: SPA (single-page-applications) con {front} angular, react y {back} spring
boot, asp.net core nodejs, scala. {storage} orígenes relacionales y nosql (mongo, neo4j),
Ejemplos de conocimientos: desarrollo de aplicaciones, functional programming / object oriented
programming, sistemas distribuidos, blockchain
UNA ZONA DE INGESTIÓN (2)
La Información que en tiempo real o a través de batches de información se transmite o enriquece a
medida que llega…
Ejemplos: Kafka, SSIS
UNA ZONA DE ALMACENAMIENTO (3)
…para algunas veces ser acumulada …
16
Ejemplos: Hadoop, Amazon AWS-S3,
UNA ZONA DE ANALYTICS (4)
…esos datos acumulados o que se obtienen en tiempo real, los podemos usar para
describir+diagnosticar lo que pasa con el negocio (muchas veces visualmente), o bien
para predecir+prescribir lo que puede pasar con él. Sacar los ”insights” o información
de valor que a simple vista puede que no veamos mediante el uso de técnicas
heredadas de InteligenciaArtificial+MachineLearning+DeepLearning para el
procesamiento de información estructurada y no estructurada. Usar esos insights
para mejorar la experiencia del cliente, retroalimentar los procesos del negocio,
entregar información para toma de decisiones basadas en datos.
Ejemplos: Tableau, PowerBI, jupyter, stacks/librerias sobre R o Python como
tensorflow, utilitarios como deeplearn.js o d3.js
LA ZONA DE INFRAESTRUCTURA (5),
… donde se hospedan los desarrollos a realizar o los servicios que se consumen, y que
dependen de lo que hayamos montado: IaaS (Infraestructure as a service), Platform
as a service (PaaS), Software as a service (SaaS).
Ejemplos: Plataformas Tipo Cloud como Microsoft Azure, Google Cloud Platform.
Ejemplos Plataformas basadas en contenedores: Docker + Kubernetes.
Ejemplos SaaS: Plataformas de correo (Google Docs, Gmail)
Ejemplos PaaS: Heroku
16
Antes se creaban los conceptos o técnicas, pero no se tenía el hardware necesario.
Actualmente existe un potencial a explotar en un mundo de sensores, donde técnicas
estadísticas+DataMining / InteligenciaArtificial+MachineLearning+DeepLearning se aplican en varios
campos, y con infraestructuras tipo cloud se puede realziar el entrenamiento de modelos.
Estas técnicas que tiempo atrás fueron creadas, hoy en día son implementables dado que:
(1) El costo de almacenamiento ha bajado, por lo cual podemos almacenar mayor cantidad de
información
(2) El poder de cómputo ha aumentado
Teniendo estos 2 insumos, no nos queda más que comenzar a enseñarle a este tipo de máquinas a
“aprender de la experiencia”.
Cuando aumenta el número de variables del probema y también la cantidad de datos y no
conocemos una fórmula o ecuación que a pueda modelar, podemos usar técnicas de machine
learnng como apoyo.
SUPERVISED: queremos obtener una variable de salida, mediante n-variables de entrada. Mediante
ejemplos queremos que la máquina haga la predicción. Podemos poner a clasificar a la máquina (es
decir, que la salida esperada debe pertenecer a m-grupos), o bien, queremos obtener un valor
numérico (regression)
UNSUPERVISED: queremos conocer la estructura innata de los datos, sin conocer dicha estructura.
Mediante algoritmos de clustering se agrupan datos mediante su similitud, o mediante algoritmos de
asociación, se trata de descubrir reglas frecuentes que aplican para ellos (ejemplo: si lleva leche y
cerveza, también llevará huevos)
17
Otros tipos de datos más complejos
• Audio (traducción automática)
• Video (tagging, inteerpretación)
• Texto (procesameinto de lenguaje natural / ocr)
Otros tipos de análisis:
• Filtering (collaborative/content-based): mejor experiencia para los clientes
• Outlier detection (detección de intrusos, corrupción)
17
y= f(x)
A partir de unas entradas, queremos predecir lo que hace esta función f, y mediante técnicas de
optimización obtenemos un modelo parametrizado que predice nuestra realidad.
Primero entrenamos un modelo;
Posteriormetne este modelo entrenado nos sierve para predecir un comportamiento, donde los
datos no han sido vistos por el modelo.
EJEMPLO 1: AZURE ML.
YOUTUBE: https://youtu.be/mfhFeDpDa9E
REFERENCIAS
• aka.ms/data-science-for-beginners
• aka.ms/CortanaIntelligenceGallery
18
19
AS-IS / TO-BE
Los proyectos son el mecanismo normal de división del trabajo en una empresa para cambiar un
estado actual AS-IS en un estado deseable (TO-BE). Mediante un análisis de esa brecha, identificamos
el problema o preocupación de un área de la empresa para poderlo materializar en un proyecto o
producto a realizar. Normalmente se observa no sólo el costo de hacer el proyecto sino lo que
implica el no-hacerlo.
20
21
Arquitectura Empresarial / Frameworks
Articular lo que hace la empresa con tecnología
Usamos un framework como estrategia para dilucudar bien el estado actual de la empresa (AS-IS) o
bien el estado al que queremos llegar (TO-BE)
En el slide 2 de las represetnaciones de framworks mas conocidos
• (TOGAF (1),
• Zachman (2)
Dichos frameworks nos sirven para derivar una ruta clara de evolución tecnológica para llegar a ese
estado actual acorde a la impleentación de varios proyectos de interés para el negocio.
22
23
ARQUITECTURA PERSONAL
Vista integral&armonica de la persona.
estrategico> (motivadores, principios)
Tactico> (objetivos)
Operaci[on> capacidades que tengo
Defino mi situación actual, la forma de alcanzar esta definición que quiero
24
FORMAS DE APRENDER
• POMODORO TECHNIQUE
• MOOC’s
SABERNOS VENDER:
No a mucha gente le gustan las ventas, pero cuando consigues un empleo o vas a hacer un negocio,
indirectamente te vendes a ti mismo.
A quien tienen en mente las personas: con quien hubo mayor empatía
25
Esperando que ésta experiencia haya sido de valor.
- - - - - - - - -
Todas las marcas en mención son propiedad de sus respectivos dueños.
26

Más contenido relacionado

Similar a Solución de software para revisión de arquitectura y desarrollo

Temario para startup day 2.0
Temario para startup day 2.0Temario para startup day 2.0
Temario para startup day 2.0Alan Colmenares
 
S02.s1- Material teorico.pptx
S02.s1- Material teorico.pptxS02.s1- Material teorico.pptx
S02.s1- Material teorico.pptxRogelioCohello
 
Estrategia empresa virtual (punto 2 unidad 2)
Estrategia empresa virtual (punto 2 unidad 2)Estrategia empresa virtual (punto 2 unidad 2)
Estrategia empresa virtual (punto 2 unidad 2)JUAN ENRIQUE
 
Em bi un repaso por la metodología de implementación
Em bi un repaso por la metodología de implementaciónEm bi un repaso por la metodología de implementación
Em bi un repaso por la metodología de implementaciónEdison_Medina
 
introduccion arquitectura empresarialEA_SRR.pdf
introduccion arquitectura empresarialEA_SRR.pdfintroduccion arquitectura empresarialEA_SRR.pdf
introduccion arquitectura empresarialEA_SRR.pdfjohn243196
 
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTA
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTAPROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTA
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTARoyer Tuesta Salas
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6guestde29b5
 
Herramientas para modelar negocios
Herramientas para modelar negociosHerramientas para modelar negocios
Herramientas para modelar negociosLuis Liendo
 
Crear modelo-de-autorizaciones - foro sap
Crear modelo-de-autorizaciones - foro sapCrear modelo-de-autorizaciones - foro sap
Crear modelo-de-autorizaciones - foro sapricardopabloasensio
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoIng-D-SW-TorresKhano--ME
 

Similar a Solución de software para revisión de arquitectura y desarrollo (20)

Temario para startup day 2.0
Temario para startup day 2.0Temario para startup day 2.0
Temario para startup day 2.0
 
S02.s1- Material teorico.pptx
S02.s1- Material teorico.pptxS02.s1- Material teorico.pptx
S02.s1- Material teorico.pptx
 
Modelado de negocio
Modelado de negocioModelado de negocio
Modelado de negocio
 
Estrategia empresa virtual (punto 2 unidad 2)
Estrategia empresa virtual (punto 2 unidad 2)Estrategia empresa virtual (punto 2 unidad 2)
Estrategia empresa virtual (punto 2 unidad 2)
 
Sesio 8 dbances
Sesio 8 dbancesSesio 8 dbances
Sesio 8 dbances
 
Em bi un repaso por la metodología de implementación
Em bi un repaso por la metodología de implementaciónEm bi un repaso por la metodología de implementación
Em bi un repaso por la metodología de implementación
 
Quolutions School 2014
Quolutions School  2014Quolutions School  2014
Quolutions School 2014
 
introduccion arquitectura empresarialEA_SRR.pdf
introduccion arquitectura empresarialEA_SRR.pdfintroduccion arquitectura empresarialEA_SRR.pdf
introduccion arquitectura empresarialEA_SRR.pdf
 
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTA
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTAPROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTA
PROYECTO DE TESIS SISTEMA INTEGRAL DE COMPRA Y VENTA
 
Proyecto informatico
Proyecto informaticoProyecto informatico
Proyecto informatico
 
fases de un proyecto web
fases de un proyecto webfases de un proyecto web
fases de un proyecto web
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6
 
Trabajo Prog. Web
Trabajo Prog. WebTrabajo Prog. Web
Trabajo Prog. Web
 
Trabajo Completo
Trabajo Completo Trabajo Completo
Trabajo Completo
 
Herramientas para modelar negocios
Herramientas para modelar negociosHerramientas para modelar negocios
Herramientas para modelar negocios
 
Crear modelo-de-autorizaciones - foro sap
Crear modelo-de-autorizaciones - foro sapCrear modelo-de-autorizaciones - foro sap
Crear modelo-de-autorizaciones - foro sap
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un Ensayo
 
Canvas
CanvasCanvas
Canvas
 
5 E-Commerce.pptx
5 E-Commerce.pptx5 E-Commerce.pptx
5 E-Commerce.pptx
 
etapas para un proyecto web
etapas para un proyecto webetapas para un proyecto web
etapas para un proyecto web
 

Más de andres hurtado

mintic_machinelearning101_coursera
mintic_machinelearning101_courseramintic_machinelearning101_coursera
mintic_machinelearning101_courseraandres hurtado
 
BigData 101 / Cursillo (Parte5)
 BigData 101 / Cursillo (Parte5) BigData 101 / Cursillo (Parte5)
BigData 101 / Cursillo (Parte5)andres hurtado
 
BigData 101 / Cursillo (Parte4)
 BigData 101 / Cursillo (Parte4) BigData 101 / Cursillo (Parte4)
BigData 101 / Cursillo (Parte4)andres hurtado
 
BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)andres hurtado
 
BigData 101 / Cursillo (Parte2)
BigData 101 / Cursillo (Parte2)BigData 101 / Cursillo (Parte2)
BigData 101 / Cursillo (Parte2)andres hurtado
 
BigData 101 / Cursillo (Parte1)
BigData 101 / Cursillo (Parte1)BigData 101 / Cursillo (Parte1)
BigData 101 / Cursillo (Parte1)andres hurtado
 
BigData 101 / Cursillo (Parte0)
BigData 101 / Cursillo (Parte0)BigData 101 / Cursillo (Parte0)
BigData 101 / Cursillo (Parte0)andres hurtado
 
Enterprise Architect SparxSystems
Enterprise Architect SparxSystemsEnterprise Architect SparxSystems
Enterprise Architect SparxSystemsandres hurtado
 
ITIL Workshop (2 horas introductorias)
ITIL Workshop (2 horas introductorias)ITIL Workshop (2 horas introductorias)
ITIL Workshop (2 horas introductorias)andres hurtado
 
BusinessIntelligence Introduction
BusinessIntelligence IntroductionBusinessIntelligence Introduction
BusinessIntelligence Introductionandres hurtado
 
Personal Software Process / Sesion 06
Personal Software Process / Sesion 06Personal Software Process / Sesion 06
Personal Software Process / Sesion 06andres hurtado
 
Personal Software Process / Sesion 05
Personal Software Process / Sesion 05Personal Software Process / Sesion 05
Personal Software Process / Sesion 05andres hurtado
 
Personal Software Process / Sesion 04
Personal Software Process / Sesion 04Personal Software Process / Sesion 04
Personal Software Process / Sesion 04andres hurtado
 
Personal Software Process / Sesion 02
Personal Software Process / Sesion 02Personal Software Process / Sesion 02
Personal Software Process / Sesion 02andres hurtado
 
Personal Software Process / Sesion 01
Personal Software Process / Sesion 01Personal Software Process / Sesion 01
Personal Software Process / Sesion 01andres hurtado
 
Personal Software Process / Agenda
Personal Software Process / AgendaPersonal Software Process / Agenda
Personal Software Process / Agendaandres hurtado
 

Más de andres hurtado (20)

mintic_machinelearning101_coursera
mintic_machinelearning101_courseramintic_machinelearning101_coursera
mintic_machinelearning101_coursera
 
estimacion
estimacionestimacion
estimacion
 
Docker 101
Docker 101Docker 101
Docker 101
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Git 101
Git 101Git 101
Git 101
 
BigData 101 / Cursillo (Parte5)
 BigData 101 / Cursillo (Parte5) BigData 101 / Cursillo (Parte5)
BigData 101 / Cursillo (Parte5)
 
BigData 101 / Cursillo (Parte4)
 BigData 101 / Cursillo (Parte4) BigData 101 / Cursillo (Parte4)
BigData 101 / Cursillo (Parte4)
 
BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)BigData 101 / Cursillo (Parte3)
BigData 101 / Cursillo (Parte3)
 
BigData 101 / Cursillo (Parte2)
BigData 101 / Cursillo (Parte2)BigData 101 / Cursillo (Parte2)
BigData 101 / Cursillo (Parte2)
 
BigData 101 / Cursillo (Parte1)
BigData 101 / Cursillo (Parte1)BigData 101 / Cursillo (Parte1)
BigData 101 / Cursillo (Parte1)
 
BigData 101 / Cursillo (Parte0)
BigData 101 / Cursillo (Parte0)BigData 101 / Cursillo (Parte0)
BigData 101 / Cursillo (Parte0)
 
Enterprise Architect SparxSystems
Enterprise Architect SparxSystemsEnterprise Architect SparxSystems
Enterprise Architect SparxSystems
 
ITIL Workshop (2 horas introductorias)
ITIL Workshop (2 horas introductorias)ITIL Workshop (2 horas introductorias)
ITIL Workshop (2 horas introductorias)
 
BusinessIntelligence Introduction
BusinessIntelligence IntroductionBusinessIntelligence Introduction
BusinessIntelligence Introduction
 
Personal Software Process / Sesion 06
Personal Software Process / Sesion 06Personal Software Process / Sesion 06
Personal Software Process / Sesion 06
 
Personal Software Process / Sesion 05
Personal Software Process / Sesion 05Personal Software Process / Sesion 05
Personal Software Process / Sesion 05
 
Personal Software Process / Sesion 04
Personal Software Process / Sesion 04Personal Software Process / Sesion 04
Personal Software Process / Sesion 04
 
Personal Software Process / Sesion 02
Personal Software Process / Sesion 02Personal Software Process / Sesion 02
Personal Software Process / Sesion 02
 
Personal Software Process / Sesion 01
Personal Software Process / Sesion 01Personal Software Process / Sesion 01
Personal Software Process / Sesion 01
 
Personal Software Process / Agenda
Personal Software Process / AgendaPersonal Software Process / Agenda
Personal Software Process / Agenda
 

Solución de software para revisión de arquitectura y desarrollo

  • 1. OBJETIVO: revisión de aspectos que rodean el desarrollo de una solución de software Conocer con qué debemos articular esa sólida base matemática de soluciones a problemas de la vida diaria. 1
  • 2. Esto lo dice pacho. 2
  • 3. Veamos el primer punto de prerrequisitos para la charla: La arquitectura de software. ANALOGIA CON LA CONSTRUCCIÓN: (1) CASA PARA UN PERRITO (2) CASA DE LOS 3 CERDITOS (3) RASCACIELOS … Imaginemos por un momento lo que implica construir una casa: • Estamos de acuerdo en que es diferente construir una casa por ejemplo, para un perrito, para una familia de cerditos o un rascacielos. • Estamos de acuerdo en que según la casa a construir, existen otros parámetros que debe soportar la casa al ser construida (recordemos la fábula de los 3 cerditos cuando no construyeron con ladrillo-brick, sino con pajas-straw o palitos de madera-sticks) • Cuando compramos una casa, antes de construirla, vemos los planos de diferentes sistemas; con ello tenemos una visión y una dirección de lo que se construirá VERSUS CASO SOFTWARE: FUNCIONALES+NO-FUNCIONALES (BASE-SÓLIDA) Para el caso software: • La arquitectura de software nos permite proponer soluciones que cumplen los requisitos técnicos y operativos a al vez que optimiza lo que se llaman los atributos de calidad comunes como rendimiento, seguridad • Como cualquier otra estructura, el software se debe construir sobre una base sólida. Si no se consideran escenarios clave se pone en riesgo su aplicación. EL ESFUERZO DE ESTA DISCIPLINA VARÍA SEGÚN LO QUE SE QUIERE CONSTRUIR • Para el caso industrial, son varias las perspectivas a observar cuando llega una iniciativa de inversión. En este caso un área llamada arquitectura empresarial (siguiente slide). • Para esfuerzos pequeños, un buen diseño está bien para iniciar. 3
  • 5. ARQUITECTURA EMPRESARIAL Cuando el tamaño de los negocios es considerable, un área llamada arquitectura empresarial es un colaborador interesante para abordar esta reallidad. No es lo mismo entender el sistema de información de la panadería de la esquina, a la forma en la cual una empresa basada en tecnología como uber, usa sus servicios tecnológicos para despacharnos un auto y cobrar. Cuando el negocio comienza a crecer, necesitamos “trucos” para entenderlo. La ARQUITECURA EMPRESARIAL, Es la alineación tecnológica basada en apoyar los objetivos de la empresa, buscando mayor agilidad. Para ello, • Debemos Entender las dinámicas de la empresa de hoy en día • Tecnología como articulador de las necesidades del negocio actual • Desde el punto de vista de lo que se llama Arquitectura de Software 4 EJES FUNDAMENTALES son trabajados por la arquitectura empresarial: • El negocio y sus procesos (i) • La Información y aplicaciones o sistemas (ii) • La infraestructura base: redes y hardware (iii) • La base estratégica sobre la cual el negocio evoluciona (iv) 4
  • 6. TRUCO #0: ZACHMAN FRAMEWORK A nivel horizontal, bajamos en detalle A nivel vertical, cada columna nos indica una dimesión que exploramos Busca dar estructura a un sistema mediante los componentes que lo constituyen Por ejemplo, • en la columna de motivación (por qué), iniciamos con unas metas estratégicas; luego las vamos decantando hasta tener unos objetivos de negocio, unas reglas o políticas que guían la empresa • En la columna de funciones, comenzamos con los procesos de negocio; pasamos por los diseños de un sistema, y llegamos hasta las funciones y rutinas de nuestros algoritmos 5
  • 7. DEL 4P+H y EL SOCIO (HISTORY CHANNEL). Como hemos visto, uno de los puntos fundamentales para poder participar en la organización y permitir que ella evolucione, es el entender cómo funciona ella. Necesitamos tener varias vistas o perspectivas de la organización analizada. Precisamente History Channel tiene un programa que se llama “El Socio”, en el cual un inversionista observa el potencial de determinado negocio que se encuentra en problemas bajo 3 ejes fundamentales: El Producto que desarrolla la compañía (1) El Proceso que les permite estandarizar la forma en la cual lo elaboran (2) y sobre todo Las Personas que trabajan allí (3) Para efectos de la presentación del día de hoy, se adicionan 2 puntos: • Los Proyectos: o iniciativas que nos permiten transformar el negocio de hoy • y las Herramientas: que nos permiten lograr mecanismos de automatización en las tareas que elaboramos CON UN EJEMPLO Suponiendo que tenemos un negocio de venta de autos en SanFrancisco, (1) El producto en este caso es la venta del auto (2) El proceso de venta es uno de los más relevantes para la compañía (procesos misionales) (3) Quienes venden y el apoyo de otras áreas para hacerlo posible son quienes orientan la dinámica del capital en esta empresa. 6
  • 8. Los 5 elementos en conjunto los denominan el 4P+T de la construcción de proyectos de desarrollo de software 6
  • 9. Precisamente en el punto C, se tiene la oportunidad para “Integrar el conocimiento abstracto matemático y algorítmico a problemas teóricos y prácticos”. Para ello debemos entender el negocio donde aplicamos la tecnología (B). y lo vamos a realizar mediante el uso de los 5 elementos del socio (A) EL MAGO Y SUS TRUCOS: Alrededor de la charla vamos a revelar algunos trucos alrededor del negocio y la tecnología 7
  • 10. 8
  • 11. LAS VERTICALES DE NEGOCIO, Son soluciones focalizadas por sectores (sectores de actividad económica), que requieren tecnologías específicas para sus necesidades: • No es la misma manera en la que un retail atiende a un cliente que un banco o empresa de transporte: • Entender al cliente, su lenguaje y sus procesos Normalmente tratan de especializar un esfuerzo inicialmente horizontal, con soluciones genéricas que aplicaban a diferentes tipos de negocios (ejemplo, un CRM o un sistema de facturación POS). 9
  • 12. TRUCO #1: BUSINESS MODEL CANVAS Aunque llenando 9 cuadros no vamos a entender un negocio, el business model canvas es una herramienta, que nos da una idea preliminar de la forma como se mueve el negoio que se quiere estudiar, a muy gran escala. Estas 9 perspectivas son: • Clientes (Customer Segments): hacia los cuales orientamos nuestro producto o servicio • propuesta de valor: que es lo que soluciona, y a lo cual le metimos trabajo (por qué la persona va a comprarnos) • Canal: forma de entrega de nuestra propuesta de valor • Relación: fidelización • Ingresos: venta directa, suscri´ción, freemium • recursos clave: lo que vamos a consumir para prestar el servicio • actividades clave: internas: producción, marketing; para con ello entregar la propuesta de valor • Alianzas: complementan nuestras capacidades, reducen incertidumbre • Costos: fijos y variables para diseñar un modelo óptimo Ejemplo BMC (Busiless Model Canvas): venta de autos REFERENCIAS https://es.slideshare.net/jorgemanriquechavez/generacin-de-modelos-de-negocio-y-diseo-de- planes-de-negocio 10
  • 13. 11
  • 14. 12
  • 15. 13
  • 16. TRUCO #3: AGILE PRACTICES En esto no me voy a detener, pues fue tema de una charla previa. Básicamente es un tipo de practicas que nos permiten lograr la interacción de personas que llamamos equipo autoorganizado, con colaboración del cliente, con el fin de crear un producto y demostrable a lo largo de iteraciones llamadas sprints. A lo largo del sprint hay que saber qué se debe construir (PLAN), que se organiza en un backlog Hay que saber ESTIMAR lo que se va a realizar (PLANNING-POKER), y que el equipo quede medio balanceado Hay que realizar las actividades, donde cada quien tiene sus TODO’s (KANBAN) Se construye o ejecuta ese plan, viendo pedazos de producto al final de la iteración. EJEMPLO 2: JIRA AGILE • YOUTUBE: https://youtu.be/BF5LzxaM_c4 Inactionsas.atlassian.net (proyecto: 0000_CXT) 14
  • 17. 15
  • 18. ARQUITECTURA DE REFERENCIA PARA SOLUCIONES A NIVEL DE EMPRESA Es un modelo de referencia aplicable de forma transversal a diferentes tipos de industria. Varios tipos de negocio tienen: UNA ZONA OPERATIVA (1): Una plataforma para soportar su operación diaria a través de la cual generan información. Para algunos negocios, que basan su construcción en servicios digitales, los canales por los cuales atienden también son netamente digitales. Normalmente puede que no sean un solo sistema, sino conjuntos de sistemas que mediante integraciones, colaboran entre sí. Integraciones a nivel de front, a nivel de servicios o a nivel de datos permiten la operatividad del día a día de la empresa. Desarrollo de aplicaciones web, mobile (SinglePageApplications), con unas tecnologías de backend, y escribiendo a orígenes de datos Relacionales y NOSQL. Algunas veces delegamos incluso la existencia de un backend y únicamente exponemos el algoritmo (serverless computing). Ejemplos de tecnologías: SPA (single-page-applications) con {front} angular, react y {back} spring boot, asp.net core nodejs, scala. {storage} orígenes relacionales y nosql (mongo, neo4j), Ejemplos de conocimientos: desarrollo de aplicaciones, functional programming / object oriented programming, sistemas distribuidos, blockchain UNA ZONA DE INGESTIÓN (2) La Información que en tiempo real o a través de batches de información se transmite o enriquece a medida que llega… Ejemplos: Kafka, SSIS UNA ZONA DE ALMACENAMIENTO (3) …para algunas veces ser acumulada … 16
  • 19. Ejemplos: Hadoop, Amazon AWS-S3, UNA ZONA DE ANALYTICS (4) …esos datos acumulados o que se obtienen en tiempo real, los podemos usar para describir+diagnosticar lo que pasa con el negocio (muchas veces visualmente), o bien para predecir+prescribir lo que puede pasar con él. Sacar los ”insights” o información de valor que a simple vista puede que no veamos mediante el uso de técnicas heredadas de InteligenciaArtificial+MachineLearning+DeepLearning para el procesamiento de información estructurada y no estructurada. Usar esos insights para mejorar la experiencia del cliente, retroalimentar los procesos del negocio, entregar información para toma de decisiones basadas en datos. Ejemplos: Tableau, PowerBI, jupyter, stacks/librerias sobre R o Python como tensorflow, utilitarios como deeplearn.js o d3.js LA ZONA DE INFRAESTRUCTURA (5), … donde se hospedan los desarrollos a realizar o los servicios que se consumen, y que dependen de lo que hayamos montado: IaaS (Infraestructure as a service), Platform as a service (PaaS), Software as a service (SaaS). Ejemplos: Plataformas Tipo Cloud como Microsoft Azure, Google Cloud Platform. Ejemplos Plataformas basadas en contenedores: Docker + Kubernetes. Ejemplos SaaS: Plataformas de correo (Google Docs, Gmail) Ejemplos PaaS: Heroku 16
  • 20. Antes se creaban los conceptos o técnicas, pero no se tenía el hardware necesario. Actualmente existe un potencial a explotar en un mundo de sensores, donde técnicas estadísticas+DataMining / InteligenciaArtificial+MachineLearning+DeepLearning se aplican en varios campos, y con infraestructuras tipo cloud se puede realziar el entrenamiento de modelos. Estas técnicas que tiempo atrás fueron creadas, hoy en día son implementables dado que: (1) El costo de almacenamiento ha bajado, por lo cual podemos almacenar mayor cantidad de información (2) El poder de cómputo ha aumentado Teniendo estos 2 insumos, no nos queda más que comenzar a enseñarle a este tipo de máquinas a “aprender de la experiencia”. Cuando aumenta el número de variables del probema y también la cantidad de datos y no conocemos una fórmula o ecuación que a pueda modelar, podemos usar técnicas de machine learnng como apoyo. SUPERVISED: queremos obtener una variable de salida, mediante n-variables de entrada. Mediante ejemplos queremos que la máquina haga la predicción. Podemos poner a clasificar a la máquina (es decir, que la salida esperada debe pertenecer a m-grupos), o bien, queremos obtener un valor numérico (regression) UNSUPERVISED: queremos conocer la estructura innata de los datos, sin conocer dicha estructura. Mediante algoritmos de clustering se agrupan datos mediante su similitud, o mediante algoritmos de asociación, se trata de descubrir reglas frecuentes que aplican para ellos (ejemplo: si lleva leche y cerveza, también llevará huevos) 17
  • 21. Otros tipos de datos más complejos • Audio (traducción automática) • Video (tagging, inteerpretación) • Texto (procesameinto de lenguaje natural / ocr) Otros tipos de análisis: • Filtering (collaborative/content-based): mejor experiencia para los clientes • Outlier detection (detección de intrusos, corrupción) 17
  • 22. y= f(x) A partir de unas entradas, queremos predecir lo que hace esta función f, y mediante técnicas de optimización obtenemos un modelo parametrizado que predice nuestra realidad. Primero entrenamos un modelo; Posteriormetne este modelo entrenado nos sierve para predecir un comportamiento, donde los datos no han sido vistos por el modelo. EJEMPLO 1: AZURE ML. YOUTUBE: https://youtu.be/mfhFeDpDa9E REFERENCIAS • aka.ms/data-science-for-beginners • aka.ms/CortanaIntelligenceGallery 18
  • 23. 19
  • 24. AS-IS / TO-BE Los proyectos son el mecanismo normal de división del trabajo en una empresa para cambiar un estado actual AS-IS en un estado deseable (TO-BE). Mediante un análisis de esa brecha, identificamos el problema o preocupación de un área de la empresa para poderlo materializar en un proyecto o producto a realizar. Normalmente se observa no sólo el costo de hacer el proyecto sino lo que implica el no-hacerlo. 20
  • 25. 21
  • 26. Arquitectura Empresarial / Frameworks Articular lo que hace la empresa con tecnología Usamos un framework como estrategia para dilucudar bien el estado actual de la empresa (AS-IS) o bien el estado al que queremos llegar (TO-BE) En el slide 2 de las represetnaciones de framworks mas conocidos • (TOGAF (1), • Zachman (2) Dichos frameworks nos sirven para derivar una ruta clara de evolución tecnológica para llegar a ese estado actual acorde a la impleentación de varios proyectos de interés para el negocio. 22
  • 27. 23
  • 28. ARQUITECTURA PERSONAL Vista integral&armonica de la persona. estrategico> (motivadores, principios) Tactico> (objetivos) Operaci[on> capacidades que tengo Defino mi situación actual, la forma de alcanzar esta definición que quiero 24
  • 29. FORMAS DE APRENDER • POMODORO TECHNIQUE • MOOC’s SABERNOS VENDER: No a mucha gente le gustan las ventas, pero cuando consigues un empleo o vas a hacer un negocio, indirectamente te vendes a ti mismo. A quien tienen en mente las personas: con quien hubo mayor empatía 25
  • 30. Esperando que ésta experiencia haya sido de valor. - - - - - - - - - Todas las marcas en mención son propiedad de sus respectivos dueños. 26