viernes, 27 de septiembre de 2013

Para un cambio de paradigma en la formación de aplicaciones informática en la empresa



"Me lo contaron y se me olvidó,
Lo ví y lo entendí,
lo hice, y lo aprendi"
(Confucio)


Este artículo tiene como base un par de informes que elaboré a comienzo del siglo XXI para nuestra empresa.  Esos informes eran muchos más amplios que este texto, claro está, pero planteaban algunas ideas que he ido madurando y que ahora comento.

En aquellos tiempo participé como oyente en parte de los cursos de formación de algunos ERP e intercambié bastante información con los responsables de la Delegación de Profesional Training en Málaga, que pertenecía a nuestro grupo de empresas.  Profesional Training era por aquel entonces una de las principales empresas e España de formación a alto nivel en el mundo de la informática.

Voy a empezar por comentar una anécdota real que me servirá para ilustrar el tema

Se trataba de un curso de formación de cierto ERP al que acudí como... ¿como espía? no, no, como consultor.  Fueron más de dos horas dedicadas a la pantalla de introducción de apuntes.  He aquí algunos de los temas que se trataron.  Uno fue la problemática de introducir los códigos de las cuentas.  Las características del ERP hacían que se emplearan a menudo cuentas con códigos extensos (10 ó 15 caracteres, tales como 430000250653 o 5720000000012).  Si te equivocabas y en vez de 5720000000012 tecleabas 57200000000012 (con un cero de más) la máquina te decía que no existía la cuenta.  Algunos usuarios de la aplicación comentaron esta problemática y algunos trucos que se podían aplicar.  Luego vimos como buscar las cuentas. Nos explicaron que si estabas en una cuenta pulsando Ctrl-N podías ver la siguiente, pero no había tecla para ver la anterior, así que tambiién se vieron trucos. 

Total la tarde se fue casi entera en aprender y anotar unos trucos para resolver problemas que muchas aplicaciones de bajo coste tenían resuelto.  El ERP tenía un coste de entre 25000 y 50000 euros para una instalación típica.

¿Era eso formación? Así opinaban todos.  A mi no me lo pareció.  Exactamente trataban de formar a la gente para que usaran un programa poco amigable y aprendieran a resolver los problemas del programa.  Eso no es formación, es pérdida de tiempo.   Hay otra manera de resolver el problema, que me parece el adecuado, actuar sobre la aplicación para que sea amigable y no necesite los trucos del cliente.

¿Por qué unas empresas que habían pagado más de 30000 euros por un programa tenían que soportar esas faltas?  Esto lo trataré otro día, pero quiero adelantar que opino que precisamente esos precios hacen que las empresas tengan una alta jerarquía, no se trata de pymes con dos o tres empleados.  Esa jerarquía deriva en que los responsables están muy lejanos de los operadores y no les importa o no se aperciben de la ergonomía del programa. Ellos buscan resultados y si los operadores para ello tienen que perder tiempo o hacer cosas raras lo desconocen.  De esto, insisto hablaremos en otro momento.

Lo cierto es que esas empresas no solo pagaban 30000 euros por una aplicación sino que esas faltas las solucionaban pagando más por formación.  A priori la formación parece necesaria (no lo niego) y como estas empresas estan acostumbradas nadie protestaba.  Pero en mi opinión, era a todas luces una formación innecesaria. Muy costosa e inútil.


Ahora voy a ir en la dirección contraria, con un ejemplo al revés.  Era una reunión para el desarrollo de una web de comercio electrónico.  La palabra más empleada fue 'intuitiva' y el objetivo muy claro: La web debía de funcionar de forma que no hiciera falta ninguna explicación.  El usuario debería encontrar intuitivamente todas las funciones que buscara.  Podíamos denominar a esto 'Cero formación'.

Tras contar mi experiencia negativa anterior supongo que se interpretará esta otra alternativa como la solución al problema que planteo:  Aplicaciones intuitivas que hacen que cualquier usuario pueda usarlas sin problemas.  El buscador Google, los móviles y otras aplicaciones son ejemplos de éxitos en esta línea.

