Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Thursday, September 21, 2017

Procesos de Cierre: Las Peores Practicas



En este post voy a llevar la contraria al tópico recurrente de “Las mejores prácticas en…”.  

Voy a exponer  lo que hacemos repetidamente de manera incorrecta sin darnos cuenta de eso.     


                                                                                                                                     

¿Que es un proceso de cierre?

                                         

Una vez  finalizados los procesos operativos del  día, las instituciones requieren ejecutar procesos de cierre automatizados para actualizar sus bases de datos con  las  transacciones realizadas durante el periodo diario, mensual o anual que corresponda.




Los procesos de cierre que he revisado a lo largo de mi carrera profesional han sido sumergidos en las siguientes “peores practicas gerenciales” aplicadas en el área de sistemas que se resumen en esta frase:
Nadie entiende verdaderamente lo que sucede allí adentro y lo que es peor: a nadie le importa.


Peores Practicas Gerenciales en la Gestión de los procesos de Cierre


·         El software no tiene documentación ni técnica ni funcional.

     Una pésima práctica que se repite una y otra vez consiste en no exigir a los proveedores de software una documentación técnica y funcional de los procesos desarrollados.
    Algunos proveedores engañan al cliente argumentando que el software esta autodocumentado. Ni los analistas de Organización y métodos ni lo analistas funcionales son involucrados en el proceso de evaluación del software antes de adquirirlo.
    Por otra parte, los desarrolladores de la empresa no están dispuestos ni preparados para dedicar tiempo ni esfuerzo a documentar los desarrollos o los ajustes que realizan.

·         Rotación de recursos sin transferencia de conocimientos.
  
     En un taller mecánico dedicado a la reparación de automóviles, cuando se va quien repara los frenos, se sustituye por otro empleado mecánico que realiza el mismo trabajo que el anterior casi inmediatamente. Sin embargo, en productos donde está implicada la propiedad intelectual, como ocurre en el área de sistemas, es un error aplicar ese mismo concepto de la sustitución inmediata sin transferencia de conocimientos.

    En una institución para la cual trabajé hace algún tiempo, era de carácter obligatorio la planificación de una sesión de transferencia de conocimientos a la cual debía asistir todo el personal de IT, independientemente del lenguaje de programación, del equipo o de la funcionalidad del producto desarrollado.

    Los desarrolladores debían explicar técnica y funcionalmente la aplicación instalada así como sus conexiones con otras aplicaciones y con las áreas funcionales de la institución. Además debía entregarse una documentación detallada que debía ser almacenada en una carpeta compartida de acceso controlado para que  todo producto desarrollado e instalado por el área de sistemas quedase como patrimonio intelectual de la institución. 

     Este caso, a mi entender, ha sido una excepción en mi carrera profesional en el marco del “deber ser” institucional. Esta falta de procedimientos para el área de sistemas tiene múltiples causas que serían tema para otro post. Quien esté interesado en el desarrollo de este tema puede solicitármelo  por el blog y con gusto redactare otro artículo con este punto en particular.      


·         Subestimación de la importancia de un proceso de cierre.

     Los procesos de cierre son importantes cuando fallan, cuando no fallan no son el centro de atención de nadie en la organización. Esto es como el paso de los huracanes: importan cuando suceden o si se presenta un escenario que hace probable que sucedan. De resto, casi nadie revisa los reportes del clima.


·         No hay una división óptima de las funciones del personal y  además hay falta de recursos calificados.

    La dinámica de los procesos diarios y la urgencia por resolver las incidencias que exige la operativa del negocio y a falta de recurso humano disponible para realizar esta tarea de análisis y revisión de los desarrollos de la empresa.

    En mi opinión se necesitan dos grupos de personas en el área de IT. Aquellos que gestionan las soluciones de las incidencias diarias y aquellos que piensan, analizan, revisan y auditan los desarrollos realizados y gestionan los próximos desarrollos. Prácticamente ninguna organización en la que he estado tiene identificadas estas dos funciones.




    Por otra parte hay personas más calificadas para atender incidencias y otras para ocuparse de los procesos de gestión de soluciones de desarrollo importantes a mediano y largo plazo. El ejercicio del pensamiento creativo a veces se confunde con hacer arte, poesía, literatura, etc. Sin embargo, la creatividad es un término mucho más amplio que implica el ejercicio consciente y repetido de las funciones del lado derecho del cerebro. En su libro “El pensamiento Lateral” Edward de Bono expone varios ejercicios prácticos para desarrollar el cerebro derecho. La expansión de estos atributos no se restringe solo al área del arte sino a cualquier disciplina, oficio o tarea.


·         Lemas que hemos practicado culturalmente durante mucho tiempo.
     “Si no está roto no lo arregle”. Esto último se enfrenta a los nuevos conceptos disruptivos presentados en el libro de Robert Kriegel  y Louis Patler titulado: “Si no está roto, rómpalo”. Estos conceptos obsoletos que atentan contra el cambio y la innovación mantienen a las instituciones lejos de la curva de crecimiento puesto que el recurso humano es empleado recurrentemente en resolver los problemas de siempre sin dejar espacio para preparar estrategias operativas alternas de crecimiento a mediano y largo plazo.
    Puedes leer la presentación del libro resumida en slides en este enlace

