PDA

Ver la Versión Completa : La figura del bibliotecario


Al González
13-01-2004, 10:09:25
¡Buen día a todos!

El motivo de este mensaje es abrir un sano y productivo debate, que nos permita sondear un concepto que vengo proponiendo (y practicando) hace algún tiempo: La figura del bibliotecario.

Mi tesis es que en un equipo de desarrolladores, debe existir por lo menos un programador bibliotecario, cuya definición que propongo es esta:

Bibliotecario. Desarrollador encargado de elaborar, adquirir, investigar, administrar y facilitar recursos técnicos a otros desarrolladores, principalmente a los que se encuentran dentro de su grupo o equipo de trabajo.

El bibliotecario debe programar y mantener una biblioteca de funciones, componentes y otros recursos de software prefabricados, cuyos elementos sean creados como soluciones a necesidades reales, reportadas por los demás programadores en sus respectivos proyectos. También debe encargarse de evaluar los requerimientos de los programadores, hacer investigaciones al respecto y en su caso solicitar y/o adquirir los recursos que sean necesarios para satisfacer tales requerimientos. Además el bibliotecario, en la medida de lo posible, debe ser intuitivo, analítico, suspicaz, metódico, imaginativo, perspicaz, persuasor, disuasivo y cuestionante respecto a las peticiones que le hacen sus compañeros, pero sobre todo debe apoyarlos, entenderlos, y ponerse en sus zapatos para determinar qué es lo mejor que se puede hacer en cada caso que le plantean.

Supongamos que Juan es el bibliotecario, y Pedro y Pablo dos de los programadores finales (los que realizan la programación de alto nivel y ensamblado final del producto). En determinado proyecto, Pedro se ve en la necesidad de convertir un arreglo abierto de enteros Array Of Integer, en una cadena de caracteres String separada por comas, por ejemplo, necesita convertir el arrreglo de enteros [78, 27, 2, 19] a la cadena '78, 27, 2, 19' (considerando que el arreglo de enteros es variable). Pedro intuye que esta necesidad pudo haberse presentado antes en algún otro proyecto del equipo, así que lo primero que hace es plantearle su caso a Juan:

—Mira. Este procedimiento recibe un arreglo abierto de enteros. Se me facilitaría mucho poder convertir ese arreglo en una cadena tipo lista separada por comas, porque así podría darla como parámetro al llamar a este método que debe recibir un String. Creo saber cómo realizar la conversión, pero quizás alguien más pudo haber necesitado esto antes. ¿Tendrás algo para estos casos? Si no, te sugiero tomarlo en cuenta, porque pienso que eventualmente podría necesitarse otra vez :).

—¡Amaneciste con suerte hoy Pedro! :). Sabes, hace algunas semanas Pablo me planteó un caso muy similar. Desde entonces tenemos en la unidad GHMatem.pas de nuestra biblioteca, una función llamada ArregEnteACade (Arreglo de Enteros A Cadena) que precisamente hace la conversión de Array Of Integer a String que requieres. Esta es su declaración:

Function ArregEnteACade (Const Arreglo :Array Of Integer;
Const Separador :String = ', ')
:String;

La función concatena los valores del arreglo de enteros como una cadena de caracteres enumerada, donde cada subcadena entero está separada de la siguiente por el separador indicado. Si no especificas el separador, usará coma y espacio predeterminadamente.

—¡Órale, que bien! Gracias Juan. Me ahorraste algunas horas y medio dolor de cabeza, jeje :D.

El anterior es un ejemplo típico de cómo interviene el bibliotecario en la solución de necesidades técnicas de los programadores finales. Se desteca la importancia que tiene en el manejo efectivo de los recursos del equipo, y se observa cómo los programadores finales no se desvían de su objetivo principal, ya que muchas tareas adyacentes le son delegadas al bibliotecario.

De antemano les agradezco todos los comentarios que tengan respecto a este tema.

Atentamente,

Al González :).