Bien, pues no quiero pasar por protestón, pero esa no es la solución. definitiva.   Ciertamente es un paso adecuado e imprescindible.  Pero el otro pie también tiene que andar.  Me refiero a la eficacia.   Toda aplicación debe ser intuitiva y fácil de usar, pero sin formación caemos en resolver los problemas inmediatos y no llegar a profundizar.   Estamos dando el paso hacia atrás en contra del paso positivo que los egipcios dieron hace miles de años cuando pasaron de una escritura ideográfica a una escritura fonética.  Era más difícil de entender pero se podía transmitir mucha información.

Así que creo que sé dónde quiero llegar.  La formación debe mirar a los resultados que no son intuitivos, la planificación e ideas en profundidad.  No debe ser una pérdida de tiempo para suplir las deficiencias de las aplicaciones.

Esta idea necesita una formación de más calidad.  Supone tratar a las personas como personas, no como servidores de los ordenadores, y una consecuencia de ello es que les pide que piensen.   Creo que una de las cosas más dificiles de enseñar es a pensar.

De hecho en mi larga experiencia personal he notado una gran diferencia entre unas personas y otras para aprender.  Y no es fácil distinguir las cualidades que hacen buenos a unos y malos a otros.  He visto a personas con amplia formación universitaria tardar meses en aprender lo que algunos oficinistas sin estudios aprendían en pocos días.  Es un tema que me intriga y que me gustaría investigar.

Así que tengo que confensar que aunque creo saber a dónde llegar, no sé como ir.  Por eso con este artículo me gustaría abrir la veda sobre el tema.  Ese cambio de paradigma que pido en la formación.

Espero ir recolectando artículos sobre el tema que me permitan encontrar soluciones.




viernes, 20 de septiembre de 2013

Qué es, por dentro, una aplicación informática

Recientemente intentaba explicar a una persona que es una aplicación informática y me daba cuenta de que no es un concepto fácil de exponer.  Lo intento en este artículo.

No me refiero al resultado, esto es, un conjunto de programas con los gestionar unas tareas, sino a sus componentes.  ¿de qué está hecho una aplicación?

Hace un tiempo la respuesta hubiera sido clara.  Una lista de códigos en un lenguaje de programación, lo que se llama los 'fuentes' de la aplicación.  Pero eso es una visión demasiado simplista.  Por ejemplo, nosotros hemos cambiado totalmente el código de algunas aplicaciones, pero hemos mantenido una serie de conceptos y una estructura que nos ha costado mucho tiempo elaborar.  En algunos casos el coste de esos conceptos y estructura supera a la de desarrollo del código.

Lo que hago es recoger de forma muy resumida un documento en el que se recogían los 10 componentes de nuestra aplicación GESTION-4100.  Tan resumida que coloco en un par de folios lo que se explicaba en más de un centenar. Espero que sirva para responder a esa pregunta que intentaba explicar: ¿Qué es, por dentro, una aplicación informática?.