Sunday, May 21, 2017

El Emperador Está Desnudo

                                                                                                                                                                                                       




Desde hace algún tiempo, me he enterado que en varias instalaciones en Suramérica y en parte de América Central (Chile y El Salvador, por ejemplo) persiste el RPG III como lenguaje único para realizar nuevos desarrollos. Esto se entiende cuando en algunos equipos no tienen incorporado el RPG IV,  el RPG Free ni el ILE. Otros no tienen SQL ni DB2.

Sin embargo, hay varios centros informáticos que, teniendo en el Iseries todas las herramientas disponibles para desarrollar sistemas de una forma más sencilla y actualizada, se resisten a abandonar el RPG III en los nuevos desarrollos.

Programadores más jóvenes que conocieron el Iseries y el AS400 programando con RPG IV y que se han ido actualizando con  las siguientes versiones de la plataforma, se encuentran en las entrevistas de trabajo con una pared que les obliga a obedecer a una tecnología más vieja a la cual deben someterse. Esta necesidad de -hacer una carpa en RPG III y quedarse durmiendo allí- anula la posibilidad de realizar desarrollos eficientes y de responder a la necesidad de información de los usuarios y clientes de manera más rápida y oportuna.

En una experiencia personal que tuve  hace un par de años se me pidió convertir un programa de RPG II a RPG IV. Para ello solicité a los mas entrenados programadores de RPG II que me enviaran el algoritmo del programa para desarrollar el modulo en RPG FREE-ILE en base  a dicho algoritmo.

Recibí en Word  tres versiones distintas del programa. Para mi sorpresa ninguna de ellas era un algoritmo. No eran capaces de extraer el concepto detrás de la programación y expresarlo en palabras. Repitieron el mismo programa con las mismas variables en el documento Word que cada uno me envió. Había una notoria incapacidad de extraer el concepto y la funcionalidad de las reglas de negocio formuladas en el código de programación.  Sencillamente fue imposible hacer reingeniería del software. Este es el resultado del empleo del cerebro en las mismas funciones repetitivas sin el interés de adiestrarse ni entrenarse en otro tipo de soluciones: Quedaron encerrados en su propia burbuja.

Desde mi experiencia, la preocupación principal en las instalaciones que tienen Iseries o AS400 se centra en la necesidad de control de los líderes de proyectos y desarrolladores que tienen años trabajando para la misma empresa o tienen años programando de la misma manera.

Se puede observar cómo los programadores más jóvenes que se encuentran aceptando, muy a su pesar,  un trabajo con programación exclusiva en RPG III, siguen enviando su Curriculum a otras empresas para no “quemarse” en un trabajo que no da opciones de desarrollo profesional. Esto ocasiona alta rotación de personal, costos de adiestramiento y costos sin retorno para la empresa.

Los viejos líderes que se resisten al cambio muchas veces tienen en sus manos el “know how” de la operativa de la empresa. Los directivos que no entienden de tecnología y a quienes no les interesa complicar sus vidas con estos detalles, resultan generalmente permisivos con estos líderes de la vieja ola a quienes les conviene convertirse en  indispensables. Estos profesionales que se resisten al cambio no confían en sus propias capacidades para adaptarse a nuevas tecnologías y tienen un miedo aterrador a quedarse sin empleo debido a su edad.  Por estas razones se han dedicado a “hacer una cama” en la organización impidiendo que sus colegas puedan acceder al conocimiento que tan celosamente guardan.

Administrativamente el poder se revierte en contra de los directivos quienes terminan siendo rehenes de  las decisiones caprichosas del único que sabe: “que hay allí adentro”. Estos personajes que son empoderados por la negligente supervisión de sus jefes, se convierten en unos capataces tiránicos que más temprano que tarde ocasionan la renuncia del resto de los desarrolladores. (Recuerda que cuando  cierras la puerta a otros eres tu quien queda encerrado del lado de adentro).

Mi intención con este artículo es motivar a mis colegas  a salir de su burbuja y a adentrarse al cambio. La programación es solo una herramienta operativa que debe obedecer a la dinámica del negocio y a las funcionalidades que se desean implementar. Puede que al principio parezca aterrador cambiar pero si tienen los conceptos claros no importa la plataforma ni el lenguaje: el objetivo se logra.

Si estos profesionales no realizan un esfuerzo de su parte quedaran fuera del mercado laboral así como los dinosaurios que se extinguieron del planeta por no poder adaptarse a los cambios climáticos. Lo mismo puede sucederle a la empresa para quienes trabajan. Lo que pasa por dentro de la empresa termina manifestándose hacia los clientes y hacia el entorno empresarial  en el cual hay que competir.


Sin ninguna duda, adentro y afuera, tarde o temprano se mostrará que el emperador está desnudo.


                                                                                                                                                                                                       

Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 

Autor: Ing. Liliana Suárez

Wednesday, February 22, 2017

