Вы находитесь на странице: 1из 8

d o s

La incertidumbre y la ingeniería
de software
María Irma Díaz

Una respuesta metodológica al desafío de modificar el


pensamiento para enfrentar las condiciones del presente y
el futuro.

A
comienzos del siglo XX Este desafío no puede ser asumido
la comunidad científica únicamente por el sistema educativo,
asistió a la revolución requiere de la participación activa de
del modelo clásico –de todas las disciplinas y profesiones.
un mundo determinista– al modelo En este documento se presenta un
resumen de cómo la ingeniería de
moderno –de un mundo incierto. Sin
software ha ido construyendo una
embargo, el retraso general en la
respuesta metodológica a este desa-
enseñanza ha venido encerrando a la fío.
opinión pública dentro del anticuado
sistema clásico que no corresponde
a la realidad actual [1]. La incertidumbre
Edgar Morin1, invitado por la Unes-
Casi un siglo después, la Unesco, en co a participar en el proyecto men-
el marco del proyecto transdiscipli- cionado, formalizó su propuesta en
nario Educación para un futuro sos- el documento “Los siete saberes ne-
cesarios para la educación del futu-
tenible [2], afirma que “uno de los
ro” [3], en el que presenta en forma
desafíos más difíciles será modificar
explícita cómo aprender a enfrentar
nuestro pensamiento de manera que las incertidumbres. Al respecto afir-
enfrente la complejidad creciente, ma: “Lo inesperado nos sorprende
la rapidez de los cambios y lo im- porque nos hemos instalado con
previsible que caracterizan nuestro gran seguridad en nuestras teorías,
mundo“. en nuestras ideas y estas no tienen
62 Sistemas
ninguna estructura para acoger lo En administración, se consideran
nuevo. Lo nuevo brota sin cesar; negocios ágiles aquellos que ofre-
nunca podemos predecir cómo se cen soluciones de valor agregado
presentará, pero debemos contar con para sus clientes configurando sus
su llegada. Y una vez sobrevenga, productos y servicios, mientras se
habrá que ser capaces de revisar adaptan de manera reactiva a los
nuestras teorías e ideas en vez de cambios de su ambiente, innovan en
dejar entrar por la fuerza el hecho forma proactiva para causar cambios
nuevo en una teoría que es incapaz en el ambiente y cooperan de forma
de acogerlo verdaderamente”. oportunista interna y externamente
con sus pares para aumentar su com-
La incertidumbre se presenta en petitividad. [5]
contextos que exhiben las siguien-
tes características en el tiempo: su
pasado es inconsistente, su pre- Pensamiento ágil
sente ambiguo y su futuro impre- Considerando lo anterior y retoman-
decible. do el desafío planteado por la Unes-
co, ¿qué condiciones debe cumplir
un individuo para tener la capacidad
La agilidad real de enfrentarse a lo incierto?
La palabra que generalmente se usa Básicamente tres. En primer lugar,
para cualificar una entidad con la debe ser consciente de que no es po-
habilidad no sólo de enfrentar sino sible erradicar la incertidumbre del
de prosperar en un contexto incier- mundo: el futuro es abierto e impre-
to es la agilidad. Esta habilidad ha decible. En segunda instancia, debe
sido estudiada de manera amplia comprender la naturaleza básica de
por diversas áreas del conocimiento. lo incierto como resultado de las
Veamos como ejemplo el enfoque de fuerzas de la complejidad y cambio
dos de ellas. del universo. Y finalmente, como
consecuencia de las dos anteriores,
En la teoría de la complejidad, se debe poder preparar los medios que
estudian los sistemas ágiles defi- le permitan detectar con facilidad la
niéndolos como los que tienen la llegada de lo desconocido y adquirir
habilidad de modificar su estructura las estrategias para tratarlo, es decir
interna y su comportamiento para ser ágil. Un individuo así podría no
ser más eficientes y efectivos, con- sólo enfrentarse a la incertidum-
siderando la retroalimentación de su bre, sino aprovecharla para obtener
ambiente cambiante. ventajas competitivas y construir
Sistemas 63
artefactos que exhiban esta misma profesión es cada vez mayor, toda
cualidad. vez que debe responder a una deman-
da creciente de sistemas cada vez
más complejos y críticos, además
Ingeniería de software de continuar con el mantenimiento
¿Qué pasa en la ingeniería de soft- de los sistemas existentes. Por otra
ware? La responsabilidad de esta parte, debe reaccionar a los cambios

