Soluciones para la era de los negocios digitales

En un contexto de digitalización creciente, en que las organizaciones necesitan enfocarse en los clientes y responder ágilmente a sus necesidades cambiantes, los desarrollos de software ya no son simplemente herramientas que facilitan la actividad de las empresas: hoy se convirtieron en las plataformas que hacen posible la continuidad de los negocios. 

En tal marco Quilsoft se propone como socio estratégico de empresas medianas y grandes ofreciendo soluciones informáticas y desarrollos tecnológicos "llave en mano" que mejoran la eficiencia e incrementan la productividad. 

La compañía nació en 2008 a partir de la iniciativa de dos jóvenes estudiantes -Clever Bossi y Patricio Pescio- que apostaron por la tecnología. “Como ingenieros electrónicos de la UTN éramos hábiles con la tecnología y en ese entonces empezó el auge del software. Vimos que era una necesidad que tenía el mercado, el Estado empezaba a acompañar y nos decidimos a ir por ahí”, rememoró Pescio. Al tiempo fueron reconocidos por sus ideas innovadoras por la Secretaría de la Pequeña y Mediana Empresa bonaerense y recibieron el premio Jóvenes Empresarios” 2012 de la Federación Económica de Buenos Aires.

Transcurridos ya trece años desde su fundación, hoy Quilsoft tiene presencia en Chile, Uruguay y Perú, además de la Argentina. En la actualidad  es una organización consolidada que brinda soluciones a nivel regional.  Ofrece consultoría IT y de negocio, y en todos estos países puede implementar herramientas que se adaptan a la contabilidad local. Además tiene clientes en Estados Unidos y Europa.

 

Fábrica de software

En una de sus líneas de actividad Quilsoft brinda soluciones de software para empresas a través de Odoo, de quien es Gold Partner. Un dato que acredita su expertise es que por cuarto año consecutivo obtuvo la certificación en las normas ISO 9001:2015 para el desarrollo, implementación, capacitación, mantenimiento, soporte y comercialización de software y ERP y servicio informático para la gestión de traslados. 

Pero claro, en un mundo tan dinámico y en permanente evolución, quedarse solo con el know how tecnológico no era apropiado. “Tuvimos que aprender de negocios para aplicar ese conocimiento en los productos de nuestros clientes –explicó Bossi-. Las soluciones que brindamos a terceros incluyen la consultoría. Ese es un diferencial importante, porque el cliente compra un negocio funcionando”. 

Otro punto a favor que tiene Quilsoft  es la experiencia en el lanzamiento de apps para celular: “Las compañías nos contratan para diseñar las aplicaciones que lanzan al mercado –detalló Bossi-, pero también les sugerimos las estrategias comerciales”. En tal sentido la tarea de la empresa de software incluye todo el recorrido: desde la elaboración del concepto, pasando por el desarrollo de la solución y la consultoría, hasta la implementación y el soporte. Este circuito total –que también aplica para el desarrollo de sitios web- hace que la actividad de Quilsoft responda a la de una auténtica software factory. 

Por otra parte, la empresa de software pone mucho foco en la  seguridad, para garantizar que las aplicaciones no sufran fallas durante su utilización y que las modificaciones realizadas en los procesos queden a salvo en bases de datos cifradas a prueba de intrusos.

 

Organización consolidada

Actualmente Quilsoft está conformada por un equipo de 10 personas (ingenieros, desarrolladores, programadores) que se encargan de potenciar los productos y desarrollar nuevas herramientas. La empresa programa software a medida y asiste a las compañías en cualquier etapa del ciclo de vida del producto –bajo la modalidad de software factory o staff augmentation-. Desarrolla aplicaciones móviles amigables y poderosas que resuelven problemas de negocio, atraen clientes y posicionan las marcas, y sistemas Web con diseño responsive (adaptado al dispositivo desde el que se accede). Además cuenta con experiencia en plataformas e-commerce, sistemas de gestión, fidelización de clientes, CRM y más.

