miércoles, septiembre 19, 2007

El UML no es la panacea del desarrollo de sofgüer y cómo se me ocurrió una idea genial

Hoy me pasaron a un proyecto de sotgüer de los que no me gustan. Migrar un programa que funciona (pero que está hecho con las patas) a la gueb. Con la esperanza enternecedora que ese esfuerzo arregle todas las deficiencias del sistema actual.

Después de carcajearme -en silencio para no perder la chamba- me dijeron que antes de escribir una línea de código hay que modelar y documentar las reglas de negocio (para los que no son computitos donde dice reglas de negocio lean "las chingomil reputísimas condiciones extrañas y contradictorias que el usuario ha solicitado").

Mientras hacía un poco de investigación para ver qué conviene para modelar este sistema que parece que voy a soñar los próximos meses, dí con un artículo que se pitorrea de los que creen que el UML es la panacea de modelado y diseño de sotgüer.

Ahí ví algunas frases escépticas muy buenas que se pueden aplicar a otros campos:

1. Para la mayoría, dejar de creer en algo es dejar una creencia ciega para abrazar otra.- Georg Christoph Lichtenberg

2. La realidad es aquello que, cuando dejas de creer en ello, no se va.- Philip K. Dick.

3. El verdadero educado es que aquel raro individuo que puede separar la realidad de la ilusión. - Anónimo.

4. Si la única herramienta que tienes es un martillo, cada problema al que te enfrentes te parecerá un clavo. - Abraham Maslow. (Ese queda bien como revire para los que creen que rezando arreglan todos los problemas).

Esta frase que viene está animista pero sirvió para que se me ocurriera la idea que menciono en el título.

5. Una pintura en un museo oye más opiniones ridículas que cualquier otra cosa en el mundo - Edmond de Goncourt.

La última frase me recordó el ejercicio de metatextos que mencioné en la bosta previa y me inspiró una idea para brindar de más esparcimiento a todo el que tenga una conexión a internet.

Se ponen en las galerías de las obras más visitadas unos micrófonos que van a registrar en una computadora las conversaciones que haya frente a cada obra. Ahí un sotguer muy chinguetas clasificará por número de palabras y cantidad de disparates las conversaciones (obviamente habrá que filtrar las sesudísimas y aburridísimas explicaciones de los guías pues no interesan) y se subirán a internet, donde un servicio proveerá a quien quiera, las idioteces que se digan respecto a la interpretación de cuadros.

Esto también puede ampliarse a las salidas de las salas de cine. Y a las funerarias.

¿No es genial la idea? ¿Qué? ¿Qué donde queda el derecho a la intimidad? En el silencio; al que no le guste que se pitorreen de lo que pueda decir mejor que no abra la boca más que para bostezar y tan tan.

13 comentarios :

lupe dijo...

Buenas frases!
En cuanto a tu idea... bueno pues sólo se capturarán los comentarios y no las imágenes... so no hay tanta violación a la intimidad porque no sabrás a quién corresponde la voz

Ernesto dijo...

un tema para comentar ampliamente. tengo muchos años desarrollando software, desde aquellas epocas prehistoricas en que me avente unos buenos programitas en Clipper, hasta hoy que apenas incursiono en VB.NET. Sin embargo, y lo digo sin sonrojarme siquiera, jamas he hecho un diagrama UML ni cosa parecida. Creo que esas estupideces solo te quitan el tiempo. Desde mi muy personal y sesgado y todo lo que quieras punto de vista, todo nace de un buen diseño de los datos. Es decir la estructura de la base de datos, aunque tampoco he normalizado jamás una sola tabla, mas bien uso una tecnica poco conocida que se llama objetos semánticos, de Kroenke, y de ahi se desprende todo. Bueno, esto nomas para vertir mi opinion de que en el desarrollo de software hay un gran porcentaje de arte, de intuicion, de genio y de experiencia, y uno mas bajo de burocracia. La burocracia solo ahoga y ralentiza el desarrollo.

Pereque dijo...

¡Death by UML fever! ¡Un clásico!

Como dice Ernesto, el diseño de los datos y los procesos es lo que cuenta. UML no es más que una notación tan buena como el que la usa. Si uno es un inútil, daría lo mismo si usara UML o dibujos en servilletas.

Yo nomás hago diagramas de clase, actividades y máquinas de estados. Y a veces, para darme una idea más clara de las cosas o cuando me hago bolas con los algoritmos y "reglas de negocio".

"Reglas de negocio". Cómo me caga esa frase. Como que me da la impresión de que todo el software no es más que administradores de facturas y almacenes, o que nada más se hace software por dinero. Prefiero "reglas de aplicación".

El derecho a la privacidad sigue existiendo en tu catálogo de opiniones bobas, nadie tiene por qué saber quién fue el iluminado.

Saludos.

Kix dijo...