Estos son las diez cosas en las que clasifico una aplicación informática

  • Organización
    El esqueleto de todo.
  • Conceptos teóricos
    Muchos de los conceptos que manejamos, tales como albaranes o artículos con comunes a la mayoría de aplicaciones de gestión. Otros son más específicos de nuestra aplicación, tales como personas, incidencias o ciclo de compras/ventas. Hay que considerar que los conceptos habituales los manejamos a veces con ciertas características propias. Por ejemplo, usamos el concepto de cliente, pero no como un fichero, sino como un atributo de nuestro concepto de personas. Estos conceptos forman parte de la aplicación, de forma que la distinguen de otras del mercado y son un componente importante de su resultado.
  • Tecnología
    Nos referimos a los elementos técnicos tales como el gestor de base de datos, los lenguajes de programación y otros componentes. Es una elección importante que puede afectar al resultado, aunque hay una amplia gama de tecnologías muy distintas pero cuyos resultados son casi los mismos. Sin embargo algunas tecnologías propietarias sí conducen a diferencias grandes.
  • Estructura de Datos.
    Es la materialización de los conceptos y su organización. Más o menos viene a ser la estructura de la base de datos. La diferencia es que en algún caso la base de datos es un compromiso entre nuestra estructura teórica y la programación. A todos los efectos vamos a considerarla equivalente a la estructura de Base de datos. Por tanto esto incluye las tablas que usamos, sus estructura y los tipos de los campos.
  • Interfaz
    Uso el término en un sentido amplio y distingo entre unas reglas generales (de alguna forma similar a las aplicaciones gráficas actuales) que se aplican en toda la aplicación, unas reglas específicas para los distintos componentes de la interfaz y específicas de algunos puntos. El diseño y puesta a punto de la interfaz es fundamental para una aplicación y aunque es una labor abstracta, que con posterioridad debe ser ejecutada, tiene un coste importante y afecta de forma sustancial a los resultados.
  • Procesos
    Los procesos son descripciones de tareas que realiza la aplicación, tal como facturar los albaranes pendientes.
  • Programación
    Esta parte son los fuentes de la aplicación. Es necesario teorizar también sobre criterios de programación. Hace unos años, en los comienzos de la informática de gestión, se hubiera considerado la parte fundamental de la aplicación, considerando el resto como detalles. En absoluto es así.
  • Documentación
    Entiendo la documentación en un sentido más amplio que el Manual del Usuario. La documentación afecta de forma importante al uso.
  • Servicios
    No me refiero a los servicios informáticos que prestamos sobre la aplicación, sino mucho más. Una de las ideas novedosas que hemos aportado desde ESTUDIO INFORMÁTICA en los últimos años ha sido una mayor integración entre los servicios y la aplicación. De momento este concepto nuestro es raro, supongo que con el tiempo será habitual. Consiste en que el programa se usa para realizar determinadas tareas que en algunos casos las realiza el propio ordenador, en otras ordenadores de otras organizaciones y en otras personas. Para nosotros un servicio a veces no se distingue de un periférico: La aplicación envía órdenes y se hacen tareas.
  • Marketing
    Por último, la marca y otras cuestiones de marketing forman parte de la aplicación. Tanto que algunas aplicaciones han pasado a liderar un mercado por este apartado pese a ser malas en el resto.







viernes, 6 de septiembre de 2013

Las tres bases de una buena web

En 2005 decidimos en nuestra empresa darle más protagonismos a nuestra actividad de páginas webs.  Hasta entonces habíamos hecho algunos experimentos y una docena de webs de cierta calidad. La decisión se tradujo en potenciar el trabajo con una diseñadora que ha sido el alma de muchas webs posteriores, disponer de programación y elaborar contenido.  Buscábamos un resultado modesto pero de calidad.   Y creo que con alguna salvedad a partir de la llamada crisis, se ha conseguido

El artículo de hoy lo escribo para comentar un texto técnico que hice en aquel año 2005 y evaluarlo  8 años después.  En ese documento comparaba una web con una casa (entonces no había crisis de la construcción y nuestros clientes del sector eran la envidia del resto), y voy a recuperar la comparación.




En concreto la idea que exponía es que las webs tienen que satisfacer 3 necesidades, que son las siguientes:

- La web debe dejar contento al usuario.  Esto es, debe ser agradable para él y facilitar su uso.  Esto se llama ahora usabilidad. No recuerdo cuando conocí el término, pero en 2005 no lo escribí en ninguna parte del documento.  Así que me reafirmo en la idea pero ahora con un enunciado nuevo:  Hay que optimizar la usabilidad.

- La web debe contentar a los buscadores. Es decir, debe estar organizado para que el buscador trabaje bien con ella y conseguir los resultados adecuados.  Tampoco puse nombre a esto y ahora sí lo tiene:  SEO.  Así que enuncio la frase con la nueva terminología: Hay que optimizar el SEO.

- La web debe estar contenta consigo misma.  O sea, su organización, el contenido, la información que contiene debe ser adecuada.  En mucha ocasiones es lo que garantiza el resultado de los objetivos anteriores. Si esta parte no funciona, la usabilidad y el SEO son artificiosos.

