Sunteți pe pagina 1din 27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Esta es la versin html del archivo http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf. G o o g l e automticamente genera versiones html de documentos a medida que rastreamos la web.

Page 1

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN 1 W. Wayt Gibbs A pesar de 50 aos de progresos, a la industria del software le faltan aos -quizs dcadas- para convertirse en la disciplina de ingeniera madura que la sociedad de la informacin requiere. El nuevo aeropuerto internacional de Denver, en los EE.UU., iba a ser la maravilla de la ingeniera moderna, el orgullo de la regin. Su enorme tamao, como diez veces el londinense Heathrow, permite el aterrizaje simultneo de tres jets, incluso con mal tiempo. Por colosales que sean sus dimensiones, aun es mas impresionante el sistema subterrneo de traslado de equipajes con que cuenta. 4.000 telecarros independientes, lanzados a toda
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 1/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

velocidad por 33 kilmetros de va frrea, transportan y distribuyen los equipajes entre lo mostradores, las puerta de acceso y las reas para retirar de 20 lneas area distintas. Un sistema nervioso central 100 computadores conectados entre s y a 5.000 ojos elctricos, a 400 receptores de radio y a 56 lectores de cdigo de barras se encarga de orquestar la 2 llegada segura y a tiempo de cada maleta y de cada bolsa e esqu . Eso, al menos, era lo previsto. Este Gulliver ha estado nueve meses prisionero de los liliputienses, lase, de los errores del software que controla el sistema automtico de 3 equipajes. El aeropuerto deba despegar el da de Halloween del ao pasado, pero su gran inauguracin hubo de posponerse hasta diciembre, para permitir que los tcnicos de la empresa BAE Automated Systems exorcizasen de espritus malignos su sistema, que haba costado 193 millones de dlares. De diciembre hubo que pasar a marzo. Marzo trocse en mayo. En junio del presente ao, las acciones del aeropuerto se cotizaban al precio del papel de embalar y el presupuesto de sus promotores sufra una hemorragia de tinta roja que alcanzaba 1,1 millones de dlares diarios en intereses y gastos operativos, vindose obligados a admitir que no podan predecir en qu momento el sistema de equipajes adquirira la estabilidad necesaria para poder abrir el aeropuerto. Para los desarrolladores de software ms veteranos, lo nico inusual del desastre de Denver es su notoriedad. Hay estudios que sealan que por cada seis nuevos sistemas de software de gran tamao que entran en servicio, otros dos quedan cancelados. Los proyectos de desarrollo de software de tamao medio suelen consumir vez y media el tiempo previsto, situacin que empeora en los grandes. Y alrededor de tres cuartas partes de todos los sistemas de gran tamao son fracasos operativos, que no funcionan como se quera o no se utilizan para nada. El arte de la programacin ha requerido 50 aos de incesante perfeccionamiento para alcanzar este estadio. Al cumplir los 25, las dificultades que planteaba la construccin 4 de software grande cobraron tanta importancia que en el otoo de 1968 el Comit de Ciencias de la OTAN convoc a un grupo de unas 50 personas, formado por programadores de primera categora, cientficos de la computacin y empresarios, para que trazasen un rumbo que permitiera salir de lo que se ha dado en denominar la crisis del software.

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

2/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Page 2

Aunque no fueron capaces de elaborar una ruta que guiase la nave hacia tierra firme, s acuaron un nombre para esa lejana meta: ingeniera de software, ahora definida formalmente como la aplicacin de mtodos sistemticos, disciplinados y cuantificables al desarrollo, funcionamiento y mantenimiento del software. Otro cuarto de siglo despus, la ingeniera de software sigue siendo una aspiracin. La mayor parte del cdigo de computadoras se confecciona a mano por artesanos que utilizan lenguajes de programacin bastante burdos tcnicas que ni se miden ni pueden repetirse con consistencia. Para el profesor universitario Brad J. Cox Es algo as como la 5 fabricacin de arcabuces antes de Eli Whitney . Dice Brad J. Cox, un profesor de la Universidad George Mason, Antes de la revolucin industrial no existan mtodos especializados de manufactura de productos, lo que entraaba un mximo de destreza artesanal y un mnimo de intercambiabilidad. Si queremos vencer esta crisis del software ha de acabarse con el secretismo y con los mtodos preindustriales, en los que cada programador ha de construirlo todo desde cero. Pero hay esperanzas. La intuicin va cediendo paso lentamente al anlisis y los programadores comienzan a utilizar medidas cuantitativas de la calidad del software que producen para mejorar la forma en que los producen. Los fundamentos matemticos de la programacin se estn consolidando merced a la investigacin de mtodos para la expresin algebraica de los diseos de programas, lo que ayuda a evitar la comisin de errores graves. Los acadmicos de ciencias de la computacin empiezan a tratar de remediar su fracaso en la generacin de profesionales de software competentes. Y, lo que quizs es ms importante, muchas personas de la industria centran su atencin hacia la invencin de
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 3/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

las tecnolgicas y estructuras mercantiles necesarias para soportar las partes del software que sean intercambiables y reutilizables. Lamentablemente, la industria no aplica uniformemente lo que es reconocido como mejor prctica, lamenta Larry E. Druffel, director de Software Engineering Institute de la Universidad Carnegie Mellon. De hecho, una innovacin que genera la investigacin requiere 18 aos en abrirse paso hasta el repertorio de tcnicas standard de programacin. es posible que la combinacin de esfuerzos de la universidad, las empresas y la administracin pblica logren elevar el desarrollo de software hasta el nivel de una disciplina ingenieril propia de la era industrial en este decenio. Si no se consigue, la alocada carrera de la sociedad hacia la era de la informacin se tornar, en el mejor de los casos, espasmdica e impredecible.

