Showing posts with label Diccionario. Show all posts
Showing posts with label Diccionario. Show all posts

Tuesday, April 21, 2009

La resistencia viscosa / Desencadenado

No me gusta introducir en el blog entradas copiadas de otros sitios, pero este post "La resistencia viscosa" me ha parecido muy bueno, y no quiero quedarme sin compartirlo....

El post es del blog Desencadenado y ha sido escrito por Borja Prieto

Entre los individuos que se resisten al cambio en una gran organización, o quieren sabotear un proyecto, la técnica que mejores resultados suele dar es la resistencia viscosa. Consiste en no oponerse frontalmente a nada pero generar tal viscosidad alrededor de los que intentan llevar adelante el proyecto que éstos acaban agotados del esfuerzo, como si tuvieran que nadar en una piscina de mermelada.....
Seguir leyendo....

Tuesday, September 23, 2008

Bueno empezamos de cero.... ya me gustaría!!!

Quién no conoce (o por lo menos reconoce no conocer) el famoso Capability Maturity Model Integration (CMMI)...

En este modelo se habla de cinco niveles de madurez en el proceso de desarrollo de software por una organización. A saber:
  • 1. Initial Ad hoc and Chaotic
  • 2. Repeatable Intuitive
  • 3. Defined Standard and Consistent
  • 4. Managed Predictable
  • 5. Optimizing Continuous

Yo hasta ahora sólo he visto el 1 y el 2, con despuntes del 3 en algún grupo pequeño...

Lo que queda claro (por lo menos para mi) es que esta clasificación tiene dos errores fundamentales:
  • Si es referido al desarrollo de software, a quién coño se le ocurre empezar a contar por el uno en vez de por el cero.
  • La clasificación no es muy buena si en el punto uno "Initial Ad hoc and Chaotic" se puede considerar un 90% de la población que se pretende clasificar...

Menos mal que con cierta ironía se ha generado una propuesta de clasificación que completa la inicial, dividiendo o ampliando ese peldaño inicial en otros cuantos de forma que cuando nos enfrentemos a estar en el nivel uno de CMMI podamos subclasificar el estado del proceso de desarrollo de ese nivel uno positivo en el nivel que corresponda pero negativo.

Esta propuesta, de la que podemos encontrar varias variantes se denomina A Software Process Immaturity Model y básicamente añade los siguientes estados al proceso de desarrollo de software:
  • 0. Negligent Indifference
  • -1. Obstructive Counter Productive
  • -2. Contemptuous Arrogance
  • -3. Undermining Sabotage

En otras referencias los dos últimos estados los denominan:
  • -2. Antagonistic
  • -3. Psychotic

Desgraciadamente tengo que reconocer que si que he visto sitios con niveles 0 y -1. Incluso en alguna ocasión he podido ver individuos con ramalazos de -2 y -3 (que miedo).

Así que cuando en una empresa que entre otras cosas se dedica al desarrollo de software te dicen la famosa frase:
Bueno empezamos de cero....

Te entran unas ganas locas (y aseguro que es mejor no reprimirlas) de gritar:
ya me gustaría!!!

Más información sobre el "A Software Process Immaturity Model" en:

Thursday, September 20, 2007

C/C++ curioso lenguaje

Me gusta el lenguaje C, me gusta el C++ y muchos otros lenguajes, lo que nunca he conocido, y por tanto desconozco si me gusta o no, es el lenguaje C/C++ tan de moda. Debe ser un engendro espectacular que hace un refrito impresionante de dos lenguajes tan distintos como son C y C++....

Lo peor es que mucha gente, que supuestamente está trabajando en cualquiera de los dos lenguajes, son los que hablan de sus conocimientos de C/C++. Está claro que esto indica que deben de conocer C/C++, pero no tienen ni puta idea de C, ni de C++ puesto que sino sabrían la diferencia....

Podemos ver lo que opina acerca de este lenguaje (C/C++) el creador de C++, Bjarne Stroustrup ("estropajo" para los que no podemos pronunciar su apellido), en el FAQ que tiene en su página web:

bs_faq


What do you think of C/C++?

No that's not really a question I often get. In that sense, it is the only "fake FAQ" in this FAQ. However, it ought to be a FAQ because people use "C/C++" as if it meant something specific and as if they knew what it meant, leading to much confusion and misery. People should ask "What is C/C++?" and then on reflection stop using the term. It does harm.

