Estudio de tiempos y movimientos aplicado a la arquitectura de Software para disminuir el tiempo de desarrollo

Hace tiempo platicaba mucho con un amigo que era ingeniero Industrial el me explicaba como los Ingenieros Industriales calculan los tiempos de Manufactura tanto Macro como Micro, para lograr reducirlos y mejorar los costos de Producción. Siempre me pregunte si esas practicas podrían llegar a utilizarse en el desarrollo de software.

Con el tiempo y las mejoras en arquitecturas de software y metodologías, se ha mejorado muchísimo. sin embargo aun existen cosas que podemos tomar de la Ingeniería Industrial como el estudio de tiempos y movimientos para mejorar el desarrollo de nuestros sistemas.

En especial me enfoque en conocer los Therbligs, que se usan en Ingeniería Industrial, los cuales en el desarrollo de sistemas afectarían sus similares a temas de Integración Continua y componentes básicos de arquitectura base para desarrollar aplicaciones en estos.

La lista original de THERBLIGs es:

1. Buscar
2. Seleccionar
3. Tomar o Asir
4. Alcanzar
5. Mover
6. Sostener
7. Soltar
8. Colocar en posición
9. Precolocar en posición
10. Inspeccionar
11. Ensamblar
12. Desensamblar
13. Usar
14. Retraso Inevitable
15. Retraso Evitable
16. Planear
17. Descansar

Para el caso de desarrollo de Software también se pueden agregar otras operaciones:
18. Maquetizar
19. Impactar
20. Probar
21. Promover
22. Liberar
23. Curva de Aprendizaje
Otros

Los movimientos se dividen en eficientes y deficientes. Así mismo se subdividen en movimientos corporales, semimentales, concretos, objetivos, retrasos evitables o inevitables y descansos. (Para la manufactura, pero habría que analizar el simil al desarrollo de software)

"Hay tres principios básicos, los relativos al uso del cuerpo humano, los relativos a la disposición y condiciones en el sitio de trabajo y los relativos al diseño del equipo y las herramientas. - Gestiopolis"

Los relativos al uso del cuerpo humano

* Deben emplearse el menor número de elementos o therbligs y éstos se deben limitar de más bajo orden o clasificación posible.
En software podría equivaler a Desarrollar el menor número de componentes (Respetando los principios de arquitectura de software)

*Son preferibles los movimientos continuos en línea recta en vez de los rectilíneos que impliquen cambios de dirección repentinos y bruscos.
Esto se parece bastante al control del alcance y definición de requerimientos y casos de uso. Si se tienen menos cambios al vuelo el tiempo de desarrollo debería minimizarse.
Piezas prefabricadas que se utilicen en varios desarrollos, implica un mejor esfuerzo. Pero por parte del equipo de arquitectura para identificar este tipo de componentes y evitar esfuerzos en cada proyecto.

Relativos a la disposición y condiciones en el sitio de trabajo
*Deben destinarse sitios fijos para toda la herramienta y todo el material, a fin de permitir la mejor secuencia de operaciones y eliminar o reducir los therblings buscar y seleccionar.
Un repositorio ordenado y estandarizado tanto de código fuente como de documentación evita perdidas de tiempo buscando documentos, Usar patrones de diseño evita hacer análisis extra, estandarizar las parametrizaciones y configuraciones evita perdidas de tiempo innecesarias si son comunicadas a todo el equipo o incluso a toda la empresa. (salvo que comprometan la seguridad informática)
Un arquetipo que sirva para muchos desarrollos debe disminuir el esfuerzo de comenzar desde cero una aplicación.

*Hay que utilizar depósitos con alimentación por gravedad y entrega por caída o deslizamiento para reducir los tiempos alcanzar y mover; asimismo, conviene disponer de expulsores, siempre que sea posible, para retirar automáticamente las piezas acabadas.
Un controlador de versiones bien implementado permite a un equipo la integración continua, evitando paradas y software que no ejecuta.
La integración de plugins de calidad checkstyle, sonarcube, etc al momento permitirá disminuir tiempos de entrega de corrección de estilo.