Arenas movedizas A lo largo de los prximos aos presenciaremos cambios enormes [en el uso de los computadores] que en comparacin harn que la revolucin inicial causada por el ordenador personal resulte insignificante, concluan el pasado mes de abril veintids especialistas en el desarrollo de software, procedentes de la universidad, de las empresas y de los laboratorios de investigacin. Estos expertos se reunieron en Hedson Parkn un lugar cerca de Londres para conmemorar la conferencia de la OTAN y para considerar las

Page 3

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

4/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

direcciones del software en el futuro. En 1968 sabamos lo que queramos construir, pero no podamos hacerlo, rememora Cliff Jones, profesor de la universidad de Manchester. Hoy pisamos arenas movedizas. Las bases en que se asientan las prcticas tradicionales de programacin son erosionadas rpidamente conforme los ingenieros de hardware van lanzando equipos cada vez ms rpidos, ms pequeos y ms baratos. Muchos de los supuestos fundamentales de los programadores (por ejemplo, su aceptacin de que sus productos siempre tendrn defectos) deben de cambiar en consecuencia. Como indica la profesora Mary S. Shaw, de Carnegie Mellon, cuando los interruptores de la luz incorporen computadoras es preciso que el software funcione la primera vez, porque no habr posibilidades de revisarla. La cantidad de cdigo instalada en la mayora de los productos de consumo se est duplicando cada dos aos, segn Remi H. Bourgonjon, director de tecnologa de software del Philips Research Laboratory, en Eindhoven. Un televisor actual puede incorporar hasta 500 Kb de software y una afeitadora elctrica, 2 Kb. Las transmisiones de los nuevos automviles de General Motors ejecutan de 30.000 lneas de cdigo de computadora. Lograr que el software funcione bien la primera vez les resulta difcil incluso a quienes procurar conseguirlo. El Departamento de Defensa de los Estados Unidos (DoD) aplica normas de ensayo muy estrictas- y costosas- para garantizar la confiabilidad de software del que depende una misin. Esos standards fueron las utilizados en la certificacin de Clementine, un satlite que el DoD junto con la NASA, queran situar en rbita lunar la primavera pasada. Un aspecto principal de la misin consista en ensayar software de seleccin de blanco, aptos para ser utilizados algn da en un sistema defensivo antimisiles, instalado en el espacio. Pero cuando se hizo girar al satlite para que situara a la Luna en su punto de mira, un bug del programa provoc que, en lugar de lo solicitado, la nave mantuviera ininterrumpidamente encendidos sus motores de maniobra durante 11 minutos. El satlite, agotado su combustible y girando alocadamente sobre s, mismo no pudo efectuar el encuentro previsto con el asteroide Geographos. La deteccin de errores en sistemas de tiempo real, como el Clementine, resulta de una dificultad diablica porque, lo mismo que pasa con ese ruidito sospechoso del motor de
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 5/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

nuestro coche, slo suelen manifestarse en circunstancias muy determinadas [vase Los Y riesgos de la programacin, por Bev Littlewood y Lorenzo Strigini; INVESTIGACIN CIENCIA, enero de 1993]. No est claro que los mtodos utilizados actualmente para la produccin de software en los que la seguridad tiene importancia decisiva -caso de los reactores nucleares o de los automviles- evolucionen y se amplen en la medida necesaria para satisfacer nuestras expectativas futuras, adverta Gilles Kahn, director cientfico del laboratorio de investigacin INRIA de Francia, en la reunin de Hedson Park. Me parece, por el contrario, que en el caso de estos sistemas estamos en un punto de quiebre. La software sufre tambin las presiones de la inexorablemente creciente demanda de sistemas distribuidos, esto es, programas que operen conjuntamente en muchos computadores integrados en una red. Las empresas estn volcando recursos a manos llenas en sistemas de informacin distribuidos, que confan en poder utilizar como armas

Page 4

estratgicas. La inconstancia del desarrollo del software pueden hacer de tales proyectos una ruleta rusa. Son muchas las empresas seducidas por metas de apariencia sencilla. Algunas tratan de reencarnar en forma distribuida software obsoleto basado en mainframe. Otros desean conectar entre s los sistemas de que ya disponen, o conectarlos a sistemas nuevos mediante los que se pueda compartir datos y disponer de una interfaz ms amistosa para el usuario. En la jerga tcnica, este tipo de interconexin de programas suele denominarse integracin de sistemas. Pero Brian Randell un cientfico de la computacin de la Universidad de Newcastle en Tyne, sugiere que hay una palabra ms adecuada que integracin, del slang
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 6/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

de la RAF: nominalmente to graunch, que significa hacer que algo encaje por aplicacin de una fuerza excesiva. El asunto es riesgoso, pues aunque el software pueda parecer cosa maleable, la mayora de los programas son en realidad complicadas redes de estructuras lgicas muy frgiles, a travs de los cuales solamente pueden pasar datos de naturaleza especfica. Al igual que los arcabuces hachos a mano, diversos programas pueden realizar funciones semejantes y ser, sin embargo, de diseo exclusivo. De aqu que sean difciles de modificar y de reparar, y de aqu tambin que las tentativas de embutirlos unos en otros acaben a menudo de mala manera. Por poner un ejemplo. El Departamento de Vehculos Automotor de California decidi en 1987 hacerles la vida ms fcil a los conductores, para lo que resolvi fundir en uno los sistemas de permiso de conduccin para el personal y de circulacin de los vehculos. Tarea sencilla, en apariencia. Los responsables confiaban en que en 1993 tendran en servicio quioscos donde se efectuasen cmodamente las renovaciones en una sola parada. En vez de ello, lo que vieron era cmo se multiplicaba por 6,5 el costo previsto y se pospona hasta 1998 la fecha de inauguracin. El pasado diciembre cerraron el grifo y perdieron la inversin efectuada en los siete aos: 44,3 millones de dlares. Hay veces que nada es tan catastrfico como el xito. En el decenio de 1970, la compaa American Airlines construy el SABRE, un sistema de reserva de pasajes de autentico virtuosismo, que costo 2000 millones de dlares y lleg a formar parte de la infraestructura de la industria de viajes. SABRE constituy el ejemplo ms luminoso de sistema estratgico de informacin, porque hizo que American Airlines se convirtiera en la mayor lnea area del mundo, recuerda Bill Curtis, consultor del Software Engineering Institute. Decidida a valerse del software con igual efectividad en este decenio, American Airlines trat de acoplar sus sistema de reserva de pasajes con los de reserva de hotel y de alquiler de automviles de Marriott, Hilton y Budget. El proyecto colaps en 1992, en medio de un montn de pleitos. Fue un fracaso aplastante, dice Curtis. American Airlines tuvo que pasar a prdidas 165 millones de dlares por esta causa.
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 7/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Mal puede decirse que la compaa area se encuentre sola en sus sufrimientos. El Consulting Gropu de IBM hizo pblicos en junio los resultados de un estudio efectuado en

