¿Te vas a seguir quedando como el chinito?: Nada más milando.

Saludos compañeros, en este mi primer post quiero alentarlos a preocuparse por un tema que últimamente me ha tenido muy inquieto y que espero despertar en ustedes ese interés y preocupación que ahora yo tengo.

Como la mayoría de los mexicanos sabemos que vivimos en un país donde aspectos como la corrupción, inseguridad e impunidad son temas con los que convivimos día a día en tonos muy elevados y que cuestiones como el trabajo, el estudio, la alimentación y la salud parecieran que han dejado de ser derechos para convertirse en privilegios. Y dicho esto, como toda persona inconforme me he llegado a preguntar ¿por qué nadie hace nada?, ¿habrá algo que podamos hacer? y por supuesto, la pregunta del millón ¿de quién es la culpa?, la cual al tratar de responder me he llevado una gran desilusión al observar algunas cosas que no había visto o que tal vez no les había puesto la atención suficiente y que en principio son la razón principal de este post.

En primer lugar, como responsables de esta situación, dije (como todo buen mexicano) -los políticos, la mayoría son unos corruptos, la culpa tiene que ser de ellos-. Posteriormente, después de unos días y una que otra platica, me puse a pensar en como fue que esta gente pudo llegado al poder, cómo es que llegaron hasta donde llegaron; y aunque al principio me resultó una locura y aunque me sonaba a comercial pensé -pues el voto, con el se elige a quiénes nos gobernarán y representarán-.

Así fue como comencé a preguntarme, ¿porque razón “vota” la gente?, ¿que tipo de gente es la que “vota”?; y puse “votar” entre comillas porque es ahí a donde se encuentra el meollo del asunto, es ahí a donde quiero llegar e ilustrarles a grandes rasgos los cuatro grupos principales de votantes que pude diferenciar:

Primero: tenemos a las personas que son amedrentadas, obligadas o amenazadas para emitir su voto a favor de uno u otro simpatizante (léase pueblos indígenas, de pobreza extrema, etc), pero que paradójicamente, en situaciones extremas estas personas son las que más expresan su descontento social alzando la voz, mostrando su inconformidad por medio de marchas, plantones, mitines, etc; y que a mi parecer eso es algo de lo que deberíamos aprender la mayoría de nosotros porque quién nos dijo que eso no sirve, quién nos dijo no podemos expresar nuestra opinión, quién nos dijo que debemos ser castigados por ello; no tenemos porque ser conformistas ni desinteresados para con los problemas que nos afectan directa o indirectamente.

Segundo: la gente que no está informada correctamente, la que se deja llevar solamente por las apariencias y toda la publicidad generada; que como toda publicidad su principal objetivo principal es alentarnos de la mayor forma posible a comprar o dejarnos llevar por un producto pasando por encima de la competencia y que muchas veces no muestra la realidad de las cosas.

Tercero: y que a mi parecer es donde reside una gran parte del problema, tenemos a toda la gente descontenta que sabe del problema, conoce y/o tiene los medios para informarse de manera correcta sobre las opciones que existen para los que representarán y dirigirán a nuestro país y que muy lamentablemente deciden quedarse cruzados de manos; porque, como los he oído (y yo me incluía entre ellos) suelen decir -¡bah!, no porque yo vote van a cambiar las cosas, además solo es un voto menos eso no afectara en nada- Y de manera sumamente indignamente, me sorprende que una gran mayoría de nosotros muestre esa actitud de desapego e indiferencia hacia estos asuntos y que a pesar de ello nos apreciamos de ser, como dicen en mi pueblo, estudiada, leída o culta, lo cual de forma muy lamentable, refleja y refuerza esa vergonzosa forma de pensar que caracteriza a los mexicanos que donde “pues yo ya estoy bien, los demás a mi que”.

Cuarto: la gente que emite su voto completamente informados en base a su propio juicio y responsabilidad social.

