Inicio arrow Blog arrow El software es así arrow La Ingeniería del Software tiene aún muy poco camino recorrido. Make Text BiggerMake Text SmallerReset Text Size
La Ingeniería del Software tiene aún muy poco camino recorrido.
22.07.2009

rectificarEl 7 de octubre cumplió 40 años la Ingeniería del Software, porque 40 son los que han pasado ya desde la conferencia de la NATO(1) que bautizó a esta nueva disciplina profesional, nacida para solucionar los desplantes del software en los proyectos militares, a los que hacía perder millones de dólares porque siempre entregaba tarde mal y nunca.

Hace 40 años que se lanzaron las primeras balas trazadoras hacia las soluciones, aunque quienes las disparaban pudieran creer que eran ya tiros certeros y definitivos.
Incluso aunque los que aún siguen a pie juntillas su estela, piensen que se trata de la meta del conocimiento, y no un punto del camino (concretamente el inicio v. síntesis)

 

Cuanto más nos empeñamos en seguir la trayectoria, sin corregir el tiro, más agrandamos el ángulo de error, y más nos alejamos del objetivo.

En las direcciones iniciales de la Ingeniería del Software, estaban: rigor y precisión en los requisitos y diseño del producto, y la planificación y control del proyecto.

Eran soluciones como todas: de y para su contexto. Un contexto de grandes proyectos militares con pérdidas millonarias en los sub-sistemas de software;  y sería torpe criticarlas por no servir para proyectos diferentes en un escenario tecnológico 30 años más evolucionado. Criticarlas por pesadas e inadecuadas para pequeñas "start-ups" o grupos que no programan el guiado de misiles balísticos, y que no necesitan previsibilidad sino rapidez e innovación continua.
Como también es torpe es no cuestionar lo que hacemos.
Considerar que la solución que nos han enseñado es válida para todo, y en todo momento. Para todo, convencidos de que nuestro nuevo traje de ceremonia resulta apropiado para cualqueir ocasión. Y en todo momento, con una "actitud Peter-Pan" que no quiere evolucionar profesionalmente.

Si errar es humano y rectificar de sabios, Tom DeMarco es de los segundos. Su obra es una de las principales contribuciones en el desarrollo de la Ingeniería del Software.

Es autor de uno de los principales trabajos sobre métricas en la gestión de proyectos de software, referente de temarios como PMBoK: Controlling Software Projects: Management, Measurement and Estimation y con motivo del 40 cumpleaños de la Ingeniería del Software , el número de julio/agosto de IEE SOFTWARE publilca un artículo, en el que, mejor que comentar nada; y no sé si usando o abusando del derecho de cita, prefiero pegar literalmente sus palabras:

Las métricas que inicialmente expuse en mi libro Controlling Software Projects: Management, Measurement and Estimation, han definido la forma en la que muchos ingenieros construian el software y planificaban el trabajo. Con un ánimo de estado reflexivo, ahora me pregunto: ¿Fué correcto el asesoramiento en métricas? ¿Sigue siendo pertinente? y ¿creo todavía que las métricas son una necesidad para el éxito de cualquier desarrollo de software?. Mis respuestas son no, no y no.

Tom DeMarco es también el autor de la afirmación que en las últimas décadas ha sido axioma para muchos modelos de procesos y gestión (¿todos?) "Usted no puede controlar lo que no puede medir".
Y ahora, su autor afirma que el control puede no ser importante en muchos proyectos de software:

"Muchos proyectos han avanzado sin centrar la gestión en el control, sino en la creación de productos maravillosos como GoogleEarth o Wikipedia.
Para entender la verdadera función del control, es necesario distinguir de manera drástica entre dos tipos diferentes de proyectos:

Un proyecto de tipo A, con un coste estimado de un millón de dólares y un cálculo de retorno aproximado de 1,1 millones.
Un proyecto de tipo B que con un coste estimado de un millón de dólares produce un valor de más de 50 millones de dólares.

Lo inmediatamente evidente es que el control resulta importante en el proyecto A, y sin embargo su importancia es mínima en el B. Esto nos lleva a la extraña conclusión de que el control extricto es importante en los proyectos poco importantes, y viceversa.

Me viene a la cabeza el principio de "CONTROL SUTIL" identificado por Nonaka y Takeuchi en los Campos de Scrum al seguir leyendo en el artículo la comparación que dibuja con el tipo de control que un padre realiza en la educación de su hijo adolescente:

"Al aplicar el principio 'no se puede controlar lo que no se puede medir' a la educación en la adolescencia, la mayoría de las cosas realmente importantes, honor, dignidad, disciplina, personalidad, valores, ética, ingenio, lealtad, humor, bondad... no son medibles.
Tienes que formar a tu hijo lo mejor que puedas sin tener feedback de métricas. Es difícil, porque ser padre es difícil. Tienes unas ciertas métricas del tipo de las notas del colegio, e intuyes que la nota de matemáticas es más importante que la de español y que la nota de comportamiento quzá diga más del profesor que del alumno".