Page 5

24 compaas lderes que haban desarrollado grandes sistemas distribuidos. Las cifras eras inquietantes: el 55 por ciento de los proyectos cost ms de lo esperado, el 68 por ciento incumpli los plazos previstos y el 88 por ciento tuvo que redisearse a fondo. El informe no mencionaba, empero, un dato estadstico de la mayor importancia: la confiabilidad del funcionamiento de los programas terminados. Los sistemas informticos suelen estrellarse o quedarse colgados debido a su incapacidad de enfrentar lo inesperado. Las redes amplan el problema, Los sistemas distribudos pueden consistir en un conjunto muy grande de puntos individuales interconectados, en lo que cabe que se produzcan fallas y muchos de los cuales no estn identificados de antemano, explica Randell. La complejidad y la fragilidad de estos sistemas plantean un problema de primera magnitud. El desafo de la complejidad no slo es grande sino que va en aumento. Lo que recibe uno por cada unidad monetaria invertida en ordenadores se duplica cada 18 meses, ms o menos. Lo que origina, entre otras cosas, un crecimiento de un orden de magnitud en el tamao de los sistemas por decenio y, en ciertos sectores, cada cinco aos, segn Curtis. Para no verse superados por semejante demanda, los programadores tendrn que cambiar la forma en que trabajan. No se pueden construir rascacielos con carpinteros, bromea.
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 8/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Auxilio! !Socorro! Cuando un sistema se vuelve tan complejo que ningn gerente lo comprende individualmente por completo, los procesos tradicionales de desarrollo se vienen abajo. La Administracin Federal de Aviacin estadounidense (FAA, Federal Aviation Administration) ha tenido que afrontar este problema a lo largo de su intento- que ya dura diez aos- de sustituir el sistema de control de trfico areo del pas, cada vez ms anticuado. En su sustituto, denominado Sistema Avanzado de Automacin (AAS, Advanced Automation Systems), se combinan todos los problemas de la computacin de nuestro decenio. El programa, cuyo tamao supera el milln de lneas, est distribuido en cientos de ordenadores y empotrado en aparatos nuevos y muy complejos. Todo el sistema debe responder instantneamente a acontecimientos impredecibles durante las veinticuatro horas del da. Incluso un ligero bug puede constituir una amenaza para la seguridad pblica. Para llevar a la prctica sus sueo tecnolgico, la FAA seleccion a Federal Systems Company, de IBM, entidad de muy buena reputacin y lder en el desarrollo de software, posteriormente adquirida por Loral. Los responsables de la FAA esperaban (aunque no lo exigieron) que IBM aplicase las ltimas tcnicas disponibles para estimar el costo y la duracin del proyecto, al igual que dieron por supuesto que revisara cuidadosamente requerimientos y el diseo del sistema, para detectar los errores cuanto antes, cuando es posible corregirlos en horas y no en das. Y aceptaron - conservadoramente - que tendran que pagar unos 500 dlares por lnea de programa producida, unas cinco veces ms que el costo medio normal para procesos de desarrollo bien gestionados.

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

9/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Page 6

Segn un informe sobre el proyecto AAS, publicado en mayo de este ao por el Centro de Anlisis Naval estadounidense, las estimaciones de costos y el seguimiento del proceso de desarrollo hechos por IBM se efectuaron con datos inadecuados y se realizaron de forma inconsistente, y fueron rutinariamente ignoradas por los gerentes del proyecto. El resultado es que la FAA ha estado pagando la programacin para el sistema AAS a razn de 700 a 900 dlares por lnea cdigo. Una de las razones de precio tan exorbitante es que, por trmino medio, cada una de dichas lneas ha de volver a escribirse, segn se lamentaba un documento de la FAA. Alarmado por la estratosfrica elevacin de costos y porque los ensayos efectuados sobre el sistema semiterminado mostraban que no era confiable, David R. Hinson, administrador de la FAA, decidi en junio pasado cancelar dos de las cuatro grandes partes del proyecto y reducir la escala de una tercera. Los 144 millones de dlares dilapidados en estos programas fallidos son slo una gota de agua frente a los 1400 millones invertidos en la pieza cuarta y central: el nuevo software de las estaciones de trabajo de los controladores de trfico areo. Tambin este proyecto va camino de irse a pique. El programa lleva cinco aos de retraso, ha engullido ms de 1000 millones de dlares sobre lo presupuestado y est lleno de bugs. Expertos informticos de la Carnegie Mellon y del Instituto de Tecnologa de Massachusetts (MIT, Massachusetts Institute of Technology) estn tratando de depurarlo y de averiguar si todava es posible salvarlo o si debe cancelarse sin ms. Los desastres sern una parte crecientemente comn y disruptiva del desarrollo de software, a menos que la programacin adopte muchas de las caractersticas de las ramas de la ingeniera, que estn firmemente entroncadas en la ciencia y en las matemticas (ver el cuadro Progreso hacia el profesionalismo). Por fortuna, esa tendencia ha comenzado ya. A lo largo de la ltima dcada, empresas lderes de la industria han comprendido bastante sobre cmo medir cuantitativa y consistentemente, el caos de sus procesos de desarrollo, la
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 10/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