64 Sistemas
que proceden en forma simultánea iniciativa se explicó por la falta de
de múltiples fuentes: requisitos, precisión de las metodologías dis-
miembros del equipo de trabajo, me- ponibles o de rigor en su aplicación.
todologías, tecnologías, entre otras. Entonces, las metodologías se fue-
El proceso de desarrollo de software ron haciendo cada vez más precisas,
se da en contextos discontinuos, pero menos efectivas en la mayoría
ambiguos e impredecibles; es decir, de los casos.
inciertos.
La mayor crítica que han recibido
esas metodologías es que son bu-
Historia rocráticas; es decir, se debe inver-
Hacia 1950 la programación era una tir una cantidad significativa del
actividad caótica resumida en “co- tiempo del proyecto en perseguir
difique y arregle”. El software era objetivos paralelos impuestos, lo
desarrollado sin un plan de soporte cual hace que se reduzca el tiempo
y el diseño surgía de decisiones pun- efectivo para cumplir con el obje-
tuales del proceso de codificación. tivo real: construir software. No
Esta manera de trabajar funcionó re- obstante, hay quienes afirman que
lativamente bien en sistemas simples el fracaso del llamado “edificio
y pequeños, pero a medida que los metodológico de la ingeniería de
sistemas se hicieron más complejos software temprana” se debe a que se
y creció el número de errores encon- apoya en una premisa alejada de la
trados en los productos fue evidente realidad del universo, especialmen-
que esa era una aproximación inade- te del universo software, en donde
cuada. se supuso que la incertidumbre era
erradicable, siendo inevitable [6].
Como solución a los problemas an- Es decir, la mayoría de esas meto-
teriores, alrededor de 1960 surgie- dologías estaban impregnadas del
ron las metodologías que trataron pensamiento del mundo clásico y
de imponer un proceso disciplinado pretendían ser útiles en un mundo
en el desarrollo de software bus- moderno.
cando que esta tarea fuese cada
vez más predecible y eficiente. Sin Las llamadas “nuevas metodologías”
embargo, los resultados no fueron surgieron hacia 1990 en reacción al
los esperados; muchos proyectos fracaso de las primeras. Muchos in-
debían ser cancelados y la mayoría genieros de software pensaron que
de los que se terminaban excedían simplemente se estaba tratando de
el presupuesto y no cumplían con responder a una de las críticas evi-
el cronograma. El fracaso de esta dentes acerca de las metodologías an-
Sistemas 65
teriores y que buscaban un equilibrio mejoramiento reflexivo y la comuni-
entre los extremos de sin y con mu- cación cercana. Vale la pena aclarar
cho proceso que permitiera obtener que Cristal es realmente una familia
un beneficio razonable; por ello, se de metodologías que permite selec-
conocieron inicialmente como “me- cionar la más apropiada a las carac-
todologías livianas” y las anteriores terísticas de un proyecto específico.
empezaron a llamarse, por contraste,
“metodologías pesadas”. Sin embar- Adicionalmente se tiene el Proce-
go, en estas nuevas metodologías se so Unificado (UP), que aunque es
estaban incorporando características considerado por algunos como una
que las habilitaban para responder a aproximación “pesada”, no puede
las necesidades del mundo moderno ser clasificado ya que no es un pro-
entre las que se destacan ser más ceso concreto prescriptito, sino un
adaptativas que predictivas y más marco de proceso adaptable, defi-
orientadas a las personas que a los nido para ser personalizado por los
procesos [5].
equipos de proyectos de software,
seleccionando los elementos que se
adapten a sus necesidades. Así, se
Nuevas metodologías
De estas nuevas metodologías las pueden tener versiones UP pesadas,
más conocidas son las de Programa- livianas, etc. UP está basado en tres
ción Extrema (XP), Scrum y Cristal; principios: es dirigido por casos de
las cuales comparten características uso, centrado en la arquitectura e
pero se distinguen explícitamente en iterativo incremental.
sus fundamentos. La metodología
XP se estructura alrededor de cinco Es interesante notar que los funda-
valores: comunicación, realimenta- mentos de UP se refieren a la tecno-
ción, simplicidad, coraje y respeto. logía y no a las personas a diferencia
En Scrum, aceptando que los proble- de lo que ocurre con las tres metodo-
mas no pueden ser totalmente defi- logías anteriores.
nidos, el énfasis está en maximizar
la capacidad del equipo para res-
ponder con entregas frecuentes a los Manifiesto ágil
requerimientos que vayan surgiendo En enero del 2001 se reunió un
en el proceso. Cristal tiene como grupo de diecisiete ingenieros de
prioridades la eficacia del producto, software interesados en compartir
la eficiencia del trabajo y la comodi- sus experiencias para descubrir
dad del ambiente de trabajo; y como mejores maneras de desarrollar
principios, la entrega frecuente, el software; los creadores de XP,
66 Sistemas
Scrum y Cristal participaron en ese casos, se han interpretado con la
encuentro. mirada antigua y han sido asumidas
simplemente como otra forma de
El equipo de trabajo consideró inte- hacer las cosas; o peor aún, como
resante sintetizar los acuerdos pro- sucede en algunos casos, como una
ducto de esta reunión y dar un nom- disculpa para no utilizar ingeniería
bre a esa tendencia; así aparecieron en los procesos de desarrollo de
la palabra ágil, cualificando el de- software.
sarrollo de software, y el conocido
Manifiesto para el desarrollo ágil de
software [7]. En esta declaración se Evaluación
especifica la prioridad que a juicio Actualmente no existen modelos
del equipo debe darse a los diferentes reconocidos para evaluar la agilidad
elementos presentes en el desarrollo en el desarrollo de software. Sin em-
de software: privilegiar individuos e bargo, cuando se realiza este tipo de
interacciones sobre procesos y he- evaluación el énfasis no está en los
rramientas, software que funciona procesos, como ocurre en los mode-
sobre documentación exhaustiva, los tradicionales de valoración, sino
colaboración con el cliente sobre en los equipos específicos en acción.
negociación de contratos y respuesta Por ejemplo, S. Amber, un consultor
al cambio sobre seguimiento de un en temas ágiles, realiza la evaluación
plan. en cuatro etapas.

