Transcript
Page 1: Encuentro GeneXus 2006 Collaborative Projects

Collaborative Projects: Experiencias y Testimonios

Page 2: Encuentro GeneXus 2006 Collaborative Projects

Agenda

Experiencias Personales - Armin

GXUNIT - Alejandro y Uruguay

Summarized By Pattern – Enrique y Marcos

Page 3: Encuentro GeneXus 2006 Collaborative Projects

ForumSR

Collaborative Projects

Page 4: Encuentro GeneXus 2006 Collaborative Projects

Documentación y ejemplos de Web Services

Líder: Iván Padilla (Ecuador)

Armin Bachmann (Uy)

Page 5: Encuentro GeneXus 2006 Collaborative Projects
Page 6: Encuentro GeneXus 2006 Collaborative Projects
Page 7: Encuentro GeneXus 2006 Collaborative Projects

La Historia…

Cómo se dio

Motivaciones/beneficios

Comunicaciones

Page 8: Encuentro GeneXus 2006 Collaborative Projects

Testimonio de Iván

“Que todas las personas que deseen compartir su conocimiento y experiencias lo hagan ya, así tendremos un crecimiento y unidad mas acelerado, rompamos las barreras de la distancia y unámonos más.

COLABORANDO DECIDIDAMENTE, CRECEMOS TODOS !!”

Iván Padilla, Quito-Ecuador.

Page 9: Encuentro GeneXus 2006 Collaborative Projects

Proyecto Colaborativo GxUnit

Enrique Almeida - [email protected]

Alejandro Araújo – [email protected]

Uruguay Larre Borges – [email protected]

Page 10: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Agenda

• ¿Qué es?

• ¿Por qué?

• ¿Cómo?

• Algunas reflexiones

Page 11: Encuentro GeneXus 2006 Collaborative Projects

Antecedentes: Hubo una vez una propuesta …

GxUnit

Propuesta de Enrique Almeida (XIV Encuentro de Usuarios GeneXus)

Integrar las pruebas unitarias a GeneXus

Escribir las pruebas en Genexus

Genexus facilitando la escritura de las pruebas

Marco para ejecutarlas

Registro y publicación de resultados

Conseguir adeptos para el desarrollo

¿Qué es?

Page 12: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Nace como CP

Inicio: Agosto 2006

Objetivo: Concepción de un marco de trabajo para pruebas unitarias automatizadas.

Inicialización y borrado

Ejecución individual y agrupada

Resultados comparados con los esperados

Escritura de las pruebas en

Genexus

GxUnitGeneración de procedimientos

de prueba

¿Qué es?

Page 13: Encuentro GeneXus 2006 Collaborative Projects

GxUnit

• ¿Qué es?

• ¿Por qué?

• ¿Cómo?

• Algunas reflexiones

Page 14: Encuentro GeneXus 2006 Collaborative Projects

La importancia del “testing” en la calidad

Verificación: ¿Se está construyendo el producto correctamente?

Validación: ¿Se está construyendo el producto correcto?

El “testing” es una actividad desarrollada para evaluar la calidad de un producto, por la vía de identificar defectos (IEEE-Swebok)

GxUnit: Motivaciones

¿Por qué?

Page 15: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Motivaciones

La participación del “testing” en el tiempo y costo total

Testing

50%50%

Tiempo Costo

(Beizer)

¿Por qué?

50-75%

25-50%Testing

(Hailpern & Santhanam)

(G. Tassey NIST 2002)

Page 16: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Motivaciones

La integración temprana del “testing” al ciclo de vida

El esfuerzo de corregir errores crece a medida que avanzamos en el ciclo de vida

¿Por qué?

(G. Tassey NIST 2002)

Page 17: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Motivaciones

La automatización de las pruebas

Automatizar implicar probar v validar automáticamente los resultados (Hunt & Thomas)

(Nunit)

¿Por qué?

Page 18: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Motivaciones

Aspectos metodológicos

Aplicación de buenas prácticas

Automatizar pruebas + integración continua + regresión

Métricas

Test First Programming

¿Por qué?

Page 19: Encuentro GeneXus 2006 Collaborative Projects