La comparación con las casas era la siguiente:
- Dejar contentos a los inquilinos, que se deben encontrar a gusto viviendo en ella.
- Dejar contento a tasadoras y bancos.
- La casa debe estar bien hecha con cimientos adecuados, buena orientación y buenas calidades.

El tiempo ha refrendando mi dos primeras afirmaciones y las ha divulgado con nombres que ya son populares: Usabilidad y SEO.  Me toca seguir revindicando la tercera.  

La usabilidad es fácil de entender, aunque la palabra no figura de momento en el DRAE (Diccionario de la Rel Acamedia Española de la lengua).   Me resulta difícil sustituirla por otro término, a veces se emplea 'ergonomía', 'funcionalidad' pero con significados algos distintos.  En el fondo lo que se busca es que el usuario vea la página, le agrade, sepa usarla (de forma instintiva, o si queremos intuitiva, sin explicaciones) o sea, se encuentre cómodo con ella.   Esto se consigue con webs claras, con una estética que o coincida con la moda o sea fácilmente asimilable, fácil de leer y con un orden adecuado.  Algunas webs son llamativas en su presentación. La primera vez que las ves causan cierto asombro, pero cuando ves lo mismo repetidas veces cansa y si lo que quieres es busca algo concreto esa presentación llamativa se convierte en un estorbo.  Hace ya tiempo que desaparecieron los flash al entrar, que durante 10 segundos, antes de aparecer la web te mareaban.

El SEO también es fácil de entender.  Lo que todos queremos cuando hacemos una web es que salga la primera cuando se busca el tema en internet.  Si hago una web de Granada me gustaría que al teclear granada en Google salga la primera.   Lo malo es que lo mismo que yo lo quieren otros miles de personas que tienen webs sobre Granada.  Muchos miles (confío en que no llegue al millón).  ¿Cómo trabajamos el SEO? Pues hay que saber cómo funcionan los buscadores (algunas cosas son explícitas, otras hay que adivinarlas) y cumplir con ellos.  Por ejemplo, sabemos que un dato fundamental es que muchas páginas dedicas al término que se buscan apunten a la tuya. Si haces una página sobre caracoles y centenares de webs que se ocupan de los caracoles tiene enlace a tu dominio tienes muchos puntos para salir bien en las búsquedas.  Cuenta no solo el número sino la calidad de los enlaces. Esa calidad se evalúa de distinta formas (nunca está clara totalmente), como por ejemplo por el ranking PageRank, que a su vez depende que apunten a ellas páginas de calidad.  Cuentas más cosas, como que el contenido se presente rápido y que esté bien estructurado, las etiquetas y uso de algunos elementos.  Por supuesto también cuentan, pero negativamente que hagas trampa.  Si Google detecta que has creado enlaces ficticios al tuyo te penaliza. O que has plagiado otra web.   Lo malo es que Google se equivoca de vez en cuando y no es rato que penalice a una web y premie a la que le ha plagiado.

Y llego a lo que para mi era lo más importante de una web y sin embargo aún no está tanreivindicado.  La web... ¡debe estar bien hecha!.  Uy, perdón por la tautología.  Quiero decir, debe tener información y la información debe estar bien estructurada.   No estoy de acuerdo con las webs que tienen cuatrocientas etiquetas sobre caracoles, reciben cien enlaces de webs de caracoles y ... confunden los caracoles con los mejillones.  Voy pues a intentar definir ese bien hecho.

El contenido de la web debe ser lo más exacto posible.  Debe estar bien expuesto y entendible por un amplio público, lo que a veces conlleva a duplicar contenidos con enfoques distintos.  Debe ser original.  Y debe estar bien organizado.  No se debe olvidar que la red, el concepto de web se creó con el fundamento de los hiperenlaces y que se debe facilitar la navegación por todo el contenido de la web.

¿Acerté en todo? No claro,  Hoy tengo que hablar de un cuarto componente: Las webs deben dejar contentas....a otras webs. Ya hablaremos de las redes sociale y otras posibilidades.