martes, 12 de abril de 2011

Sobre el estado del arte y otras penas en el desarrollo de software (II)

Saludos a todos,

En este post continuaré hablando un poco más de los diferentes implicados en el "estado del arte" de la industria del software, algunas de sus acciones y las consecuencias de estas, no sin antes aclarar que no intento ni mucho menos dar solución al problema que se planteó en el primer post, solo exponer algunas otras ideas personales sobre lo que pienso está ocurriendo, y como creo yo "que no debería ser", ya que "el deber ser" está supeditado al tipo de escenario que nos enfrentemos, sin embargo lo que es claro es que hay cosas que estan sucediendo y estan yendo en detrimento de nuestra profesión y del trabajo que realizamos como Ingenieros de Software.


Empezaré por decir que amo la academia y la disciplina, y admiro profundamente a las personas que dedican su vida a investigar y hacer cosas que a los demás nos parecen "complicadísimas", sin embargo con lo que no estoy de acuerdo es con que la academia se dedique a soñar y se olvide de "la vida real", y con eso quiero decir, que se olvidan de lo que nos toca enfrentar a los profesionales que estamos día a día en una empresa y no en laboratorios de investigación, o dedicados exclusivamente al ámbito académico.


¿A que va este comentario?, las propuestas alrededor de la ingeniería de software son geniales, diferentes metodologías, nuevos detalles a los procesos, modelos y meta modelos, y metamodelos de metamodelos, sin embargo los que vale la pena cuestionarse es ¿qué tan aplicables son todos esos aportes a nuestro trabajo?, pero al real, al que nos toca, y no al que deseariamos tener.

Cuanta evolución tendria que tener una compañia a nivel de usuarios y de profesionales de sistemas, que son los mismos hace años dando soporte a procesos de negocio, para poder adoptar algunas metodologías tan abstractas y soñadoras.

No digo que no se haga, alguien tiene que hacerlo, pero hay un tema que la academia está olvidado, y es acercarse un poco a la realidad de las organizaciones.

Las teorias han evolucionado pero no así las personas y compañias, de hecho me atrevería a decir la mayoría no lo han hecho. Muchos académicos dan por sentado que esta evolución si se ha dado y es de esa forma como ofrecen consultorias o establecen parámetros a sus investigaciones, cuando muchos de nosotros aún conociendo principios y mejores prácticas estamos en escenarios donde falta muchisimo camino de madurez para adoptarlos como parte del día a día.

Todo esto tiene un trasfondo y una serie de consecuencias, al revisar las universidades de mayor prestigio, se encuentra que Maestros y Doctores, son los llamados a educar los nuevos profesionales, y eso parece tener mucho sentido, en teoría, son las personas que mayor conocimiento tienen y se han preparado para ello, pero algunos de estos estos profesionales encajan en la primera perspectiva que presenté (si, la de ser soñadores) y es así como empiezan a generarse varios efectos.

Por un lado se encuentran los docentes de mayor edad, cuya experiencia valiosisima ha perdido cierta vigencia en el tiempo, por otro lado están los profesionales más jóvenes que nunca tuvieron experiencia fuera del ámbito académico, que sin embargo han dedicado mucho de su vida a estudiar y prepararse, pero que se encuentran totalmente alejados de la realidad circundante fuera de los textos y contextos académicos y por otro lado aquellos que se hacen docentes sin tener ninguna clase de respeto o interés por la educación de otro, si no unicamente con un interés económico.

Da pena encontrar muchos de estos docentes intentar educar a los nuevos profesionales desde solo literatura, y no tener argumentos, ni herramientas suficientes para determinar en que escenarios las herramientas teóricas tienen o no un nivel de aplicabilidad, o bien, hasta que nivel podría resultar exitoso y/o apropiado.

Los nuevos profesionales, si bien estan recibiendo fundamentación teorica, no están siendo preparados en todos los casos para la situación real que vive la industria del software, eso de mano con que la teoría sobre metodologías, principios y mejores prácticas es excelente, pero también lo es, que los nuevos profesionales aprendan sobre temas de vanguardia tecnológica y salgan preparados para afrontar un mundo que está cambiando más rápido de lo que las instituciones educativas se están adaptando a el, y no solo como instituciones, hay que mencionar, que la responsabilidad de actualizarse está tambien en los docentes, y que estos deberían poner de su parte para poder ofrecer a los nuevos profesionales un conocimiento acorde a los constantes cambios que está sufriendo el entorno, a nivel de tecnologías y a nivel de mejores prácticas que apliquen a la realidad de las compañias en las que la mayoría terminarán, ¡es que hasta la teoría hay que actualizarla! y no quedarse solo con los fundamentos que se vieron cuando recién nos graduamos como profesionales (y eso va para todos). 