Entre las aplicaciones desarrolladas por Quilsoft  puede destacarse la solución Shift, por ejemplo, un sistema de traslados corporativos que permite ahorrar un 20% en gastos de remises y taxis, con beneficios adicionales como la eliminación del voucher de papel (lo que  deriva en reducción de la contaminación y disminución de la huella de carbono). 

 

Generar ahorros

Quilsoft atiende las necesidades de desarrollo de software a medida y consultoría IT de compañías de los rubros más diversos: “Tenemos clientes del sector retail, medios de comunicación, industria láctea, laboratorios, compañías de energía, etc.”, puntualizó Pescio. 

Además la empresa le pone mucho foco a su rol de representante de Odoo, el sistema ERP integrado de código abierto de origen belga que compite con  jugadores tradicionales como SAP y Oracle. 

Odoo se presenta como un sistema ERP moderno, amigable y de bajo costo, que abarca todas las áreas de operaciones y con una curva de aprendizaje corta. “Es impresionante el nivel de detalle de análisis que ofrece para bajar costos y mejorar el uso de los recursos en empresas grandes y medianas. Varias compañías ya interpretaron estas ventajas y están migrando a esta solución”, apuntó Pescio. Y añadió: “Esta herramienta, lejos de ser un gasto, ayuda a atravesar la crisis económica derivada de la recesión y la pandemia, al mejorar las operaciones y generar importantes ahorros”. 

En definitiva, la vocación de quienes integran Quilsoft es crear software y aplicaciones que aporten valor a sus clientes. “Enfocamos nuestros esfuerzos en la mejora de la productividad, la simplificación de procesos y la generación de  beneficios para las organizaciones. Esa es nuestra pasión”, concluyó Bossi.

 


aplicación móvil rentable

Tres formas para que una aplicación móvil sea rentable

Antes de emprender el desarrollo de una aplicación móvil es preciso determinar qué modelo de negocios será el más efectivo, y si este es capaz de adaptarse a las características singulares de nuestro emprendimiento.  

Actualmente, los modelos de negocio apropiados vinculado con el desarrollo de aplicaciones para proyectos escalables son los siguientes:

  • Modelo In-App Advertising: Este modelo es especialmente útil cuando la empresa desea darse a conocer, construir posicionamiento y ganar reputación. Las aplicaciones In-App Advertising facilitan el acceso de nuevos usuarios a la marca porque su descarga es totalmente gratuita. En este caso, los ingresos provienen de los espacios publicitarios dispuestos a lo largo del recorrido del usuario. Debido a que la forma de monetización puede ser intrusiva, se recomienda prestar especial cuidado a la cantidad de publicidad y sus formas de figurar en la app, ya que el exceso de promoción entorpece la experiencia de usuario (UX, por sus siglas en inglés). 
  • Modelo Freemium: Se pueden implementar aplicaciones móviles freemium cuando el programa mismo es un producto o servicio vital de la empresa. En este modelo, se ofrece al usuario una experiencia gratuita a modo de reseña para convencerlo de adquirir el producto pago. Para eso, suelen entregar días de free-trial o con límites de acceso a ciertos servicios. De esta manera,  la empresa obtiene una mayor diversificación de ingresos y se da la oportunidad al cliente de pagar el servicio a su medida. Es decir, que las personas pueden optar tanto por la compra del paquete completo como desbloquear algunas características del mismo.
  • Mobile e-commerce: Estas son  las aplicaciones para comercio electrónico móvil. Este modelo tiene como objetivo el uso único de la app para optimizar el sistema de ventas, por lo que su descarga es gratuita. El desarrollo de la aplicación gira alrededor de la posibilidad de efectuar pagos digitales de forma segura y rápida.

Estos programas de mobile e-commerce han probado su efectividad en empresas que ofrecen productos y servicios fuera del mundo digital. De esta forma, se diversifican los ingresos, se llega a un número más amplio de consumidores y se adquieren clientes asiduos.

