domingo, 25 de abril de 2010

Tips para implementar tecnologías de desarrollos

En muchas ocasiones que nos solicitan una aplicación cometemos el error de seleccionar la tecnología de moda simplemente porque tiene una mejor apariencia para el usuario o simplemente porque es mas sencillo programar en esta nueva tecnología que en algún otro lenguaje que utilizábamos años atrás. Yo cometí ese error desarrollando una aplicación web bajo ASP.Net e implementando la tecnología AJAX en varias paginas hasta tal punto de tener una herramienta muy vistosa para el usuario. Tres (3) años después la historia es que la herramienta tan vistosa es lenta, corriendo en un hosting des-actualizado (que es lo que el cliente puede pagar).

En dos años brindando servicios a la empresa con otros desarrollos, ellos me piden que lo ayude con la herramienta porque se ha vuelto muy pesada con la cantidad de información que maneja, esto me llevaba a hacer el web site por completo casi nuevamente a nivel de interfaz de usuario. Hace unos dias le entregué la nueva versión, dejando al cliente con la boca abierta, implementando Javascript, JQuery en otros casos, y menos AJAX y la herramienta corre mucho mejor.

Ese mismo error están cometiendo en una empresa a la que le brindo servicio, implementando Silverlight para una herramienta web que estamos desarrollando. El Web Site está en un proceso avanzado, y en este momento es que el encargado del proyecto se pregunta porque el Web Site está tan lento, y que los componentes son muy bonitos pero lentos. Yo había realizado la advertencia hace unos 6 meses cuando iniciaron el proyecto(ya que había realizados unas pruebas, y por la experiencia que ya había tenido con el Ajax) e hicieron caso omiso a mis comentarios. El tiempo me ha dado la razón, no todo lo nuevo quiere decir que es mejor, y siempre tienen que realizarse algunas preguntas antes de hacer un nuevo desarrollo:

1 - Que hardware va a soportar esta herramienta o cuales son los requisitos mínimos y recomendados de la nueva aplicación?
2 - Conozco el producto en el que voy a realizar el desarrollo?
3 - Tengo un personal preparado para manejar este proyecto con esta nueva tecnología?
4 - A quienes va dirigido mi desarrollo (es muy importante, ya que los usuarios entre menos conocimientos tienen, más demandante son?

No hay comentarios: