Mes: Enero 2018

Tech Talk

Los Tech talk son realizados por nuestro grupo de profesionales especializados, tienen la finalidad de transmitir conocimientos a todo el equipo de trabajo involucrado, para que estos puedan recibir esa transmisión de conocimientos, esto permitirá una amplitud en sus conocimientos en diferentes áreas, los Tech talk se han realizado en dos modalidades, in practice la cual se refiere a pequeñas conferencias en vivo y online por la ayuda de herramientas multimedia para transmitir los conocimientos a cada uno de los involucrados sí que estos se muevan de sus puestos.
Inicialmente hemos realizado Tech Talk en temas organizacionales, técnicos y metodológicos entre estos podemos mencionar “Inteligencia Emocional en los proyectos IT” “Antipatrones SQL”, IONIC 2, y BPM en marco de nuestros Tech talk.
El impacto de realizar esta actividad se ha sido muy positivo y de gran importancia para la organización, ya que esto permite que se fortalezca la cultura organizacional la cual es de gran importancia para toda empresa, según Schein (1988) la cultura organizacional permite la integración interna en el afianzamiento de los procesos de adaptación de la organización para funcionar como un sistema social promoviendo un agradable clima laboral de trabajo donde todos puedan compartir sus conocimientos.

Anti Patrones SQL

Los Anti Patrones son una técnica que pretende resolver un problema, pero a menudo genera otros problemas. Los Anti-Patrones SQL describen los errores más frecuentes realizados por las personas en SQL. Con la descripción de estos Anti-Patrones y las posibles soluciones, se pretende mejorar el desarrollo “evitando” y generando una solución más adecuada.
En este artículo trataremos los siguientes puntos:
  • Anti Patrón del uso del NULL
  • Grupos Ambiguos
  • Anti Patrón SELECT*
  • Uso de OR en vez de UNION
1- Anti Patrón del uso del NULL: uso de valor nulo, tanto para almacenamiento como para consulta.
Para el uso del NULL como valor ordinario:
El NULL en BD, se interpreta como “Unknown”, sin embargo, se cometen errores tales como:
  • Asumir que puede representar 0
SELECT NULL + 10 FROM DUAL;
  • Asumir que representa un String vacío:
SELECT ‘DIRECCION:’ || NULL
El Anti Patrón más frecuente por los programadores es  el uso del NULL como valor ordinario:
a- Para obtener un resultado, si el campo es null:
SELECT CAMPO FROM TABLA 
WHERE CAMPO=NULL;
b- Para obtener un resultado, si el campo no es null:
SELECT CAMPO FROM TABLA 
WHERE CAMPO!=NULL;
Otro Anti Patrón es : el uso de valor ordinario como NULL:
a- Para actualizar un campo, con clave foránea:
UPDATE TABLE SET CAMPO_REF=-1 
WHERE CAMPO_REF IS NULL;
b- Para actualizar un valor numérico:
UPDATE TABLE SET CAMPO_NUM=-1 
WHERE CAMPO_NUM IS NULL;
c- Para entender el funcionamiento del NULL:
Al usarse como valor ordinario se debe usar la función que trate el NULL, como COALESCE o NVL:
            SELECT NVL (COL, 0) + 10 FROM TABLA;
a- Para obtener un resultado, si el campo es null
            SELECT COL FROM TABLA WHERE COL IS NULL;
b- Para obtener un resultado, si el campo no es null
            SELECT COL FROM TABLA WHERE COL IS NOT NULL;
2- Grupos Ambiguos:
Error más común al usar la cláusula Group by
Dado la siguiente consulta:
            SELECT PRODUCT_NAME, BUG_ID,
                        MAX (DATE_REPORTED)
            FROM BUGS
            GROUP BY PRODUCT_NAME;
La consulta quedaría de la siguiente manera:
Se debe tomar en cuenta la regla: Single-Value, donde cada columna en el SELECT debe ser :
  • Parte de una función de agregación.
  • Estar en la cláusula GROUP BY.
  • Una dependencia funcional de la columna que se encuentra en GROUP BY.
Solución N° 1:
SELECT PRODUCT_NAME,
       MAX(DATE_REPORTED)