Para quienes creemos que el conocimiento está en continua evolución , y que en ocasiones se llega hasta la náusea desarrollando líneas de métricas y gestión inapropiadas para muchos proyectos, Leer estas afirmaciones de Tom DeMarco reconforta y da gusto ver que hay personas que con honestidad cuestionan, depuran y mejoran de forma continua(2). Que a fin de cuentas afirman que los años de experiencia les hacen cuestionar y mejorar.

Claro que esto es lo que me parece a mi. Seguramente quienes prefieren métricas de la línea PSP, y modelos CMMI para todo, opinarán que Tom DeMarco es una pena. Con las buenas ideas que tenía, y ahora se ha echado a perder. Se ha pasado al lado oscuro. :-)

(1) Conference on Software Engineering. 1968 Garmisch, Alemania.
Informe de la conferencia   

(2) Desde sus Ideas iniciales en la línea de "No puedes controlar lo que no puedes medir" a las conclusiones actuales sobre métricas y gestión de proyectos (ágil, por qué no decirlo), pasando por las que a finales de los 80 resumía en su afirmación "La mayoría de los problemas de nuestro trabajo no son tecnológicos sino sociológicos" (Peopleware: Productive Projects and Teams 1987)

Safe Creative #0907224150903

Trackback(0)
Comentarios (10)Add Comment
Totalmente de acuerdo.
escrito por Angel, July 23, 2009
Nuevamente un artículo excelente.
Nada es permanente, todo está en continua evolución y, a veces, involución. No hay verdades absolutas porque siempre deben estar cuestionadas. Lo que deberíamos tener son guías de referencia, espíritu crítico, opinión propia, un lugar al que querer llegar y unos valores. Tom DeMarco con el artículo referido no solo ha dado una lección magistral sobre ingeniería del software sino de valores.
...
escrito por JM, July 23, 2009
Como siempre, un artículo estupendo, Juan.