*Todos los materiales y las herramientas deben ubicarse dentro del perímetro normal de trabajo, tanto en el plano horizontal como en el vertical.
Estandarizar el ide, las herramientas de trabajo, plugins, etc para configurar una celda de trabajo disminuye el tiempo.

*Conviene proporcionar un asiento cómodo al operario, en que sea posible tener la altura apropiada para que el trabajo pueda llevarse a cabo eficientemente, alternando las posiciones de sentado y de pie.
*Se debe contar con el alumbrado, la ventilación y la temperatura adecuados.
Parece trivial pero es muy importante mantener lugares ergonómicos e incluso las mejoras como en los centros de trabajo de Europa para evitar tanto tiempo sentados puede ayudar a mejorar el tiempo de desarrollo.

*Deben tenerse en consideración los requisitos visuales o de visibilidad en la estación de trabajo, para reducir al mínimo la fijación de la vista.Un buen ritmo es esencial para llevar a cabo suave y automáticamente una operación y el trabajo debe organizarse de manera que permita obtener un ritmo fácil y natural siempre que sea posible.
Mantener un ambiente donde los desarrolladores puedan descansar o desbloquearse constantemente mejoraría los tiempos para evitar bloqueos mentales.

Los relativos al diseño del equipo y las herramientas

*Deben efectuarse, siempre que sea posible, operaciones múltiples con las herramientas combinando dos o más de ellas en una sola, o bien disponiendo operaciones múltiples en los dispositivos alimentadores, si fuera el caso (por ejemplo, en tornos con carro transversal y de torreta hexagonal).
Ides, controladores de código, herramientas de base de datos u otras que afecten los tiempos de producción se pueden medir y/o ver hasta que punto se pueden integrar. Cuantas veces no informamos lo mismo en varias herramientas diferentes este tipo de tiempos se puede disminuir.

*Todas las palancas, manijas, volantes y otros elementos de control deben estar fácilmente accesibles al operario y deben diseñarse de manera que proporcionen la ventaja mecánica máxima posible y pueda utilizarse el conjunto muscular más fuerte.
Buscar herramientas que tengan el mínimo de esfuerzo, cuantas veces no perdemos el tiempo corrigiendo a la herramienta.

*Las piezas en trabajo deben sostenerse en posición por medio de dispositivos de sujeción.
Investigase siempre la posibilidad de utilizar herramientas mecanizadas (eléctricas o de otro tipo) o semiautomáticas, como aprieta tuercas y destornilladores motorizados y llaves de tuercas de velocidad, Etc.
Esto suena un poco a Maven o Gradle (Siempre y cuando no perdamos el tiempo en corregir poms.xml) que preparan nuestros ambientes de desarrollo de manera automatizada.

En fin cada quien puede ver mas o menos analogías de estas técnicas de ingeniería Industrial.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de WinDoctor

Martin Fowler decía en un

Martin Fowler decía en un célebre y extenso artículo titulado "The New Methodology" que el desarrollo de Software ha sido mal influenciado por prácticas de otras ingenierías como la Civil y Mecánica, en donde la mayoría de los problemas de dichas ingenierías si son suceptibles de un análisis matemático y una planificación previa.


The usual inspiration for methodologies is engineering disciplines such as civil or mechanical engineering. Such disciplines put a lot of emphasis on planning before you build. Such engineers will work on a series of drawings that precisely indicate what needs to be built and how these things need to be put together. Many design decisions, such as how to deal with the load on a bridge, are made as the drawings are produced. The drawings are then handed over to a different group, often a different company, to be built. It's assumed that the construction process will follow the drawings. In practice the constructors will run into some problems, but these are usually small.

Leer completo. http://www.martinfowler.com/articles/newMethodology.html

Emilio Osorio decía en uno de sus artículos