FROM BUGS
GROUP BY PRODUCT_NAME
Solución N° 2:
SELECT B.PRODUCT_NAME, B.BUG_ID, AUX.D
FROM BUGS B
JOIN (SELECT PRODUCT_NAME, MAX(DATE_REPORTED)  D FROM BUGS GROUP BY PRODUCT_NAME) AUX
ON(AUX.PRODUCT_NAME=B.PODUCT_NAME AND B.DATE_REPORTED = AUX.D )
Solución N° 3:
SELECT  PRODUCT_NAME, MAX(BUG_ID),
   MAX(DATE_REPORTED)
FROM BUGS
GROUP BY PRODUCT_NAME
3- Anti Patrón SELECT *  ¿ Por qué no se debe usar?
  • La sentencia es más lenta, debido que no todas las columnas están indexadas y se debe realizar un full scan.
  • Data innecesaria se estaría pasando por la conexión entre la aplicación/BD.
  • Si en la tabla se elimina/agrega un atributo la aplicación puede fallar.
Solución :
Obtener la definición de la tabla y luego seleccionar lo deseado:
MYSQL : DESCRIBE TABLE;
Oracle: SELECT COLUMN_NAME FROM USER_TAB_COLUMN WHERE TABLE_NAME=’?’;
4- Uso de OR en vez de UNION 
Dadas las siguientes consultas:
 Consulta A
SELECT EMPLOYEE_ID
FROM EMPLOYEES
WHERE JOB_ID=’IT_PROG’ OR DEPARTMEMT_ID=10;
Consulta B
SELECT EMPLOYEE_ID
FROM EMPLOYEES
WHERE JOB_ID=’IT_PROG’
UNION
SELECT EMPLOYEE_ID
FROM EMPLOYEES
WHERE DEPARTMENT_ID=10;
  • La consulta B es más rápida que la A. Ya que en la A, el optimizador del SMBD abandona el uso de índices en la cláusula OR (así dicha columna esté indexada) y procede a realizar full scan.
  • En la B, el optimizador ejecuta las consultas por separado y luego procede a unir los resultados.
Solución:
Si la consulta lo permite, convertir todos los OR en UNION, para una ejecución mas rápida.
Usar UNION ALL en vez de UNION, si no interesa tener repetidos y asi ahorrar al SMBD la eliminación de los mismos.

 

 

 

IE en Proyectos IT

“La voluntad es la intención favorecida por las emociones” Raheel Farooq

Los seres humanos tenemos dos mentes , una mente racional y una mente emocional