densidad de errores de sus productos y el estancamiento de la productividad de sus programadores. Los investigadores estn dando el paso siguiente: encontrar soluciones prcticas y reproducibles para estos problemas.

Los frutos del proceso As, por ejemplo, el SEI, un vivero de ideas sobre el tema, financiado por los militares, revel en 1991 su modelo de capacidad y madurez (CMM, Capability Maturity Model). El CMM proporciona una visin de la excelencia de la ingeniera de software y de su gestin, dice David Zubrov, quien dirige un proyecto sobre mtodos empricos en el Instituto. Al menos el CMM, ha persuadido a muchos programadores de concentrarse en la medicin del proceso por el que producen software, un requisito previo en cualquier disciplina de ingeniera industrial. Sirvindose de entrevistas, de cuestionarios y del CMM como sistema de comparacin, puede calificarse la capacidad de un equipo de programacin para crear

Page 7

software predecible y que solucionen las necesidades de sus clientes. El CMM aplica una escala de cinco niveles, que van desde el caos en el nivel 1, hasta el parangn de una buena gestin en el nivel 5. Las organizaciones evaluadas hasta ahora son 261. La aplastante mayora- alrededor del 75 por ciento- siguen todava empantanadas
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 11/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

en el nivel 1, nos cuenta Curtis. Carecen de procesos formales, no miden lo que hacen y no tienen forma de saber si van por el mal camino o si han descarrilado del todo. (El Centro de Anlisis Naval concluy que el nivel del proyecto AAS en Federal Systems, de IBM, como 1 bajo.) El 24 por ciento restante de los proyectos se encuentra entre los niveles 2 y 3. Tan slo dos grupos de elite han merecido la mxima puntuacin CMM, el nivel 5. El equipo de programacin que Motorola tiene en Bangalore, India, ostenta uno de esos ttulos. El otro ha sido el proyecto de software de a bordo para el transbordador espacial, realizado por Loral (que antes perteneca a IBM). Tan perfectamente ha aprendido el equipo de Loral a controlar los errores, que es capaz de pronosticar correctamente cuntos van a descubrirse en cada nueva versin del software. Se trata de una a hazaa notable, habida cuenta de que la mayora de los programadores ni siquiera llevan la cuenta de los bugs que descubren, de acuerdo a Capers Jones, Chairman de Software Productivity Research. Y entre quienes lo hacen, dice, son pocos quienes detectan ms de la tercera parte de los existentes. El director del proyecto de software para el transbordador espacial, Tom Peterson, atribuye su xito a una cultura que se esfuerza por enmendar no slo los errores del programa sino tambin las fallas del proceso de comprobacin, que permitieron que los primeros pasaran desapercibidos. No obstante, siempre se cuela alguno. El primer lanzamiento del transbordador espacial en 1981 tuvo que interrumpirse y posponerse dos das debido a que una seal errnea impidi que los cinco ordenadores de a bordo quedaran debidamente sincronizados. Otro fallo, esta vez en el programa de rendezvous del transbordador, puso en peligro la misin de rescate del satlite Intelsat-6, en 1992. Aunque el modelo CMM no es la panacea, la promocin que de l ha realizado el SEI ha persuadido a algunas de las principales empresas de software de que, a largo plazo, el control cuantitativo de la calidad puede resultar rentable. As, por ejemplo, la divisin de equipos de Raytheon elabor en 1988 un iniciativa de ingeniera de software tras haber fallado en una evaluacin del CMM. Empezaron a invertir un milln de dlares anuales para refinar las guas de inspeccin y de verificacin rigurosa y para formar a sus 400 programadores para que las siguieran.
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 12/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

En el plazo de tres aos ya haban escalado dos niveles. El mes de junio pasado casi todos los proyectos, entre ellos complejos sistema de radar y de control de trfico areo, se estaban concluyendo antes de plazo y a costo inferior del presupuestado. La productividad se ha duplicado con holgura. Los anlisis de costos de retrabajo han indicado ahorros de 7,80 dlares por cada dlar invertido en la iniciativa. Impresionada por semejantes xitos, la Fuerza Area de los Estados Unidos ha establecido que quienes desarrollen programas para

Page 8

ella han de alcanzar el nivel 3 de CMM en 1998. Se tienen noticias de que la NASA piensa actuar de forma parecida.

Re- creaciones matemticas En tanto los humanos creen programas, siempre se producirn errores; hasta los diseos ms cuidados pueden desviarse. No obstante, los bugs detectados en los estadios iniciales raramente amenazan los plazos y presupuestos de un programa. Los que provocan efectos devastadores son casi siempre deslices cometidos en el diseo inicial que llegan intactos hasta el producto definitivo. Los fabricantes de programas para mercados masivos, que no han de complacer a un cliente individual, pueden adoptar un enfoque a posteriori y de fuerza bruta para eliminar
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 13/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