Al parecer, pensamos que cuando algo no sale bien lo que necesitamos es una capa más de “control”, un proceso más definido y detallado que “obligue” a los programadores rebeldes, negligentes o apáticos, a tener “conformidad” con el proceso mágico que resolverá todos nuestros problemas. Anhelamos recetas secretas, pero en realidad lo que necesitamos es tan solo un conjunto sólido de principios y sentido común.

Leer completo. http://sg.com.mx/content/view/312

En efecto, lo que nos compartes va en contraposición a las metodologías ágiles del desarrollo de software. El pensar en un "movimiento contínuo en línea recta" en lugar de un movimiento rectilíneo en términos de software no solamente es un error, va en contra de la misma naturaleza del software. Es forzar a algo cuya naturaleza es variable y cambiante a que permanezca contínua. En mi experiencia, esto provoca el mayor de los problemas, Clientes descontentos, insatisfechos por el servicio de consultoría o desarrollo que les brindamos porque solo encuentra "trabas" y "candados" a los cambios del sistema que su negocio requiere. En vez de comparar a la Ingeniería de Software con otras ingenierías, las metodologías ágiles proponen una serie de principios bastante interesantes y uno de ellos es dar la bienvenida a los cambios de requerimientos en el desarrollo de software, en lugar de satanizarlos y verlos como algo negativo.

Finalmente, Tom DeMarco decía en uno de sus artículos también célebres que "No podemos controlar lo que no podemos medir"
Leer http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/070...

Y vaya que hoy en día seguimos pensando que podemos controlar y medir algo tan cambiante e intangible como el software.

Imagen de arterzatij

Profesionalismo

interesante platica de Robert C. Martin

https://www.youtube.com/watch?v=p0O1VVqRSK0

Añaden complejidad

En mi opinión, muchas de esas metodologías en lugar de ayudar, añaden complejidad a un proyecto de software. Hablemos, por ejemplo, de CMMI, RUP, ISO 15504.

Pero hay otras pocas metodologías, pensadas por programadores, que sí ayudan en el desarrollo de software. Hablemos, por ejemplo, de Kanban, TDD, Scrum.

Imagen de ezamudio

CMMI

CMMI viene del mismo lugar de donde nació TSP. Ya con eso te puedes imaginar la complejidad. Pero la filosofía está peor que en TSP porque la verdad es que CMMI fue pensado para fábricas de software: los programadores son obreros con habilidades mínimas y son intercambiables en cualquier momento del proceso.

Imagen de paranoid_android

Esto no es una metodología

Esto no es una metodología es el concepto.
La cuestión es mas simple.
La idea es simple reducción de operaciones.
Para que puedas reducirlas identificas las tareas y las simplificas o dispones herramientas o mejoras las condiciones.
En que tareas se gasta mas tiempo, ¿Me hacen falta o me sobran herramientas?
¿Controles? - no recuerdo que se hayan mencionado.
Pero si fuera el caso ¿Se pueden automatizar, minimizar, reducir o gastaría tiempos irrecuperables?

Además otra diferencia es que este concepto principalmente está evaluando el entorno de desarrollo.

Imagen de paranoid_android

Control de alcance en cualquier tipo de practica de software

Si no administras correctamente el alcance ya sea con una metodología tradicional, ágil o simplemente tu gestión como entiendes que se debe liderar un proyecto. El proyecto caerá irremediablemente al fracaso cuando revisen el gasto, el esfuerzo y no tengan resultados. En muchos casos es más como saber tratar a las personas, que un problema técnico.
Es el típico caso de construir elefantes blancos.
O como dicen algunos los caprichos no pueden escribirse porque resulta que cambian.

Imagen de Eduardo Vargas

No habrás estado perdiendo el tiempo?

Hola paranoid_android,

¿No habrás estado perdiendo el tiempo al grado de no conformarte con tener la vista general y en vez de ello enfocarte en los Therbligs?

Si ya tienes un buen tiempo estudiando al respecto, tal vez tú nos podrías explicar por qué el 80% de los proyectos en México fracasan o tienen enormes retrasos si nada más lo que tenemos que hacer es aplicarle a las personas las técnicas para tratarlos como robots como cuando están cerrando miles de latas de chiles o los están metiendo en las latas.