En tal sentido, es importante que las empresas analicen si necesitan o no contar con una aplicación móvil. Para encontrar la respuesta es recomendable utilizar herramientas de análisis como el modelo Canvas (business Canvas Model) para ver si crear una app móvil tiene sentido dentro del proyecto. Por supuesto, una vez que han decidido inclinarse por el desarrollo de una aplicación, lo ideal es confiar en expertos en el tema, por ejemplo, que sepan sobre desarrollo de aplicaciones multiplataforma y de apps móviles. En tal sentido, solicitar referencias y experiencias es clave para avanzar a paso firme.

 

Para recordar: ¡Lo importante no es tener una app móvil, sino el uso que haremos de ella!


ilustración sobre tendencias en el desarrollo de software

2021: qué tendencias dominarán el desarrollo de software

En 2021 la industria de software continuará creciendo y se diversificará aún más. Para anticipar las tendencias más prometedoras nos pareció interesante compartir este artículo, en el que se repasa no solamente el plano específico del desarrollo de aplicaciones empresariales, sino también de las tecnologías de software y las soluciones informáticas de vanguardia, los lenguajes de programación y otras áreas dinámicas de la industria. 

Entre las tendencias que se destacan en esta nota, vale la pena puntualizar las que siguen: 

  • Desarrollo de aplicaciones nativas: en los sectores que requieren un rendimiento impecable en dispositivos móviles –como la industria bancaria / fintech, y los productos multimedia- el desarrollo nativo tendrá una importancia creciente, ya que brinda  una experiencia de usuario mejorada y una performance excepcional. 
  • Desarrollo híbrido y multiplataforma: para algunas industrias o tipos de aplicaciones, no obstante, el desarrollo multiplataforma  garantizará ahorros de tiempo y distintas facilidades. Por lo tanto no sería atinado  aventurar que en 2021 el desarrollo de software para empresas será principalmente nativo. 
  • Integración e implementación continuas: en 2021 más desarrolladores de software implementarán esta práctica en su trabajo, que tiene como objetivo reducir el ciclo de entrega de funciones, hacer que la corrección de errores sea más frecuente y efectiva, y permitir más flexibilidad y experimentos. Este enfoque permite a los equipos de desarrollo mejorar continuamente la funcionalidad y entregar productos más rápidamente. 
  • Aplicaciones web progresivas: Las aplicaciones web progresivas se convirtieron en un valioso compromiso entre un acceso fácil (como el que propician las páginas web) y un rendimiento superior (como el que ofrecen las aplicaciones web). Y se estima que dominarán el mercado de productos web en 2021. En esencia son páginas web, pero gracias a la utilización de service workers y otras tecnologías se comportan más como aplicaciones normales que como aplicaciones web. Ofrecen una experiencia de pantalla completa con menos uso de datos y menor tiempo de carga. 
  • Desarrollo low-code: el desarrollo de bajo código simplifica lenguajes de programación complejos y permite que más especialistas accedan a la codificación. Evita mucho trabajo manual y proporcionar interfaces simples para crear nuevas aplicaciones en tiempos reducidos. Una estimación anticipa que en 2021 el low-code llegará a la corriente principal y que el 75% de los desarrolladores adoptarán estas plataformas.

Tecnologías emergentes en desarrollo de software

Entre las tecnologías disruptivas que también involucran soluciones de software, veremos un importante despliegue de las siguientes:

  • Internet de las cosas: en 2021 este paradigma  seguirá sumando casos de uso y transformando distintas industrias. Se verán más soluciones tecnológicas para empresas manufactureras y plantas fabriles, sistemas domésticos inteligentes, rastreadores bluetooth, dispositivos para automóviles y wearables para la salud y el fitness, etc. 
  • Big data: se estima que en 2021 una parte importante del trabajo lo llevarán a cabo las herramientas que procesarán todo en la memoria de inmediato, en lugar de almacenar datos después de cada cálculo. Los marcos de procesamiento por lotes tendrán gran demanda, especialmente cuando se trate de datos de redes sociales, análisis de documentos y texto, y medios de flujo de clics. 
  • Expansión de la IA: la inteligencia artificial se volverá más poderosa, asequible y generalizada. El aprendizaje profundo, el aprendizaje automático y el procesamiento de voz se utilizarán más en aplicaciones de comercio electrónico, atención médica, educación y entretenimiento. El foco de las soluciones seguirá siendo brindar experiencias más personalizadas a los clientes. 