Todo esto amigos, es para invitarlos a quitarnos esa venda de los ojos; a remover esa capa de ignorancia, conformidad y apatía que cubre a la mayoría de nosotros y que no nos deja avanzar; invitarlos a ayudar a toda la demás gente que lamentablemente no quiere o no puede emitir un juicio razonable acerca de todos los problemas que nos rodean dado que se dejan manipular por las modas, la publicidad barata, amenazas o simplemente ignorancia.

Personalmente creo que quienes tenemos los medios para difundir nuestras opiniones de manera objetiva no tenemos, ni debemos, que actuar de manera egoísta y dejar que las cosas pasen como si nada mientras nosotros estemos relativamente bien; y digo relativamente porque sé que podríamos estar mejor todos y cada uno de nosotros.

Por último, quiero compartirles fragmentos de un cuento que escuche del Sr. Carlos Kasuga:

Había un bosque muy hermoso donde vivían muchos animalitos; de repente este bosque se empieza a incendiar y todos empiezan a huir. Solo hay un gorrioncito que va al río, moja sus alitas, vuela sobre el bosque incendiado, revolotea y deja caer una o dos gotitas de agua tratando de apagar este incendio. Pasa el elefante y le dice -¡Gorrioncito no seas tonto!, ¡huye!, huye, huye como todos nosotros, no vez que te vas a achicharrar- a lo que el gorrioncito contesta -No!, este bosque me ha dado todo, me ha dado familia, me ha dado alimento, me ha dado hogar, me ha dado amigos, pero sobre todo, este bosque me ha dado felicidad y no importa que yo me muera pero por simple lealtad lo voy a tratar de salvar-

Y yo, al igual que el Sr. Kasuga, comparo a nuestro México con ese bosque y con toda sinceridad quiero invitarlos a no quedarnos callados, a no quedarnos sin hacer nada, a dejar caer esas dos o tres gotitas de agua y a compartir este sentimiento que espero haya logrado transmitirles. Tal vez parezca que no podemos hacer nada, que los problemas tal vez sean demasiados y gigantescos por lo cual probablemente nos veamos como solo unos cuantos entre millones y lleguemos a pensar que: “¿qué es una gota en el mar?… no es nada”; pero tampoco hay que olvidarnos que: “el mar siempre sería menos si le faltara esa gota”

Luchemos por dejar de ser solamente espectadores, comencemos por emitir un voto informado, alentemos a los demás a hacer lo mismo, hagamos algo por obtener aún más satisfacción cada día de lo poco o mucho que tengamos, hagamos esto en todos y cada uno de los aspectos de nuestras vidas.

Alfresco VS Documentum

Que tal compañeros, en esta ocasión traigo hasta ustedes una comparativa personal de un par de herramientas muy poderosas para gestión de contenido, con capacidad de mejorar la calidad de los procesos de muchas empresas e instituciones. Les hablo de Documentum y su hermano libre(Open Source) Alfresco.

Primero veamos un poco de su potencial.

Documentum es una plataforma de manejo de contenidos empresariales, actualmente propiedad de EMC Corporation. Fue fundada en 1990 por Howard Shao y John Newton. Maneja un modelo de contenido en dos partes, por un lado tenemos el contenido como tal y por el otro todos los metadatos adjuntos que describen a ese contenido. Algunas de sus funcionalidades son: manejo de contenido en forma no estructurada sobre cualquier formato(documentos, imágenes, audio, video, etc), manejo de roles y grupos, seguridad a través de niveles de acceso, versionamiento de todos los archivos, transformaciones de contenido para presentarlo en distintos formatos (renditions) y publicaciones automáticas, permite generación de índices para mejorar las búsquedas no solo sobre metadatos, si no sobre cualquier contenido que pueda ser indexado, gestiona ciclos de vida y flujos de trabajo, proporciona seguridad dentro y fuera del repositorio, arquitecturas distribuidas y federadas, comunicación con Microsoft Office, Microsoft Outlook, y otros sistemas de negocios como SAP o Share Point. Manejo de múltiples bases de datos (SQL server, Oracle, DB), conexión de red por medio de: JDBC, WebDAV, FTP, File Share Services, Documentum Foundation Services. Actualmente su versión más reciente es la 6.7.