Dentro de esos THERBLIGs que muestras, podemos cacajeranos del que se llama "Descansar". ¿Descansar en la industria de la información? ja ja ja ja! En la mayoría de los centros laborales está muy mal visto eso de "descansar". Tanto patrones como obreros (no todos) ven muy mal eso de "descansar". Hasta los mismos obreros se sienten superestrellas porque se desvelan varios días y duermen unas 3 o 4 horas, mientras los patrones se regocijan de esa inmadurez de los obreros respecto a su salud. Hay muchos esclavos a los que les da un enorme placer también ir los sábados y domingos a trabajar, sin importarles que su familia necesite salir a divertirse o cuando menos convivir un buen número de horas.
En muchos lugares nada más te ven "descansando" unos minutos y ya te están viendo muy feo o te dicen que vas ahí a trabajar, no a dormirte y que por andar "descansando" no terminas, como si fueras una máquina que se conectara a la hora de la entrada y se desconectara a la hora de la salida (si es que te va bien y sales)

"Probar"? ja ja ja ja! pues sólo que sea probar la sopa, porque en una enorme cantidad de lugares sólo hacen pruebas de chocolate debido a esas torpes ideas de querer tratar la fabricación o mantenimiento de software como si estuvieran fabricando chiles, gansitos, refrescos, etc., y entonces quieren que el trabajo se termine en la fecha que impusieron y si no se termina, entonces recurren a las pruebas de chocolate y luego le echan la culpa al obrero de que "hizo mal su trabajo".

Pienso que está bien adoptar las ideas generales que se aplican a la fabricación de gansitos, preparación de hot-dogs o de enchiladas a nivel industrial, pero ya querer aplicar la idea de predecir con buen grado de exactitud cuando van a terminar, pues no y por eso fracasan la mayoría de los proyectos y por eso vemos tanto desmadre en el área de sistemas de las empresas.

Puede haber muchos requerimientos de software en los que sí se pueda hacer una aceptable estimación de tiempos de entrega, pero, al menos en México, la mayoría de las veces no es posible, principalmente porque tienen un enorme desmadre en las áreas de sistemas. Si hay que repetir o replicar funcionalidades que ya existen, la tarea es fácil, pero cuando se trata de innovar o de enfrentarse a la desorganización en el área de sistema, ya el asunto se pone muy difícil o imposible.

Si eso del estudio de movimientos y demás cosas sirvieran en forma importante para la industria de la informática, no habría tantos retrasos y fallas en los productos que nos ofrecen los Gigantes de la industria del software.

Pero platícanos tú, paranoid_android. ¿Has dedicado mucho tiempo sólo a la teoría? ¿Has tenido muchos éxitos aplicando el 80% de esos conocimientos que nos muestras, en la industria de la información? ¿Con qué cosas te has atorado de manera importante cuando quisiste aplicar la técnica inhumana de manejo de robots, y trataste de manejar a los obreros de la informática como si fueran robots o como si los proyectos fueran algo así como querer fabricar miles y miles de pizzas?

Imagen de arterzatij

Bravo mi estimado, hay muchos

Bravo mi estimado , es bueno saber que hay personas piensan como yo :)

Como dice Uncle Bob el día que se tenga la misma confianza a un programador como se tiene a un medico o a un abogado. Todas las cosas en nuestra labor cambiaran.

Y por eso es que hay mucho joven trabajando en IT, desvelandose y haciendo que las cosas pasen.

Imagen de paranoid_android

Eduardo Vargas

Hola Eduardo, No veo la relación entre mejorar tu entorno y robotizar personas.

Cambiar de paradigmas si aun estamos viendo la manera de tener todo bajo control únicamente con nuestras habilidades en lugar de tener sistemas de apoyo que apoyen estas tareas.

Si aun estamos pensando en trabajar en oficinas cuando otros ya nos llevan ventaja trabajando en esquemas Home Office.
No veo porque no se puedan automatizar tareas rutinarias del desarrollo en lugar de construir desde cero cada vez.