Todas estas tendencias harán que el año entrante la industria del software para negocio continúe exhibiendo un dinamismo espectacular. Sus soluciones ganarán peso específico como un aspecto  cada vez más central de los negocios en todas las industrias. 

Para profundizar en esta perspectiva sobre las tendencias 2021 para la industria del software, invitamos a leer esta nota completa. 


Ilustración hombre y mujer haciendo testing y chequeo. Titulo de la nota:

Testing: ¿Cómo sé si un cambio es bueno?

Testing: ¿Cómo sé si un cambio es bueno?;

Existen distintos tipos de pruebas en testing, para medir iniciativas y el impacto que puedan tener los pequeños cambios, uno de ellos es hacer pruebas A→B.

Testing y poner a prueba el cambio: Pequeños cambios, aseguran la efectividad

Son usadas para medir la efectividad de pequeños cambios en nuestros flujos claves en las webs que mantenemos.
Si necesitamos subir la cantidad de clicks en el flujo de compra, podemos comenzar a medir en el flujo, ligeros cambios.  Los cuales van impactando positiva o negativamente antes de decidir hacer un cambio definitivo.

En un proyecto de desarrollo de software pueden aparecer errores en cualquier etapa del ciclo de vida. Incluso algunos de ellos,  permanecen sin ser descubiertos. De ahí la importancia de las pruebas en desarrollo de software.

Hay una gran probabilidad de que el código final tenga errores tanto de requerimientos, como de diseño o de funcionalidad. Para identificar estos problemas antes de que ocurran en un entorno crítico, es necesario realizar pruebas de software, una parte muy importante del proceso; sin embargo, debemos tener en cuenta que los fallos mientras la aplicación web o mobile está en funcionamiento puede llegar a ser mucho mayor.

Tipos de testing  

Los tipos de pruebas en testing, se dividen en distintos niveles, que van desde probar módulos individuales hasta pruebas de todo el sistema en su conjunto. Los distintos niveles de pruebas son los siguientes:

Pruebas manuales:

las que realiza el usuario paso a paso. El probador se pone en la piel del rol de usuario que se tenga que validar, y realiza todas aquellas operaciones que tenga definidas en un plan de pruebas

Pruebas automáticas:

consiste en el uso de otro software y la comparación de los resultados obtenidos y los esperados. Permite adicionar pruebas cuya ejecución manual sería tediosa y/o difícil.

Pruebas unitarias:

una prueba unitaria es la manera de comprobar el correcto funcionamiento de un módulo de código. Esto nos permite asegurar que todos los módulos del sistema desarrollado funcionen correctamente por separado

Pruebas de estrés (stress testing)

son realizadas sobrecargando un sistema más allá de sus especificaciones, para verificar cómo y cuándo fallará. Podemos colocar una gran carga en la base de datos, entradas (peticiones).Ejemplo. ingreso de múltiples usuarios a una web ecommerce donde verifica la calidad de acceso en el  loguin, compra, navegación, etc.

Pruebas de estres
Pruebas de estres

Prueba de renedimiento
Prueba de renedimiento

Permiten saber cómo responderá el sistema a situaciones anormales de recursos y pruebas de recuperación y de rendimiento.

Pruebas de performance

La monitorización y análisis de resultados es lo más importante en el performance testing. Tiene su complicación y sobre todo, entender el esquema de red de conexiones con los diferentes sistemas que forman la infraestructura del sistema, ya sea BBDD, Servidor Web, Proxy Web etc.

Pruebas de performance
Pruebas de performance

