Justifica el uso de la tecnología.

Si hay algo que he aprendido debido al tiempo que llevo metido en el desarrollo y a la lectura de este hermoso libro es a justificar el uso de la tenologia en cada uno de mis proyectos.

A menudo esucho a amigos haciendose constantemente las siguientes preguntas: MySql o PostgreSQL? o creo que mejor Oracle?, se preguntan al momento de elegir un motor de base de datos. Cuando les toca escoger un lenguaje de programación se encuentran con: PHP o Ruby? y porque no Python? mejor Perl no?" y generalmente siempre terminan decidiendo por los rumores o decisiones de la gran mayoria de personas, pero nunca hacen una buena evaluación.

Bien estamos hablando de tecnología, no estamos hablando de "vainilla" o "chocolate", estamos a punto de tomar una decision que implica recursos economicos, humanos y lo mas importante, esta decision influira bastante en el éxito de nuestro proyecto.

No se trata de elegir una u otro opción, por tratar de demostrar nuestra superioridad frente a otras personas que tal vez usen tecnologías con menos características que la nuestra o por simplemente estar a la "moda", se trata de hacer una decision coherente, basada en nuestra realidad económica y la capacidad de nuestro equipo de trabajo para integrarse con esta tecnoloía entre otras cosas.

He visto varios amigos que ni bien escuchan la palabra "sistema" ya estan pensando en Java y Oracle sin hacer ningun tipo de estudio para la adopción de estas herramientas, son personas que se dejan llevar por la adopcion de la mayoría y lamentablemente aveces las mayorías estan equivocadas. A continuación mencionare algunos puntos que tengo en cuenta antes de elegir una herramienta para algun proyecto.

Bueno, al grano, antes de lanzarme por elegir el arma, me preocupo en lo siguiente:

  1. Software libre o privativo?: Libre como el viento, hasta ahora no he tenido la oportunidad de tener que elegir una herramienta privativa sobre una libre, por dos sencillas razones: costos de licencias y la comunidad, esta ultima recontra importante, no creo equivocarme en pensar que una herramienta con una comunidad de desarrolladores muy grande siempre sera superior a una privativa.
  2. Esta mi equipo de trabajo preparado para manejar esta herramienta?: Es muy importante saber reconocer si nuestro equipo se puede adaptar o no al uso de la herramienta. Si es que hay que realizar alguna capacitación debemos tener en cuenta el tiempo que esta tomaría.
  3. Tiene la herramienta un buen soporte en la comunidad?: Esto es muy importante, siempre prefiero herramientas que tengan relacionadas un buen foro y una muy buena lista para la ayuda en caso de dudas.
  4. Que tal es la calidad de la documentación?: En el caso de que la comunidad no sea tam amplia como esperamos, esta es una caracteristica que influira mucho en nuestra elección de la herramienta.
  5. Tengo el Hardware/Software necesario para implementar esta herramienta?: creo que esto queda claro.

Estoy seguro que existen otros puntos que tal vez estoy obviando mi intención es que esto vaya aumentando con tus comentarios.

Bien, creo que hasta aqui quedo algo claro las consideraciones a tener en cuenta al elejir una herramienta de trabajo, lo importante es tratar de evitar el pensamiento del amigo que le salta la lengua cuando escucha "sistema", yo me pregunto que diría este amigo si le comentara que Java es hijo de Smalltallk y C++, que una de los primeros entornos para desarrollar en Java creado por IBM fue hecho en Smalltalk y que la tecnología de Maquina Virtual y otras muchas tecnicas de programación fueron creadas en esta comunidad, estoy seguro que ahorita esta abriendo google y buscando información para ver si esto es verdad, y tal vez no encuentre mucho, por que hay herramientas que no tienen una gran empresa detras que les de el marketing necesario como para causar un gran ruido en la comunidad.

En mi trabajo actual por ejemplo, hemos decidido que usaremos PHP más un ORM y un pequeño framework desarollado por nosotros para nuestros pequeños proyectos, en los cuales no necesitamos mucho contenido dinámico, pero si tenemos un plazo corto de desarrollo. Por otro lado para aplicaciones mas sofisticadas hemos elejido Rails como herramienta debido a numerosas caracteristicas y a la gran comunidad detras de el, que hace que nuestro trabajo sea mas productivo, por lo consiguiente somos felices ;).

Con esto no intengo decir que con PHP o algun framework basado en el, no se puedan realizar aplicaciones sofisticadas, de hecho las hay, y muy buenas, simplemente se trata de elegir la herramienta que haya pasado la aprobación de los puntos anteriores y lo mas importante: que te sientas feliz y comodo trabajando con esta, ya que de aqui dependera mucho el éxito de tu proyecto.

Espero tus comentarios.

Ruben.

Comments

Escalabilidad y Compatibilidad

Excelente artículo Ruben, adicionalmente a los puntos mencionados que deberían tomarse en cuenta para elegir una plataforma, yo agregaría la Escalabilidad, que tenga una estructura o arquitectura que permita su crecimiento en prestaciones conjuntamente con el crecimiento del negocio.

Y el otro punto sería Compatibilidad, esto en caso que a futuro necesitemos integrarlo con otros sistemas, muy importante cuando el desarrollo es para una empresa que ya trabaja con sistemas sobre otras plataforma.

Hey man... buen artículo y

Hey man... buen artículo y muy acertado. Que hayamos elegido trabajar con PHP (cuna de nuestros primeros pininos) VS Rails (y por ende Ruby, la nueva golosina jeje) demuestra en gran parte lo importante que es elegir una buena herramienta, o conjunto de herramientas acorde a las necesidades de los requerimientos del sistema, del cliente y por supuesto: de las exigencias a posterior de los visitantes.

-----------------------------------------
William Wong Garay
Parada 410 - un podcast sobre Rails y desarrollo web

Hola HaDeZ, gracias por el

Hola HaDeZ, gracias por el comentario, efectivamente tienes toda la razón, son 2 puntos muy importantes a tener en cuenta.

En cuanto al punto de la compatibilidad, mirandolo del lado de nosotros(la web), creo que hay mucho trabajo por hacer, yo actualmente me estoy sumergiendo en REST, para lo cual creo que este libro es de lectura obligada.

willywg: lo mismo digo yo ;), y no esta demas repetirlo una vez más: Rails no es moda!.

Saludos.
Rubén.

es ruby moda?

No quiero ser aguafiesta pero me parece que Ruby on rails si es moda.
vanhouse

¿Porque crees que Ruby on Rails sí es moda?

Hola vanhouse,
Sería interesante saber cual es tu argumentación para esa opinión.

Saludos,
Pedro.
Calma y buen humor.

Ayuda a las victimas del terremoto