los hacen circularse el encarguen producto deficiente conlas el nombre de versin beta y dejan quedefectos: multitudes de usuarios de descubrir fallas. Segn Charles Simonyi, un Arquitecto Jefe de Microsoft, la nueva versin del sistema operativo Windows ser objeto de tests beta por veinte mil voluntarios. Tal sistema es muy eficaz, pero tambin oneroso, ineficiente y poco prctico, dado que los productos masivos para computadores personales slo suponen el diez por ciento del mercado de software en los Estados Unidos, que mueve 92.800 millones de dlares al ao. En consecuencia, los investigadores formulan diversas para atacar los errores tempranamente, e incluso para impedir que ocurran. Una ideas consiste en tener en cuenta que el problema que se supone resuelve el sistema, siempre cambia a medida que se lo va construyendo. Las planificaciones del aeropuerto de Denver cargaron sobre las espaldas de BAE modificaciones por valor de 20 millones de dlares en el diseo del sistema de equipajes mucho despus de haberse iniciado su construccin. IBM sufri de igual manera las indecisiones de los directivos de la FAA. Ambas empresas haban dado por supuesto, ingenuamente, que una vez aprobado su diseo, se las dejara en paz para construirlo. Algunos desarrolladores estn abandonando esa ilusin y repensando al software como algo que, ms que construirse, se cultiva. En un primer paso, se hilvana rpidamente un prototipo merced a componentes estndar de interfases grficas. Lo mismo que las maquetas utilizadas en arquitectura, el prototipo de un sistema puede servir para aclarar malentendidos entre el programador y su cliente antes de empezar a establecer los cimientos lgicos. Pero los prototipos sirven de poco en la deteccin de inconsistencias lgicas del diseo, pues slo remedan el aspecto externo de su comportamiento. La gran mayora en software de gran envergadura son errores de omisin, nota Laszlo A. Belady, director de Mitsubishi Electric Research Laboratory. Y una vez escrito el programa los modelos en nada facilitan la deteccin de bugs. Cuando la exigencia de correccin del programa es absoluta, dice Martyn Thomas, gerente general de Paxis, una compaa britnica de software, los ingenieros recurren a

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

14/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Page 9

anlisis matemticos para predecir cul ser el comportamiento de sus creaciones en el mundo real. Por desdicha, las matemticas tradicionales, aptas para la descripcin de sistemas fsicos, no son aplicables al universo sinttico binario de un programa de computador; es la matemtica discreta, una especialidad mucho menos madura, la que gobierna este campo. Aun as, valindose del instrumental, no muy amplio todava, de la teora de conjuntos y del clculo de predicados, los cientficos de la computacin se las han arreglado para traducir especificaciones y programas al lenguaje matemtico, donde pueden analizarse con los instrumentos tericos denominados mtodos formales. Praxis ha usado recientemente mtodos formales en un proyecto de control de trfico areo para el rgano administrativo responsable de la aviacin civil en Gran Bretaa. Aunque su programa era mucho ms pequeo que el de la FAA, ambos afrontaban un problema similar: la necesidad de mantener sincronizados sistemas redundantes, de manera que si uno de ellos fallase, el otro pudiera entrar en servicio instantneamente. Lo difcil consista en garantizar que los mensajes se entregaran en el orden debido a las dos redes gemelas, segn Anthony Hall, un consultor principal de Praxis. Tratamos de conseguir demostraciones matemticas de nuestro enfoque, que fallaron, porque el diseo era errneo. La deteccin de errores en ese estadio inicial tiene enormes ventajas. El sistema qued concluido a tiempo y entr en servicio en octubre de 1993. Praxis slo utiliz notaciones formales solamente en las secciones ms crticas del software, pero otras firmas de software han aplicado el rigor matemtico a la totalidad del desarrollo de un sistema. En Pars, GEC Alsthom est utilizando un mtodo formal llamado B, al tiempo que invierte 350 millones de dlares en perfeccionar los programas de
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 15/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

control de velocidad y de guiado de los 6000 trenes elctricos del sistema nacional de ferrocarriles francs, la SNCF. El sistema puede ahorrar miles de millones de dlares si permite aumentar la velocidad de los trenes y su frecuencia, el sistema puede ahorrar miles de millones de dlares evitando los nuevos tendidos de lneas necesarios de otro modo. La seguridad es una preocupacin obvia. Por eso lo que los desarrolladores de GEC escribieron el diseo completo y el programa final en notacin formal y luego usaron matemticas para demostrar la consistencia de ambos. Los test funcionales siguen siendo necesarios por dos razones, indica Fernando Meja, director de la seccin de desarrollo formal de GEC. En primer lugar, a veces los programadores cometen errores en las demostraciones. En segundo lugar, los mtodos formales solamente pueden garantizar que el software cumple con su especificacin, no que sean capaces de manejarse con las sorpresas que depara el mundo real. No son stos los nicos problemas de los mtodos formales. Ted Ralston, director de planeamiento estratgico de Odyssey Research Associates, en Ithaca, Nueva York, hace notar que la lectura de pgina tras pgina de frmulas algebraicas resulta ms soporfera todava que la revisin de cdigo de compujtadora. Odyssey es una de las empresas que estn tratando de automatizar los mtodos formales para que les resulten menos onerosos a los programadores. En Francia, GEC colabora con Digilog para comercializar herramientas de programacin para el mtodo B. Siete compaas e instituciones, Aerospace entre ellas,

Page 10

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

16/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