Seis Sombreros para Pensar: El Sombrero Rojo


                                                     
Aplicando la dinamica de los seis sombreros para Pensar de Edward de Bono al desarrollo de Software.
En esta entrega: El Sombrero Rojo
 
                                                   

                                                                                                                                                                                                                                                               




                                                                                                                                                                                                                                                                  

Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 
Autor: Ing. Liliana Suárez

Wednesday, February 15, 2017

Caja de Texto en pantalla Verde - Qué es y cómo se usa


                                                     
 Que es una caja de texto  y como se usa.
Todo en 1 minuto.
 
                                                   

                                                                                                                                                                                                                                                               




                                                                                                                                                                                                                                                                  

Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 
Autor: Ing. Liliana Suárez

Sunday, January 15, 2017

Manejar Montos como elementos de un Arreglo en RPGLE -FREE

Hola Estimados, 

Un cordial saludo comenzando el año 2017, con mis mejores deseos para todos. 



                                                                                                                                                                                                                                                               


Recientemente recibí por correo una pregunta relacionada con la necesidad de manejar los montos de un archivo como si fueran elementos de un arreglo en RPG-Free.

 Es realmente incomodo escribir algo como esto:
 Monto1 = Monto1 + variablex 
 Monto2 = Monto2 + variablex 
  .
  .
  .
 Monto12 = Monto12 + Variablex 

Estas preguntas relacionadas con el manejo de montos, surgen a fin de año o a comienzo de un nuevo año donde es necesario generar reportes contables de los saldos de determinadas cuentas o de saldos de ciertas operaciones financieras de la empresas cuyo ejercicio ha sido almacenado en 12 campos dentro de un archivo. 

 En RPG III se utiliza la hoja 'I' para "redenominar" los campos como elementos de un arreglo. Con RPG-Free es mucho mas sencillo. 

 Supongamos que tenemos un archivo llamado ARCMTOS con los siguientes campos: 

 Colocamos un campo CLAVE de 4 posiciones y luego los 12 montos para cada 
mes del año: 
  *
      *
      * MONTOS
      *
     A          R REGIS                         TEXT('MONTOS')
     A            CLAVE             4S 0       COLHDG('CLAVE')
     A            MONTO1        15S 2       COLHDG('MTO1')
     A            MONTO2        15S 2       COLHDG('MTO2')
     A            MONTO3        15S 2       COLHDG('MTO3')
     A            MONTO4        15S 2       COLHDG('MTO4')
     A            MONTO5        15S 2       COLHDG('MTO5')
     A            MONTO6        15S 2       COLHDG('MTO6')
     A            MONTO7        15S 2       COLHDG('MTO7')
     A            MONTO8        15S 2       COLHDG('MTO8')
     A            MONTO9        15S 2       COLHDG('MTO9')
     A            MONT10        15S 2       COLHDG('MTO10')
     A            MONT11        15S 2       COLHDG('MTO11')
     A            MONT12        15S 2       COLHDG('MTO12')
     A          K CLAVE


En RPGLE-FREE se resuelve este requerimiento manejando las estructura de Datos en la hoja 'D' 

  ******************************************************************
      *   PROGRAMA        RPGMTOS
      ******************************************************************
     FArcmtos   IF   E           K DISK
     D*
     D*Estructura de Datos
     DDsmontos       E DS                  extname(Arcmtos)
     D  Mat_Mtos                     15S 2 Dim(12)
     D                                     overlay(Dsmontos:5)
     D*  Hace un overlay de los montos desde la posicion 5
           del archivo      fisico
     D* ya que las 4 primeras posiciones las ocupa la clave
      /free
                     setll *loval Arcmtos;
                     Read      Arcmtos;
                    //suma 1 al primer elemento del arreglo
                     Mat_Mtos(1) +=1;
                    *inlr = *on;
      /end-free



Como pueden ver este manejo es mucho mas sencillo. Obviamente un campo de monto no es clave. Por lo que en general hay unos o mas campos definidos en el archivo antes de definir los campos de monto. De allí la observación de realizar un Overlay en este ejemplo a partir de la posición 5.
Este ejemplo es muy obvio, sin embargo en otros casos puede haber campos empaquetados o campos de fecha, hora, cuya longitud no es tan evidente. Si tienes duda de a partir de cual posición realizar el overlay, coloca un DSPFFD de tu archivo y  verás la posición de inicio de almacenamiento donde comienza el primer campo de monto. De allí en adelante, "es pan comido".


                                                                                                                                                                                                                                                                
En este enlace pueden descargar el código fuente del archivo y de su RPGILE-Free correspondiente.
Fuentes para Descargar. Manejo de Montos con Arreglos


Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 
Autor: Ing. Liliana Suárez

Wednesday, January 4, 2017

Seis Sombreros Para Pensar: El Sombrero Amarillo.


                                                     
Aplicando la dinamica de los seis sombreros para Pensar de Edward de Bono al desarrollo de Software.
En esta entrega: El Sombrero Amarillo
 
                                                   

                                                                                                                                                                                                                                                               




                                                                                                                                                                                                                                                                  

Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 
Autor: Ing. Liliana Suárez