Hace falta más que herramientas es cambiar mentalidades...

Imagen de paranoid_android

Gracias arterzatij

Gracias por compartir

Imagen de paranoid_android

Eduardo Vargas

Se lo que cuesta mantener código legado que ya nadie conoce. Ahí es cuando te preguntas precisamente y si hubiera un manual donde te dijera como armar tu entorno de desarrollo y si hubiera esto y si lo hubieran construido de "X" o "Y" forma.
Para eso hay otro tema que es la evaluación de riesgos.

Si quieres ejemplos de descanso a favor de la productividad te los puedo dar personalmente yo los he vivido, aunque la mayoría no han sido en México han sido en otros países.

* Si tienes Liberación por la noche trabaja media jornada y descansa hasta la hora de liberación
* Si trabajas todo el fin de semana descansa el lunes
* Si cumples determinadas horas extra aprobadas por tu jefe toma un día de descanso.
* Reuniones relajadas, informes anuales donde ofrecen sandwiches y dan tiempo para la convivencia.
* Jefes que en lugar de presionar buscan quitarte responsabilidades para que puedas cumplir.

Si tienes sistemas legados será más difícil hacer que estos generen ese tipo de prácticas hasta que caigan en alguna reingeniería o se construya algo nuevo.

Imagen de WinDoctor

En cierta forma cuando

En cierta forma cuando mencionaste que no era una metodología, sino el concepto, entonces creí que después de todo no estaba tan mal lo que escribiste, pero siendo así no aporta mucho por no decir nada a lo que ya aporta toda la filosofía ágil.

Agile precisamente pone una base muy importante en la automatización con herramientas, Gradle, Pruebas Unitarias e Integración Contínua, incluso hasta propone un cambio de mentalidad con TDD.

Se agradece el aporte y los comentarios, es sano el debate, aunque en lo personal, no veo nada nuevo a lo que ya trae la filosofía ágile.

Imagen de paranoid_android

WinDoctor

La metodología Scrum no es la única metodología ágil existen más metodologías Ágiles.

Es de comprender que sin un caso concreto de implantación puedas no verlo útil, ya que hay que profundizar.

No hay que perder de vista que el objetivo es disminuir el tiempo y los "movimientos".
¿Como se puede desarrollar con menos?
¿Como se puede soportar, mantener, migrar, etc con menos?

Lo cierto es que hay más de una manera de implementar este concepto.
* Implantación de un arquetipo con las prácticas escogidas para una necesidad. (No me refiero a Maven, un arquetipo como una aplicación que no hace nada pero es la base para desarrollar otras)
* Selección de tecnologías
* Tecnologías que asisten el desarrollo.
* Un indicador como parte de un proceso.
étc.

Imagen de WinDoctor

No mencioné nombres


La metodología Scrum no es la única metodología ágil existen más metodologías Ágiles.

Jamás mencioné siquiera un solo concepto de Scrum, ni siquiera de forma indirecta. Indirectamente si mencioné conceptos de XP. Incluso desde mi primer post, mencioné LSD. No entiendo a que viene tu comentario.


Es de comprender que sin un caso concreto de implantación puedas no verlo útil, ya que hay que profundizar.

Recuerda que la solución más simple, en la mayoría de los casos es la mejor. Y esto es lo que ofrece agile.


No hay que perder de vista que el objetivo es disminuir el tiempo y los "movimientos".

De acuerdo, es el objetivo.


¿Como se puede desarrollar con menos?

Con principios simples. Lean Software Development dice en uno de sus 7 principios que se debe "eliminar el despilfarro":

+ Funcionalidad y código innecesario.
El equipo de desarrollo piensa "de más" en como preparar el sistema para posibles cambios que el usuario pida.

Otro de sus principios, habla sobre la burocracia:
+ Eliminar la Burocracia hasta donde más nos sea posible.
Te hablo con la experiencia en mano. Trabajo en uno de los Grupos Multi empresa más grandes de México (sí, la del banco y la de la TV) en donde hay toda una serie de procedimientos, mecanismos, autorizaciones, etc para cualquier cosa y sin embargo, podemos lidiar con todo ello de manera "ágil" teniendo a los usuarios de negocio contentos. Si te interesa podemos hablar sobre esto más adelante.