as como el organismo responsable de la energa atmica y el ministerio de defensa franceses, estn probando la versin beta. Del otro lado del Atlntico, los mtodos formales por s mismos tienen todava que abrirse paso. Yo soy escptico que los estadounidenses sean lo suficientemente disciplinados para aplicar mtodos formales en alguna forma generalizada, dice David A. Fisher del National Institute of Standards and Technology (NIST). Existen excepciones, no obstante, sobre todo en el crculo cada vez ms amplio de las empresas que experimentan una metodologa de programacin denominada enfoque de sala limpia (clean-room approach). Este mtodo trata de conjugar las notaciones formales, las demostraciones de validez y los controles estadsticos de calidad con un enfoque evolutivo del desarrollo de software. Al igual que la tcnica de fabricacin de circuitos integrados de la que toma su nombre, el desarrollo de sala limpia trata de aplicar consistentemente tcnicas rigurosas de ingeniera para fabricar productos que funcionen perfectamente la primera vez. Los programadores desarrollan el sistema de a una funcin por vez y se aseguran de certificar la calidad de cada unidad antes de integrarla en el la arquitectura. Software creciendo en esta forma, requiere toda una nueva metodologa de testeo. Tradicionalmente, los desarrolladores testean un programa ejecutndolo del modo en que ellos entienden que debe funcionar, modos que, muchas veces, apenas si guardan leve parecido con los del mundo exterior. En un proceso de sala limpia, los programadores tratan de asignar una probabilidad a cada camino de ejecucin -correcto e incorrecto- que los usuarios puedan tomar. Ellos pueden derivar casos de prueba de estos datos estadsticos, de forma que las rutas ms frecuentemente utilizadas se analicen ms profundamente. Despus se hace funcionar el programa en cada una de estos casos de prueba y se cronometra cunto tarda en fallar. Estos tiempos se le introducen a continuacin a un modelo matemtico, que calcula la confiabilidad del programa, a la manera ms puramente ingenieril. Los informes de los que adoptaron inicialmente el enfoque alientan a utilizarlo. Ericsson Telecom, el gigante europeo de las telecomunicaciones, aplic procesos de sala limpia en un proyecto de 70 programadores destinado a elaborar un sistema operativo para
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 17/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

computadores de conmutacin Sus informes hablan de que los errores sede la redujeron a uno por cada 1000telefnica. lneas de cdigo de programa, cuando el promedio industria es unas veinticinco veces mayor. Y, lo que puede ser ms importante, se comprob que la productividad del desarrollo aument un 70 por ciento y la de las pruebas se duplic.
6

No hay balas de plata

En esta profesin se ha odo hablar ya muchas veces de balas de plata presuntamente capaces de hacer desaparecer los bugss que plagan los proyectos. desde los aos sesenta se han anunciado docenas de innovaciones tcnicas destinadas a incrementar la productividad; muchos de sus creadores han presentado incluso proyectos demostrativos

Page 11

de la veracidad de sus pretensiones. Los partidarios del anlisis y la orientados a objetos, uno de los comodines verbales del presente, proclaman que su mtodo constituye un cambio de paradigma capaz de generar una mejora de productividad de 14 a 1, junto con superior calidad y mantenimiento ms fcil, todo ello a menor costo. No faltan motivos para el escepticismo. Curtis recuerda que En los aos 70 se proclam que la programacin estructurada era un cambio de paradigma y otro tanto ocurri luego con CASE [computer-assisted software engineering, ingeniera de software asistida por ordenador], repitindose la historia con los lenguajes de tercera, cuarta y quinta generacin. Nosotros hemos odo grandes promesas tecnolgicas, muchas de las cuales
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 18/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

jams se han cumplido. Mientras tanto, la productividad en el desarrollo de software se ha rezagado con respecto a la de disciplinas ms maduras, sobre todo con respecto a la ingeniera de computadoras. Yo pienso del software como un objeto de culto, dice Cox. Nuestros principales logros fueron importados desde la cultura extranjera de la ingeniera de hardware - mquinas cada vez ms rpidas y dotadas de ms memoria. Fisher tiende a acordar: ajustado por inflacin el valor agregado por trabajador en la industria ha sido de US$ 40,000 por dos dcadas, asevera. Nosotros no estamos viendo ningn incremento. Yo no pienso as, replica Richard A. DeMillo, un profesor de la Universidad de Purdue y principal directivo del Software Engineering Research Consortium. Ha habido mejoras, pero cada uno usa diferentes definiciones de productividad. Un estudio reciente publicado por Capers Jones -pero basado necesariamente en datos histricos dudososestablece que los programadores de Estados Unidos de Amrica generan el doble de cdigo que en 1970. El hecho es que nadie sabe lo productivos que son quienes desarrollan software, y ello por tres razones. La primera es que menos del diez por ciento de las compaas norteamericanas mide de forma coherente y sistemtica la productividad de sus programadores. La segunda es que no se ha establecido an una unidad de medida standard y til en el sector. La mayora de los estudios, incluyendo los publicados en las revistas sujetas a referato de ciencias de la computacin, expresan la productividad en trminos de lneas de cdigo por trabajador por mes. Pero los programas estn escritos en una gran variedad de lenguajes y varan enormemente en la complejidad de su operacin. Comparando el nmero de lneas escritas por un programador japons usando C con el nmero producido por un estadounidense usando Ada, es como comparar sus salarios sin convertir de yen a dlares. En tercer lugar, dice Fisher, usted puede caminar en una empresa tpica y encontrar a dos personas que comparten la misma oficina, perciben el mismo salario y poseen calificaciones equivalentes y usted puede detectar, sin embargo, diferencias en un factor
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 19/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

cien en el nmero de instrucciones por da que producen. Tan enormes diferencias individuales tienden a anular los efectos, mucho menos acusados, de las mejoras tecnolgicas o de procesos.

Page 12

Tras veinticinco aos de desengaos, debido a aparentes innovaciones que resultaron ser no reproducibles o imposibles de adoptar a mayor escala, son muchos los investigadores que admiten que la ciencia de la computacin requiere una rama experimental destinada a separar los resultados generales de los meramente accidentales. Siempre se ha dado por supuesto que, si yo enseo un mtodo, ste es correcto slo porque yo lo digo, denuncia Vctor R. Basili, un profesor en la Universidad de Maryland. Se estn produciendo todo genero de cosas y resulta verdaderamente escalofriante lo malas que son algunas de ellas, dice. Mary Shaw, de Carnegie Mellon puntualiza que las ingenieras maduras han codificado en manuales las soluciones bien probadas, de forma que incluso novicios poco experimentados puedan manejar consistentemente los diseos rutinarios, dejando libres para los proyectos avanzados a los profesionales de mayor talento. No existen manuales semejantes para el software, por lo que los errores se repiten ao tras ao, en un proyecto tras otro. DeMillo sugiere que el gobierno debera tomar un papel ms activo. La National Science Foundation debera estar interesada en financiar investigacin orientada a verificar experimentalmente resultados que ha sido establecidos por otra gente, dice. Actualmente
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 20/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

