Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás...

29

Transcript of Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás...

Page 1: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.
Page 2: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de

esfuerzo

Nicolás [email protected]

Diego [email protected]

Marcos Begerez [email protected]

De Larrobla & Asociados

Page 3: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

IntroducciónIntroducción

• Problema: Migrar 3000 WebPanels estimados y 30 programadores distribuidos en distintos países de Latinoamérica

• Solución: Invertimos en un proyecto de investigación para mejorar nuestro modelo de desarrollo

• Resultados: Hoy día tenemos mas del 80% de la migración realizada, y lo realizamos en la cuarta parte del tiempo estimado

• Problema: Migrar 3000 WebPanels estimados y 30 programadores distribuidos en distintos países de Latinoamérica

• Solución: Invertimos en un proyecto de investigación para mejorar nuestro modelo de desarrollo

• Resultados: Hoy día tenemos mas del 80% de la migración realizada, y lo realizamos en la cuarta parte del tiempo estimado

Page 4: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Análisis

de la situación

Análisis

de la situación

Construcción de

la herramienta

Construcción de

la herramienta

Evolución del

modelo

Evolución del

modelo

Evaluación de los

resultados

Evaluación de los

resultados

ContenidoContenido

Page 5: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Análisis

de la situación

Análisis

de la situación

Construcción de

la herramienta

Construcción de

la herramienta

Evolución del

modelo

Evolución del

modelo

Evaluación de los

resultados

Evaluación de los

resultados

1 - Análisis1 - Análisis

Page 6: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

• Facilidad de propagación de cambios

• Información centralizada accesible desde cualquier lado

• Inversión de la industria

• Los clientes lo piden

• Facilidad de propagación de cambios

• Información centralizada accesible desde cualquier lado

• Inversión de la industria

• Los clientes lo piden

¿Por qué una versión Web?¿Por qué una versión Web?

Page 7: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

¿Cuál era el problema?¿Cuál era el problema?

• Nuestros productos consisten en:• 15199 Objetos

• 4893 WorkPanels

• 2235 Transacciones

• 2002 Tablas

• Bantotal Web: 3000 WebPanels estimados

• Nuestros productos consisten en:• 15199 Objetos

• 4893 WorkPanels

• 2235 Transacciones

• 2002 Tablas

• Bantotal Web: 3000 WebPanels estimados

Page 8: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

• Conclusiones:• Hay que hacer nuevas inversiones

• La arquitectura es distinta

• Hay que migrar desarrolladores

• El costo de desarrollo es mayor

• Nosotros tenemos que seguir siendo competitivos en este escenario

• Conclusiones:• Hay que hacer nuevas inversiones

• La arquitectura es distinta

• Hay que migrar desarrolladores

• El costo de desarrollo es mayor

• Nosotros tenemos que seguir siendo competitivos en este escenario

Luego de algunas pruebas…Luego de algunas pruebas…

Page 9: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Experiencias de migraciónExperiencias de migración

• Pasamos de una arquitecturas centralizada (RPG), a cliente/servidor (VFP) y 3-capas (Java)

• Sobrevivimos 10 años compitiendo a nivel internacional gracias a GeneXus

• Logramos la primera instalación, que conocemos, de un sistema bancario en Java y plataforma Intel (dentro de Latinoamérica)

• Pasamos de una arquitecturas centralizada (RPG), a cliente/servidor (VFP) y 3-capas (Java)

• Sobrevivimos 10 años compitiendo a nivel internacional gracias a GeneXus

• Logramos la primera instalación, que conocemos, de un sistema bancario en Java y plataforma Intel (dentro de Latinoamérica)

Page 10: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

¿Por qué extender GeneXus?¿Por qué extender GeneXus?

• Migrar los procedimientos es volver a generar

• Con respecto a la interfaz:• Demasiados grados de libertad

• Mucho código por WebPanel