Es así como al llegar a entornos como los que comentaba antes en donde enormes empresan funcionan exitosamente, y lo han hecho durante décadas sin la necesidad de aplicar métodologías, los nuevos profesionales terminar por creer que todo lo que vieron en la universidad no es más que simple teoría y que en realidad no sirve de nada, lo que finalmente convertirá la situación en un circulo vicioso, por que continuarán trabajando sin pensar en que siempre hay mejores formas de hacer las cosas.

Por otro lado estan los empleados con años en la empresa, absolutamente resistentes al cambio y cuestionando cada día, por que deberían cambiar "su modelo de trabajo" que da soporte perfectamente a las necesidades de su negocio.

Bien, estos últimos, tienen razón, ¡funciona!, lo que quizá no tienen en la cabeza es, que pasará cuando ellos no esten, y la falta de procesos formales haya incluso dejado a la organización sin documentación acerca de sus decisiones técnicas. En el futuro vendrán otros que no entenderán "como hacia para funcionar ese negocio, de esa manera" e incluso un tema menos importante pero que merece ser tenido en cuenta, será puesto en tela de juicio, si de verdad haciamos correctamente nuestro trabajo.

Puede que el problema de casi todo radique ahí, la mayoria de nosotros trabajamos en parte para nosotros mismos y no para un negocio, puesto que si uno trabajara para un negocio con absoluta ética y responsabilidad, lucharía por que dicho negocio no dependa en ninguna forma de uno, ni en el presente inmediato, ni en el futuro, por el contrario, todas sus acciones estarían encaminadas a que cualquier otro pudiese seguir adelante con la misma labor que uno desempeña, pero es probable que el deseo de ser imprecindibles y el temor de perder nuestros empleos, haga que adoptemos actitudes quiza saludables para nosotros, pero absolutamente nocivas para el futuro de las organizaciones.

Ahora, las organizaciones, ellas no son ni mucho menos los "personajes desvalidos" de esta historia, de hecho tienen una gran responsabilidad de entender, que si sus profesionales buscan mejores formas de hacer las cosas, necesitan capacitación y tiempo, la primera por lo que ya se mencionó, el conocimiento necesita actualizarse y renovarse constantemente, y la segunda, por que para que el conocimiento genere efectos en las organizaciones, necesita de tiempo de adopción y estabilización, sin embargo, hoy en día las "administraciones" esperan que las personas sin obtener capacitación ni tiempos de adopcion, se ajusten a las necesidades y responda de forma inmediata y coherente a las exigencias que se realizan.

Continuemos en la vía de analizar las consecuencias, las organizaciones al encontrar que sus propios profesionales no pueden responder a sus necesidades, contratan a alguien que lo haga, ese alguien termina siendo proveedores con personal joven y altamente capacitado, que en efecto pueden responder más rápido a las solicitudes, y si pensaron que con eso se resolvía el problema, veamos como no es así.

Al ser un sobre costo adicional, las organizaciones deben obtener proveedores que además de hacer bien su trabajo ofrezcan tarifas acordes a lo que está dispuesto a invertir el negocio (que por cierto, no siempre es mucho), ahora bien, increiblemente resulta en algunos casos (por no ser dura y decir la mayoria), que eso de "proveedores que lo hagan bien" es un tema que puede omitirse, pero jamás podrá omitirse el tema de buscar tarifas economicas.


En esta medida los proveedores terminan por buscar esquemas de trabajo a través de los cuales poder ofrecer a sus clientes, tarifas cada vez más económicas, esos esquemas de trabajo implican variadas exploraciones sobre las metodologías de trabajo que ofreciendo calidad puedan estar acordes al esquema económico que se persigue, sin embargo es claro, que ejecutar procesos y construir productos de calidad, implica sobre costos, ¿cuales? no es lo mismo tener 5 desarrolladores construyendo un producto de software, a tener esos mismos 5 desarrolladores, mas un diseñador y un analista funcional, y como no es suficiente, un arquitecto, un lider tecnico y un gerente de proyectos, tester y analistas de procesos, todo en busca de ejecutar mejores metodologías de trabajo, interdisciplinarias y que cubran coherentemente las necesidades de calidad del cliente. 

Ante esta situación, pareciera que las empresas proveedoras encontraran siempre las mismas salidas al problema, abaratar costos llevando a sus empleados a esquemas salariales flexibles donde el pago de impuestos a los gobiernos disminuya, y no bastando esto, contratando nuevos profesionales, incluso no graduados o con poca experiencia y despedir al personal más capacitado pero que les resulta costoso sostener. 