Alfresco. Es una plataforma LIBRE de manejo de contenidos empresariales que cuenta con 2 versiones, la versión de la comunidad  Alfresco Community Edition que está bajo licencia LGPL (Lesser General Public License) y su versión comercial Alfresco Enterprise Edition también Open Source pero que incluye soporte y certificación de productos. Fundada en 2005 por John Newton (co-foundador de Documentum) y John Powell (un ex director de operaciones de Business Objects). Su Staff original estaba formado por los “ingenieros principales de Documentum y de Oracle”. (Si les interesa saber que hacían estas personalidades ahí, comenten y generamos otro post). Algunas de sus funcionalidades básicas son: manejo de documentos en cualquier formato, versionamiento del repositorio, manejo de registros, manejo de imágenes, integración de publicaciones, acceso al repositorio vía CIFS/SMB, FTP, WebDAV, NFS y CMIS, flujos de trabajo con el motor de Activiti (BPMN 2.0), búsquedas con Lucene, servidores federados, soporte de múltiples bases de datos (MySQL y PostgreSQL para la versión Community y Oracle, IBM DB2, Microsoft SQL Server para la versión Enterprise).


Ya que estamos más en contexto sobre estas herramientas que son muy útiles y facilitan en gran medida los procesos de trámites y negocios en las empresas, así como brindan un camino seguro para la administración y búsquedas de contenido, levantemos el dedo índice para señalar 5 ventajas que tienen el uno sobre el otro.

Y así comienza el Top Five Alfresco vs Documentum

Comencemos con la herramienta libre y siempre dispuesta Alfresco:

  1. A diferencia de Documentum, Alfresco está disponible de forma gratuita en la página de la comunidad (http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco) para ser instalada, configurada y adecuada a nuestras necesidades.
  2. Sin necesidad de instalar algún plug-in u otra aplicación que genere costo, se puede generar una conexión directa a nuestra PC por medio del protocolo CIFS (Common Internet File System), lo cual nos permite ver el sistema de archivos como si fuera una unidad más de red y manejar el contenido con la facilidad de nuestro sistema operativo.
  3. Dado que Alfresco está construido sobre El framework de Java Spring utilizando el modelo MVC, hay un gran potencial para desarrollar nuevos componentes e integrarlos a los que ya existen.
  4. Integración con Google Docs para edición de contenido en línea.
  5. El consumo de recursos por parte de los servicios de Alfresco es mucho menor que en Documentum, pues con 1GB de RAM y 2 procesadores Dual Core podemos mantener 1000 usuarios concurrentes.

Algunos de estos datos los encontré dentro de las presentaciones de la autoría de José Pereira en las que estudiaba, las pueden encontrar en http://www.jpereira.net/gestion-documental/manuales-alfresco-espanol.
Ahora nuestro buen amigo Documentum:

  1. Al estar licenciado, existe ese compromiso por parte de EMC que brindan la experiencia de años de soporte y certificación, lo cual da tranquilidad a las grandes empresas.
  2. Tiene una suite de procductos dedicados a transformaciones de formatos con mayor diversidad que Alfresco, hablo de CTS (Content Transformation Services).
  3. Mayor desarrollo en sistemas de encriptación(RMI) y niveles de seguridad(seguridad por objeto, por nievel de acceso y por funcionalidad en las aplicaciones).
  4. Manejo de versionamiento automático sobre todos los objetos que ingresan al repositorio, en Alfresco hay que configurar la opción de versionamiento en cada documento o generar una regla que lo haga.
  5. Aplicaciones y plug-ins que facilitan el desarrollo, validación e instalación para workflows, ciclos de vida, artefactos y desarrollo de Aplicaciones con WDK (Web Development Kit) como son Composer, Workflow Manager, Documentum Developer Studio entre otras.

Como verán cada uno tiene sus virtudes, pero como todo en este mundo nadie es perfecto, y a mi parecer su uso depende de el potencial del proyecto y por supuesto del presupuesto.
Yo en lo particular que estoy aprendiendo de ambas herramientas, creo que si lo que se busca, es armar un proyecto en el que se tienen los recursos economicos y se necesitan herramientas completamente integradas, usemos Documentum. Ahora bien si el proyecto carece de disponibilidad financiera, implementemos Alfresco y expandamos sus capacidades.