• La conversión de interfaces NO es volver a generar

• Por último, no había GXPatterns

• Se necesita:• Ser homogéneos

• Ser estables

• Concentrarnos en dar valor

• Costo proyecto = Costo lógica de negocio

• Menos flexibilidad y más personalización

• Migrar los procedimientos es volver a generar

• Con respecto a la interfaz:• Demasiados grados de libertad

• Mucho código por WebPanel

• La conversión de interfaces NO es volver a generar

• Por último, no había GXPatterns

• Se necesita:• Ser homogéneos

• Ser estables

• Concentrarnos en dar valor

• Costo proyecto = Costo lógica de negocio

• Menos flexibilidad y más personalización

Page 11: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Evolución del

modelo

Evolución del

modelo

Evaluación de los

resultados

Evaluación de los

resultados

Análisis

de la situación

Análisis

de la situación

Construcción de

la herramienta

Construcción de

la herramienta

2 - Construcción2 - Construcción

Page 12: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Bases de datos Datos Datos

Bibliotecas gráficas Interfaz de usuario Interfaz de usuario

Servidores de aplicaciones Escalabilidad Escalabilidad

WebServices Comunicación Comunicación

Nuestras aplicacionesNuestras aplicacionesConocimiento OrganizacionalConocimiento Organizacional

Una reseña de evoluciónUna reseña de evolución

Page 13: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

DiseñadorDiseñador

Generador

Esquema

++Objeto

GeneXus

Objeto

GeneXus

DefiniciónDefinición

Encapsulando el conocimientoEncapsulando el conocimiento

Page 14: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

RequerimientosRequerimientos

GeneXusGeneXus

Definición de requerimientos

de la interfaz

Definición de requerimientos

de la interfaz

Plataforma (Java, .Net, etc)Plataforma (Java, .Net, etc)

Programador

Herramienta

GeneXus

ModeloModelo

Page 15: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

¿Qué hicimos?¿Qué hicimos?

• Relevamos los distintos tipos de interfaces Win existentes

• Identificamos los problemas más comunes del desarrollo Web

• Buscamos soluciones

• Las encapsulamos en la herramienta

• Relevamos los distintos tipos de interfaces Win existentes

• Identificamos los problemas más comunes del desarrollo Web

• Buscamos soluciones

• Las encapsulamos en la herramienta

Page 16: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

DEMO 1(Definición de interfaces)

DEMO 1(Definición de interfaces)

DemostraciónDemostración

Page 17: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

• Componentes de la interfaz:• Categorías y subcategorías• Campos, ComboBox, RadioButtons, Dependencias, Grillas, etc.• Operaciones

• Funcionalidades más importantes implementadas actualmente:

• Componentes de la interfaz:• Categorías y subcategorías• Campos, ComboBox, RadioButtons, Dependencias, Grillas, etc.• Operaciones

• Funcionalidades más importantes implementadas actualmente:

• Navegación

• Filtrado de datos en grillas

• Grillas editables

• Carga de dependencias

• Actualización del estado de la interfaz según el modelo de datos

• Reporte de errores/advertencias

• Confirmaciones

• Validación de datos

• Operaciones con “pop-ups”

• Control de usuario

FuncionalidadesFuncionalidades

Page 18: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Construcción de

la herramienta

Construcción de

la herramienta

Evolución del

modelo

Evolución del

modelo

Evaluación de los

resultados

Evaluación de los

resultados

Análisis

de la situación

Análisis

de la situación

3 - Evolución3 - Evolución

Page 19: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Beneficios: • No quedamos atados a las implementaciones• Acompañamos todo el ciclo de desarrollo

CódigoCódigo

DefiniciónDefiniciónNUEVO:

HTML +

Código GX

NUEVO:

HTML +

Código GX

HTML +

Código GX

generado

HTML +

Código GX

generado

Se genera...Cambiamos el generador y volvemos a generar

Objeto GeneXus