Performance testing es clave para asegurar el rendimiento y la calidad de un sistema, aplicaciones o conjunto de aplicaciones para asegurar el funcionamiento de la misma y saber los errores de cada parte del sistema, ya sea por parte servidora como por la parte de cliente.

Pruebas de integración:

Si hemos visto que todo individualmente funciona correctamente, ¿por qué debería fallar cuando se une? sí, por consiguiente puede fallar al unir módulos que por separado funcionan correctamente. Para evitar esto, existen las pruebas de integración, cuyo objetivo es coger módulos, a los que se aplicó las pruebas de unidad, y construir una estructura de programa que determine el diseño.

Pruebas de validación:

Se realizan al acabar las pruebas de integración, cuando ya se ha compuesto el software como sistema y se han corregido los errores de interfaz. Estas pruebas se concentran en las acciones visibles para el usuario.

Pruebas de aceptación:

El usuario lo prueba en su propio entorno y nos dice si lo acepta tal y como está o no.

Como conclusión podemos decir que las pruebas de software permiten la ejecución de un sistema con el objetivo principal de encontrar errores presentes en el mismo; así conseguimos reducirlos y mejorar la calidad del sistema, haciéndolo más eficaz frente a las necesidades de los usuarios.



Ilustración cerebro hemisferio izquierdo y derecho, interfaz y experiencia de usuario. Titulo de la nota:

Mito y leyenda 2.0 Diferentes pero unidos (ux/ui)

Un mito y leyenda 2.0 (ux/ui) muy común es, cuando a partir de la unión del ux con ui, se concluye con el razonamiento lineal:
"Quien sabe diseñar experiencia de usuario, también sabe diseñar interfaces para usuarios", ¡FALSO!

.

.

Derribemos el mito y leyenda 2.0 (ux/ui) diferentes pero unidos

El diseño de experiencia y el diseño de interfaz de usuario, como toda unión, alianza, armonía, como quieras llamarlo, requiere de muchas partes, pero principalmente:

La participación e involucración de un GRUPO de personas de múltiples disciplinas, que colaborativamente trabajarán unidos, para alinear los objetivos de la empresa con las necesidades de los usuarios.

Entonces...

¿QUÉ ES UX?

 

 

 

El diseño de ux (experiencia de usuario en español) es un proceso estratégico que contiene varios pasos, teniendo como objetivo principal:

crear un producto o servicio como solución que satisfaga las necesidades de los usuarios, para mejorar su experiencia.

Para ello, se requiere la implementación de múltiples metodologías que irán, logrando dar esos pasos del
proceso estratégico y que en conjunto, alineados, lograrán cumplir con el objetivo principal (benchmark, userflow, cardsorting, encuestas y/o entrevistas a usuarios, etc.)

En Conclusión

El diseño UX se trata de comprender en profundidad cómo algo se ve, se siente y funciona.

 

 

 

.

 

¿QUÉ ES UI?

 

 

El ui (interfaz del usuario en español) es la interfaz que el usuario utiliza e interactúa. Se trabaja muchas veces en lo visual. Ya que lo primero que perciben, en su mayoría, los usuarios, es la imagen del servicio o producto. Sin embargo, también se aborda otras cuestiones sensoriales como lo táctil de la interfaz, por ejemplo.
Su objetivo principal será volver cada vez mas intuitiva la interfaz, para el usuario.
Para ello, se requiere: una arquitectura de información, patrones de interacción, elementos visuales.

En Conclusión

El diseño UI se trata de que tan intuitiva sea la interfaz.

 

 

 

.

 

BAJAMELO MÁS AL LLANO POR FAVOR

 

Ok, ¿que tal así? UX es el viaje y UI es el medio para llegar al destino.

O así, aprender diseño ux o diseño ui, podría decirse que es como estudiar una rama de la medicina. Dentro de la carrera, existen distintas especialidades que, en conjunto, ayudan al paciente a mejorar.
Dentro del diseño del producto o servicio que mejore la experiencia de los usuarios, sucede exactamente lo mismo.