¿Como se puede soportar, mantener, migrar, etc con menos?

Con el equipo de desarrollo "ideal". Y con ideal me refiero simplemente a personal motivado, competente, con cierto grado de pensamiento abstracto y al frente un lider con la experiencia... Vaya! Parece demasiado, pero en realidad no lo es. Lléndonos a algo más técnico, entonces podemos sacar prácticas de XP.

En el banco donde trabajo, hay 2 grandes bases de datos donde se encuentran los miles de millones de clientes. Una en AS/400 y otra en Oracle. El plan del viceprecidente de sistemas del grupo fué migrar de AS/400 a Oracle. Una tarea bastante compleja por los cientos de flujos existentes, recordemos que no solo es un banco, sino que es un grupo conformado por varias empresas, por lo tanto existen muchisimos flujos de información.

La migración la tenemos a un 80% y todo marcha muy bien, después de que hace 8 años se realizó el primer intento y fué todo un fracaso.


Implantación de un arquetipo con las prácticas escogidas para una necesidad. (No me refiero a Maven, un arquetipo como una aplicación que no hace nada pero es la base para desarrollar otras)

Algo así, pero creo más bien en cuestión a librerías, utilidades, por poner un ejemplo sencillo. Tienes una clase Usuario con sus atributos de nombre, username, password, etc., en donde en el método setPassword tienes el código para hacerle un hash SHA-512 con un SALT y 10 Iteraciones. Entonces es algo que ya tienes a modo de librería y en tu repositorio.


Selección de tecnologías

El equipo de desarrollo en su conjunto lo decide.

No pretendo entrar en un debate diciendo que los métodos ágiles son los mejores, de hecho, aunque mencionó "principios simples", lo son, pero dada nuestra cultura, a los desarrolladores nos cuesta aplicar estos principios y comprometernos. La escencia de lo que menciono es que no veo algo relevante o nuevo el transpolar la teoría de tiempos y movimientos al desarrollo de software, como te lo he planteado, básicamente esos principios ya están más que establecidos y probados por los principios ágiles.

Curiosidad

@paranoid_android Sólo por curiosidad... ¿trabajas en el ámbito académico?

Imagen de paranoid_android

Nooo jpaul

Nooo

Imagen de paranoid_android

WinDoctor Gracias por la aportación

Algunas experiencias de lo que están haciendo en otros países.

En empresas aquí mismo en México cuando solicitas servidores se crea el servidor virtual automáticamente y en unas pocas horas está listo para usarse, mientras en algunas otras empresas esto puede llevar meses.
En Europa hay entornos en los cuales han invertido en la creación de plugins de eclipse, para automatizar lo más posible.
Platicando con una compañera el otro día nos dimos cuenta que los estándares de algunos corporativos de Europa estaban muy enfocados en la usabilidad pensamos que eso en México pocas compañías llegarían por el nivel de maduración no solo de sus sistemas, del sistema de desarrollo.

Imagen de Eduardo Vargas

Creo que sí perdiste tu tiempo, paranoid_android

paranoid_android , Parece ser que después de mucho tiempo no te preocupaste por saber cuál es el enfoque del estudio de movimientos y de sus aspectos negativos.

Veo que prácticamente todo lo que escribiste es un mero fusil de lo que hay en internet y que, como es costumbre, se encuentra en sitios que tienen poca calidad de lo que publican.

Quién sabe quién se fusiló a quién, pero en un sitio similar de donde te fusilaste el texto, se encuentra un texto más extenso
(tal vez el original) en donde se habla de los aspectos negativos de esa teoría de tiempos y movimientos. Se menciona el riesgo de que los seres humanos caigan en la tentación de querer robotizar a las personas.
También se menciona que uno de los principales aspectos negativos para los trabajadores es que la teoría pretende enfocarse en la especialización de la mano de obra. Entonces, tendríamos robotitos que hicieran sólo unas cosas a la mayor velocidad posible, con la consiguiente pérdida de creatividad por andar pensando en algo así como estarle dando vuela a un tornillo durante 12 o 15 horas todos los días (de acuerdo a los horarios de trabajo en México)