si no es investigacin hecha por primera vez y de gran creatividad, los administradores de los programas de la NSF tienden a discontinuar el trabajo. DeMillo conoce de qu habla. Desde 1989 a 1991 dirigi la divisin de investigacin en computadoras y computacin de la NSF. Adems, si la ingeniera de software es una ciencia experimental, esto significa que necesita ciencia de laboratorio. Dnde estn los laboratorios? pregunta Basili. Puesto que el esfuerzo de llevar las tecnologas prometedoras a la escala de la proporciones industriales a menudo falla, los laboratorios pequeos son de utilidad limitada. Necesitamos tener instalaciones en las que obtener datos y tratar de sacar las cosas, dice DeMillo. La nica forma de hacer esto es tener una organizacin real de desarrollo de software como socio. Ha habido slo unos pocas de esas asociaciones. Quizs la ms exitosa es el Software Engineering Laboratory, un consorcio del Goddard Space Flight Center de la NASA, Computer Sciences Corporation y la Universidad de Maryland. Basili ayhud a fundar el laboratorio en 1976. Desde entonces, estudiantes de posgrado y programadores de la NASA han colaborado en ms de 100 proyectos, dice Basili, la mayora vinculados con la construccin de software para soporte terrestre para satlites.

Basta echarle agua Los fabricantes de arcabuces no lograron mejorar su productividad hasta que Eli Whitney concibi la forma de producir piezas intercambiables, que pudieran ser ensambladas por cualquier operario hbil. De forma anloga una vez standarizadas, las partes del software podran reutilizarse en diferentes escalas. Hace decenios que los programadores vienen utilizando bibliotecas de subrutinas para no tener que escribir una y

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

21/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Page 13

otra vez el mismo cdigo. Pero estos componentes dejan de funcionar al ser trasladados a un lenguaje de programacin diferente, o a una plataforma de hardware o entorno operativo de distinto tipo. La tragedia es que, al devenir obsoleto el hardware, resulta necesario volver a escribir lo que era una excelente muestra de un algoritmo de clasificacin conseguida en los aos sesenta, observa Simonyi de Microsoft. Fisher ve una tragedia de diferente tipo. El verdadero precio que nosotros pagamos es que como especialista en cualquier tecnologa de software usted no puede reflejar en un producto esa peculiar destreza que posee. Y si tal cosa no es posible, tambin es imposible ser especialista. Y no es que falten quienes lo hayan intentado. Antes de trasladarse a NIST el ao pasado, Fisher fund y actu de mximo responsable de Incremental Systems. Sin ninguna duda eramos world-class en tres de las tcnicas que intervienen en los compiladores, pero no alcanzbamos el mismo nivel de calidad en las otras siete o as, declara. Y descubrimos que no haba ninguna forma prctica de vender componentes de compilador; era preciso que vendiramos compiladores completos. As que ahora est tratando de ponerle remedio a esa situacin. NIST anunci en abril que estaba preparando un Programa de Tecnologa Avanzada que contribuyera a generar un mercado para software basado en componentes. En su calidad de director del programa, Fisher distribuir 150 millones de dlares en subvenciones de investigacin a compaas de software dispuestas a afrontar los obstculos tcnicos que actualmente hacen inviable producir partes de software. El mximo desafo consiste en encontrar formas de romper los lazos que ligan indisolublemente los programas a computadores especficos y a otros programas. Los investigadores estn estudiando varios mtodos prometedores, entre ellos un lenguaje comn que podra servir para describir partes de software; programas capaces de reformar los componentes, adaptndolos a un ambiente cualquiera; y componentes provistos de mltiples opciones, que el usuario podra activar o no.
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 22/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Fisher favorece la idea que las componentes deberan ser sintetizadas en la accin. Los programadores deberan bsicamente capturar cmo hacer en lugar de hacindolo, produciendo una reformulacin que cualquier computadora pueda comprender. Luego cuando usted quiere ensamblar dos componentes, usted podra tomar esta reformulacin y derivar versiones compatibles aadiendo elementos adicionales a sus interfaces. Todo podra ser automatizado, explica. Incluso con un incentivo de 150 US$ millones y presiones del mercado forzando a las empresas a encontrar caminos ms baratos para producir software, no es inminente una revolucin industrial en el software. Nosotros esperamos ver solamente ejemplos aislados de estas tecnologas en cinco a siete aos - y eso en el caso que no fracase todo, se resguarda Fisher. E incluso cuando la tecnologa est a punto, sern pocos quienes adopten los componentes a menos que stos puedan producirse a un precio ventajoso. Y el costo de los mdulos depender menos de la tecnologa utilizada que del tipo de mercado que pueda surgir para producirlos y consumirlos.

Page 14

Brad Cox, como Fisher tambin fue director de una compaa de componentes de programacin y le result difcil sacarla adelante. Cree saber dnde est el problema...y su solucin. Su empresa trataba de vender componentes de programas de bajo nivel, algo anlogo a los microcircuitos de los ordenadores. La diferencia entre los circuitos integrados de silicio y los circuitos integrados para software estriba en que los primeros
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 23/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