Si ustedes ya han ocupado estas herramientas, coméntenos sus experiencias, así sabremos que es mejor en cada situación y podremos aprovechar mejor las tecnologías de Administración Documental con todas sus bondades.

Inteligencia de negocios en la nube

La mayoría de los sistemas que manejan grandes cantidades de información dentro de las empresas, son desarrollos in-house, o a la medida desarrollados por alguna entidad externa pero con la participación del cliente. Muchos de estos desarrollos tienen un análisis de requerimientos y un diseño muy pobres y/o el cliente no está seguro de lo que necesita hasta que lo prueba y el tiempo y costos del proyecto se ven seriamente afectados con los ajustes.

Uno de los principales factores que llevan a un proyecto como este a fracasar o terminar de una manera no deseada es la infraestructura del cliente, que en la mayoría de las ocasiones por cuestiones burocráticas, se vuelve difícil acceder a los servidores y optimizarlos para que el rendimiento de la aplicación antes, durante y después de la salida a producción sea el adecuado.

Sin pretender hacer una labor de mercadotecnia de un producto que no desarrollamos, me gustaría hablar de una posibilidad de evitar o aminorar estos problemas con un producto que pretende lanzar Google y que vale la pena echarle un ojo.

Google está desarrollando un servicio en la nube que permite analizar una gran cantidad de información. Se llama BigQuery. En un principio, ayudará a las organizaciones a analizar sus datos sin necesidad de construir o configurar infraestructura para ello. La compañía aprovechó los desarrollos internos que usa para analizar sus productos como GMail y AdSense, y llevó sus algoritmos a la nube para brindar la opción a ciertas empresas de subir sus datos(y alternativamente guardarlos) en grandes cantidades y posteriormente ejecutar análisis tal como se hace con cualquier sistema de inteligencia de negocios.

Una de las ventajas de este servicio es que se elimina el uso de un data warehouse; tanto el desarrollador como el cliente evitan preocuparse por la seguridad pues se usa la infraestructura y cuentas de Google para ello y además se automatizan los respaldos de la información cargada. Sus capacidades parecen ser simplemente sorprendentes: procesar billones de registros en segundos, capacidad de almacenar terabytes de información, facilidad de ejecutar análisis mediante consultas tipo SQL, administrar los grupos y usuarios a través de la cuenta de correo electrónico, seguridad mediante SSL y el poder acceder a la información a través de cualquiera de sus interfaces: BigQuery browser, línea de comandos, a través de su API con arquitectura REST o Google Apps Script.

A pesar de que lo escrito anteriormente puede sonar a promoción, personalmente lo veo como una gran oportunidad de negocio, por lo menos de manera alternativa, para las empresas o desarrolladores independientes de hacer llegar una solución con bajos costos pero con muchos beneficios a los clientes que lo necesiten y no estén dispuestos a mantener un sistema desarrollado in-house.

Si están interesados en sus bondades, quieren darle seguimiento a este servicio y ver la posibilidad de crear algo interesante, cuenten conmigo para hacerlo.

Espero sus comentarios.

Aprendiendo a aprender.

Como parte del mundo de las TI, ninguno de nosotros se salva de estar aprendiendo cosas día a día, por el contrario la mayoría, si no es que todos, disfrutamos de llenar nuestro pensamiento de nuevas ideas y conocimientos. Sin embargo hay ocasiones en las que aprender se vuelve una necesidad ya que cada proyecto al que entramos pude incluir nuevas tecnologías y es necesario aprender a usarlas.

Este Post está enfocado en presentar algunas de las muchas formas de aprender de forma más ágil y práctica, todo lo nuevo que la vida nos da.

