Enchulando Genexus


Corre el año 2008, la versión 10 de GeneXus está liberada y es todo un éxito. Hay muchos desarrollos con la misma y se están poniendo en producción los primeros sistemas. No hay grandes errores mas que los típicos de las instalaciones nuevas.

Usted ha sido nombrado "Coordinador General" del programa "Enchulando GeneXus". Dicho programa tiene un presupuesto de uno 25 millones de Euros y 1 año para ejecutarlo. Tiene a su disposición los 30 mejores programadores de C# de toda américa latina, y deberá elegir 10 proyectos para el desarrollo de herramientas que colaboren con el ciclo de desarrollo con GeneXus.

Se debería tener en cuenta TODO EL CICLO DE VIDA (captura de requerimientos, diseño, programación, pruebas, instalación, mantenimiento, desinstalación) de la aplicación y no solo el desarrollo.

Cual sería su lista?.

Como coordinador general, puede y debe recibir y evaluar todas las propuestas que se le presenten.

================================================================

Mi primera decisión, seria fijar una retribucion anual de 1 millon de Euros para el "Coordinador General" y la segunda, seria seleccionar los siguientes proyectos:

a) Captura de Requerimientos.
Herramienta donde los analistas funcionales puedan escribir los requerimientos y que la misma sea visto dentro de la KB.

b) Borrar objetos y atributos.
Esta es una herramienta revolucionaria. Darle un objeto o un conjunto de objetos y que haga todo lo necesario para borrarlo y que además lo borre. Lo mismo para atributos.

c) Manejo de versiones

Un manejador de versiones integrado a Genexus.
La funcionalidad prometida:
  • Volver la KB al estado que tenia hace n dias
  • Ver la historia de un objeto.
  • Poder hacer desarrollo distribuidos
  • Bloqueos largos
  • Branch por instalacion/cliente/usuarios
  • Merges que funcionen.
d) Pruebas unitarias (GXUnit)
Poder definir para un determinado objeto, un conjunto de pruebas que debe cumplir. Se podran programar dichas pruebas con independencia de la base de datos. O sea, habra un objeto nuevo donde se le dirá que deberia devolver los diferentes for each de un conjuto de objetos y se crearan los Mock objects correspondientes para hacer rapidas y predecibles estas pruebas unitarias.

e) Pruebas funcionales (GXFit?)
Los analistas funcionales podran especificar diferentes pruebas funcionales y se veran los resultados en un Panel de Control, donde se podrán ver el estado de dichas pruebas funcionales.

f) Builds Nocturnos y generación de instaladores.
Dicha herramienta debería poder correrse varias veces al dia y va a generar todos los objetos necesarios y reportar los errores.
Poder generar instaladores desde Genexus, de forma de poder dividir la aplicación en diferentes ámbitos.
Por ejemplo poder instalar determinados objetos web en un directorio virtual y otros en otro con una validación de lo que se necesita instalar en cada lugar.
Poder generar diferentes archivos de configuración (web.config y client.cfg) para los diferentes sitios.
Dichos instaladores deberían ser incrementales, instalando solamente las cosas nuevas o modificadas.

g) Manejo de Bug/Incidentes
Los incidentes van a ser ingresados por los funcionarios de la mesa de ayuda y los que correspondan a errores/mejoras de programacion se veran desde Genexus dentro de la KB correspondiente y podran asociarse incidentes a objetos, para mejorar la trazabilidad de los cambios.

h) Análisis de impacto
Tener una herramienta de análisis de impacto de un cambio que permita ver
  • Objetos que hay que regenerar
  • Objetos que cambiaron la navegación
  • Objetos que no pasaron sus pruebas Unitarias
  • Programas que no pasaron las pruebas funcionales.
i) Manejo de Roles y Seguridad en la KB.
Definir Usuarios/Roles y tareas en una KB.
Poder definir que tarea puede realizar un usuario en una KB. Poder manejarlo en forma centralizada para un conjunto grandes de KBs.

j) ForEach Analyzer.
Es común ver al desarrollador Genexus con una ventana donde hacen consultas/actualizaciones en la base de datos con SQL.
Seria bueno tener una herramienta donde se pudiera ingresar directamente el codigo Genexus de los For Each y que devuelva el resultado en una grilla.
Se interpreta el resultado, se genera el código "on the fly", se compila, ejecuta y devuelve el resultado.
Estaría bueno que pudiera hacer el ask de las variables/atributos que no pueda inferir.
De esta forma se evitaria la búsqueda de sentencias SQL en los fuentes, o la traduccion que se hace en forma mental, desde un for each a SQL.
Aceleraría mucho el desarrollo y evitaría el tener que aprender todas las diversas formas de escribir una fecha (esta es la que mas me cuesta al pasar de SQL Server a Oracle, mySQL, informix, etc) en las diferentes DBMS.
Estaría bueno también que mostrara la sentencia SQL generada.

Comentarios

  1. Wow!... Ojalá tengamos todo eso cuando menos para la version 11.0

    ResponderBorrar
  2. Todo viene con la versión Jaureguiberry… pregúntale a Crispino sino…

    ResponderBorrar
  3. me intereso lo del millon de euros anuales
    jeje
    pero algunos puntos tambien estaria bueno que se inlcuyan
    Ojala deje de ser solo un sueño!
    saludos
    Carina

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.