DinamismoDinamismo

La tecnología evoluciona, nuestras implementaciones también deberían hacerloLa tecnología evoluciona, nuestras implementaciones también deberían hacerlo

Page 20: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Primera versión:

• Estructura de la definición estable

• Implementaciones sencillas

TiempoFebrero ‘04 Julio ‘04

Migración de Bantotal

Evolución:

• Cambios menores en el esquema de la definición

• Mejoras en las implementaciones

Bantotal

Herramienta

Estabilización:

• Mayor robustez

• Afinamiento con experiencia de uso real

Implantación

Nuestro ciclo evolutivoNuestro ciclo evolutivo

Page 21: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

DEMO 2(Adaptabilidad)

DemostraciónDemostración

Page 22: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

A futuro…A futuro…

• Evolucionar y mejorar

• Áreas de interés:• Seguridad

• Eficiencia

• Interfaz de usuario

• Nuevas tecnologías

• Los avances realizados se impactan sin costos

• Evolucionar y mejorar

• Áreas de interés:• Seguridad

• Eficiencia

• Interfaz de usuario

• Nuevas tecnologías

• Los avances realizados se impactan sin costos

Page 23: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

Construcción de

la herramienta

Construcción de

la herramienta

Evaluación de los

resultados

Evaluación de los

resultados

Evolución del

modelo

Evolución del

modelo

Análisis

de la situación

Análisis

de la situación

4 - Evaluación4 - Evaluación

Page 24: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

3

4,51,6

0,7

0 1 2 3 4 5

Desarrollo

Migración

Horas promedio por WebPanel

Proceso con laherramienta

Proceso sin laherramienta

Tiempo = Diseño de Interfaz + Lógica de Interfaz +

Lógica de Negocio + Pruebas Básicas

ProductividadProductividad

Page 25: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

meses / hombre

Proceso sin la herramienta

Proceso con la herramienta

Ganancia

Migración 51 12 (23%) 39

Desarrollo 76 27 (35%) 49

Proyectando 3000 WebPanels…Proyectando 3000 WebPanels…

Page 26: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

ConsecuenciasConsecuencias

• Estaremos preparados para instalar Bantotal Web desde el tercer trimestre de este año

• Estaremos preparados para instalar Bantotal Web desde el tercer trimestre de este año

Page 27: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

ConclusionesConclusiones

• Web no es Win:• Es más sofisticada/complicada

• Da más trabajo

• Programación declarativa:• Nos ayudó a seguir estándares de trabajo

• La atención se enfocó en la lógica de negocio

• Mejoró la productividad y facilitó los cambios

• Tenemos una gran tecnología con GeneXus, pero agregando nuestra experiencia pudimos mejorarla

• ¿El modelo será efectivo más allá de las interfaces?

• Web no es Win:• Es más sofisticada/complicada

• Da más trabajo

• Programación declarativa:• Nos ayudó a seguir estándares de trabajo

• La atención se enfocó en la lógica de negocio

• Mejoró la productividad y facilitó los cambios

• Tenemos una gran tecnología con GeneXus, pero agregando nuestra experiencia pudimos mejorarla

• ¿El modelo será efectivo más allá de las interfaces?

Page 28: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.

¿Preguntas?Nicolás Castagnet – [email protected]

Diego Rivero – [email protected]

Marcos Begerez – [email protected]

¿Preguntas?Nicolás Castagnet – [email protected]

Diego Rivero – [email protected]

Marcos Begerez – [email protected]

“Si piensas que puedes hacer algo o piensas que no puedes hacer algo, tú tienes razón”

- Henry Ford -

Gracias por su atención….Gracias por su atención….

Page 29: Creando Bantotal Web: desarrollando 3000 WebPanels con la cuarta parte de esfuerzo Nicolás Castagnet ncastagnet@dlya.com.uy Diego Rivero drivero@dlya.com.uy.