Primero mencionemos 3 fases por las que pasa la información para ser aprendida:

  • Recepción de la información. Esto se refiere al momento en que nuestro cerebro capta todos los datos que tenemos frente a nosotros.
  • Clasificación de la información. Una vez que todo un bloque de datos entra en nuestro cerebro, este es clasificado de acuerdo a su contexto.
  • Uso de la información. Una vez que tenemos los datos en nuestro registro (memoria), el acceso a ellos es más sencillo mientras más referencias tengamos, es decir mientras más recuerdos estén ligados a cierto dato, como nombres, lugares, personas, experiencias, etc.

De acuerdo a lo anterior, será más fácil recordar y usar cierta información, conforme la vayamos relacionando con más datos y recuerdos, sean del mismo contexto o de otro, por eso mientras más usamos la información, es más fácil recordarla.

Gracias a nuestra experiencia, cada uno de nosotros tiene modelos de aprendizaje propios que nos han permitido lograr el conocimiento que vive en nosotros. Entre los que yo he tenido la oportunidad de ocupar puedo mencionar:

  • Aprender por Memoria Fotográfica. Hay gente que es capaz de retener la información que lee o el contenido de las imagenes que ven con solo dar un simple vistazo.
  • Aprender por Repetición. La mayoría de nosotros usamos este modelo pues para quedarnos con el conocimiento, requerimos revisarlo más de una vez, pues a pesar de que pueden ser cosas sencillas, generalmente son MUCHAS cosas sencillas al mismo tiempo ( lo digo por todos los PDF´s que me toco leer recientemente).
  • Aprender Escribiendo o dibujando. Esto es una variante del aprendizaje por repetición, sin embargo tiene un mayor impacto, pues no solo vemos el texto o las imagenes, además recreamos el contenido y queda el recuerdo de cuantas palabras escribimos, que palabra iba primero, como las agrupamos,  que diagrama hicimos, etc. Podemos incluir aquí la creacion de los famosos Mapas Conceptuales.
  • Aprender Practicando. Este es el modelo que, en lo personal, deberíamos aplicar al menos una vez antes de cada proyecto, pues nos permite interactuar con los ambientes, ver ejemplos prácticos de cómo usar la nueva información y donde se aplica.
  • Aprender por Relación de información. En nuestra área de trabajo, muchos conocimientos pueden estar presentes en distintas tecnologías pero siempre usan las mismas bases, por ello cuando conocemos previamente la teoría de cómo funciona un elemento, al encontrarlo aplicado en nuevos productos o lenguajes, nos es más rápido aprenderlo. Como ejemplo de esto, si ustedes han ocupado las ventanitas de Windows, han jugado con la seguridad de Linux/Unix, han ocupado objetos y herencia en Java, han usado versionadores como SVN, tienen un pie dentro de una gran Tecnología como es Documentum (Tecnología de gran funcionalidad y fuerte uso en estos días).

La mayoría de estos modelos sirven por si solos, pero es la fusión de ellos lo que da un mayor impulso al aprendizaje de nuevas tecnologías, ideologías, datos curiosos y todo tipo de información, no solo de TI, si no en cualquier ámbito de nuestra vida.

Estos modelos han estado presentes en mi experiencia personal pero existen muchos más.
Y tu amigo lector ¿Has ocupado algunos de ellos?, ¿Nos puedes enriquecer con algunos otros?

Te invito a que compartas tus experiencias en el uso de modelos de aprendizaje y dejo la carta abierta para que comentes los que aquí se mencionan.

Hasta pronto!!

El equipo de pruebas-testing

Una definición corta y practica de “testing”: es el proceso que sirve para evaluar un producto.
Apegándonos a TI, el equipo de pruebas o testers, evaluaran los sistemas y productos desarrollados.

Las pruebas de los sistemas se pueden comenzar a ejecutar una vez que el equipo de desarrollo tengas sus primeras entregas, en ese lapso de tiempo el equipo tester elaborara la documentación y diseño de las pruebas, estos documentos son los casos de pruebas y las matrices de pruebas, en las cuales se plasmaran escenarios o flujos típicos y atípicos, todo esto servirá para realizar pruebas a módulos o secciones de modulo que se vayan concluyendo, adicionalmente se deberá de establecer el número de ocasiones a probar el cual recibe el nombre “Ciclos de Prueba”, el tiempo entre cada ciclo de prueba será estimado en base al tiempo que le lleve al equipo de desarrollo reparar las fallas.