Si me especializo en colocar llantas de un auto de carreras, toda mi vida voy a depender de eso y voy a tener que obedecer como un autómata y el día que ya no le sirva a mi patrón, voy a andar de pepenador, robando o vendiendo articulos robados y todo por haberme "especializado" de acuerdo a lo que dicta la teoría del estudio de tiempos y movimientos.
.

Lo que parece que estás haciendo es reinventar la rueda o el agua hervida. No hay para qué regresar a esas teorías si en la actualidad en las escuelas ya nos hablan de la necesidad de contar con mejores herramientas para tratar de automatizar el desarrollo del software. También en las escuelas, tal vez desde el nivel de secundaria, ya se enseña la importancia de contar con librerías de código para reutilizarlo.

Y, a pesar de tener tanta teoría y práctica que en otros países sí tiene éxito, en México el resultado es un completo fracaso, y el fracaso no se debe a que los mexicanos sean unos tontos, sino más bien a que una enorme cantidad de mexicanos son corruptos y cobardes. Menciono esto por la enorme corrupción que podemos ver en las áreas de sistemas en donde les interesa más el dinero que les van a dar por autorizar la compra o desarrollo de algún equipo o software, o la contratación de cierto personal, en vez de enfocarse a crear buenos sistemas utilizando las mejores prácticas.

Fíjate nada más, antes muchas chicas se iban a chambear a Sullivan y ahora se cuelan de project managers, gerentes de cuenta, o "analistas" que andan hablando de tiempos, semáforos rojos, verdes, violetas, azules, y un montón de cosas más, pero prácticamente nunca o nunca han programado ni saben cambiar un disco duro. Es como si quisiera yo andar de encargado de una panadería o de una obra y nunca me hubiera batido de harina o de mezcla.

Debido a que muchas veces los responsables de las áreas de sistemas se quieren clavar la lana, no contratan al personal con el perfil adecuado, y además quieren exprimir al máximo a los esclavos y por eso la mayoría de los esclavos sale muy tarde de su centro de esclavitud.
.

Tal vez sería más útil que en vez de mostrarnos tu intento de reinventar la rueda o el agua hervida, nos mostraras algún intento para proporcionarle placer a tanto corrupto y/o cobarde que hay en México y así pudieran cambiar ese placer por el placer que les dan las drogas, el alcohol, la lujuria (en cuanto a deseo desenfrenado de adquirir ropa, autos, mansiones, sexo etc.) o inclusive el bienestar que pelean furiosamente los inútiles que no saben gran cosa del puesto que ocupan y andan de arrastrados ayudándole a su jefecito a robar (y de estos está tupido el gobierno, aunque también muchas de las áreas de tecnologías de información).

.

Bueno, no deseo salirme totalmente del tema, pero es que pienso que para que funcionen en México todas esas teorías y prácticas fabulosas que en otros países supuestamente tienen un rotundo éxito, la mentalidad de la mayoría de los mexicanos tiene que cambiar primero.

Creo que habla muy mal de tí el hacer copy-paste de algo que parece que no entiendes, y mostrarlo como si entendieras una buena parte del tema. Nos dices que tienes experiencia de cómo lo que mencionas tiene éxito en otros países, pero tu forma de exponer el tema me hace pensar que a lo mejor nos estás choreando.

Por ejemplo, cuando quieres "adaptar" esa teoría robotizante y aplicarla al software cuando escribes:

"..Deben emplearse el menor número de elementos o therbligs y éstos se deben limitar de más bajo orden o clasificación posible.
En software podría equivaler a Desarrollar el menor número de componentes (Respetando los principios de arquitectura de software) ..."