Veamos, parece que al fin se cerró el circulo, volvimos al primer lugar, la academia, estos nuevos profesionales, que facilitan a las empresas proveedoras de servicios, abaratar su mano de obra, estaban sometidos a todas esas circunstancias sobre las falencias en la educación que reciben y bueno, (aunque no debiera ser así) eso puede pasar, el conocimiento puede irse adquiriendo, pero, ¿la conciencia? ¿la ética? ¿la comprensión sobre que las mejores formas de hacer las cosas?

Lo que ocurre con estos profesionales es que entran en otro circulo vicioso, llegan a una empresa llena de procesos estructurados donde aplican todas esas teorias que les daban en la universidad, sin embargo al no entenderlo, piensan que es un trabajo engorroso, y no tan necesario y ejecutan aquello que exclusivamente les obligan a hacer, y vienen y van las quejas de los clientes sobre todos los problemas del software que se recibe y la cantidad de reprocesos que tienen que realizarse, la cantidad exhorbitante de bugs encontrados, las situaciones criticas a las que se somete el negocio cuando se encuentran serios defectos en el software... etc, etc, etc

!Momento¡, ¿acaso ese no es el mismo escenario donde la gente buscaba un esquema de calidad para atender a las empresas clientes?... será que como dicen por ahí "¿lo barato sale caro?", ¿acaso las empresas clientes, tampoco se dan cuenta que la calidad cuesta? Y no solo en dinero, tambien en tiempo, y entonces ¿someten a sus proveedores a presiones excesivas con tal de encontrar quien responda por "a como de lugar" con las necesidades del negocio?

Lo último que estoy sugiriendo con todo esto es que los nuevos profesionales no reciban oportunidades, no, a eso no voy, de lo que hablo es de que existe una falta de conciencia generalizada en todos los ámbitos, y que mientras no existan sinergia entre tantos entes que componen este ecosistema, continuaremos cometiendo errores por más teorías que existan alrededor de la Ingeniería de Software, es decir seguiremos caminando en círculos.

Espero que sea claro en este punto, por qué toda esta situación va en detrimento de nuestra profesión, ser un mejor profesional, cada vez más capacitado, no en todos los casos resulta una ventaja, muchos de nosotros terminamos en el papel de los analistas que nos dedicamos a atender un negocio y a dejar que otros que supuestamente si lo saben hacer, den las soluciones, y si no nos tocamos a modo personal, haremos parte del enorme y repetitivo círculo vicioso en el que nos hayamos inmersos.


Este no es un panorama deseable, en esa medida la desmotivación permanente de los profesionales, termina generando un mal ambiente generalizado en el cual cada día muchas menos personas tienen entre sus perspectivas profesionales ser un ingenieria de sistemas, y es que ¿para qué lo querrian, si son más aptos y tendrán mayores oportunidades, estudiando por su cuenta y si terminar carreras profesionales, que a la larga solo duran más tiempo y producen los mismos o peores resultados con respecto a las oportunidades laborales y sin perderse 5 años de academia?. 

Ojalá sea claro que mi tono ante todo esto es absolutamente sarcástico e irónico, no estoy de acuerdo, no es esa las perspectiva que deberíamos tener, ni profesionales, ni instituciones, esta profesión es excelente, y es admirable todo lo que podemos lograr, todos los ámbitos de la vida de las personas en los que podemos influir, igual que otras profesiones tan admirables, como la medicina y el derecho.

El cambio quizá empieza a modo personal, son cantidades de personas las que tienen que cambiar, y no estoy segura de si ello es posible, pero esas personas son las que luego tendran la posibilidad de estar al frente de organizaciones e instituciones a través de las cuales se puede generar un cambio, y en esa medida, nosotros, los que reconocemos la importancia de este asunto, debemos llevar el mensaje y transmitirlo en los ámbitos en los cuales participamos, no solo adaptarnos a donde lleguemos y dejarnos consumir por la situación en la que se encuentran, si no generar el cambio en los espacios donde participamos y hacer valer con hechos y buen trabajo, lo que podemos hacer como profesionales, como no solo excelentes si no excepcionales Ingenieros de Software.

Los invito a que debatamos y compartamos opiniones acerca de esta situación, y los espero en un próximo post.

1 comentario:

Anónimo dijo...

Sorey, soy Ing de Sistemas, recien graduado, en este momento entré a laborar como ing de soporte de una plataforma importante en mi universidad, además estudio mi especialización en desarrollo de software. Quería decirte que me gusta tu punto de vista acerca de nuestro papel de ing en la industria, posición que intento mantener a través de la realización correcta de procesos, y basándome en la arquitectura software. Como soy nuevo en este campo y después de haber leido tu presentación acerca de la arquitectura, me gustaría que me recomendaras articulos ó información que consideres relevante para mi estudio, que será también el tema principal de mi trabajo de grado para la especialización.
correo: dany.ingsis@gmail.com
Universidad del Magdalena (Santa Marta)