Con la salvedad, quizás, de que la unión se puede volver cada vez mas "rara" o poco convencional ya que dependerá de la necesidad del usuario, que el mercado quiera abordar, lo que determine el equipo de personas que trabajen para ello.

Es así como, podes encontrarte con grupos integrados por psicólogos, antropólogos, científicos, diseñadores varios: industrial, gráfico, marketing, etc.


En uno de los eventos de diseño al que asistí, tuve la suerte de conocer un grupo de personas, resolviendo problemáticas del campo con biólogos incluidos, lo cual me pareció hermoso.

La unión hace a la fuerza, siempre. Y mientras mas diversa sea esa unión, mas enriquecedora será para todos: empresa, profesionales, usuarios y mercado.

.

POR ÚLTIMO

 

 

 

Si en UX solo fuera una cuestión estética, la usabilidad del producto queda en el olvido. La usabilidad es crucial, a tal punto que determina qué tanto lograrás alinearte y cumplir tus objetivos o que tan lejos quedarás.

Es muy poco probable que un cliente se preocupe por cómo se ve un producto si no logra usarlo de forma intuitiva.

 

.

Es un ciclo sin fin

.

- Analiza - Diseña - Testea - Analiza - Diseña - Testea -

Pero otro día hablaremos de ello.


Ilustración mujer con celular, mensajes de texto y emoticones. Titulo de la nota:

Creá un chat con Socket-io sin morir en el intento.

Creá un chat con Socket-io, sin morir en el intento

La tecnología actual

Hoy en día, gestionás tus actividades por medio de e-mails, chats y mensajes instantáneos. Es evidente, que cada vez más, las empresas necesitan de sistemas que faciliten el feedback de clientes y usuarios internos; es por esto, que recomiendo la incorporación de sistemas de chat.

 

Ser o no ser : Crearlo o reutilizarlo

 

Esta es quizás la decisión en cuestión. Y depende mucho de cual sea el uso que se le va a dar y también el usuario al cual va orientado.

Hoy en día, en el mercado existen miles de chat prediseñados, muchos orientados a soporte. Simples widgets que se agregan al código del sitio web y te permite administrarlos sin mayor complejidad.
Sin embargo, la mayoría de estos chats son de pago y de alcance limitado, y/o no son extensibles mediante un desarrollo o administrador web.
Por otro lado, tenemos los chats con inteligencia artificial, que son desarrollados por empresas de gran escala, ya que involucra un gran número de recursos para su desarrollo.

Afortunadamente hay una luz al final del túnel. Si queremos generar un canal de chat con los usuarios de una forma específica y customizable, la mejor decisión es desarrollarlo nosotros mismos. Y desarrollarlo no significa reinventar la rueda sino más bien usar herramientas ya existentes que puedan hacer el desarrollo más ameno, y sobre todo confiable.

Socket-io: la herramienta estrella

Antes de comenzar a contar mi experiencia usando Socket-io debo primero decir que estas líneas van dedicadas a alguien que conoce de programación. Hacer un chat desde cero sin saber programación puede costarnos bastante tiempo , y es en realidad por el hecho mismo de aprender la lógica y los modos relacionados al programar. Programar se aprende programando, como andar en bici y conocer los chistes de una serie famosa de la televisión.

Socket-io es una librería de javascript que usada con un servidor Node.js permite, a partir de un par de líneas de código y algunas configuraciones, un chat en tiempo real de manera rápida y confiable.

Entender la lógica de comunicación

Para poder usar Socket-io es necesario primero conocer algo de la dinámica de comunicación a nivel red, es decir, la lógica de comunicación Cliente/ Servidor. Luego, necesitamos tener acceso a un servidor donde poder desarrollar (instalar, configurar softwares o servicios, etc). En este caso, por experiencia personal, recomiendo crear el servidor en Node.js y usando las librerías recomendadas en la documentación oficial. Existen otras formas de crear un servidor para Socket-io pero recomiendo la opción poder defecto.

Seguir la documentación

Otra de las recomendaciones que puedo dar es seguir la documentación a rajatabla, al menos si es la primera vez que usas Socket-io. Y esto es porque al principio puede ser que te cueste comprender la mecánica de los sockets (componentes de comunicación de red que utiliza la librería), las respuestas asincrónicas como así el uso de parámetros en las comunicaciones. Instalá todas las librerías recomendadas. Seguí y usá todos los ejemplos que provee la documentación para que puedas ir aprendiendo la lógica de la librería y sus usos. No omitas este paso si es la primera vez que lo usas, porque puede ser que la respuesta a una duda este en el siguiente ejemplo que no hiciste.

Antes de producción, probalo en desarrollo, y si hay entorno de test o staging, ¡mucho mejor!

Probá tu código, bien. Asegurate de que se realizan correctamente las comunicaciones, si llegan los mensajes y en caso de que uses alguna base de datos desde donde almacenar tus mensajes, comprobá que los mensajes se guarden correctamente.
Tener un entorno de test en estos casos es la mejor opción ya que a veces en el entorno de desarrollo funciona pero no en producción, por temas de seguridad, etc.
Muchas veces para crear un servidor de Socket-io en producción necesitaremos configurar certificados ssl para que la comunicación de sockets entre el servidor y los clientes sea segura.
Tener un servidor de staging es el lugar ideal para simular los casos de prueba que pueden suceder en el servidor final.
En caso de no tener staging, tendrás que lidiar quizás con algunos errores en producción y configurarlos en vivo.

Mi recomendación

Configurá el firewall y reglas de red para que el servidor sólo sea accedido por tus casos de prueba.

 

 


Ilustración diseño de interfaz. Titulo de la nota:

¿Qué es Ionic Framework?

¿Por qué deberías conocerlo si eres desarrollador web?

Es una estructura tecnológica (Framework) de código abierto que se utiliza en el desarrollo de aplicaciones móviles híbridas. Combinando el código HTML5, CSS y JavaScript obtenemos aplicaciones con una interfaz amigable e intuitiva para el usuario. De esta forma desarrollando un único código es posible crear aplicaciones tanto en Android como en iOS.

Historia de Ionic

La base de Ionic está desarrollada sobre Angular.Js y Cordova. Nació en 2013 con la única intención de que los desarrolladores pudieran crear aplicaciones móviles híbridas con los beneficios de los dos frameworks mencionados.

Una de las principales ventajas de trabajar con Ionic es que se aprovechan los plugins (manejo de hardware, software, imágenes, texto, códigos QR, etc) de Cordova.

En 2016 se actualiza a la versión Ionic 2, con la modularización, una de las actualizaciones más completas de este framework, permitiendo separarlo por partes: core, angular, native, etc.

La actualización de Ionic 3 es prácticamente imperceptible en términos de nuevas funcionalidades, aunque sí trae novedades en su rendimiento.

Siguiendo con la evolución de esta herramienta, en su versión 4, se empieza reemplazando AngularJS por Angular moderno. El conjunto de componentes de esta herramienta utiliza elementos personalizados y las API DOM de Shadow disponibles en todos los navegadores modernos para dispositivos móviles y de escritorio. Otra novedad que nos trae Ionic 4 es que nos permite utilizar React, Vue, Angular o Javascript para el desarrollo de la lógica de programación.

Ionic 5 recientemente lanzado (11/02/2020), llega anunciando estas mejoras en su pagina: "¡Esta versión incluye actualizaciones de diseño de iOS 13, una nueva API para crear sus propias animaciones personalizadas, Ionicons renovados, colores iónicos actualizados, nuevos diseños iniciales, mejoras en la personalización de componentes y más!", en otro post se realizará un análisis mas exhaustivo de lo nuevo que trae Ionic 5.

Resumiendo en una imagen

Esto significa que se facilita la exposición de la funcionalidad nativa a la aplicación web en forma de multi plataforma.

El desarrollo de aplicaciones móviles con Ionic nos garantiza que la implementación del proyecto sea mucho más estable, sencilla y con una interfaz de usuario óptima.