Resultado de imagen para mente racional y mente emocionalMente Racional: Una mente racional es aquella que nos permite pensar y reaccionar de forma analítica a los acontecimientos que requieren de una aptitud pensante referente a un punto en específico, por ejemplo ciencia, lógica, números etc.
Mente Emocional: es con la percibimos nuestros sentimientos, es la que nos hace sentir amor, ira tristeza, es la que maneja y nos hace expresar nuestras emociones más profundas e intensas. La mente emocional según estudios la heredamos de nuestros ancestros
La mente emocional es mucho más rápida que la mente racional, y se pone en acción sin detenerse un instante a pensar en lo que está haciendo. Las acciones que surgen de la mente emocional acarrean una sensación de certeza especialmente fuerte. Es una consecuencia de una forma sencilla y simplificada de ver las cosas que puede ser absolutamente desconcertante para la mente racional, cuando ha pasado la tormenta o incluso en medio de la respuesta nos sorprendemos pensando ¿Para que hice esto?  Lo cual indica que la mente racional se encuentra despertando.
Cuando la mente emocional y la mente racional operan en armonía permiten tomar mejores decisiones y nos ayuda a lograr comportamientos más asertivos ante diferentes eventualidades dentro de una empresa y nuestra vida diaria.
Sin embargo, debido a esa estrecha relación de nuestra parte emociona con nuestra parte racional se puede producir algo que los especialistas denomina como secuestro neuronal, donde nuestro cerebro límbico el cual es encargado de nuestras emociones puede controlar nuestra racionalidad, es por eso que a veces impulsados sólo por nuestras emociones obtennos comportamientos inusuales como por ejemplo, gritar, insultar, o en casos extremos golpear algo o a alguien en momentos de ira.
Es por ello que controlar nuestras emociones proporciona grandes beneficios para nuestra vida diaria.
Según estas investigaciones realizadas por Daniel Goleman determina que nuestro coeficiente intelectual no nos da garantía de éxito.
Por lo tanto, ¿Que es la Inteligencia Emocional?
Daniel Goleman la define como “la capacidad de gestionar y comprender nuestras emociones”. Por lo tanto, la Inteligencia emocional según este famoso psicólogo es gestionar nuestras emociones a favor, la práctica de la inteligencia emocional significa manejar 5 competencias o pilares fundamentales, los cuales son:
Autoconciencia: la autoconciencia trata del conocimiento de uno mismo o de entender nuestras emociones en cada momento, si somos conscientes de lo que sentimos y saber qué es lo que lo está provocando
Autoregulación:  saber manejar nuestras emociones, lo cual significa controlar y tener cmportamientos asertivos cuando una emoción emerge.
Motivación: tiene que ver con hacer un esfuerzo en auto motivarnos aún en situaciones difíciles, como por ejemplo ante la gran crisis que atraviesa nuestro país, en los que hay momentos donde nos podemos sentir impotentes, frustrados, preocupados, molestos, indignados, en la actualidad la fuga de profesionales es debido a mucho desanimo y nosotros como profesionales podemos sentir, al no lograr un apto, un carro, viajar o simplemente un mejor vivir, ya que cuando comenzamos a estudiar una carrera universitaria logramos cultivar muchos sueños, la motivación es un factor clave y de gran importancia para el ser humano, muchos se preguntarán, pero como podemos estar motivados, eso depende de cada persona y de como puedas ser objetivo y positivo ante diversas situaciones. Es un trabajo fuerte que se debe ir cosechando poco a poco, una de las cosas que suele funcionar para estar motivados es el enfoque, enfocarnos no significa estar ocupados, enfocarnos es no perder nuestro objetivo, nuestro horizonte, y algo muy importante la confianza en nosotros mismos, en nuestra capacidad de afrontar las adversidades, a ser pacientes pero a nunca desmayar, nunca darse por vencido, es por ello que la motivación es uno de los pilares de gran importancia dentro de la inteligencia emocional, podemos conocer nuestros sentimientos, tener la capacidad de cambiarlos, pero si no sentimos esa motivación que necesitamos para lograrlo, será difícil. Un famoso conferencista dice “El éxito no depende de donde de encuentres, el éxito depende de tus decisiones”
Empatía: la cual es la capacidad de reconocer las emociones de los demás o en términos mas sencillos es ponerse en el lugar de la otra persona
Habilidades Sociales :Es la forma como nos relacionamos con las personas en nuestro entorno
Principales Emociones Negativas:  Según estudios hay tres tipos de emociones que pueden afectar de forma negativa nuestra vida:
Ira: Si no controlamos la ira se puede ir aumentando poco a poco, eso no significa que debas suprimirla pero debes estar atento que no se vuelva recurrente.
Los especialistas recomiendan que cuando se comienza a sentir ira lo ideal es:
  • Dar una caminata
  • Ver una película
  • Leer un libro
  • Cantar
