Acerca de carlosru

Analista-Desarrollador Web He utilizado desde los CGI, los servlets, hasta los scripts mas modernos de php y Ruby y en el proceso diferentes metodologias. Me gusta las matematicas, la filosofia, los lenguages de computación, las buenas novelas, el cine y claro el rock y para bailar tambien hay que moverse en otros ritmos.

Lean, OKR, ADKAR y la buena suerte

Alex Rovira escribió un maravilloso libro llamado “La Buena Suerte”, y en el cuarto principio de la buena suerte enseña algo relacionado con “crear las circunstancias para los demás, no solo para uno mismo, es decir, para que el gana-gana se complete, no pensar egoístamente solo en uno sino en el otro también”, esto es justamente la etapa de la letra “D” de ADKAR, “Desire” es como la etapa de hacer que el “otro” tu uke dirían los japoneses participe en tu iniciativa, proyecto, organización, con deseo, pero aclaran que esto se da cuando clarificas que le ofreces y en que puede verse beneficiado el otro…

Entonces cuando algunos compañeros me comentan que tal iniciativa no funciono, que la propusieron pero que “nadie hace caso”, comento que es probable entre otros factores en que solamente se ha realizado la letra “A” de ADKAR, “Award”, hacer consciente de la propuesta a los demás, pero no se han puesto a explicarles y ofrecerles alternativas de beneficio y ganancia, cuando platico de ADKAR, nos damos cuenta que los esfuerzos que hacemos a veces son realmente cortos y esperamos sin iteraciones tener exito a la primera…. Y esto me da pie para hablar de los OKR, que son la forma mas reciente de plantear objetivos, los impulsores del framework prometen que clarificando y siendo transparente se logra “engagement” y compromiso de las personas, que la métrica ayuda a ver como se van logrando los objetivos, a mi me parece un estupendo framework, pero me queda la duda si no se vería muy beneficiado el framework por el cuarto principio de “la buena suerte” o la letra “D” (Desire) de ADKAR.

Confluencias

Confluir es algo parecido a fluir en la misma dirección y sentido, hace algunos años leia el libro del Sistema infalible para el triunfo, en el que remarcaba que para triunfar habia que basarse en tres componentes.

1. Inspiración

2. Conocimiento

3.Habilidad

Al tiempo aprendi metodologia de 5’s japonesa, que introdujo Toyota hace ya algunos años,  que se basa en 5 componentes o items:

1.Seire  – Clasificación

2.Seiton – Orden

3.Seizo -Limpieza

4.Seitketzu – Normalización

5.Shitzuke – Habito y disciplina

Y luego en otra oportunidad revisando conceptos de administración y de six sigma encontre lo que se llama DMAIC que son las siglas de:

1. Define – Definir

2. Measure – Medir

3. Analize – Analizar

4. Improve -Mejorar

5. Control – Controlar

Entonces si revisamos los compoenentes del sistema infalible para el triunfo, de 5’s y de Six-Sigma encontramos confluencias que resumo asi:

1. Inspiración : Normalmente viene del deseo de cambiar algo con lo que se esta “insatisfecho” o que “se desea mejorar”, aqui también caben entonces las frases  “Definir”, “Plantearse objetivos”,”Saber lo que se quiere”

2.Conocimiento Teórico: Aprende de los mas grandes que muy probablemente ya recorrieron caminos similares, de los libros, de las experiencias, de los datos, toma medidas para saber como estas actualmente.

3. Modela esos datos teroricos con miras a lo que deseas lograr, usa modelos, metodos, planes, esquemas, drafts, y analiza las opciones y posibilidades asi como busca las mejores alternativas.

4.Gana habilidad y ve al terreno practico, solamente haciendo las cosas y llevando a cabo las acciones se puede buscar recorrer el camino intentando cometer el menor numero de fallas, pero si estas ocurren no hay que desmotivarse, sino aprender de ellas para saber como no debe hacerse la practica.

5.Controla y ten disciplina, esta última considerada como el buen habito de hacer lo que “es correcto” o consideres “mas correcto”, aunque no tengas ganas de hacerlo, seguir hacia adelante y ser guardian de la meta que buscas.

Entonces es curioso que en diferentes partes del mundo, diferentes pensadores de como se logran los exitos, nos dan indicadores que confluyen y que a veces nos parecen aburridos y sin sentido por que no se nos presentan en contextos completos sino por partes.

 

Metodologías Ágiles para Desarrollo

Como bien es sabido la Computación como ciencia tiene sus propias metodologias que contrastan con las metódologias de la ingenieria tradicional, incluso hay ciertos debates, choques o malos entendidos entre por ejemplo Six Sigma, CMMI y metódos ágiles o extremos y hay quienes tambien toman como lo mejor de varias partes para integrar una metodologia adaptada al projecto especifico.