Es necesario para el tester llevar los registros de sus pruebas formales tanto de las pruebas exitosas como las fallidas; existen varias herramientas que ayudan a realizar una ejecución de pruebas con un alcance mayor, en un menor tiempo (automatización de pruebas), así se tendrá un antecedente de cosas que han sido probadas y validadas.

En lo poco que llevo dentro de este equipo, he notado que algunos desarrolladores no realizan sus pruebas unitarias, pruebas que un tester puede realizar, las cuales denomina “pruebas de humo” estas sirven para detectar errores,  fallas, revisar la estabilidad y seguridad del producto elaborado, y que la estadística de incidencias no sea alta al momento de ejecutar y registrar las pruebas formales.

Se debe comprender la importancia de un equipo de pruebas ya que representara y evaluara las necesidades y requerimientos del cliente, durante el tiempo que lleve el desarrollo del producto, la forma de trabajo deberá  ser mano con mano con el equipo de desarrollo, existiendo una comunicación bidireccional para que ambos tengan el contexto de toda la información que sea generada a lo largo del proyecto como son las solicitudes de cambio, acuerdos, peticiones de los usuarios como mejoras y minutas.

Un trabajo conjunto desarrollo-testing hará que el producto entregado tenga una mejor calidad, que las dudas existentes sobre vistas, funcionalidad, flujos se puedan resolver de manera agil, gracias a que ambos equipos se pueden complementar, los beneficios son varios entre ellos una documentación actualizada y apegada al producto entregado.

La utopía de la relación consultoría-cliente

El amor del cliente hacia el proyecto, una utopía cuando se trata de consultorías pequeñas o freelancers. La honestidad y la pasión por el proyecto fluyendo en ambos sentidos: del cliente hacia el proveedor de servicios y viceversa, utopía que es el día a día de cualquier profesional de TI. Pero, ¿cómo lograr que no sea sólo un sueño y se traduzca en mejores condiciones de trabajo para las consultorías pequeñas?. Confianza.

Los clientes que trabajan con proveedores de servicios tienden a confiar en aquellas agencias de renombre, con una marca bien posicionada. Las consultorías pequeñas no siempre inspiran esa confianza, lo que significa que esta debe ser construida, alimentada y nunca darse por sentada. Pero, ¿qué herramientas tenemos las empresas pequeñas para ganarnos esa confianza del cliente y llevar una mejor relación en los proyectos?

Ganar-ganar significa que las soluciones que le damos al cliente resuelven sus problemas y nosotros recibimos a cambio la satisfacción de haber cumplido en tiempo y forma con lo requerido. El cliente debería responder a tus ideas con respeto, poniendo su confianza en aquellas propuestas con las que no está totalmente identificado y dejando de lado sus propios planteamientos de los que inconscientemente sabe que no tendrán mucho éxito. De la misma manera deberíamos mostrar la confianza y respeto por las ideas del cliente y dejar de lado algunas otras para darle paso a conceptos frescos surgidos de esta relación. Con estos primeros pasos aseguramos que se creará la mejor plataforma para el éxito del proyecto.

Aunque hay algunos esfuerzos que necesitamos hacer para mantener esta plataforma estable y evitar la frustración y decadencia características de los proyectos mexicanos.

La manera en la que los equipos de la consultoría y el ciente trabajan, es un punto crítico. Primero que nada, debemos ser aquello que queremos que el cliente sea, es decir, si queremos que sean honestos con nosotros, entonces debemos ser honestos también. Si queremos que muestren interés en el proyecto, entonces tengamos pasión al realizar nuestro trabajo. Probablemente, al principio no detecten este entusiasmo, pero tarde o temprano lo harán y esto servirá para reforzar las relaciones de trabajo. Cuando las cosas no vayan bien, se tengan muchos issues en el sistema o simplemente la relación vaya en decadencia, debemos asegurar que el cliente se enfoque en los usuarios y los problemas de negocio más que en las deficiencias detectadas, siendo siempre nosotros los catalizadores para resolver dichos problemas. Discutir la resolución de problemas en un ambiente controlado y con pruebas, es la mejor manera de retirar los prejuicios que el cliente se haya hecho de nosotros.