Sin embargo, lo aconsejable es tratar de no pensar mucho en lo que nos ocasiona ira, si le damos muchas vueltas a esa situación que nos hace sentir molestos podemos empeorar y mientras mas piensas en esa situación tu mente conseguirá muchos motivos para sentir ira. Y al final ganaremos un fuerte dolor de cabeza inclusive ansiedad.
En términos sencillos  es mejor pensar con la cabeza fría,  si nos dejamos llevar por la ira podemos hacer o decir cosas que después de hacerlo sólo nos quedará el arrepentimiento y en muchas ocasiones en la molestia podemos herir a alguien.
Ansiedad: Cómo seres humanos somos expertos en pensar en los peores escenarios o hasta crearlos en nuestra mente, nos preocupamos por cosas que a lo mejor nunca lleguen a suceder, pesamos demás y le damos vueltas a cosas que al final nos causan ansiedad, para este caso muchas veces recomiendan hacernos la siguiente pregunta ¿Puede salir mal o que es lo peor que puede suceder? Esto te ayudará a conseguir respuestas que seguramente no serán tan catastróficas como nuestra mente las suele poner.
Depresión: Para esta emoción recomiendan, hacer ejercicio, hablar con otras personas, ayudar a otros, buscar hacer obras de caridad, no importa si es algo mínimo.
Controlar nuestras emociones negativas es de gran importancia porque estas pueden ocasionar consecuencias en nuestra salud, según estudios de Goleman y otros psicólogos las personas que sufren de ansiedad tienen mayor riesgo de sufrir una enfermedad.
Principales Emociones Positivas: Existen dos emociones positivas en la cual Góleman sugiere que cultivemos. Eso nos ayuda a tener grandes expectativas sobre los resultados.
Optimismo y la esperanza: En la salud, el optimismo y la esperanza pueden jugar un papel muy importante, hay un ejemplo en el libro de inteligencia emocional que trata de como un grupo de estudiantes de Asia, no aceptan las debilidades académicas, todo lo contrario lo ven como una nueva oportunidad para estudiar más, en el trabajo podemos colocar un ejemplo cuando debemos aplicar una metodología o lenguaje desconocido, siendo optimista en mi caso pensar que es complejo pero puedo verlo como un reto, esto depende de cómo veas las cosas. En otro campo donde estas emociones suelen jugar un papel  fundamental es en las ventas, un vendedor optimista y esperanzado suele aceptar mejor la alta tazas de rechazos a los que pueden estar expuestos.
Gestionar nuestras emociones nos ayuda a mejorar muchos aspectos de nuestra vida diaria y en el mundo empresarial, de acuerdo a estudios realizados las empresas requieren de mucha ayuda emocional especialmente las organizaciones dedicadas a la tecnología, porque son organizaciones donde existe mucho nivel de cognición, razonamiento lógico, y niveles elevados de estrés, al aplicarlo en las organizaciones  surge la gran pregunta ¿Cómo podemos aplicarla a los proyectos, especialmente los de IT)
Existen una serie de roles dentro de un equipo de trabajo, como lo son :
Lider- Promotor: Es dominante y emocional, activo, proactivo, emprendedor, explorador, dispone de muchas ideas, es decir, puede ser llamado líder.
Facilitador: Busca aprecio en el equipo, es empático no dominante, mantiene una buena comunicación.
Tecnico- Analítico: pensamiento analítico, sólo responde si le preguntan, es muy directo y va al grano, su mente es esquemática.
Independiente: le gustan los retos, es dominante no necesita ayuda, es afirmativo, no es emocional
La finalidad de conocer los roles es ayudar un poco a conocernos a nosotros mismos en el ámbito laboral, esto nos ayudará a identificar  esos puntos débiles o fuertes que podemos fortalecer o mantener por medio de la inteligencia emocional.
¿Cómo ayuda la Inteligencia emocional en los proyectos?
Nos ayuda a conocernos más como equipo, a conocer a las personas que se encuentran bajo tu liderazgo, saber guiar, saber escuchar, y lo más importante es que sabremos cómo reaccionar ante diferentes tipos de personalidades.
Fortalecimiento en la  toma de decisiones
Tratar con los diferentes tipos de clientes, es aconsejable a veces mantener paciencia con clientes algo difíciles, hablar de la historia de del líder difícil
Cuando a veces tenemos líderes que pueden ser intimidantes o intransigentes donde las demás personas pueden sentir temor de hacer sugerencias  afectaría la capacidad de comunicación, por ejemplo, un  capitán de un avión era una personalidad extremadamente difícil y su copiloto por miedo a que lo regañara no logro hacerle la sugerencia en cuanto al vuelo, esto ocasiono que el avión se estrellara y murieron 10 personas, esto nos ayuda a tener otros puntos de  vistas por ejemplo
Cuando nos hacen una crítica en nuestro trabajo tratar de verlas constructivas,  si eres tu quien debe hacer una crítica, procura hacerla de forma constructiva surgiendo soluciones o puntos de vista, hay que recordar que un líder no es una persona que domina y manda a hacer, un líder es el que persigue metas en conjunto con el equipo
El tema de la inteligencia emocional, es una invitación a manejar y conocer a nuestras emociones, no hacerlo significa que se escalan conflictos que se pudieron haber resulto por la vía del diálogo, las personas que no tienen control de sus emociones son más vulnerables al alcohol, las drogas entre otros.
Primero sentimos, según lo que sentimos desbordamos una emoción, los sentimientos suelen durar más que las emociones, las emociones las puedes cambiar.
La inteligencia emocional nos ayuda a tener mas empatía con las personas, a conocer sus puntos de vista, ayudando a mejorar nuestras relaciones laborales y de equipo de trabajo, hay que recordar que ser inteligentemente emocional no es algo que se logra de la noche a la mañana, sin embargo con disciplina y con las ganas de conocernos a nosotros mismos se puede lograr, hay que recordar que la IE no es una metodología que sólo aplicas por aplicar, debes estar conciente de las bondades y principalmente sentir la confianza de que esto te ayudara en muchas ocasiones de la vida cotidina.
Goleman explica en su libro que las habilidades en cada una de las personas en cada una de las esferas o competecnias son diferentes , por ejemplo algunos podemos ser expertos para manejar nuestra propia ansiedad PERO totalmente ineptos para aliviar los trastornos de otros. La base de nuestro nivel de capacidad es, sin duda, nerviosa pero el cerebro es flexible y aprende constantemente. Por otro lado los errores en las habilidades emocionales pueden ser remediados, cada una de sus esferas representa un cuerpo de hábito y respuesta que, con el esfuerzo adecuado, puede mejorarse.

Gestión de Procesos de Negocio

“Las empresas son tan eficaces y eficientes como lo son los procesos que realizan, sumado esto al grado de experticia de sus empleados”

Antes de familiarizarnos con lo que es Business Process Management debemos conocer lo que es un proceso, pero ahora bien,  ¿Que es un Proceso?
Un proceso no es mas que un conjunto de actividades mutuamente relacionadas y que al interactuar  simultanea o sucesivamente en los elementos de entrada los convierten en productos o resultados. Un proceso de negocio, es un conjunto de actividades que se realizan en coordinación en un ambiente organizacional y técnico, estas actividades alcanzan el objetivo del negocio y cada proceso de negocio representa una unica organización, pudiendo interactuar con otras organizaciones externas.

 

Por lo tanto el BPM como lo indican sus siglas en ingles Business Process Management se puede definir como un paradigma en cuanto a la flexibilidad, gestión y control de información y datos. A su vez se puede ver como una filosofía de trabajo que proporciona estrategias para el desarrollo de procesos. También es visto como una colaboración entre personas de negocio y tecnología para fomentar procesos de negocios efectivos, ágiles y transparentes
¿Que permite y para que sirve el uso de Business Process Management en las organizaciones?
  • Soporte efectivo para la toma de decisiones en una organización
  • Permite reestructurar la lógica de funcionamiento de una institución a procesos
  • Reduce los costos de implementación de soluciones aplicativas distribuidas, favoreciendo ciclos de mejora continua de los flujos de trabajo de una institución.
  • Lograr un mejor entendimiento de la operación de la institución.
  • Incrementa el cumplimiento de requerimientos de los beneficiarios
  • Reduce el margen de error, dando elementos que permitan visualizar el estado de los mismos durante cada etapa
  • Asegura que los procesos se ejecuten eficientemente, cumpliendo con estándares de calidad previamente establecidos, y ayudando a la obtención de información que luego puede ser usada para mejoras
  • Mejorar la capacidad de adaptabilidad institucional a nuevos requerimientos del entorno
  • Incrementa la efectividad del control interno
  • Mejora la documentación de la gestión / procedimientos
