Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
La parábola de los dos programadores

jcantero's Diary
Por jcantero
departamento cuentacuentos , Sección Diarios
Puesto a las Wed Apr 16th, 2003 at 11:55:10 AM CET
Este comentario de Draco me ha hecho recordar tiempos más felices, cuando uno estudiaba ilusionado allá por el 92. Fue por entonces cuando me pasaron un texto ASCII con una historia llamada la parábola de los dos programadores. Ese y otros textos los perdí (o los borré) en su día, pero hete aquí que la red (y Google) viene a nuestro rescate con su inmensa memoria. A continuación pego el texto de la paraábola de los dos programadores.

 


PARABOLA DE LOS DOS PROGRAMADORES

Érase una vez las empresas "AAA-AUTOMATED APPLICATIONS ASSOCIATION" y la "CCCC--CONSOLIDATED COMPUTERIZED CAPITAL CORPORATION", desconocidas ente si. Ambas decidieron que necesitaban el mismo programa para prestar un determinado servicio.

AAA contrato a un analista-programador, Alan, para que resolviera el problema.

CCCC encargó el trabajo a un programador junior, contratado para ver si era tan bueno como decía.

Alan, que poseía experiencia en la realización de proyectos de programación difíciles, decidió emplear el método PQR de diseño estructurado.

En función de ello, solicito a su jefe de departamento que nombrase a otros tres programadores para formar un equipo de programación. A continuación el equipo puso manos a la obra, elaborando cantidad de informes previos de análisis del problema.

En CCCC, Charles dedico un tiempo a considerar el problema. Sus compañeros de trabajo observaban que a menudo se sentaba con los pies sobre su escritorio, mientras bebía café. A veces se le veía sentado frente al terminal, pero su compañero de oficina podía adivinar que en realidad estaba jugando a marcianitos, por su forma rítmica de teclear.

A estas alturas, el equipo de AAA estaba empezando a codificar. Los programadores dedicaban la mitad de su tiempo a escribir y recopilar códigos y pasaban el resto del día reunidos, hablando de las interfaces entre los diversos módulos.

El compañero de oficina de Charles advirtió que este finalmente había dejado de jugar a marcianitos. En lugar de ello, su tiempo transcurría bebiendo café con sus pies sobre la mesa y haciendo garabatos en trozos de papel. Por sus garabatos no se podía decir que estuviese jugando a "tres en raya" pero tampoco parecían tener mucho sentido.

Han pasado dos meses. E1 equipo de AAA ya ha elaborado el calendario de implantación del programa. Dentro de dos meses tendrán la primera versión del mismo. Tras un periodo de dos meses mas, para verificarlo y mejorarlo debería quedar concluida la versión completa del mismo.

En este momento, el jefe de Charles ya se ha cansado de verle holgazanear. Decide enfrentarse a él. Pero cuando se dirige a su oficina se queda sorprendido de verle muy enfrascado, introduciendo códigos en el terminal. Así que decide prorrogar el encuentro. Hablan un poco y se marcha. No obstante, empieza a vigilar de cerca a Charles, para enfrentarse a él en cuanto se le presente la ocasión. Como en realidad no deseaba tener una conversación desagradable le alegra comprobar que Charles parece estar ocupado la mayor parte del tiempo. Incluso se le ha visto ir tarde a comer y quedarse a trabajar fuera de horas de oficina dos o tres días a la semana.

Transcurridos tres meses, Charles anuncia que ha finalizado el proyecto, presenta un programa de 500 lineas. El programa esta escrito con claridad, y una vez verificado, ejecuta todo lo que se le exigía.

De hecho, posee incluso unos rasgos adicionales que podrían mejorar en gran medida la rentabilidad del programa. Este se somete a prueba y, con excepción de un descuido que se corrige rápidamente, funciona de manera satisfactoria.

El equipo de AAA ya ha concluido dos de los 4 módulos principales que configuran su programa. Mientras se elaboran los dos restantes, aquellos se someten a prueba.

Tres semanas después, Alan anuncia que ya esta lista la versión preliminar del programa una semana antes de lo previsto. El programa se somete a prueba. Los usuarios detectan una serie de fallos y deficiencias, a parte de los previstos. Como Alan aclara, no hay por qué engañarse. Después de todo, se tata de una versión preliminar en donde los fallos son normales.