__cadetill
13-01-2004, 12:07:55
La idea es muy buena. Lástima que a la hora de la verdad sea prácticamente imposible de llevarla a la práctica :(

Voutarks
13-01-2004, 15:18:20
La idea no esta nada mal, aunque me parece que haria falta un equipo algo mas grande que el de el ejemplo que pones.

A ver si me explico bien: bajo mi punto de vista estas uniendo dos personas en una:

Por un lado la del bibliotecario, como tu lo denominas, que seria un ayudante de los demas programadores: recolector de información, de software, desarrolador de software común y seria el constructor del sofware "bisagra" que se encargaria de unir y dar uniformidad a las distintas partes del software que desarrollan los otros programadores, ya que entendemos que cada programador tiene una tarea específica.

Por otro la del programador jefe, que es una persona que supervisa el proyecto, responde a muchas de las dudas de los programadores, decide qué es lo que hay que hacer y qué no, en definitiva proyecta, define y supervisa todo el proyecto.

Unir estas dos personas en una puede resultar demasiado para una persona o no dependiendo del tamaño del equipo de programacion y del proyecto de software. No dudo de que esto sea viable en muchos o incluso la mayoria de las ocasiones.

andres1569
13-01-2004, 18:15:03
Me gusta tu idea Al González, de hecho siempre he pensado que es conveniente tener una persona cuya ocupación sea recopilar información, bucear por la web en busca de componentes, probarlos y clasificarlos, buscar información, updates, noticias, etc ... etc.. es decir todas esas tareas que nos roban tanto tiempo. Otra cosa es que las empresas estén dispuestas a tener un puesto exclusivo para tal efecto, lo dudo.

delphi.com.ar
13-01-2004, 18:40:55
Pues ese es mi perfil dentro de la empresa, yo hago todos los paquetes de funciones, clases y componentes que utilizan los programadores. Y soy el encargado de todos los temas de programación que escape del perfil de un programador de Bases de Datos, soy quien determina los estándares a seguir en la programación, soy el que creo las units comunes de los aplicativos con los juegos de funciones extras de la VCL, creo los componentes y los formularios base para desarrollar mediante herencia visual, asesoro a los programadores cuando reciben un análisis no convencional, determino el Look and Feel, investigación....

Bueno, para mi esta es la tarea mas agradable, ya que es tan rutinaria como desarrollar aplicaciones de bases de datos.

PD: Si consigo la descripción de mi perfil, según RRHH prometo escribirla, pero no deja de ser algo similar a lo que se decribió anteriormente

Saludos!

roman
13-01-2004, 18:50:39
Bueno, si se trabaja como yo, prácticamente solito, pues uno tiene que hacerla de todo pero coincido con delphi.com.ar en que es la parte más interesante. Por otro lado, si se trabaja en una empresa grande donde hay analistas, diseñadores de bd y programadores pues entonces el trabajo pesado de programación lo llevaría el bibliotecario y los programadores simplemente harían un "cut & paste" de distintas partes. ¿Cómo ves dca?

// Saludos

delphi.com.ar
13-01-2004, 19:08:22
trabajo pesado de programación lo llevaría el bibliotecario y los programadores simplemente harían un "cut & paste" de distintas partes. ¿Cómo ves dca?
En un comienzo, todos los análisis pasaban por mí, y yo lo filtraba y decidía a que programador entregarlo, pero esto se tornó imposible, pese que solo tenía a 5 programadores a cargo, entonces lo que hicimos fue que ellos tengan más relación con los analistas, mismo muchas veces se trabaja en conjunto para el análisis.
Los analistas hacen el diseño de la base de datos, porque en lugar de usar herramientas para UML directamente crean los objetos en la BD, y aprovechan los comentarios de Oracle (Tablas, Vistas, Campos) para describir la funcionalidad de cada uno de estos, ayudados por un programita de documentación que yo he hecho en mis primeros días con Delphi. Una ves que tienen el análisis, se lo pasan a los programadores. El formato del análisis lo hemos diseñado en conjunto, para que los analistas pidan las cosas de una forma que sea fácil pasarlas a código, digamos en un ejemplo muy sencillo, si nos piden una grilla, con una consulta nos pasan las propiedades básicas de un TColumn (FieldName, Title...), si algo de este análisis escapa de los formularios típicos que usamos para el sistema, o requiere algo extra, ahí es donde aparezco!
A la larga, en la mayoría de las tareas, si es un Cut&Paste del análisis


Saludos!

Al González
15-01-2004, 07:01:14
¡Buen día a todos!

Agradezco a Cadetill, Voutarks, Andres1569, Delphi.com.ar y Roman sus respuestas.


La idea es muy buena. Lástima que a la hora de la verdad sea prácticamente imposible de llevarla a la práctica :(
Gracias por el voto. Pero ¡ánimo!, que Delphi.com.ar nos acaba de confirmar que si es bastante viable :).


...haria falta un equipo algo mas grande que el de el ejemplo que pones...estas uniendo dos personas en una..la del bibliotecario...la del programador jefe, que es una persona que supervisa el proyecto...proyecta, define y supervisa todo el proyecto...No dudo de que esto sea viable en muchos o incluso la mayoria de las ocasiones.
Aclaro que el ejemplo planteado habla de dos programadores finales, de dos o más que puede haber en el grupo. De cualquier manera, creo que la cantidad de bibliotecarios u horas bibliotecario, no va en función de la cantidad de programadores finales, sino de la cantidad de trabajo que se le asigne. Esto último lo determinan los proyectos que tengan en sus manos los programadores finales y los requerimientos que de ahí surjan. En caso de que los requerimientos sean pocos, el bibliotecario puede ser un programador de medio tiempo, o proveedor externo de la empresa.

Por otra parte, el bibliotecario no es necesariamente jefe o supervisor de los programadores finales. Es sencillamente un programador especializado, como creo que podrían serlo todos —considérese como analogía las especialidades de los doctores en medicina—.

Yo tampoco dudo que sea viable en la mayoría de las ocaciones :).


