You are on page 1of 2

En qué consiste la dificultad del desarrollo de software?

La complejidad del desarrollo de software en las siguientes causas raíz:

El software es un intangible difícil de visualizar su avance, en particular lo referente a
arquitectura. Cuando se está mandando hacer una obra civil, sea una casa o un puente, como
usuario puedo ver cómo está avanzando la estructura y la obra en sí. Si existe una relación o
un cambio de estructura es más fácil de visualizar con todos los implicados. En software el
avance es difícil de medir: una pantalla no necesariamente demuestra el avance o la dificultad
que hubo en generarla.

El software está lleno de relaciones difíciles de controlar, por su cantidad o por su
sutilidad. Los requerimientos están relacionados entre sí, de forma que es muy difícil de
mantener en mente, ni mucho menos en la vista. El diseño está relacionado entre sí, y las
líneas de código también tienen sus propias relaciones. Las relaciones son fuertes y sutiles,
dando siempre la posibilidad que un cambio en requerimientos, diseño o código lleve a
consecuencias que no se podían prever. Esto también causa dificultad para probar el software.

La base del desarrollo es la comunicación entre diferentes personas de distintos
perfiles: cliente, usuarios, analistas de requerimientos, arquitectura, diseñadores y
desarrolladores, probadores, analistas de pruebas, personas de soporte y operación. La
comunicación tiene tanta variabilidad que hay posibilidad de ambigüedades y diferencias de
interpretación dependiendo del paradigma que cada uno tenga en la cabeza.

El desarrollo es difícil de estimar por la cantidad de variables incluidas: interpretaciones
de requerimientos, retos tecnológicos, cambios en los requerimientos por desconocimiento,
por modificaciones en el negocio o por entendimiento del negocio.

La probabilidad de cambio de los requerimientos es muy alta, dado que los negocios son
cambiantes lo que ocasiona que las prioridades y las características del software
Todo esto se agrava entre más grande sea un proyecto porque hay más requerimientos (con
sus relaciones) y más personas involucradas.
Y las metodologías realmente ayudan?
Las metodologías recogen de forma organizada mejores prácticas demostradas en la industria
para su correcta aplicación. No están hechas para llenar de formatos el proyecto, ni para
certificar la empresa.
La correcta aplicación de una metodología significa llevar las mejores prácticas al día a día del
proyecto, y hacer que mejore la satisfacción del usuario y el valor que el negocio recibe.
El desarrollo de software es un juego de equipo, con los retos que significa hacer que un
equipo juegue de forma coordinada y con resultados. Haciendo la comparación con algún
equipo deportivo, la metodología nos dice los roles de los jugadores, las posiciones de los
mismos y que se espera de cada uno de ellos. Son diferente las jugadas y los roles de un

equipo de microfútbol, a un equipo de futbol de campo, así como son distintos los roles para
proyectos pequeños, a los medianos y los grandes.
Dentro de la misma cantidad de jugadores también es diferente la forma como se aproxima al
triunfo del partido. Por ejemplo, en voleibol existen las técnicas de seis largo, la de seis corto,
la de dos bloqueadores o la de uno solo. Dependiendo del conocimiento del equipo y sus
habilidades, el técnico decide utilizar la forma más apropiada.
Pero no se puede esperar que con sólo una vez que el técnico “capacite” a sus jugadores, las
personas sepan ya cómo es que deben interactuar entre ellos. Para que haya un buen equipo,
hay que practicar, fallar, corregir y volver a practicar. Una jugada se practica y se corrige, hasta
que salga adecuadamente. Además, las jugadas dependen del tipo de juego, del contrincante y
del momento en el partido.
Posiblemente, en nuestros equipos de desarrollo de software no tenemos tanto espacio para
practicar tantas veces. Pero es necesario practicar y corregir, sobre la misma técnica de jugada.
Comúnmente, se inicia un proyecto con cierta técnica (metodología) y como el equipo no es
productivo inmediatamente, entonces la metodología no funciona!!. ( Es como decir que la
técnica de seis largo no funciona para el voleibol ) Y la conclusión es que se debe cambiar por
la siguiente metodología de moda que está en la lista del momento, o simplemente dejar de
intentarlo y seguir en el caos y la presión constante. Para la correcta implementación de una
metodología se requiere de practica entre sus integrantes, que cada uno entienda su rol
realmente, y entienda lo que se espera de él y de las otras personas. Cuando digo entender, no
me refiero a tomar un curso o leer un libro, sino practicar hasta que quede aprehendido y se
vuelva un hábito.
Una metodología funciona correctamente no cuando su documentación está con todos los
formatos, sino cuando sus principios son llevados adecuadamente, cuando cada una de las
personas del equipo realiza correctamente su rol, entiende lo que espera del resto de las
personas y es clara la forma de comunicarse con ellas. No es que se necesite demasiado
tiempo para su implementación, lo que se requiere es compromiso de parte de las directivas y
también por el equipo.
El resultado es el aumento de productividad en muy buenas dimensiones

Fuente: Magis.com