There is no language called "C/C++". The phrase is usually used by people who don't have a clue about programming (e.g. HR personnel and poor managers). Alternatively, it's used by people who simple do not know C++ (and often not C either). When used by programmers, it typically indicates a "C++ is C with a few useful and a lot of useless complicated features added" attitude. Often, that is the point of view of people who like to write their own strings and hash tables with little knowledge of the standard library beyond printf and memcpy. There are people who stick to a restricted subset of C++ for perfectly good reasons, but they (as far as I have noticed) are not the people who say "C/C++".

I use C/C++ only in phrases such as "C/C++ compatibility".

Tuesday, March 27, 2007

Diccionario: "Componente"



Dentro de la serie de palabras a tratar en este directorio Componente es quizás la más difícil definir puesto que no es que signifique diferente en cada uno de los dialectos abajo indicados si no que es difícil de definir incluso de forma seria, puesto que realmente tiene varios significados y lo peor es que en la misma conversación cada persona adapta el significado a lo que le interesa (modelo de..., tecnología, agrupación de código, objeto con interfaz público, unidad de software independiente...).
En abstracto yo lo considero simplemente cualquier artefacto software que dispone de API público y una implementación más o menos oculta y que puede ser desplegado de forma independiente.
Hablando de un "modelo de componentes" concreto, sería cualquier pieza desplegable por separado y que cumplen las normas y/o convenciones especificadas por ese "modelo de componentes" correspondiente (por ejemplo: ZeroC Ice, Corba, DCOM, etc....)


En los diversos dialectos lo que quiere decir es:

  • Desarrollador con dos dedos de frente: Se corresponde con la definición dada en el párrafo anterior. Pero cuyo uso debe ser completamente determinado por la audiencia con la que hable puesto que como veremos cada uno entiende una cosa distinta. Si NO está dentro de un ámbito técnico muy concreto y con gente muy puesta en ese tema, debe EVITAR siempre su uso, puesto que en ningún caso la gente entenderá lo que él está intentando expresar.

  • Desarrollador sin frente: Una librería, un trozo de código, un objeto, una cosa rara, un ejecutable.... vamos cualquier cosa, dependiendo de cuál haya sido su experiencia en el mundillo de la informática.

  • Gestor proyectos informáticos: Es algo "Cool" que no se qué es, no se cómo usarlo, pero que está claro que no me puedo permitir el lujo de no usarlo (para algo todos los consultores indican en los powerpoints que es una pieza clave dentro de cualquier software).

  • Consultor: Palabra comodín que vale para:

    • Dar énfasis a cualquier frase.

    • Juntarla en cualquier sitio con SOA y con Workflow, pudiendo usarla varias veces en la misma presentación simplemente intercambiando el orden.

    • Sirve como relleno a cualquier "Caja", "Redondel" o "Nube" que todavía no tenga nombre dentro del PowerPoint que supuestamente define una arquitectura software.


    Dentro de la jerga es una de las palabras que más se deben usar, puesto que no significa nada para nadie y además es tan ambigua que permite decir lo que quieras sin pillarte los dedos. Por otra parte tiene la ventaja de que siempre compila dentro del documento word o powerpoint correspondiente.

  • Comercial:

    • Comercial Productos Informáticos: Es de lo mejor que hay, sobre todo si usas la tecnología "X" que yo te vendo, en ese caso, se prueban solos, se desarrollan solos no requieren formación para su uso y además se integran en un entorno SOA-Distributed-Integration-JMS-J2EE-ActiveX-DCOM que es que da gloria verlo.

      Dependiendo del tipo de productos que venda un comercial (vendedor de humo), debe usar esta palabra u otras como SOA, un mínimo de dos veces por párrafo.

    • Comercial Recursos Humanos Informáticos: Supongo que componente será lo mismo que "recurso", luego supongo que será lo mismo que "(ser) humano", luego entiendo que simplemente es algo para vender.





Bueno, ahora hablando un poco más en serio, no está demás que se eche un vistazo a
Component Based Software Engineering por lo menos para no cometer el error de confundir el software orientado a componentes, del software orientado a objetos y del software realizado con tecnología de objetos.

Hay que tener en cuenta las premisas definidas en
el comienzo de la serie

Wednesday, March 14, 2007

Diccionario: "Comercial Recursos Humanos Informáticos"




En el comienzo de esta serie de entradas sobre el lenguaje usado en el mundillo informático y dentro de la presentación de los diversos perfiles con dialecto propio, se indicaba que a los Comerciales de Recursos Humanos Informáticos en ciertos ámbitos pueden ser también conocidos como "Carniceros" y/o "Charcuteros" (por razones más que evidentes).

Hoy de la mano de un colega me ha llegado un nuevo sinónimo que me ha hecho morirme de la risa:

"Proxeneta"...



Que nadie se lo tome a mal, pero es que entre el Outsourcing, el Outplacement, la Deslocalización y otros conceptos, la verdad es que o te echas a reir o a llorar...

Y mira que me parece bien que se pueda acceder y competir en un mercado mucho más global, en el que se dispone de más conocimientos y más acceso a la autoformación. Pero de ahí a la trata de esclavos....

Si por lo menos ayudasen a encontrar perfiles y cobrasen simplemente por ese servicio. Pero que además se limiten a hacer una búsqueda en webs de empleo por términos que ni siquiera entienden y que luego cobren mes a mes es de vergüenza.

Me recuerda a una canción de Mamaladilla:

Y yo admiro a los chaperos, me parecen grandes hombres: por lo menos ellos llaman a las cosas por su nombre...

Thursday, March 08, 2007

Diccionario: "Proactivo"



La definición de la wikipedia en inglés de Proactive, es la mas razonable que he encontrado dentro de las gilipolleces que he leído a este respecto en internet.
Ni que decir tiene que la Real Academia de la Lengua Española no la contempla y dudo que la contemple a corto plazo.

Podemos definirla como "la actitud" que consiste en adelantarse a los acontecimientos para poder estar preparado ante ellos.

En los diversos dialectos lo que quiere decir es:

  • Desarrollador con dos dedos de frente: Si es una actitud que él posee, consiste en adelantarse a los acontecimientos para intentar, en base a ello definir y seguir una estratégia. Si es una cualidad que "le solicitan" sabe que se le cae encima un proyecto en el que tendrá la responsabilidad de definir los objetivos, el alcance, la solución y llevarla a termino, lo único que escaparía a su control serían los plazos que ya estarán acordados de antemano.

  • Desarrollador sin frente: Sin significado concreto. Simplemente palabra comodín usada por los Gestores de proyectos informáticos para justificar el rechazo de un aumento de sueldo.

  • Gestor proyectos informáticos: Cualidad que pretende hacer que la gente se adelante y adapte como pueda a los bandazos que se darán en la dirección del proyecto debidos a la microgestión típica en estos casos. También sirve de excusa comodín para indicar a la gente que no dispone de esa "cualidad" y negar un aumento de sueldo.

  • Consultor: Cualidad que no terminan de entender pero que consideran un Buzzword ("Palabro") por lo que están obligados a usarla siempre que puedan (o aunque no puedan).

  • Comercial:

    • Comercial Productos Informáticos: No se suele usar en este dialecto....

    • Comercial Recursos Humanos Informáticos: Cualidad otorgada a un "Recurso" (mercancía) que indica, en lenguaje suave, que el "Recurso" está dispuesto o por lo menos acostumbrado a tragarse marrones.




Hay que tener en cuenta las premisas definidas en
el comienzo de la serie

Thursday, March 01, 2007

Diccionario: "Agil" (método / proceso)



Los procesos ágiles de desarrollo de software, conocidos anteriormente como metodologías livianas, intentan evitar los tortuosos y burocráticos caminos de las metodologías tradicionales enfocándose en la gente y los resultados. (fuente Wikipedia )


En los diversos dialectos lo que quiere decir es:

  • Desarrollador con dos dedos de frente: Vamos a dejar de escribir tonterías y centrarnos de verdad en generar valor para el cliente usando métodos que se centren en la comunicación, las personas y en generar software de calidad. Para ello usamos ciclos cortos que generen entregas usables para el cliente. Adaptándonos a los cambios que se producen en el proyecto en vez de resistirnos a ellos (que es lo que casi siempre se hace).

  • Desarrollador sin frente: Que disculpa más buena nos han dejado para saltarnos todas las normas de sentido común y encima usar algo que está de moda...

  • Gestor proyectos informáticos: Métodos de moda que aunque yo no los entienda debemos usar. Además aprovechando el término, puedo solicitar "flexibilidad", digo.... agilidad.... a mis empleados. De esta forma deben de ser flexibles en el horario de salida, las horas a trabajar, la calidad de las entregas, etc... Además, así, se adaptarán mucho mejor a la "microgestión" que es lo único que se hacer.

  • Consultor: Vamos a usar Scrum, mezclado con XP, mientras usamos desde luego RUP para el macroproceso (eso si, una versión muy ágil). (Que bien me ha quedado y si te descuidas hasta tiene sentido y todo).

  • Comercial:

    • Comercial Productos Informáticos: Te vamos a dar una herramienta que permite la trazabilidad desde las historias de usuario, hasta los tests unitarios, con un super motor de integración continua que genera un workflow en XML que es capaz de definir un proceso "autoadaptable" para que los desarrolladores sean ágiles (digo flexibles).

    • Comercial Recursos Humanos Informáticos: Oigan, Oigan!!! Tengo los Scrum Masters de rebajas!!!! frescos, frescos, recién traídos de una certificación de 8 horas!!! Además tenemos un pack de oferta que incluye Coaching, un arquitecto, dos funcionales y toda la infraestructura necesaria... y por un precio menor que el pack "dobre de A/P Java"!!!.