...es conveniente tener una persona cuya ocupación sea recopilar información, bucear por la web en busca de componentes, probarlos y clasificarlos, buscar información, updates, noticias...todas esas tareas que nos roban tanto tiempo...que las empresas estén dispuestas a tener un puesto exclusivo para tal efecto, lo dudo.
Gracias por el voto. Si la empresa se ahorra una buena parte de esas horas robadas, no estar dispuesto a contratar un bibliotecario sería un error gerencial :).


Pues ese es mi perfil dentro de la empresa, yo hago todos los paquetes de funciones, clases y componentes que utilizan los programadores. Y soy el encargado de todos los temas de programación que escape del perfil de un programador de Bases de Datos...soy el que creo...los formularios base para desarrollar mediante herencia visual, asesoro a los programadores cuando reciben un análisis no convencional...para mi esta es la tarea mas agradable...
Mis más sinceras felicitaciones a ti y a todo tu equipo. Efectivamente, a muchos programadores nos agrada esta especialidad :).


...si se trabaja como yo, prácticamente solito, pues uno tiene que hacerla de todo...si se trabaja en una empresa grande donde hay analistas, diseñadores de bd y programadores pues entonces el trabajo pesado de programación lo llevaría el bibliotecario y los programadores simplemente harían un "cut & paste" de distintas partes...
Ahí es donde entra el concepto de horas bibliotecario, que mencioné anteriormente. Al ser un sólo programador, una parte de tu tiempo lo inviertes en tareas de bibliotecario y otra parte en tareas de programador final (muchas veces se hace de forma mezclada). En estos casos es muy importante encontrar un esquema de trabajo que permita enriquecer y mantener una biblioteca de recursos sin descuidar los tiempos de entrega del trabajo final. A mediano y largo plazo, lo primero hará más satisfactorio lo segundo, pero no se debe exagerar ninguna de esas dos prioridades porque entonces se volverían mutuamente exclusivas.

Con respecto a lo último que comentas, creo que el trabajo no es pesado cuando está bien repartido. Es cuestión de valoración de tiempos, acomodo de personal y asignación de actividades :).


De antemano les doy las gracias por todos los mensajes que se escriban para seguir enriqueciendo este debate.

Atentamente,

Al González :).

Por una mejor cultura laboral.

Onti
15-01-2004, 16:51:18
Estoy plenamente de acuerdo con el concepto, funcion y utilidad que puede tener el perfil que porpones.

Lo que no me gusta es el nombre "bibliotecario" :D :D :D

marcoszorrilla
15-01-2004, 17:54:27
Acaso el término no te guste por su etimología Biblion = Libro en griego y theque armario, pero lo que si es cierto es que la utilidad está mas que demostrada.

Buscarle un nombre en castellano es algo dificil ya que reunir tantas funciones en un solo término sería dificil.

Investigador y administrador de funciones de biblioteca, por ejemplo queda muy largo,.

Bueno si las funciones no queda duda de que son útiles, solo quedaría encontrar un nombre para dicho cometido.

Un Saludo.

Onti
15-01-2004, 18:01:49
Lo dije en un plan de broma :), para el caso el nombre no es tan importante como la utilidad que podria tener.

Salu2 a To2

marcoszorrilla
15-01-2004, 18:18:16
Sin embargo, existe aquello que no tiene nombre?.

Algunos RRHH, lametafanarios de la superioridad, lo primero analizan cuantos familiares del dueño de la empresa están trabajando en la misma y luego definen los nombres de los cometidos que realizan, no cambia nada, solamente el nombre, "Encargado de logística estructural", "Supervisor General" "Suministrador de Feed-Back", "Master del Universo"....