Implementar metodologías para investigación de clientes y pruebas con usuarios es una buena idea para llevar un proyecto. Algunas de estas dinámicas pueden ser: focus groups, entrevistas, encuestas, prototipos, pruebas de usabilidad, etc. Todos estos procedimientos arrojan información invaluable al inicio de un proyecto pues permiten focalizar los esfuerzos y no trabajar a ciegas sin saber que tipo de usuarios estarán interactuando con el sistema. Inclusive se pueden generar estrategias que permitan convencer al cliente de usarlas pues sabremos con certeza el éxito que tendrán al ser implementadas. Aquí el punto interesante será el compromiso por parte del cliente de destinar cierto presupuesto a la implementación de estos procedimientos, o bien, por salud propia, definir un estándar en todos nuestros proyectos para asignar recursos humanos, económicos y materiales a esas tareas que se traducirán en mejores resultados en los proyectos y muy probablemente en nuevos contratos. Finalmente será un gasto mucho menor que perder tiempo y dinero en la corrección de problemas posteriores.

Existe una teoría de la usabilidad llamada aesthetic usability effect o efecto de la usabilidad estética, esta teoría básicamente dice que aunque un producto sea muy dificil de usar, si es atractivo visualmente, inspirará la confianza necesaria en el usuario a nivel de generar cierta tolerancia a fallos, crear una idea de que la curva de aprendizaje será menor y por lo tanto que el esfuerzo que hará para poder usar el sistema será mínimo. Entonces, entre más atractiva sea una liberación, un prototipo e inclusive una presentación ejecutiva, mejor será el resultado y la probabilidad de que nuestras propuestas sean aceptadas. El punto es, mantener al cliente siempre interesado en nuestras propuestas, en las presentaciones, liberaciones o pruebas, no darle oportunidad de hacer decaer la curva de interés y no detenernos hasta que hayamos impreso en su subconsciente nuestro objetivo.

Mantener a los clientes a bordo con nuestras recomendaciones y propuestas no sólo se traduce en mejor productividad también implica éxito de los proyectos en los que participemos.

No nos casemos con un lenguaje, una metodología, un administrador de contenidos o una plataforma de desarrollo, la tecnología y las mentes de las sociedades evolucionan muy rápido, enfrentemos los retos con apertura e ideas creativas e innovadoras para crecer como profesionales.

¡Nos leemos en el próximo!

Nostalgia C

Como primer post y antes de sumergirnos a temas enfocados en T.I. quiero que recordemos la creación de la base de los sistemas operativos que utilizamos día con día en la realización de cada uno de nuestros proyectos.

En 1972 nace uno de los lenguajes más poderosos de todos los tiempos en los Laboratorios Bell,  creado por dos genios de la informática Dennis Ritchie y Brian Kernighan, para la realización de su trabajo tuvieron como antecedente en el Lenguaje B escrito por Ken Thompson.

El Lenguaje C ingenio de Ritchie y Kernighan, tiene como idea principal contar con operadores y tipos de datos, para armonizar en un alto y bajo nivel de programación de forma simultánea.

Seguro recordamos nuestra incursión a este lenguaje en nuestra época estudiantil como la biblioteca stdio.h que era la base para crear nuestro primer programa:

#include <stdio .h>
 
int main()
 
{
 
printf("Hola mundo");
 
return 0;
 
}
</stdio>

Otra biblioteca que también se encontraba presente en nuestro código fue conio.h aunque no era un estándar de C precisamente.

Origen