Si eres desarrollador web deberías considerar desarrollar en Ionic

Si estás acostumbrado a desarrollar en un entorno web y conocés algunos de estos frameworks Angular, vue, react y/o Javascript, Ionic te permitirá generar aplicaciones móviles usando las mismas herramientas que ya conoces y con una curva de aprendizaje muy cómoda.

Ionic también acepta en el desarrollo del front el uso de etiquetas como html5 y aplicación de estilos con CSS (con algunas limitantes), dando como resultado una forma de desarrollo mas cómoda para las personas acostumbradas al desarrollo web.


Imagen empleado trabajando en oficina con computadora de escritorio y logotipo de Quilsoft. Titulo de la nota:

La ISO 9001 es una norma ISO internacional elaborada por la Organización Internacional para la Estandarización que se aplica a los Sistemas de Gestión de Calidad de organizaciones independientemente de su tamaño o actividad empresarial.

Se trata de un método de trabajo para la mejora de la calidad de los productos y servicios, así como de la satisfacción del cliente.

El sistema de gestión de calidad se basa en la norma ISO 9001. Las empresas se interesan por obtener esta certificación, para garantizar a sus clientes la mejora de sus productos o servicios y estos a su vez prefieren empresas comprometidas con la calidad. Por lo tanto, las normas como la ISO 9001 se convierten en una ventaja competitiva para las organizaciones.

La calidad en el software es que se haya cumplido con los requerimientos funcionales, con los estándares de desarrollo solicitados y los implícitos de la industria.

Implementación de la ISO 9001

Hace más de 2 años iniciamos el proceso de certificación de calidad para profesionalizar aun más la forma de trabajar en la empresa. El objetivo era mejorar el servicio brindado a los clientes y tener un mayor control de todo lo que ocurría en la empresa.

Para poder implementar la ISO 9001 en la empresa elegimos al centro de gestión de calidad de la UTN regional Buenos Aires para que nos haga una consultoría que nos ayude en el proceso. Nos fue de gran utilidad todo lo que nos enseñaron y nos ayudaron en el proceso de mejora.  Como ente certificador elegimos a Tuv Rheinland por su estatus internacional y profesionalismo.

Aplicando la Gestión de la calidad en Quilsoft

El mayor impacto durante el proceso de implementación lo tuvimos al momento de acomodar los procesos internos para poder cumplir con los estándares. Primero y principal hacer un diagrama de los principales procesos de la empresa, identificar cada punto clave, cual es su entrada y salida y como medir cada uno. De esta forma se puede saber si hay algún desvió (por ejemplo un bug), analizar si hubo una razón puntual o hay una causa raíz que provoque que el error sea repetitivo.

Gestionar la calidad no es algo de un día o de un periodo de tiempo sino que es algo constante que la empresa va haciendo para dar cada vez un mejor servicio y ser más eficiente. Hace unos días hicimos la segunda re certificación y la empresa no es la misma que hace dos años con la primer auditoría. La gestión de la calidad permite ir mejorando los procesos internos, disminuir los bugs, controlar las contingencias, optimizar el uso de los recursos y gestionar las oportunidades y riesgos externos. Para el 2020 tenemos planificado seguir integrando los procesos diarios de la empresa a las tareas propias de la gestión de la calidad, para que gestionar la calidad no sea una tarea aparte sino algo totalmente integrado al día a día.

Algunos tips para mantener la calidad en el desarrollo:

  • Feedback constante con el cliente: Debe haber reuniones de feedback por lo menos cada 15 días, mostrando los avances y validando especificaciones.
  • Comunicación fluida con el equipo de trabajo
  • Control de los proveedores externos
  • Hacer uso de métricas: bugs, horas dedicadas
  • Testing
  • Capacitaciones

Recomiendo a todas las empresas de software a certificarse ya que les va a permitir tener una mejora continua tanto en el producto/servicio entregado al cliente como en la organización de la empresa.