Desarrollando con sentido

Desarrollando con sentido

Con el paso del tiempo, como integrante del equipo de Cymasuite he podido ir de manera progresiva constatando que la triada usuario/a, cultura, tecnología/técnica es esencial para el desarrollo de productos sostenibles.  Evidentemente, a diferencia de otras experiencias profesionales, en Cymasuite, trabajamos de manera colaborativa, y nuestra función desde desarrollo y el backend es tanto abstraer, como también  llevar a código eso que se necesita, requiere o proyecta.

De acuerdo a Vega L (2009) “El proceso de desarrollo de productos tecnológicos colaborativos poniendo énfasis en la identificación de los diversos obstáculos que se presentan a lo largo del mismo. Se discuten diversos aspectos técnicos, organizacionales y de comunicación que afectan al proceso convirtiéndose en resistencias o barreras que lo obstaculizan y que pueden llegar inclusive a provocar su abandono”. Lo anterior desde una perspectiva transdisciplinaria, con el fin de conectar producto, idea, propósito y usuarios/as. A partir de esto, es que uno de los desafíos de la construcción de cualquier proyecto tecnológico, no solo está en la funcionalidad misma, sino que también desde la administración de la misma. Cuestión, que muchas veces queda en un segundo plano u olvidado en un área de soporte, obviando que la importancia de la metodología de desarrollo continuo que se aplica, no debe ser solo al producto, sino que también en lo interno que lo administra.



Cuando me preguntaron si tuviera que escribir algo sobre el proceso, al comienzo pensé, que era lógico que hablará del desarrollo, tecnicismo y sobre un poco más de mi trabajo, pero conversando con Hugo, se me ocurrió contar un poco el proceso de construcción de las secciones de información que hemos creado, el que pensamos genera valor desde diversos puntos de vista y de alguna manera nos obliga a continuamente estar desarrollando sobre esto, para facilitar el trabajo de nuestro equipo y de muchos usuarios que van un poco más allá de la utilización de la plataforma como herramienta de gestión contable digital. Para guiarme me propuse dos preguntas activadoras que iré respondiendo para que se entienda mi propuesta.


Deployando 
Tal como les comenté en un principio, no entraré a profundizar mucho en tecnicismos, técnicas ni en lógica de desarrollo, ya que no es el objetivo del presente artículo, pero la bajada es un poco sugerente, y tal vez para quien lea no es muy familiar, por lo que me detengo para explicar que el término deployar en términos generales, es utilizada para describir que algo fue colocado en su posición. También se utiliza cuando un sistema es habilitado para su uso, ya sea un ambiente de desarrollo, para realizar pruebas o producción. Nuestro foco luego de algunas reuniones, roadmap, conversaciones, daily comprendimos la importancia de situar rápidamente un espacio para complicar, compartir y difundir la información, pero no solo exponerla, sino que administrar.

Acá surge la premisa: ¿Por qué se hizo una plataforma para guardar esta información? 

En la actualidad, la creación de contenido es una parte esencial de la estrategia de marketing y de comunicación de cualquier empresa o institución. Sin embargo, muchas veces la tarea de crear contenido puede ser tediosa y consumir mucho tiempo y esfuerzo. Es por eso que surgió la necesidad de contar con una plataforma que permitiera la creación de contenido de manera más eficiente y efectiva.

De esta manera también sería ideal para poder informar a los usuarios sobre diferentes novedades del mundo de la contabilidad.



Mergeando 
Al igual que deployar, merge tiene un significado en el mundo de los desarrolladores, en simple esto es la operación que permite "mezclar" el código correspondiente a dos modificaciones simultáneas hechas en paralelo a un mismo programa. Lo anterior, nos abre la segunda pregunta  ¿Cómo se desarrolló?

Para esta plataforma, la selección de la tecnología o stack tecnológico es fundamental para lo que pueda hacer o no como plataforma, herramienta, Api, o app, en nuestro caso se eligió Ruby on Rails como tecnología principal para el backend debido a su facilidad de uso, rapidez de desarrollo y soporte de una gran cantidad de bibliotecas y complementos.

El primer paso en la creación de esta plataforma fue diseñar la arquitectura del sistema. Se decidió seguir una arquitectura, que nos diera la oportunidad  separar la lógica de negocio de la presentación de datos. Esto se logra utilizando los modelos de Rails para la representación de datos, las vistas para la presentación de datos y los controladores para manejar la lógica de negocio.

Como segundo paso, se procedió a crear la base de datos. Para esto se utilizó un sistema de gestión de bases de datos relacional que es compatible con Rails, que nos ofrece  una gran cantidad de herramientas y características para el almacenamiento y gestión de datos, haciendo más dúctil el desarrollo actual y sobre todo el futuro.

Una vez que se estableció la base de datos, se procedió como tercer paso,  crear los modelos de Rails para representar los diferentes tipos de contenido. En este tema, los modelos de Rails permiten mapear las tablas de la base de datos en objetos Ruby, lo que facilita el manejo de los datos.


Con la definición de los elementos antes señalados, pasamos a la funcionalidad, la 
de la plataforma. Acá se crearon diferentes secciones para la creación de diferentes tipos de contenido, como artículos, términos y noticias. Cada sección cuenta con características y herramientas específicas, como un editor de texto con capacidad para imágenes y enlaces. Además de las funcionalidades de edición de contenido ya publicado, eliminación y creación. Hemos avanzado continuamente en experiencia de usuario con el equipo de Hype y contenido, en los que pasamos a revisión de tamaños, paginación, orden, colores, marca y mejora continua. 

Si bien, todo es posible desde el área de desarrollo no todo se debe hacer, y para esto es imprescindible la dirección de desarrollo, que viene propuesta y es trabajada de manera conjunta para llegar a mejores resultados. Esto es como todo, una casa o auto no se vende solo por como tiene los cimientos o el motor, y tampoco se venden por como están pintados o como es el exterior, debe ser un complemento.

Esto es lo que intentamos hacer con la construcción de una sección que entendemos es significativa para lo que Cymasuite quiere hacer, ya que la transformación de un área, la innovación sobre la misma pasa también por un cambio en el relacionamiento y la comunicación que se quiere establecer con quienes utilizan un producto tecnológico.