Hay que tener en cuenta las premisas definidas en
el comienzo de la serie

Diccionario: (Comienzo Serie)




Con esta entrada voy a comenzar una pequeña serie de entradas en el Blog que intentan servir de diccionario entre los diferentes dialectos usados dentro del mundo de la informática...

Para ello en cada entrada se intentará (desde un punto de vista sarcástico) indicar lo que un término significa en cada uno de estos dialectos.

Los dialectos se corresponden con la forma de entender la misma "jerga" por cada uno de los siguientes perfiles:


  • Desarrollador con dos dedos de frente: Desarrollador con experiencia, que disfruta de la programación y normalmente un poco Geek

  • Desarrollador sin frente: Desarrollador que realiza su trabajo sin pasión y cuyo objetivo es, o bien, pasar a "gestión" o cualquier otro área en el que no tenga que "tirar código" (esto último lo dice con tono de desprecio)
  • Gestor proyectos informáticos: Perfil que intenta dirigir un proyecto informático o un conjunto de proyectos informáticos, jactándose de que hace mucho tiempo que no tira líneas de código. Presupongo que existen gestores que no cumplen estás características, si conocéis alguno comentadmelo :) .

  • Consultor: Persona encargada de crear presentaciones con muchas flechas, burbujas, etc, que en un mundo ideal (y multicolor) se deberán convertir en sistemas informáticos. Normalmente hablan usando gran cantidad de siglas (cuyo significado desconocen) y "palabros" que están de moda. Su dialecto es conocido como "lilulilu" como diría un amigo mio.

  • Comercial: Perfil encargado de vender a un Gestor proyectos informáticos lo que sea independientemente de que se tenga esa necesidad o no. Normalmente se pueden a su vez dividir en otros dos perfiles que suelen tener dialectos propios:

    • Comercial Productos Informáticos: Vendedor de productos informáticos hardware y/o software cuyo uso y utilidad desconocen y que venden como Bala de Plata para cualquier problema.

    • Comercial Recursos Humanos Informáticos: Comerciante de "personas" con perfiles informáticos. Tienen un dialecto propio en el que incluyen frases como "cuarto y mitad de analista programador" o "te voy a poner un análista, pero bueno, bueno". Su principal trabajo consiste en buscar (normalmente usando Microsoft Word) las siglas solicitadas por un Gestor proyectos informáticos dentro de los CVs que ha sacado de alguna web de empleo. Entre los Desarrolladores también pueden ser conocidos como Charcuteros o Carniceros ya que se dedican a la venta de carne.




Hay que tener en cuenta que como en toda profesión hay gente profesional y gente que no, aunque podéis suponer de que color es esa población en la siguiente distribución:

Tuesday, February 27, 2007

Lenguaje informático






El anterior "post" me ha recordado algunas expresiones que he oído muchas veces a informáticos y lo curioso que es la diferencia entre lo que se dice y lo que de verdad se está poniendo en evidencia....

Un ejemplo de esto es cuando alguien te dice (refiriéndose a una aplicación): "Funciona bien, lo único es que algunas veces.... muy pocas, tiene un comportamiento extraño...."

Esto traducido para no informáticos significa: La aplicación tiene un error gordo y encima no tengo ni pajolera idea de porqué sucede, ni dónde, ni cuándo.... y teniendo en cuenta que lo más difícil en desarrollo y depuración es encontrar la causa a partir de los efectos que provoca, es como decir, tengo una bomba, y no se como manejarla y además pienso que simplemente no pensando en ella nunca pasará nada.

Curiosa forma de hablar verdad ?