Sucede que la teoría dice (no dice en el sitio de donde te lo fusilaste) que hay que usar menor número de therbligs para evitar que al aplicarlo a los seres humanos, se les robotice. Y tú estableces una relación extraña entre el no querer robotizar y el usar menores componentes de software. Si creas innecesariamente muchos componentes de software, no robotizas; pero si usas muchos therbligs sí tienes el riesgo de hacerlo y de fastidiar a los esclavos.

.

No obstante, me parece muy útil tu participación porque la discusión nos permite darnos cuenta de por qué no funciona lo que aparentemente es fácil que funcione en forma similar a como funciona que en otras partes del mundo.

Te invito a que continúes con este análisis. Tal vez sí hayas viajado a otros países y hayas participado exitosamente con lo que dicen esas teorías pero parece que no puedes expresarlo y entonces así no nos sirve de mucho lo que nos expones porque creo que la mayoría pensamos que esa teoría no sirve de mucho y además parece que afortunadamente en muchos países no se aplica a los seres humanos.

Saludos,

Imagen de paranoid_android

Eduardo Vargas

Con toda tu inconformidad.. de toda la palabrería que dijiste no veo argumentos solo cosas emocionales.
Honestamente contigo la platica no esta al nivel para contestarte.

Imagen de Eduardo Vargas

Parece que también eres mal analista paranoid_android

Parece que eres mal analista paranoid_android.
.

paranoid_android, al parecer interpretaste bastante mal lo que escribí y tienes muy baja tu autoestima.
Comento esto porque en lo último que escribí no hay nada de donde se pueda decir que corresponde a alguna emoción. Más bien posiblemente algo te molestó y por eso contestaste como adolescente diciendo "no estás al nivel para responderte". Así responden los adolescentes cuando sienten su ego lastimado por alguna verdad y se sienten impotentes para responder porque no tienen ningún argumento para desmentir tal verdad que su interlocutor por pura casualidad descubrió.
.

Estamos aquí para ayudarnos, no para agredirnos. Casi es seguro que te sentiste atacado y eso también habla mal de tí, porque puede ser señal de que también eres un mal analista, ya que interpretas mal a tu interlocutor cuando sientes que dice alguna o varias supuestas verdades. Imagínate con esa actitud ¿cómo vas a analizar un sistema? luego por eso se dan problemas entre analistas y usuarios, porque el analista tal vez sí sabe mucho de java pero quiere casi imponerle sus ideas al usuario y además lo malinterpreta.
.

No todo es java, frameworks y bases de datos. También es muy importante nuestra actitud mental; principalmente no interpretar mal.

Nada más ve cómo no eres congruente contigo mismo: si no valiera la pena contestarme, entonces ¿por qué contestaste?

Por alguna razón participaste. Si sólo querías presumir, pues sé sincero contigo mismo y dilo. No tiene por qué pasarte nada si lo dices, a menos que sí andes algo mal de la cabeza y seas congruente con tu nick "paranoid_android" y la mayoría de las veces andes todo paranoico como un androide y viendo moros con tranchete por todos lados.

Ya que te animaste a participar, ¡continúa! casi con seguridad que si te animas también vas a aprender un poco a analizar, argumentar y a no andar malinterpretando a las personas.

Lo que nos comentaste sobre los therbligs y la cantidad de componentes suena como a que yo quisiera establecer una relación entre preparar tacos y la cantidad de componentes:
"Menos tortilla" = ¡Excelente!
"Menos componentes" = ¡Excelente!

pero igual puedo establecer otra relación similar e igual de inútil y extraña:

"Menos carne" = ¡Excelente!
"Menos componentes" = ¡Excelente!

.

.

Si nos vamos por el lado de que piensas que te están atacando, entonces tú fácilmente me podrías tapar la boca, demostrando, no suponiendo, que hay una relación útil, que se puede aprovechar, entre la reducción de therbligs y la reducción de componentes.
.

Adelante, ¡limpia tu mente de toda esa basura de telarañas y razonemos, que se supone que es nuestra actividad favorita!
.

Imagen de WinDoctor

Ya señoritas

Troll detected!!