domingo, 15 de junio de 2014

Desarrollo de Software, Locura


Los Ingenieros de Software en Colombia estamos
Locos... y los Usuarios también


Hablar de diseño y desarrollo de software en Colombia es un cuento o un chiste como el siguiente.

- Hola, Pepe, ¿Va todo bien?
- Sí. Por cierto, ya que te encuentro, quería preguntarte algo. ¿Sigues siendo gerente de sistemas en aquella empresa?
- Sí, ¿Por qué?
- Porque el nene ha terminado la ESO (Enseñanza Secundaria Obligatoria) y yo quería que se fuera fogueando en la vida y empezara a ganarse un dinerillo.
- Si quieres, le busco un hueco….
- ¡Fantástico! Pero en algún puesto pequeño, para que empiece.
- Bueno, puedo hacer que entre como asesor informático. No tiene que saber hacer nada, sólo venir cuando le digo y decir un par de sandeces. Un millón y medio de pesos al mes más gastos. ¿Está bien?
- Ni en sueños… Es mucho dinero y un puesto muy alto. ¿No tendrás algo más simple?
- Auditor de sistemas. Tiene que sacarle punta a lo que ve en la pantalla y alguna otra estupidez. Un millón de pesos al mes más comidas.
- ¿Estás loco? Algo más humilde… que acaba de empezar.
- Mmmm… ya sé. Administrador de base de datos. Un par de comandos en Unix y poner a parir a los programadores. 600.000 pesos al mes más viajes.
- Mmm, no sé… ¿Algo más básico?
- Puede ser project leader o analista. 500.000 pesos  al mes y lo que tiene que hacer es nada. Lo que le pidan, dárselo a los programadores.
- ¿Y lo más inicial?
- Lo único que queda es programador. Tiene que manejar muchas herramientas de programación, pelear con los analistas, Project leaders, los DBA y los usuarios; quedarse después de hora sin extras y trabajar como un burro para que los demás nos llevemos los laureles. 140.000 pesos de sueldo base, y trabajar de 8 a 18 horas diarias.
- Algo así le vendría bien…
- ¡IMPOSIBLE. Para eso tiene que ser licenciado en Informática!!

Y aunque sea un chiste y en vez de pesos hable de pesetas y suene paradójico es la realidad que se evidencia en Colombia. Pero hoy en día, para los ingenieros de sistemas que  se enfrenan ante muchos problemas como:
-Afán...
-Competencia… Por las mismas necesidades de subsistir. "A veces nuestros amigos se convierten en enemigos".

-Ignorancia… La pobreza como otros obstáculos que dificultan la educación de las personas por la privatización de ésta, por causa de varios políticos llevan a la mayoría de las personas a vivir en ignorancia, y si bien la frase que no recuerda lo siguiente “La ignorancia produce más ignorancia y pobreza”. Claro, unos son más ignorantes que otros, pero se generan conflictos sociales cuando se quiere encontrar la solución forzadamente,   
Dificultades económicas que tiende a crecer en todo el mundo empezando por  Colombia…
"La crisis nos hace obsoletos, todo por dar más importancia al dinero que a la calidad".

El rico no trabaja arduamente, se asegura en estar en la comodidad, al pobre le corresponde el trabajo más pesado y gana menos. La distribución de las ganancias son injustas. Es importante que todos sean  beneficiados, todos deban ayudar de la manera justa: esto quiere decir que la mejor manera de sacar a alguien de la crisis es salvarlo de la ignorancia.
Todo lo anterior ha hecho que:
El precio del software por la competencia se devaluado. Esto hace que el ingeniero no gane lo justo por el desarrollo del software.  Crear software de baja calidad cuando por la ignorancia los desarrolladores se dejan llevar por el afán cuando el cliente pide el producto rápido y se emplee mal el modelo DRA.  Realizar un trabajo si ética prometiendo demasiado sin especificaciones y entregando un producto mediocre. Y las dificultades para que el cliente y el ingeniero de sistemas estén satisfechos con los resultados del software no se tienen en cuenta o casi nunca se busca la satisfacción de las dos partes.
Con las consecuencias anteriores más “la ignorancia del cliente”, es más difícil cambiar las causas que genera la crisis para hacer el software de calidad y rentable.
Un desarrollador de software con ética nunca debe participar en  alguno de los casos que se ven  continuación:
 No estafar al cliente, nunca perjudicarlo.
 No llevar al cliente a hacer cosas que no necesitan.
No dejar que el cliente ponga al contratado a hacer cosas que el mismo cliente no necesita.
"Siempre para evitar un problema es mejor decir la verdad, cuando no somos sinceros tarde o temprano entramos en problemas".
“El ingeniero de sistemas debe comportarse con el cliente a sí mismo como pasa entre el médico y el paciente”.
También el profesional mencionado debe actuar diligentemente ante el cliente como pasa entre un arquitecto honesto y astuto con su cliente…
“todo cambio en la obra se debe tener en cuenta: si gasta más materiales se debe cobrar la adición; si gasta menos, pues se cobra menos.”
Con estos aportes es necesario tener en cuenta que el diseño y desarrollo de un buen  software se deben poner de acuerdo tanto el cliente como el desarrollador y establecer los criterios y o pautas del producto,  en sí se deben aplicar uno de los modelos que se plantean en la ingeniería de software para obtener un producto satisfactorio.


"Tenemos que cambiar la tradicional actitud ante la construcción de software. En vez de pensar que nuestra principal tarea es indicar a un ordenador qué hacer, concentrémonos en explicar a las personas lo que queremos que el ordenador haga"
-- Donald E. Knuth