GxUnit

• ¿Qué es?

• ¿Porqué?

• ¿Cómo?

• Algunas reflexiones

Page 20: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Investigación

Búsqueda de proyectos complementarios

Desarrollo del motor y marco de trabajo

Integración al IDE de Genexus (¿Rocha?)

Estado de la base de datos

¿Cómo?

Page 21: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Investigación

Patrones

Nuevos tipos de objetos (¿Rocha?)

¿Cómo escribir las pruebas?

Sentencias Try/Catch – Assert

¿Otras posibilidades?

¿Cómo?

Page 22: Encuentro GeneXus 2006 Collaborative Projects

GxUnit

• ¿Qué es?

• ¿Porqué?

• ¿Cómo?

• Algunas Reflexiones

Page 23: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Algunas reflexiones

Integración con otros Proyectos

FullGx

FIT(W.Cunningham) para Genexus

Tiempo

Sub proyectosGxUnit procedures

Concepción

Construcción

Recursos (¡Humanos!)

La experiencia

Page 24: Encuentro GeneXus 2006 Collaborative Projects

GxUnit: Sitios de interés

La experiencia

http://www.gxopen.com/forumsr/servlet/hsrmain

Page 25: Encuentro GeneXus 2006 Collaborative Projects

Collaborative ProjectsSummarizedBy Pattern

Marcos Crispino – [email protected]

Enrique Almeida – [email protected]

Page 26: Encuentro GeneXus 2006 Collaborative Projects

Participantes

Enrique Almeida (Concepto, Uruguay)

Marcos Crispino (Concepto, Uruguay)

Nicolas Jodal (Artech, Uruguay)

Federico Dominioni (GX Consulting, Uruguay)

Daniel Coellar (Etapa Telecom, Ecuador)

Gabriel Medina (GXSoft, Argentina)

Page 27: Encuentro GeneXus 2006 Collaborative Projects

Motivación

Pantalla de resumen en aplicaciones web

Siempre son similares

Se identifica claramente un patrón

Page 28: Encuentro GeneXus 2006 Collaborative Projects

Ejemplo (1)

Page 29: Encuentro GeneXus 2006 Collaborative Projects

Ejemplo (2)

Page 30: Encuentro GeneXus 2006 Collaborative Projects

Etapas

Marzo/2005 – Surge la idea y se registra en el Wiki

Junio/2006 – Se decide implementar como Collaborative Project

Julio/2006 – Ejemplo canónico

Agosto/2006 – Desarrollo

Setiembre/2006 – Liberación versión 1.0

Page 31: Encuentro GeneXus 2006 Collaborative Projects

Collaborative Projects

Experiencia nueva

Experiencia multi-diciplinaria

Proyecto “Difuso”

Comunicación humana

Plan inicial

Page 32: Encuentro GeneXus 2006 Collaborative Projects

Consejos para próximos CP

Definir claramente

Objetivo y Grupo de Trabajo

Intereses de los participantes

Etapas (y un líder para cada etapa)

Roles

Recursos

Page 33: Encuentro GeneXus 2006 Collaborative Projects

Mejoras para los CP

TO-DO Lists compartidas

GXOpen con “pedazos” de proyectos

Foros de Proyectos

Repositorio con versionado

Herramientas para facilitar pruebas

Cambio de logo

Page 34: Encuentro GeneXus 2006 Collaborative Projects
Page 35: Encuentro GeneXus 2006 Collaborative Projects
Page 36: Encuentro GeneXus 2006 Collaborative Projects
Page 37: Encuentro GeneXus 2006 Collaborative Projects

Charlas relacionadas

Page 38: Encuentro GeneXus 2006 Collaborative Projects

Conclusiones

Los Collaborative Projects sirven

Se implementó el Pattern

Desarrollo rápido (3 meses)

Implementar ideas “dormidas”

Compartir conocimientos y aprender

Conocer gente y otras realidades

Satisfacen necesidades de la comunidad

Page 39: Encuentro GeneXus 2006 Collaborative Projects

Experiencias en el desarrollo de Collaborative Projects

¿Preguntas?