Transcurridos unos dos meses mas, el equipo ha concluido su versión definitiva del programa. Esta constituida por 2500 líneas de código (si le sorprende esta cifra, pregúntele a un programador profesional. Le dirá que es bastante típico un ratio de 5 a 1 entre el programa más largo y el más corto, y normalmente estos últimos son los mejores). Una vez verificada, parece satisfacer la mayor parte de lo que se pedía. Contiene un par de omisiones, y el formato de su input de datos es muy confuso. Sin embargo, la compañía decide instalar el programa: siempre puede instruir al personal de entrada de datos para que lo hagan en el formato requerido. Se remite el programa a algunos programadores de mantenimiento para que subsanen las omisiones.

Desenlace

En un principio, el supervisor de Charles se quedo impresionado, pero a medida que iba leyendo el código fuente, se dio cuenta de que el proyecto era en realidad mucho más sencillo de lo que habían pensado.

Ahora parecía claro que no representaba un reto ni siquiera para un programador principiante. Charles había hecho cinco lineas de código por día. Representaba un promedio superior al normal. Pero, teniendo en cuenta la sencillez del programa no tenia nada de excepcional.

Ademas, su supervisor no olvidaba los meses que había estado haciendo el vago. En la revisión salarial siguiente, Charles recibió un aumento igual a la mitad correspondiente a la mitad de la inflación correspondiente a dicho periodo. No se le ascendió de puesto. Al cabo de un año aproximadamente, abandono CCCC desanimado.

En AAA, Alan recibió felicitaciones por haber concluido el proyecto en el tiempo previsto. Su jefe echo un vistazo al programa. Después de hojearlo durante unos minutos, vio que en él se respetaban las normas de la compañía sobre la programación estructurada. No obstante rápidamente desecho la idea de leerse todo el programa; parecía bastante incomprensible. En este momento se daba cuenta de que el proyecto era en realidad mucho más complejo de lo que había pensado en un principio y felicito a Alan por su trabajo.

Cada programador del equipo había producido 3 lineas de código por día. Era un promedio normal, pero, teniendo en cuenta la complejidad del programa, podía considerarse como excepcional. Se concedió a Alan un elevado aumento de sueldo y se le ascendió a Analista de Sistemas en recompensa a su trabajo.

Se invita al lector a que extraiga sus propias conclusiones.

< Firebird 1.5 RC 1 liberado (7 comments) | El ¿estándar? SVG (7 comments) >
Enlaces Relacionados
· escomposlinux.org
· Este comentario
· More on jcantero's Diary
· Also by jcantero

Encuesta
¿Te gustaría ser...
· ... como Alan. 8%
· ... como Charles. 60%
· ... como el jefe de Alan. 0%
· ... como el jefe de Charles. 0%
· ... como la esposa de Alan. 30%

Votos: 23
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
La parábola de los dos programadores | 4 comentarios (4 temáticos, editoriales, 0 ocultos)
Que me pillan (none / 0) (#1)
por melenas a las Wed Apr 16th, 2003 at 01:38:09 PM CET
(Información Usuario)

Dios mío, y yo leyendo Libertonia en horas de trabajo, a este paso lo voy a dejar todo niquelado y me van a despedir a las primeras de cambio :-D

Buena historia, hace reflexionar, saludos y hasta luego.

FDO. ER_MELENAS No te preguntes sólo que puede hacer el S.L. por ti sino también que puedes hacer tú por él.


 
Esta historia (none / 0) (#2)
por gonzotba a las Wed Apr 16th, 2003 at 05:15:47 PM CET
(Información Usuario)

Aparte de estar aquí, también la ha recogido JC en su weblog, un sitio en el que uno puede disfrutar de JC en plena esencia.

Como él no se da autobombo, se lo doy yo :)



Romance (none / 0) (#3)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Wed Apr 16th, 2003 at 06:05:10 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

Que noo, que la que he puesto allí es el Romance de la derivada y el arcotangente. ;-)

Y respecto a lo de "en plena esencia", sólamente aclarar que no he publicado desnudos ni nada de eso... XD

--
"Papá, ¡Internet es más que una red pornográfica global!" -- Lisa Simpson
[ Padre ]


 
Por cierto (none / 0) (#4)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Wed Apr 16th, 2003 at 06:07:53 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

No sé si os he recomendado visitar el weblog más popular de la red: El sentido de la vida. El número de comentarios por historia sólo es superado por Slashdot. XD

--
"Papá, ¡Internet es más que una red pornográfica global!" -- Lisa Simpson
[ Padre ]


 
La parábola de los dos programadores | 4 comentarios (4 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda