Desarrolladores Rails ¿un modelo mental diferente?

Estándar

Después de casi dos años integrado en un equipo que desarrolla aplicaciones en rails y tras la charla que dí este año en la Conferencia Rails 09, he reflexionado sobre si los desarrolladores rails pueden aportar un mayor valor a la hora de definir, desarrollar y ejecutar un proyecto web en comparación con un equipo de profesionales que desarrolle en otra tecnología. Recordamos que Rails es un framework de código abierto para Ruby que sirve para desarrollar aplicaciones web. A continuación comparto mi opinión sobre el tema basada en la experiencia vivida en ASpgems, una empresa que desarrolla soluciones ágiles utilizando fundamentalmente Ruby on Rails.

En mi opinión un equipo de profesionales que trabaja en rails aporta un mayor valor por que dicha tecnología tiene una serie de características que se alinean, y a la vez potencian, una determinado modelo mental, refiriéndome a una forma determinada de trabajar, una filosofía, o una forma de plantear y ejecutar un proyecto ante un cliente.

Edad de la tecnología. Rails es todavía joven, y aunque dentro de poco llamará a las puertas del mundo viejuno, si me parece una característica relevante. Un desarrollador que ha decidido sumergirse en Rails es una persona tecnologicamente activa, busca la plataforma que más valor le aporta en un determinado momento, independientemente de si se trata de una tecnología madura o existen grandes oportunidades laborales detrás. Además, al tratarse de una tecnología reciente, exige una atención especial a la evolución de la misma, una mayor nivel de actualización, un seguimiento de las posibilidades que va ofreciendo dicha tecnología así como las aportaciones que van incorporando la comunidad…todo ello nos obliga a salirnos en mayor medida de nuestra zona de confort.

Mercado y necesidades cambiantes. Nos gusta lo dinámico, sabemos que el mercado es cambiante y que el cliente no sabe lo que quiere, y por eso Rails encaja con nosotros. Aceptamos a priori la existencia de cambios y la modificación continua de requerimientos en un proyecto, tenemos interiorizado el prueba y error, escuchamos y nos ajustarnos a lo que piden los usuarios…Esta capacidad de aceptar y gestionar correctamente el cambio supone un punto de diferenciación relevante, más aún cuando estamos viviendo cambios muy importantes con la web 2.0 que afectan desde la mejora de un proceso concreto de la organización hasta el modelo de negocio en sí.

Getting Real. No creemos en la definición y desarrollo de miles de funcionalidades, nos gusta ver algo online rápido, algo que funcione, aunque no sea perfecto, ya habrá tiempo de mejorarlo con los usuarios. Somos amigos del “hazlo realidad“, de poner las cosas online rápido, algo sencillo que contenga el “core” del proyecto y testar si aporta valor o no, de interactuar con los usuarios, aprender de ellos, dejarles claro la web es suya, no nuestra, y adaptarnos a las necesidades que nos vamos trasladando.

Entornos Web. Internet esta cambiando mucho y muy rápido en estos años, parece que la web 2.0 todavía esta en su primera fase pero ya hemos visto como surgen nuevos modelos de negocio e iniciativas que aportan valor en esta nueva Era de la Colaboración. Tenemos interiorizado que las aplicaciones no son nuestras, son de nuestros usuarios, y por ellos lo importante el mantenerse abierto y predipuesto al cambio. El hecho de encontrarnos en un mercado tan cambiante y dinámico, y donde los requirimientos son dictados por los usuarios y no por el departamento de marketing también influye a construir un modelo de trabajo específico.

La naturaleza de la tecnología. Con Rails se pueden desarrollar aplicaciones web más deprisa de lo que se haría con, por ejemplo, un framework típico en Java , y sin sacrificar la calidad de la aplicación oiga! Se escriben menos líneas de código para implementar la aplicación, y si el código es pequeño quiere decir que el desarrollo es más rápido, más fácil de entender, mantener y mejorar. Una forma de desarrollar que va de la mano del “menos es más” y la modificación constante de la aplicación.

Anuncios