A partir de esta reunión, por obvias En la primera de ellas solicita una


razones, XP, Scrum y Cristal son reunión con sus clientes y examina
llamadas metodologías ágiles de de-
sarrollo al igual que las nuevas pro-
puestas que acojan el Manifiesto.

Si estas metodologías ágiles se asu-


mieran como una respuesta en cons-
trucción de la ingeniería de software
a la concepción moderna del mundo,
que debe ser previamente compren-
dida y aceptada, podrían ser un buen
punto de inflexión en la construcción
de propuestas más efectivas para
desarrollar software que no exijan
certezas inalcanzables. En muchos
Sistemas 67
el conjunto de pruebas de regresión En la última etapa busca obtener
en ejecución; si el equipo no puede evidencias del estado de lideraz-
cumplir fácilmente con esos reque- go, empoderamiento y cooperación
rimientos, hay una alta probabili- del equipo de trabajo y el nivel de
dad de que no esté siguiendo una automatización de su ambiente de
aproximación ágil. Luego solicita desarrollo. [8]
ver el software en ejecución y el
código fuente, que debe ser de alta Para evidenciar la relación entre la
calidad y estar bajo control de con- evaluación propuesta por Amber con
figuración, y el procedimiento para el Manifiesto, en la siguiente tabla
manejar el cambio de requerimien- se presenta la correspondencia en-
tos; si el equipo responde adecua- tre los valores y cinco de los seis
damente, es casi seguro que está elementos incorporados a la revi-
tomando una aproximación ágil. sión.

Conclusiones de la misma desde su profesión y los


Es indispensable aprender a vivir medios que se han desarrollado para
en un mundo incierto. De ahí la manejarla.
necesidad de que los profesionales
conozcan las propuestas que ha de- Así mismo, se requiere que los
sarrollado su disciplina para afrontar
ingenieros de software estén más
la incertidumbre.
dispuestos a explorar las soluciones
propuestas por otras disciplinas y
Específicamente, se debe ofrecer a
los estudiantes y profesionales de ofrecer aquellos elementos de las
Ingeniería de Software recursos que suyas que consideren importantes y
les permitan conocer el contexto ge- que puedan extrapolarse para traba-
neral de la incertidumbre, la visión jos en otras áreas.
68 Sistemas
Notas de pie de página [4] Si Ahir, S. (2005) “The Agil Unified Pro-
cess” [en línea], disponible en home.comcast.
1
Filosofo francés. Presidente de la Agencia Euro-
net/~salhir/TheAgileUnifiedProcess.PDF
pea para la Cultura. Presidente de la Asociación
para el Pensamiento Complejo.
[5] Flower, M. (2005) “The New Methodology”
[en línea], disponible en http://martinfowler.com/
articles/newMethodology.html
Referencias
[6] Mendinilla, N. (2005), En busca de respuestas
[1] Sorman, G. (1992), Los verdaderos pensa-
dores de nuestro tiempo, Colombia, Seix- Barral, para la ingeniería de software [en línea], disponi-
cap. II, pp. 35-54 ble en http://is.ls.fi.upm.es/udis/docencia/proyec-
to/docs/FilosofiaIS.pdf
[2] Organización de las Naciones Unidas para
la Educación, la Ciencia y la Cultura (UNESCO),
(1997) “Educación para un futuro sostenible” [7] Kent, B. et al. (2001), “Manifesto for Agile
[en línea], UNESCO, disponible en http://unes- Software Development” [en linea], disponible en
doc.unesco.org/images/0011/001106/110686S.pdf http://www.agilemanifesto.org/
[3] Morin, E. (2001) “Los siete saberes necesa-
[8] Ambler, S. (2005), “The Agile Edge: How Agi-
rios para la educación del futuro”, [en línea],
UNESCO, disponible en http://unesdoc.unesco. le Are You?” [en línea], disponible en http://www.
org/images/0011/001177/117740so.pdf ddj.com/dept/architect/184415445?cid=Ambysoft

María Irma Díaz. Máster en Ingeniería de Software de la Universidad Politécnica de


Madrid e Ingeniero de Sistemas y Computación de la Universidad de los Andes. Profesora
adscrita al Centro de Estudios de Ingeniería de Software de la Decanatura de Ingeniería
de Sistemas de la Escuela Colombiana de Ingeniería Julio Garavito. Experiencia en las
áreas de Ingeniería de Software e Ingeniería de Conocimiento.

Sistemas 69

Вам также может понравиться