El desarrollo del conocimiento, de las metodologías y de la ciencia en si, es un tanto dialectico y  el caso de la tecnología de información, la ciencia de la computación y  el internet no es la excepcion.

Me llamo mucho la atención que los lenguages ágiles modernos apenas se estan consolidando con sus caracteristicas inovadoras cuando ya tenemos mejoras sobre los mismos lenguages.

Hoy me gustaria comentar sobre Groovy Plus Plus o el Groovy mejorado que al parecer no trae mucho cambio sobre el Groovy normal sin embargo los cambios que trae son realmente importantes para el desarrollo ágil.

Otra nota para este blog es sobre la tendencia de los lenguages de computación a ser cada vez de más alto nivel esto lo podemos observar con EasyB que ya orienta el desarrollo hacia el comportamiento y usa un lenguage mas especial para definir requerimientos cerrando el hueco entreo el desarrollador y el StakeHolder (El interesado en el requerimiento).

Las aplicaciones de matemáticas en administración y economía

Las aplicaciones de los métodos matemáticos en administración y economía hoy en día son tan variados que es dificil encontrar una sola persona que sea consciente de todo el ámbito, a continuación una lista que solamente puede ser incompleta:

  • Los Economistas usan programación lineal y no lineal, la teoría de las desigualdades de varianza , teoría de control optimo, programación dinámica, teoría de juegos, modelos de selección probabilistica , teoría de la utilidad, análisis de regresión y de factor y otras técnicas para estudiar equilibrio, inversión optima, competición, comportamiento del consumidor, y una variedad de otros problemas.
  • Encargados de Administración de Operaciones usan muestreo estadístico y teoría de estimación, programación lineal y entera, programación de redes, programación dinámica y teoría de control optimo, teoría de colas, simulación, técnicas de inteligencia artificial,  y métodos de optimización combinatoria para resolver problemas en control de calidad, asignación de recursos,  logística,  proyectos calendarizados, trabajos de compras calendarizadas , balance de lineas de ensamble y proyectos de almacenamiento  y espacio.La introducción de sistemas de manufactura flexibles, robots y otros dispositivos automaticos han provocado un nuevo arreglo de problemas matemáticos aun no  resueltos.
  • La gente de Finanzas usa programación lineal y no lineal y programación entera, teoría de control optimo y programación dinámica,teoría de decisiones de Markov, regresión y series de tiempo para determinar asignación optima de recursos,  inversiones multiperiodos, capital de presupuesto, y diseño de  portafolio de inversión y prestamo, e intentar pronosticar el comportamiento del mercado.
  • En Mercadotecnia se usa análisis de regresión y factor, series de tiempo, teoría de juegos, decisiones de Markov,  teoría de decisiones, teoría de inventario,  programación matemática , modelos de selección probabilistica,  teoría de la utilidad para determinar preferencias del consumidor,determinación del optimo almacenamiento de mercancías en almacenes y estudios de competitividad estratégica entre otras.
  • En Sistemas de Información y sistemas de soporte de decisiones usan técnicas de inteligencia artificial, lógica difusa, proposicional y cuantificada, métodos Bayesianos, lógica probabilistica, estructura de datos y otras técnicas de la ciencia de la computación, programación matemática y teoría de decisiones estadísticas, para diseñar sistemas expertos y /o basados en conocimientos, desarrollar métodos de inferencia  eficientes, y evaluar efectos organizacionales y económicos de los sistemas de información y  confiabilidad de sistemas.
  • En Finanzas se usan modelos de teoría del Caos y de fractales para determinar comportamientos de mercados financieros.

Metodos de Ingeniería Dirigidos por Evolución

Recientemente encontre un documento en PDF que habla sobre la evolución de Lyee, como toda metodología y como la ciencia debe ser, existen inovaciones pero también criticas sobre los conceptos o conocimientos nuevos, Lyee no es la excepción, sin embargo me llamo mucho la atención que estas metodologías sirven de paradigmas de base sobre los cuales se pueden producir nuevas , usando los metodos de Ingenieria dirigidos por la evolución en los cuales el modelo de Lyee básico LSRM (Lyee Software Requirment Model) ha llevado a crear el modelo LURM (Lyee User Requeriment Model) a través de un proceso evolutivo. Para mayores detalles e información sobre este tema visiten :

http://www.ait.unl.edu/siau/conference/EMMSAD03-CFP_files/Final%20Copy/13.pdf

Takt Time para desarrollo de Software