No estoy en contra de la documentación, pero también es cierto que cada persona tiene un estilo y habemos algunos a quien nos funciona más iniciar la idea, empezar sobre ella y posteriormente empezar la documentación. Las nuevas generaciones seguramente traen otro rollo en la cabeza...

Kix dijo...

Ah, y también yo odio esa sección... la temida "Reglas de Negocio"

Puaj!!

Nation84 dijo...

Al menos deberias proponer metodologias agiles como Extreme Programing o Scrum como alternativas.
Me parece mala idea que tu como esceptico antepongas la vulgar artesania a una metodologia y luego encima te quejes de que tus antecesores escriban codigo con las patas.

Hay algunas diferencias entre los arquitectos de sistemas y los codemonkeys.

controlzape dijo...

Nation84:

Opino lo mismo que este señor que dice que el diseño está en el código.

Y en ningún lado propongo que prefiero sentarme a escribir código sin darle ni siquiera una pensada primero. De lo que me quejo es de que haya que generar quinientos kilos de documentación previa que al segundo día de codificación van a estar caducos.

Por cierto, para usar tu terminología, los codemonkeys que conozco (yo incluido) solemos regresar el diseño a los arquitectos de sistemas que están casados con RUP para que lo tengan actualizado. Documentación a la que no se recurre más que como evidencia pues si alguien tiene que hacer una modificación suele recurrir al código que el codemonkey chingón comenzó escribiendo en PDL. Así funciona en el mundo real el negocio del desarrollo de sotgüer.

Ribozyme dijo...

¡Híjoles! Este post y sus comentarios sí me resultaron poco accesibles. ¡Puro technospeak! Yo siempre he querido aprender a programar, pero no pasé de un poquito de BASIC (hace chorrocientosmil años; con decirles que llegué a usar una Altair con el primer sotgüer que hizo Microsoft como empresa, el BASIC para Altair), y es que le he dado prioridad a la biomedicina. Ahora resulta aun más urgente por el casi seguro advenimiento de los sistemas complejos como el nuevo paradigma de la biología y la necesidad de hacer simulaciones y análisis por computadora (por ejemplo la bioinformática ya está pegando duro para el análisis de genomas y proteomas).

Ribozyme dijo...

Una pregunta para los comentaristas, que se ve que saben sobre el tema: ¿Por qué, en primer lugar, las páginas web en Iberoamérica son tan poco abundantes y, en segundo lugar, la gran mayoría de las que hay están tan mal diseñadas, son feas y difíciles de usar?

Pasando a otro tema, las frases citadas son excelentes.

Nation84 dijo...

Control zape:

Depende.

No es lo mismo una consultoria con CMMI 5 que cibersistemas paquito, para que algo tan laborioso como RUP aguante, se necesitan herramientas muy caras como el Rational y el sistema tiene que ser lo suficientemente grande para que justifique tanta inversion de tiempo, por lo mismo es obvio que RUP no aguanta para un triste altas-bajas-consultas. Toda la razon en que es falso que UML sirva para todos los casos.

Ahi tienes razon, pero tampoco generalices que asi es el mundillo de los sistemas, yo tambien ando en el mismo bisne pero evidentemente bajo un escenario diferente.

Rybozyme:
Porque los dueños de dichas paginas por querer ahorrarse unas moneditas contratan desarrolladores chafones que pasan de la Ingenieria de Software y acaban sacando la chamba a base de sentones en el teclado.

controlzape dijo...

Ah sí las fábricas de software famosas. Conozco algunas, certificadas en nivel 5 como dices y donde todo mundo se sabe al dedillo el CMMI y el PMI BOK para hacer sus planeaciones.

Se supone que cada cosa que hacen las pasan además de por la generación de diagramas y casos de uso y matrices de pruebas, por procesos de peer review para asegurar su calidad. En el libro y en los escenarios que tienen para pasar la certificación está muy bonito eso. Pero a la hora de los guamazos no he visto que cumplan ni la mitad de lo que dicen que tienen certificado. A mí por ejemplo en una de esas fábricas de software nunca me han revisado si lo que estoy entregando pudo haberse hecho en menos líneas o con otros componentes distintos. La razón, no hay quien lo haga con el tiempo que tienen.

Obviamente estoy hablando de proyectos de desarrollo. En otro tipo de proyectos como de insfraestructura tecnológica o implementación de help desks y esquemas de sotorpe es otro cantar.

controlzape dijo...

Rybozime: Creo que es porque la relación de personas hispanohablantes e internautas que leen páginas en español aún son pocas comparadas con los anglos (y más en latinoamérica, en España las cosas no son tan graves). Eso provoca que no haya tanta demanda de servicios y aplicaciones gueb en español y que además, las que existen no tengan mucha presión de competencia para evolucionar de presentaciones en flash y achetamale rígido y sin chiste.

pd Y bueno, ya entendí, ya voy a cambiar el template del blog.

adan avelar dijo...

Off topic...
Hector te espero por la reunión de twitters y bloggers el sábado 29.
estaría bien que te echaras una vuelta por allá.