Dentro de BPM se encuentran diferentes herramientas que proporcionan capacidades de definir procesos de negocio y automatizar transacciones, documentación, flujos y otras acciones requeridas en procesos de negocio diarios. Se incluyen también tareas integradas y libres que aumentan la potencia del sistema, así como características innovadoras y exclusivas (Graterol, Hernández, & Orozco, 2011)
Estas herramientas presentadas tienen licencias gratuitas, de fácil uso por la sencillez del área de trabajo las cuales son : JBPM, BONITASOFT , INTALIO, OPENBRAVO Y BIZAGI
El BPM dispone de los siguientes componentes :
BPA – Business Process analysisAnalisis de procesos de negocio: apoyan los procesos de análisis, diseño y modelo
BAM – Business Activity Monitoring– Monitoreo de Actividades del negocio: permite implementar junto a los procesos los indicadores de control de gestión en tiempo real
BPE – Business Process ExcutionEjecucion procesos de negocio: abarca tanto la ejecución técnica de los procesos como la orquestación e integración SOA con aplicativos de back-office
BRE – Business Rules Engine – Motor de Reglas de Negocio: apoyan la administración y ejecución de reglas de negocio en forma independiente de los sistemas que las utilizan
Cuyo ciclo de vida es :
Diseño :se identifican procesos existentes y se re-estructuran o eliminan y se diseñan nuevos que sean teóricamente efectivos. Se representan flujos de proceso, actores, alertas y notificaciones, escalaciones, Acuerdos de Nivel de Servicio, Procedimientos de Operación Estandar y mecanismos de entrega de tareas.
Modelamiento : el modelamiento toma el diseño teórico e introduce combinaciones de variables a tener en cuenta (costos, eficiencia, indicadores de rendimiento). También incluye análisis “Qué pasa si…” (ej. ¿Que pasa si se quiere desarrollar la misma actividad con el 80% del presupuesto?)
Ejecución : personas y herramientas de software comienzan a automatizar y cambiar los procesos actuales y comienzan a funcionar los nuevos. Se documentan los resultados para generar conocimiento, se realizan las compras en infraestructura tecnológica necesarios, se entrena al personal, se establecen metas y se pone en marcha el diseño ya planteado, se producen resultados tangibles.
Monitoreo : se hace seguimiento de los procesos individualmente, se evalua su rendimiento, se analizan resultados y se comparan con los anteriores. Los atractores organizacionales o jefes son encargados de motivar y corregir a los que realizan las tareas.
Optimización : se toma información de la etapa de modelamiento y datos de desempeño de la etapa de monitoreo y se comparan, identificando los cuellos de botella en los procesos (capacidad o agilidad que se ve limitada por uno o más recursos) y las oportunidades de ahorro potenciales y de mejoramiento. Luego se aplican estas mejoras al diseño. Si la optimización no es buena, se realiza una re-ingeniería del proceso (re-estructurar los procesos de una manera más drástica).
¿Necesita una organización BPM?
La respuesta a esta interrogante sería si. es necesario en una organización porque los procesos implican tareas humanas y varios sistemas de información y hay una escasa visibilidad de los mismos.
Aunque hay procedimientos que describen las tareas de trabajo y los procesos, es complejo verificar interacciones, contradicciones, y el cumplimiento de los mismos
Es difícil identificar los cuellos de botellas en los procesos
Gran parte de la ineficiencia de los procesos se debe a las falta de una clara responsabilidad sobre los mismos
Con gran frecuencia es difícil indicar con precisión quien debe realizar algunas tareas
Tras la consecución de un objetivo, a menudo es difícil identificar quién hizo qué
Falta de medidas adecuadas para evaluar el rendimiento de los empleados
Es muy importante mencionar que la orientación de los negocios ha evolucionado desde sus inicios con una marcada tendencia en los últimos años, ésta no sólo se enfoca en términos como la producción, las ventas y el marketing; sino que en la actualidad los negocios están enfocados al cliente.
Actualmente, la tecnología es muy importante para optimizar las relaciones con los clientes.
Por medio de la tecnología de información se puede re-diseñar los procesos de negocios, facilitando los cambios en las prácticas de trabajo y el establecimiento de métodos innovadores que unan a la compañía con sus clientes, ésta se convierte en el punto de partida del replanteamiento y renovación de los procesos de negocio, en una constante búsqueda del perfeccionamiento de los mismos.

Scroll to top