Aunque es sabido que las técnicas de ingeniería industrial o ingeniería tradicional han tratado de ser usadas en los modelos de desarrollo de software y no han dado los resultados esperados, y que por ello la metodología para el desarrollo de software sus métodos han logrado por méritos propios su independencia del as metodologías clásicas de ingeniería, existen ciertos modelos y/o herramientas que si pueden usarse en el desarrollo de sistemas combinando por ejemplo Agile Unified Procces y algunas técnicas de Lean e incluso modelos CMMI, y de administración como PDCA(Plan-Do-Check-Act) ó DMAIC(Define-Measure-Analize-Improve-Control),  en particular hoy me referiré al Takt Time para Software.

Para calcular el Takt Time en un desarrollo de sistemas, hay que descomponer el proyecto en unidades mas pequeñas de entre uno a cinco dias, las tareas con complejidad o dificultad desconocidas, también deben descomponerse en unidades mas pequeñas y manejables, de tal forma que el total de dias estimado para todas las unidades se divide entre el total de dias disponibles para que el projecto este listo. Si hay extra carga o demasiado trabajo el proyecto puede ser recortado o se pueden traer nuevos recursos para su realización en el tiempo para entregar.

Asi el Takt Time se calcula realizando la operación:

TT= (Dias netos de trabajo disponibles) / (Numero total de unidades requeridas).

Por favor visiten http://www.etacktime.com, esta es una aplicación web para tableros en lineas de producción y en donde se pueda aplicar el Takt Time.

Lyee, el observador y el observado

En la metodologìa de Lyee se define la existencia como una extención espacial o simplemente espacio ,el espacio gobierna el cascaron de la exitencia mientras que la descripcion representa las caracteristicas de este espacio, en Lyee se asumen estas carecterísticas como sigue:

1 El todo

2.La parte

3. La no existencia

4. Existencia

5. El Observado

6. El Observador

Estas caraterísticas se definen con enlaces o ligas, un enlace o liga esta conformado por un par de elemntos, el primer elemento es la sustancia y el segundo sus atributos.

La ligas son categorizadas según sus atributos ya que estos forman un conjunto y pueden ser cambiantes. El proceso de transformación de los atributos va desde fases primitivas hasta fases sofisticadas, la definición de las fases de transformación en Lye e es un proceso determinístico.

Cuando un conjunto o par substancia, atributos conceptualizan algo que no pude depende r de otras cosas mas, se le llama a tal conjunto una liga singular, las ligas singulares se forman para describir cinco mecanismos:

1) Intención

2) Concientización

3) Objetivación

4) Memoria

5) Asimilación

Estas definiciones preeliminares del mundo hipotetico de Lyee, que parecen algo filosóficas o de la teoría del conocimiento en realidad tienen aplicaciones prácticas o tecnologicas, por ejemplo cuando queremos algo normalmente tenemos intencion , esto nos va a implicar un verbo, hacer, definir, trasladar, traducir etc., si seguimos definiendo nuestra intención tendremos un objetivo y haremos conciencia de lo que queremos, esto también sucede en ánalisis de sistemas, asi que podemos buscar o crear los objetos , objetivizar lo que necesariamente nos llevará a tener memoría con los objetos creados u obtenidos, los objetos pueden dar vida a los proyectos si se organizan y se relacionan adecuadamente de alli lograremos la asimilación.

Lyee metodología para definir Software de una manera deterministica


 

Abstraccion:

Nuestra inteligencia (ciencia o un pensamiento) se establecén sobre la base de lo que se “memoriza” . Debido a que la memoria es siempre ambigua, la inteligencia puede ser establecida solo ambiguamente. La razón por la que la memoria es ambiagua es que la forma en que se crea la memoria es ambigua ( por alli hay muchas hipotesis en la teoria del conocimiento) . En la metodologia Lyee se considera que la causa de la formación de memoria se llama “Intencion” y esta metodología intenta explorar la estructura de la intención. Al hacerlo de esa forma la metodología de Lyee trata de comprender esta ambiguedad y para este proposito creo una hipotesis basada en sistema axiomatico y deduce una metodologia para desarrollar software a partir de los aximas.

 

Nota sobre la abstracción:

Recuerdo que en la universidad alguna veces platicabamos sobre si era mejor memorizar o entender el proceso en las clases para aprender alguna materia determinada, yo sabia que ambas cosas eran necesarias, ya que por ejemplo las matematicas se construyen a base de axiomas y teoremas y si no memorizaste el teoreama 2 y 3 dificilmente vas a comprender el teorema 5 que se basa en el 2,3 y 4.

Las computadoras ocupan memoria para realizar sus operaciones, y también tenemos las bases de datos que son la gran memoria secundaria, lo que diferencia a la mente humana de la un ordenador entre otras cosas es la velocidad para traer y procesar información, la ventaja del ser humano es su capacidad de almacenamiento ya que todos los dias guardamos imagenes, aromas, sonidos, detalles…