Me ha llegado especialmente la cita sobre la dificultad de la paternidad, ahora que estoy iniciando la versión 2.0 de la mía (:

Con este arrebato de sinceridad de Tom DeMarco, me vuelve a quedar claro que no hay recetas para nada, que cada profesional (da igual el puesto y nivel al que estésmilies/wink.gif debe ser capaz de separar el grano de la paja, tomar sus propias decisiones, y no dejarse llevar por modas.

Por desgracia, el mundo de las IT está más atento a las modas que el mundo de la alta costura. Y además, no siempre es posible contar con esos idílicos profesionales con criterio propio.

A DeMarco le ha hecho falta bastantes años para darse cuenta de que lo importante no es el criterio establecido (LAS métricas estrictas, LA gestión del proyecto, etc.), sino el buen criterio de los profesionales (MIS métricas, MI gestión del proyecto).

Llegados a este punto...
¿qué hacemos los que no tenemos la experiencia que nos da el buen criterio para cada caso?
¿y los que necesitamos el apoyo de un principio en el que basarnos cuando no vemos claramente el norte?
¿acaso el mundo de procesos, CMMI, etc. es para los que necesitan un principio claro y simple que seguir y el agilismo, SCRUM, Lean, etc. para los que ya han superado esa etapa?
¿no será el agilismo el nivel 6 de CMMI donde se ponen las cartas sobre la mesa y se da libertad de actuación a los profesionales que ya tienen criterio propio?
¿no será el agilismo el Zen y el Karma de la gestión?

Juan, tus post siempre me generan más preguntas que respuestas... será que todavía no he llegado al Karma (:

Saludos!!

JM
...
escrito por Juan, July 23, 2009
Completamente de acuerdo con vosotros. La honestidad de DeMarco dice mucho y bueno de él.
Que duda cabe que prefiero a alguien que después 40 años de trabajo y experiencia no sigue haciendo y diciendo lo mismo. Y que no le duelen prendas ni le puede el orgullo de no reconocer las equivocaciones y rectificarlas.

Y lo que dices JM, siempre hay dudas. Quizá lo mejor es intentar aprender de la experiencia ajena. Pero no es fácil por dos razones:
1.- Que sea honesta, como DeMarco, y no un producto de marketing.
2.- No es fácil aprender de la experiencia de otro. Dicen que la experiencia es una linterna que alumbra hacia atrás, y sólo al que la lleva.

Saludos!!
Excelente Artículo!!
escrito por Sorey García, July 23, 2009
smilies/smiley.gif Que buen árticulo, felicidades, muchos desde nuestra posicion de docentes de los nuevos profesionales, estamos seguros que poco a poco se puede enfocar el rumbo, lo q necesitamos es un poco de más racionalidad y conciencia para invertir esfuerzos en ello.

Mil gracias por la publicación. smilies/smiley.gif
de acuerdo
escrito por Joserra, July 23, 2009
Afortunadamente DiMarco ya se iba dando cuenta por el camino de que aquello que escribió hace 40 años no era muy atinado. Sin replantearselo de alguna manera, no creo que hubiese podido escribir la joya que es Peopleware.
Lo que me gusta de cómo lo ha contado ahora, es además la humildad con la que se aparta del movimiento ágil, el cual usará este artículo como bandera durante mucho tiempo. Aunque no creo que la idea de DiMarco vaya en esa linea.
Otro post genial para situar la controversia, Juan

Salu2
Joserra
Sin humildad no somos nada
escrito por Raul, July 24, 2009
Muy buen post... será un referente mio durante un tiempo como herramienta para aquellos "nazis" de las métricas...
Hay varias maneras de interpretarlo
escrito por " rel="nofollow" target="_blank">Gustavo Veliz, July 24, 2009
Interesante post

Hay varias maneras de interpretar lo expresado por DeMarco. Si bien la métrica se usa normalmente para controlar.
En realidad su sentido inicial era para dar soporte a toma de decisiones y creo que DeMarco lo sabe demasiado bien. Solo que al expresar lo mencionado en el articulo se refiere a que hay otras formas de ver las cosas y por ello resalta factores no tangibles.

Si bien se transgredió el sentido de las métricas por el miedo al fracaso, expresan una necesidad. Necesidad de información la cual puede se satisfecha maneras como exposición y toma de decisiones evolucionando a decisiones de equipos.

Esta necesidad de dar mas atención a cosas no medibles es porque hay algo que se necesita. ¿es una falencia que existió siempre?. O es algo a lo que hemos llegado a consecuencia de otra suceso?.

La naturaleza tiene "Control Sutil". En la era de las cavernas la gente se reunia, colaboraba y trabajaba en equipo. Porque perdimos eso tan natural?. Las plantas crecen sobre obstaculos, los rios se forman de manera "natural". ¿Cual fue el problema?

En la naturaleza hay cosas que consideramos buenas, otras malas dependiendo del observador. Pero unas dependen de las otras para mantener el equilibrio. En el software considero que es similar.

Por otro lado

"Un proyecto de tipo B que con un coste estimado de un millón de dólares produce un valor de más de 50 millones de dólares."

No todos los proyectos de un millón de dólares producen un valor de 50 millones de dólares algunos generan una deuda de 50 millones de dolares.

¿La esencia esta en quien esta dispuesto a arriesgar un millón de dolares sin esperar al menos 1.1 en retorno?. Nada es absoluto y eso lo sabemos ¿Verdad?.


A modo de conclusión me queda la sensación que debemos saber "porque hacemos las cosas" y si algún día perdemos ese "porque" pues pensarlo de nuevo y evaluar hacia donde queremos ir y como lograrlo.

Bastante inspirador el articulo, Tom DeMarco siempre es un referente, esta situación es similar si uno revisa los trabajos de Takeuchi y Nonaca.

Da para mas el tema la verdad, el medio escrito trasciende en el tiempo. Pero nada como la comunicación verbal para estos temas.

Saludos! y éxitos!
El valor que aporta un proyecto depende de quien lo ejecute
escrito por Xavier Albaladejo, August 03, 2009
Después de darle unas vueltas al artículo de DeMarco, en el cual se habla de que tendríamos que dedicarnos sólo a hacer proyectos que aporten muchísimo valor para permitirnos no tener que preocuparnos tanto por su control, me encuentro con lo siguiente:
- En este mundo el software se subcontrata mucho.
- No es el mismo valor el que proporciona al propietario del producto (la empresa que paga por el SW) que la empresa que lo desarrolla. En el primer caso y con un proyecto ideal DeMarquiano, el ROI puede ser brutal (¿multiplicar por 10 o 100 sería suficiente?). En el segundo caso, el margen es simplemente por hora de trabajo de desarrollador (multiplicar por 1,5 o 2 veces).

Esto me hace pensar en que será difícil utilizar este argumento de valor aportado vs control en empresas que desarrollan producto para otros.
... El valor que aporta un proyecto depende de quien lo ejecute
escrito por Juan, August 04, 2009
Tiene mucho sentido lo que dices.
Parece claro que si haces software para TU proyecto... tienes posibilidades.
Si haces software para otro, te deberías dedicar a productos tipo, de hacer uno y vender muchos para aprovechar el factor de escala del software, porque si trabajas como software factory subcontratada... :-(

Un saludo!
INGENIERIA DEL SOFTWARE
escrito por soledad, September 06, 2009
OLA, Q TAL?? ALGUIEN ME PDRIA DAR ALGUNA DEFINICIÓN ACERCA DE LO Q S UN PROYECTO?? Y SUS ETAPAS?? XFA!!

Escribir comentario

busy
 
< Anterior   Siguiente >
Advertisement

Advertisement



Artículos relacionados

Registrado en Safe Creative