Un saludo.
también es broma..

Al González
18-01-2004, 22:02:01
¡Buen día a todos!

Agradezco a Onti y a Marcoszorrilla su participación en este debate.

...Lo que no me gusta es el nombre "bibliotecario"...el nombre no es tan importante como la utilidad que podria tener...
Creo que el término bibliotecario es el más adecuado, ya que deriva de su principal función: la administración de una biblioteca de recursos.

Por otra parte, debo decir que no usar terminologías correctas es un factor de confusión a mediano y largo plazo. Es decir, entre más claros son los conceptos básicos, más entendibles son los conceptos avanzados. Por lo tanto, es muy importante acuñar bien el término correcto de un concepto antes de edificar una torre de conocimientos sobre él.


Me gustaría conocer las opiniones de otros desarrolladores, jefes de personal, gerentes, supervisores y líderes de proyectos que estén a favor o en contra de la figuara del bibliotecario.

Muchas gracias. Seguimos en contacto.

Al González :).

roman
19-01-2004, 04:33:05
Pues si somos estrictos, el término bibliotecario es incorrecto por la misma razón que sería incorrecto llamar biblioteca a una discoteca, fonoteca, hemeroteca, mapoteca, etc. Cada una guarda distnto tipo de cosas. Quizá Códigoteca sería más apropiado.

// Saludos

jachguate
19-01-2004, 08:09:26
Creo que la función de bibliotecario, como bien lo mencionó Al en algún momento, es mas que necesaria en cualquier desarrollo de software, y un error gerencial (del que he sido testigo en mas de una ocasión) no tomarlo en cuenta. Ahora que trabajo regularmente solo, siempre dedico un porcentaje de mi tiempo a crear y organizar repositorios de código reutilizable en forma de funciones y procedimientos, componentes, formularios con funciones abstractas para herencia visual, etc, etc.

En alguna ocasión leí en un libro, no recuerdo cual, ya el termino bibliotecario, para identificar a la persona que realiza esta función. Creo que es porque en la jerga de los programadores, hace tiempo, era normal referirse como bibliotecas a estos repositorios de código. Hoy en día, creo que depende de cada lenguaje el como vayan a llamarse.

Me ha parecido chistoso los nombre que podrian darsele en un proyecto de Delphi:

Unitario :D :D a quien administra las unidades generales,
Funcionario a quien desarrolla y administra las funciones
Componentario a quien desarrolla los componentes.

En fin... quizas el termino bibliotecario, al final de cuentas puede seguir siendo apropiado... habrá que pensar si hay uno mejor, y acuñarlo como un aporte de esta comunidad al global de los desarrolladores.. ;)

Hasta luego.

;)

kinobi
19-01-2004, 09:04:42
Hola,

me gustaría comentar que si se está siguiendo algún tipo de metodología de planificación y desarrollo estandarizada, puede ser posible que la llamada función de "bibliotecario", tal como se la ha descrito en el hilo, no esté representada por un individuo (o categoría profesional) concreto, sino que esté repartida entre varios.