estn formados por tomos, y perduran por conservacin de la masa; en consecuencia la gente sabe como comprarlos y venderlos con seguridad, dice Cox. Pero este proceso de intercambio, que se encuentra en el corazn de todo el comercio, sencillamente no funciona para cosas que se pueden copiar en nanosegundos. Cuando trat de vender los mdulos creados por sus programadores, el precio que los clientes estaban dispuestos a pagar era demasiado bajo para resarcirle de los costos de desarrollo. Las razones eran dobles. La primera, que la adaptacin manual de los mdulos a las necesidades de cada cliente era una operacin que consuma mucho tiempo; NIST confa en salvar esta barrera con su Programa de Tecnologa Avanzada. El otro factor no era tanto tcnico como cultural: lo que quieren los compradores es pagar por el componente una vez y luego hacer copias gratis. La industria de la msica ha tenido cerca de un siglo de experiencia con este grave problema, observa Cox. Ellos solan vender objetos tangibles, como partituras y rollos de pianola, pero llegaron la radio y la televisin y todo aquello se fue al garete. Las compaas musicales se adaptaron a la radiodifusin estableciendo agencias encargadas de percibir los derechos de autor cada vez que se emite una meloda y de encauzar esos fondos hacia los artistas y los productores. Cox propone que se les pase un cargo a los usuarios cada vez que utilicen un componente de programacin. De hecho, dice, en el caso del software tal modelo podra funcionar mejor que con la msica, gracias a las ventajas de infraestructura que proporcionan los ordenadores y las comunicaciones. Los reproductores de grabaciones no disponen de enlace a redes de alta velocidad que registren su utilizacin, peor los ordenadores, si.

O, por lo menos, la tendrn en el futuro. Escudriando en el tiempo en que casi todas las computadoras estn conectadas, Cox visualiza la distribucin de software de todos los tipos a travs de redes que vinculen productores de componentes, usuarios finales e instituciones financieras. Es anlogo a una operacin de tarjeta de crdito pero con tentculos que penetran en cada PC, dice. Aunque a algunos pueda sonarle ominoso, Cox
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 24/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

argumenta que ahora Internet es ms un depsito de desperdicios que un mercado para comprar. Necesitamos una gran infraestructura que pueda soportar la distribucin de todo tipo de productos. Reconociendo la envergadura del cambio cultural que propone, Cox espera empujar su causa por aos a travs de la Coalition for Electronic Markets, de la que es presidente. La combinacin de control industrial de procesos, herramientas tcnicamente avanzadas y partes intercambiables promete transformar no slo la forma de realizar la

Page 15

programacin, sino tambin a los encargados de efectuarla. Muchos de los expertos que convergieron en Hedsor Park acuerdan con Belady que en el futuro, los profesionales de muchos campos usarn la programacin como una herramienta de trabajo, pero ellos no querrn llamarse a s mismos programadores ni creern estar dedicando su tiempo a la programacin. Pensarn, en cambio, estar haciendo arquitectura, o control de trfico, o pelculas de cine. Esta posibilidad suscita la pregunta de quines estn capacitados para construir sistemas importantes. En la actualidad cualquiera puede anunciarse como ingeniero de software. Pero cuando se tengan cien millones de programadores-usuarios, ser frecuente que se hagan cosas criticas para la vida, como, por ejemplo, construir programas para extender recetas mdicas, hace notar Barry W.Boehm , director del Center for Software Engineering de la Universidad de Southern California. Boehm es uno del creciente nmero de quienes recomiendan que los ingenieros de software deben certificarse, como se hace en
http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf 25/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

otros campos de la ingeniera. Tal certificacin slo servir de algo si los programadores reciben la formacin adecuada. Actualmente slo 28 universidades ofrecen programas de posgrado en ingeniera de software; cinco aos atrs haba slo 10. Ninguna ofrece ttulos de grado. Incluso acadmicos tales como Shaw, DeMillo y Basili acuerdan que en general la curricula de computer science ofrece por lo general una preparacin deficiente para el desarrollo industrial de software. Pues aspectos fundamentales, como el diseo de inspecciones del cdigo, la produccin de documentacin para el usuario y el mantenimiento de los programas que van quedndose anticuados, no son cubiertos en la academia, se lamenta Capers Jones. Los ingenieros, la infantera de toda revolucin industrial, no se generan espontneamente. Reciben una formacin tendiente a evitar los malos hbitos de los artesanos que les precedieron. En tanto las lecciones de la ciencia de la computacin no inculquen no slo el deseo de construir mejores cosas, sino el de construir mejor las cosas, lo mejor que podemos esperar es que el desarrollo del software vaya pasando por una evolucin industrial lenta y probablemente dolorosa.

Bibliografa complementaria Encyclopedia of Software Engineering. Editada por John J. Marciniak. John Wiley & Sons, 1994. Software 2000: A View of the Future. Editado por Brian Randell, Gill Ringland y Bill Wulf. ICL y la Comisin de Comunidades Europeas, 1994. Formal Methods: A Virtual Library. Jonathan Bowen. Disponible en hipertexto en Wide World Web, con la referencia http://www.comlab.ox.ac.uk/archive/formal-methods.html

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

26/27

19/2/2014

Scientific American, noviembre, 1994 LA CRISIS CRNICA DE LA PROGRAMACIN W. Wayt Gibbs A pesar de 50 aos de progresos, a l

Page 16

Traduccin del Scientific American aparecida en Investigacin y Ciencia, noviembre de 1994. Revisada por

Alejandro Oliveros. En lo que sigue las notas son comentarios de AO a fin de aclarar la traduccin. 2 Denver, Colorado, es un gran centro de esqu invernal de los Estados Unidos de Amrica 3 Da de Brujas, 2 de noviembre 4 Del hemisferio norte 5 El promotor de las piezas de recambio
6

Alude a un artculo clsico de la Ingeniera de Software, de Fred Brooks. El ttulo No silver bullets, recupera

una leyenda segn la cual al hombre lobo slo se lo puede matar con una bala de plata en el medio del corazn.

http://webcache.googleusercontent.com/search?q=cache:http://www.yoquese.com.ar/resources/external/material_analisis_y_diseno_de_sistemas/Gybbs_SoftwaresChronicCrisis_Castellano.pdf

27/27

S-ar putea să vă placă și