Existen varias narraciones acerca del origen del Lenguaje C: Una de ellas narra el deseo de los dos desarrolladores mencionados anteriormente, por interactuar con el juego “Space Travel”, en un mainfraime de la compañía donde laboraban, el equipo donde deseaban interactuar no tenía la suficiente capacidad de proceso, debido a esto, era difícil la manipulación de la nave dentro del juego, por lo que decidieron utilizar un equipo el cual se encontraba sin emplearse, pero se toparon con la sorpresa que dicho equipo no contaba con un sistema operativo, por lo tanto decidieron portar el S.O. del mainframe al ordenador sin uso, sin embargo la opción no era muy viable así que pensaron – ¿Por qué no escribir un código que nos otorgue mayor portabilidad? –  como observamos este fue el inicio de un colosal proyecto. A más de uno nos gustaría pensar que fue de esta forma la creación del Lenguaje C, pues los grandes inventos se dan por primordiales necesidades como la de nuestros genios.

Otra crónica, nos ofrece la necesidad de los Laboratorios Bell de automatizar el archivo de patentes, ya que el original estaba escrito en código ensamblador.

Cualquiera de los dos relatos que elijamos reconocemos que abrió paso a un nuevo y mejorado lenguaje de programación, no cabe duda que la potencia de C fue indiscutible, puesto que un año más tarde de su creación el S.O. Unix ya contenía en su kernel un porcentaje mayoritario de código escrito en el Lenguaje C, de igual forma esa fue también la pauta para el nacimiento de sistemas operativos como Windows y GNU/Linux, además sirvió para dar base a la siguiente generación de lenguajes de programación, así mismo se empleo en otros campo de la investigación y en la industria con la programación de C en los microcontroladores.

Es por estas razones que ahora digo “Larga vida, al Lenguaje C”.

Un vistazo rápido a la Mejora de procesos

La implementación de la mejora de procesos no debe verse como un proceso tortuoso en el que solo trabaja la persona que aparece como responsable den un entregable o elemento de proyecto. En realidad, es un transcurso de pasos  que abarca a todas las partes involucradas, desde el que opera hasta el que archiva el documento final.

Los procesos están presentes en todas nuestras actividades, desde el café de la mañana hasta el ir manejando de regreso a casa y siempre se busca mejorar dichos procesos, a veces se logra, a veces no. Como ejemplo de caso de éxito tenemos a los bancos: Recuerdan lo difíciles que eran los depósitos bancarios hace algunos años, se debía llenar una ficha y esperar a que el cajero la autorizara; ahora, con la mejora de procesos, los depósitos son más eficientes, pudiéndose realizar actualmente a través de teléfono o diversos medios electrónicos. Esta misma idea se aplica para todos los hechos personales y profesionales.

En el caso del mundo del TI, existen varias metodologías que se adaptan a las necesidades de gobierno o iniciativa privada, pudiendo citar MAAGTIC, MOPROSOFT o CMMI por citar algunas.

Para no abrumar, y sobre todo adelantar cosas; les describo solo algunos de los conceptos y ventajas que nos ofrece la mejora de procesos. No importando la metodología implementada, los conceptos se pueden adaptar de forma sencilla.

Elemento de configuración: Se trata de aquel documento, dispositivo o ente que es empleado para realizar el trabajo diario. Dicho elemento se encuentra en constante cambio por las personas involucradas en el proceso o entrega del producto.

Línea Base: Se trata de aquel elemento de configuración que ha evolucionado de tal forma que puede ser “congelado” para usarse como referencia, documento de trabajo o entregable base de cualquier proyecto y que puede ser reutilizado en muchas ocasiones. En otras palabras, el componente con todos los elementos listos para trabajar a partir de él.

Integridad de los productos: Se trata de conservar la información de los productos a través de todo el proceso que se esté llevando a cabo.

Entre las ventajas que la mejora de procesos puede brindar, podemos citar las siguientes:

- Empleo de una metodología robusta pero flexible y sensible a cambios y mejoras.

- Acceso a información puntual requerida por versión de productos.

- Implementación y adaptación eficiente de procesos definidos.

- Certificaciones y mejores oportunidades de venta.

- Trabajar menos

Aunque en algún momento parezca engorroso o difícil, la finalidad de la mejora de procesos es tener un trabajo más organizado, eficiente y estructurado; que al final nos dará una mejor cara hacia afuera y con nosotros mismos.