Tal es el caso, por ejemplo, de la metodología Métrica V3 (http://www.csi.map.es/csi/metrica3/) (V3 hace referencia al número de versión de las especificaciones de la metodología), utilizada sobre todo en las administraciones públicas españolas. En la MV3 se detallan (además de otras muchas cosas) los perfiles de los integrantes en un proyecto de desarrollo, desde el perfil "directivo" hasta el perfil "programador". El llamado "bibliotecario" no existe como tal en dicha metodología, pero seguramente estará encuadrado entre el perfil "Analista", tal vez dentro de los equipos de "implantación" u "operación" o "mantenimiento" o "arquitectura" (y combinaciones) y el perfil "programador"; sin olvidar al equipo de "aseguramiento de la calidad" que, de forma transversal a todos ellos, garantiza la calidad del proceso de desarrollo a todos los niveles. De todas formas, MV3 son unas especificaciones que cada grupo de desarrollo debe adaptar a sus propias necesidades y recursos.

Saludos.

Al González
19-01-2004, 21:09:10
¡Buen día a todos!

Agradezco a Jachguate y Kinobi su decisión de participar en este debate, y a Roman su última respuesta.


...si somos estrictos, el término bibliotecario es incorrecto por la misma razón que sería incorrecto llamar biblioteca a una discoteca, fonoteca, hemeroteca, mapoteca...Quizá Códigoteca sería más apropiado...
El significado de hemeroteca es: Biblioteca dedicada a diarios, revistas y otras publicaciones periodísticas. Por lo tanto no sería incorrecto llamarle biblioteca a una hemeroteca, sólo sería menos preciso.

Sin embargo, no creo que haya necesidad de inventar un nuevo término para algo que ya lo tiene. Desde hace décadas el término biblioteca está perfectamente establecido en el argot y terminología informáticos. Alan Freedman en su Diccionario de Computación lo define como Una colección de funciones o subrutinas preescritas. Cientos de miles de documentos sobre programación utilizan el término library o biblioteca (aunque algunos profesionistas del área emplean incorrectamente, a veces por ignorancia, el término librería).


...la función de bibliotecario, como bien lo mencionó Al en algún momento, es mas que necesaria en cualquier desarrollo de software, y un error gerencial (del que he sido testigo en mas de una ocasión) no tomarlo en cuenta...En alguna ocasión leí en un libro, no recuerdo cual, ya el termino bibliotecario, para identificar a la persona que realiza esta función...hace tiempo, era normal referirse como bibliotecas a estos repositorios de código...quizás el termino bibliotecario, al final de cuentas puede seguir siendo apropiado...
Gracias por el voto, me agrada que tengas esa visión. Es bueno saber que el término Bibliotecario ha sido empleado con anterioridad por otros autores, no tengo la menor duda de que es el más apropiado.

Por otra parte, debo agregar que todavía es normal referirse a los depósitos de código como bibliotecas.


...puede ser posible que la llamada función de "bibliotecario", tal como se la ha descrito en el hilo, no esté representada por un individuo (o categoría profesional) concreto, sino que esté repartida entre varios..Tal es el caso, por ejemplo, de la metodología Métrica V3 (http://www.csi.map.es/csi/metrica3/)...En la MV3 se detallan (además de otras muchas cosas) los perfiles de los integrantes en un proyecto...El llamado "bibliotecario" no existe como tal en dicha metodología, pero seguramente estará encuadrado entre el perfil "Analista", tal vez dentro de los equipos de "implantación" u "operación" o "mantenimiento" o "arquitectura" (y combinaciones) y el perfil "programador"; sin olvidar al equipo de "aseguramiento de la calidad"...De todas formas, MV3 son unas especificaciones que cada grupo de desarrollo debe adaptar a sus propias necesidades y recursos...
Es interesante la Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información (Métrica V3). Sin embargo, aunque hace mención a la preparación y uso de bibliotecas, no especifica quién, cómo y cuándo tales recursos deben ser desarrollados.

El autor habla de las bibliotecas como recursos estáticos adquiridos e instalados antes de la construcción de un proyecto. No considera que debe existir una o varias personas dedicadas a su administración, y que en realidad son recursos dinámicos que deben ser enriquecidos conforme se desarrolla el producto de software final. Además, incorrectamente utiliza la expresión "biblioteca o librería" en muchos lugares del texto.

En términos generales, creo que Métrica V3 es una buena iniciativa, a la cual le sentaría muy bien instituir formalmente la figura del bibliotecario.

Muchas gracias por su colaboración. Espero más aportaciones.

Seguimos en contacto.

Al González :).

kinobi
19-01-2004, 21:31:48
Hola,

Además, incorrectamente utiliza la expresión "biblioteca o librería" en muchos lugares del texto.
estoy de acuerdo. Es un error muy común (al menos en España). Personalmente (casi) siempre utilizo el término biblioteca.

En términos generales, creo que Métrica V3 es una buena iniciativa, a la cual le sentaría muy bien instituir formalmente la figura del bibliotecario.
Un par de comentarios:

Citándome: "MV3 son unas especificaciones que cada grupo de desarrollo debe adaptar a sus propias necesidades y recursos..."
Es decir, para aquellos equipos de desarrollo en los que se precise la función del "bibliotecario" nada impide (en la metodología) crear dicha categoría.

MV3 no es una metodología de uso universal (aunque sí muy genérica), está dirigida a un sector concreto: las administraciones públicas, y por ello no siempre se adapta a todos los grupos de desarrollo.

Saludos.

Al González
21-02-2009, 10:15:44
Cinco largos años sin lograrlo a plenitud, pero habrá de suceder. ¡Está tan cerca! :)

Casimiro Notevi
21-02-2009, 14:02:55
Cinco largos años sin lograrlo a plenitud, pero habrá de suceder. ¡Está tan cerca! :)

Como rezaba en un cartel de un famoso restaurante: "Preparar una buena comida lleva su tiempo, si le hacemos esperar es por su bien" :)