5 formas de agilizar tus proyectos de desarrollo de software

¿Tienes una empresa de software? ¿Trabajas en un departamento de informática de una empresa? ¿Programas software de gestión y empresarial? Si cualquiera de los supuestos anteriores son tu caso, lo que quizás te produzca más satisfacción en tu trabajo es solucionar los problemas de tus clientes mediante tus desarrollos de software. Para poder centrarte en el cliente solucionar sus problemas tienes que poder hacerlo.

No siempre se puede. La tecnología en sí misma suele ser compleja y nos pasamos muchas horas delante de un ordenador solucionando problemas de tecnología que no están directamente relacionados con los problemas del cliente. Configuraciones, integraciones, entornos, lenguajes, movilidad… Hoy en día las exigencias son muchas, y las herramientas de desarrollo y sus ecosistemas nos pueden llegar a abrumar.

Lo más importante hoy en día es saber discernir el polvo de la paja y saber elegir qué tecnología es la idónea para cada tipo de proyecto de desarrollo siguiendo el siguiente criterio: elegir la tecnología que te permita centrarte más en el cliente y en la resolución de sus problemas empresariales.

En este artículo vamos a explicar 5 formas de agilizar tus proyectos de desarrollo de software empresarial para que te puedas centrar más en resolver los problemas de tus clientes.

#1 Reduce los tiempos de desarrollo

El tiempo es la madre del cordero. Si necesitas más tiempo para programar, menos tiempo tienes para analizar los flujos de valor de tus clientes, y al final tu software será de peor calidad, por muy bien que hayas estructurado el código y demás aspectos internos del software.

Busca una herramienta que te permita transformar tu manera de programar aplicaciones empresariales, que te asista en la parte técnica sin engorros y que te permita plasmar los análisis de forma sencilla. Además de permitirte hacer mejores análisis, a medio plazo vas a poder conseguir más rentabilidad en la implantación y en los mantenimientos puesto que cualquier modificación en el software será más fácil de hacer si desde el principio has elegido la herramienta adecuada.

#2 Céntrate en tus clientes

Una vez que hayas elegido una plataforma de desarrollo que te ahorre dedicarle tiempo a problemas técnicos que no están directamente relacionados con tus clientes, puedes usar el tiempo para analizar y solucionar sus problemas. Programar detrás de una pantalla solo es parte del proceso. Tienes que generar valor, ser creativo, y ganarte el reconocimiento de tus clientes.

Si tienes un entorno de desarrollo que te cubre las espaldas, puedes dedicarle tu energía a lo importante, a satisfacer a tus clientes y a los usuarios, y a mejorar el software iterando sin grandes complicaciones. Otra ventaja de poder centrarte en tus clientes es que evitarás errores graves en el desarrollo que te ahorrará semanas de trabajo ya que si tienes tiempo para dedicarle al análisis y a entender bien los flujos de valor de tus clientes, las probabilidades de equivocarse y tener que introducir grandes cambios en el software en el futuro serán bajas. 

#3 Cloud, movilidad y multiplataforma

¿Despliegue local o en cloud? ¿Multidispostivo? ¿Multiplataforma? Te tiene que dar igual. Hay tecnologías que te permiten programar una vez y que el software se pueda ejecutar en múltiples dispositivos o sistemas operativos, o en cloud o en local sin tener que invertir trabajo en ello. Es importante elegir una tecnología que te permita darle salida a la multitud de requerimientos de tus clientes sin complicaciones.

#4 Busca rentabilidad inmediata

Hay entornos de desarrollo que ofrecen ofrece código empresarial abierto y personalizable, lo que también te ayuda a dedicarle menos tiempo a programar las cosas estándar y centrarte en las peculiaridades de la empresa del cliente. Así puedes ganar en productividad, implantando módulos estándar del tipo compras, ventas, almacén y contabilidad y luego ir iterando para adaptarlo a las necesidades específicas de tus clientes. 

De esta forma también puedes financiar tus proyectos de desarrollo a corto plazo y hacer los análisis en profundidad con la tranquilidad de tener ingresos.

#5 Busca apoyo directo del fabricante de la herramienta

Debido a la gran competencia que hay entre los fabricantes de herramientas de desarrollo, muchas de estas empresas han optado por establecer una relación directa y personal con los clientes para diferenciarse de la competencia. Si trabajas con un entorno de programación que te ofrece la posibilidad de poder coger el teléfono y hablar directamente con ellos en caso de que tengas una incidencia con tus clientes, te sientes más apoyado y de cara al cliente tienes más garantías de éxito a la hora de solucionar incidencias.

Por otro lado muchos fabricantes también ofrecen ya formación, asesoramiento técnico, consultoría, apoyo comercial. 

#6 Consejo extra

Si buscas una herramienta que cumpla los 5 requisitos enumerados arriba, no busques más, ya la tienes.

Este artículo 5 formas de agilizar tus proyectos de desarrollo de software es original de Velneo.

Seminario de Novedades de Velneo 23

El próximo jueves, 26 de abril, de 16:00 a 17:30 (zona horaria CEST) te invitamos a participar en un seminario online en el que te mostraremos las principales novedades de la nueva versión 23 de Velneo.

Porque nuestro compromiso es hacerte la vida más fácil como desarrollador de aplicaciones empresariales, queremos compartir contigo todo el trabajo que hemos realizado durante estos meses y qué mejor forma de hacerlo que en vivo, con todos vosotros y de la mano del equipo de Velneo.

¡No te lo pierdas, te esperamos!

Regístrate ahora: plazas limitadas

Este artículo Seminario de Novedades de Velneo 23 es original de Velneo.

Cursos de programación online ¡Amplía tus destrezas como desarrollador!

Hoy en día, en pleno siglo XXI, la programación ha pasado de ser algo técnico y específico, a impregnar prácticamente cada rincón de nuestro día a día. En hogares, empresas, en la propia vía pública, medios de transporte, estaciones, etc. son algunos de los lugares en los que la presencia de uno o varios dispositivos electrónicos ya forman parte del paisaje habitual. Cámaras, detectores de movimiento, temperatura, humedad, medidores de tráfico, afluencia, contaminación, tornos de seguridad, cajeros automáticos, nuestra propia casa y otro larguísimo etcétera.

¿Qué tienen en común todos estos elementos?
Pues que todos ellos disponen de un firmware, que ha sido programado por una empresa, persona o grupo de ellas. Pero la cosa no acaba ahí, pues hoy en día es muy habitual poder personalizar las funciones, comportamiento y/o comunicaciones de y entre estos dispositivos para adaptarlos a nuestras necesidades más específicas.

¿Y cómo se realiza esa personalización?
A través de la programación. Es por ello que es una disciplina tan importante a día de hoy y que lo será cada vez más en el futuro.

En Velneo, la programación nos apasiona, es por ello que ya hemos escrito sobre qué es un lenguaje de programación o un software de programación. Es posible que llegados a este punto te preguntes qué lenguaje o programa deberías elegir para programar o qué lenguaje de programación tiene más futuro.

Sin embargo, normalmente es mejor empezar la casa por los cimientos y no por el tejado. Antes de alcanzar la fase de selección de lenguaje y/o entorno de desarrollo es importante adquirir conocimientos fundamentales sobre programación. En otra ocasión profundizaremos sobre el análisis de funcionalidades, fase previa al a programación, necesaria para poder realizar una programación ágil, consistente y segura.

¿Cómo adquirir fundamentos de programación?

Un buen punto de partida abstracto son nuestros artículos: 10 consejos para mejorar destrezas de programación y ser mejor desarrollador y 5 formas de mejorar tu lógica de programación, donde podrás adquirir algunos consejos, recomendaciones, guías y trucos para mejorar tus fundamentos, destreza y lógica de programación.

Vale, ya tengo una visión más que general. Sé lo que es la programación, para qué sirve y cómo mejorarla de manera genérica. Ahora quiero avanzar a la siguiente fase, ¿cómo aprendo a programar?.

Cursos de programación online

En los últimos años han emergido algunas plataformas online formativas, así como también distintas universidades y escuelas, han decidido impartir y publicar cursos de programación online.

  • En edX (fundada por Harvard University y el MIT) dispones de un curso gratuito sobre fundamentos de programación. Cuando hayas completado el curso sobre fundamentos de programación, podrás continuar con alguno de sus cursos de introducción a la programación.
  • En Udemy dispones de otro curso de introducción a la programación, por un precio muy asequible.
  • En Coursera también dispones de dos o tres cursos de iniciación a la programación.
  • En Platzi disponen de un curso gratuito de programación básica.
  • A modo de archivo, en Class-central han elaborado una lista con todos los cursos, de todas las universidades del mundo, que ofrecen cursos online. Se pueden encontrar auténticas joyas.
  • No todo iban a ser plataformas y universidades, en YouTube también existen algunos cursos sobre fundamentos de la programación bastante interesantes.

Ya sé programar, ¿y ahora?

El siguiente paso natural, tal y como comentamos arriba, sería inclinarse por un lenguaje y/o una plataforma de desarrollo (IDE en inglés), en base a nuestras necesidades, nuestros conocimientos y nuestros objetivos.

Si deseas probar una plataforma completa de desarrollo de aplicaciones empresariales, que reúne todas las herramientas necesarias para analizar, diseñar, programar, implementar y mantener un programa de gestión y que además disponga de toda la documentación, tutoriales, vídeos y ejemplos en español, estás de enhorabuena, pues en Velneo también estamos ofreciendo seminarios y videotutoriales completamente gratuitos, para que puedas aprender a desarrollar software con Velneo de la manera más sencilla, rápida y rentable posible.

¿A qué esperas para aprender a programar y a desarrollar aplicaciones con Velneo?

Este artículo Cursos de programación online ¡Amplía tus destrezas como desarrollador! es original de Velneo.

5 formas de enseñar la metodología ágil a tu equipo de desarrollo

La metodología ágil

¿Qué es la metodología ágil? ¿Cómo se usa la metodología ágil de forma eficaz? La metodología ágil es una forma iterativa de enfocar la gestión de proyectos. En vez de usar un enfoque de “fase única”, las metodologías ágiles se adaptan a requerimientos cambiantes.

En software, desarrollo ágil exige retroalimentación o feedback por parte de clientes-usuarios y de equipos multi-funcionales para tener éxito. La metodología ágil es un enfoque en tiempo real a la gestión de proyectos que ayuda a gestionar el proceso de programación a medida que se va desarrollando, de forma progresiva a medida que va evolucionando.  Con la metodología ágil creas, incorporas retroalimentación a, pruebas y gestionas tus proyectos, todo ello de manera simultánea.

Según un estudio de mercado llevado a cabo por el Instituto de Gestión de Proyectos en 2015, las organizaciones que siguen metodologías ágiles rinden mejor que aquellas que no lo hacen. Por ejemplo:

  • alcanzan el 75% de sus objetivos mientras que las empresas no-ágiles alcanzan el 56%
  • el 65% de proyectos terminados en plazo frente al 40% de organizaciones no ágiles
  • tiene un crecimiento en términos de facturación un 37% más rápido
  • las organizaciones ágiles generan un 30% más de beneficios

Parece obvio que el hecho de utilizar metodologías ágiles tiene sus ventajas, y los que más se benefician de esta forma de enfocar la gestión de proyectos son los equipos de desarrollo.

Si ya estás convencido y preparado para aprender cómo enseñarle la metodología ágil a tu equipo de progarmadores, sigue leyendo las siguientes 5 formas de enseñar la metodología ágil a tu equipo de desarrollo. Es mejor seguir estasf formas que quererlo imponerlo por la fuerza y sin hacer pedagogía del mismo. Estos métodos para implantarlo en tu equipo o departamento de programación sí funcionan.

A. Crea tareas y ejercicios usando el Manifiesto Ágil

El primer paso que podemos dar para introducir a tu equipo de programación en las metodologías ágiles es mostrarles el Manifiesto Ágil. Se fundamenta en 12 principios básicos:

  1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al período de tiempo más corto posible.
  4. Los responsables del negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
  6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.

Puedes enseñar estos principios a través de ejercicios y tareas como los que hay en Growing Agile.

El énfasis de estos ejercicios está mas en descubrir y aprender cosas uno por sí mismo, en lugar de simplemente enseñar.

Por ejemplo, comienza preguntando a tu equipo sobre el manifiesto ágil enumerado arriba. Que discutan los principios entre ellos. Luego, haz una sesión de tormenta de ideas con tu equipo para enumerar los principios que serán efectivos en las discusiones grupales. A continuación, puedes darles una tarea escrita para aplicar los principios a sus estilos actuales de desarrollo de software. El objetivo de estas tareas es adoptar y memorizar los principios.

Una gran manera de enseñar lo básico, especialmente para equipos de tecnología recién formados, es crear un simple ejercicio de rellenar los espacios como se ve en el diagrama de abajo.

B. Centra la formación en hacer cosas de en la práctica y no en la teoría

La metodología ágil como mejor se aprende es con casos reales. Hay diferentes formas de aplicar la metodología ágil como con Scrum, XP, Crystal, y Kanban, que quizás los miembros de tu equipo conozcan en un plano teórico ya que es un tema muy de moda, pero lo ideal es poder aprender sobre ello en la práctica con ejemplos reales. La formación “en vivo” con casos reales es recomendable para aquellos que tengan un nivel intermedio y avanzado en metodologías ágiles. Sigue , a modo de guía, los siguientes pasos para ayudarle a tu equipo de programación aprender ágil con ejemplos reales:

  1. Inicia un proyecto basado en tu metodología actual, como Scrum o XP
  2. Define el alcance y las metas del proyecto
  3. Marca las pautas de los requisitos del proyecto
  4. Desarrolla una funcionalidad de software
  5. Integra la función con los métodos ágiles
  6. Prueba la función
  7. Si la prueba es satisfactoria, pasa a la funcionalidad siguiente y repite los pasos 4-6
  8. Registra los errores si la prueba no tiene éxito e introduce cambios hasta que la funcionalidad funcione
  9. Reprioriza los objetivos del proyecto basándote en la retroalimentación del cliente
  10. Libera la funcionalidad al mercado, una vez que incorpores el feedback del cliente
  11. Pasa al siguiente producto y repite los pasos 4-10 hasta que se finalice el proyecto

(Sugerencia: puedes utilizar un software de gestión de proyectos ágil para conseguir aplicar este sistema correctamente la primera vez.)

Los pasos listados arriba son una muestra básica de cómo hacer formación en real con metodologías ágiles. El truco básicamente consiste eb aplicar ágil a tu proyecto actual. La formación con un proyecto en desarrollo es una gran forma de transferir conocimiento en vez de simplemente enseñarlo sin practicarlo.

3. Cursos online de certificaciones Scrum y Kanban

Una de las mejores formas de implementar Ágil es hacer que el equipo haga cursos de certificación online. Esta forma de hacerlo puede ser un poco más caro que hacer formación presencial en la empresa para todos a la vez, pero es mejor a la hora de ahorrar esfuerzos a los responsables de equipo y además permite que cada uno se gestione mejor el tiempo y los esfuerzos. Un curso recomendable sobre metodologías ágiles es el impartido online por Javier Garzás.

4. Pon el énfasis en “nosotros”, no en el “yo”

La colaboración tiene que estar en el centro de la implementación de metodologías ágiles para que el proceso funcione como es debido. Esto se debe a que las partes más importantes de la metodología ágil son el cliente y equipos multi-funcionales. Tiene que existir una comunicación efectiva e inclusión para que puedan proporcionar iteraciones válidas para crear el producto final.

Durante la formación en metodologías ágiles hay que insistir mucho en los marcos de colaboración. Incluye casos de uso en las sesiones formativas con proyectos reales para remarcar cómo los clientes pueden colaborar en el producto final.

Debes centrartee en crear un entorno colaborativo y centrado en el usuario. El primer paso es reorganizar la dinámica del equipo para crear oportunidades de colaboración. Que los miembros de su equipo técnico trabajen juntos en pares, tanto programando como haciendo pruebas.

5. Contrata a un “coach” ágil

Antes de contratar a un coach ágil es importante conocer tu presupuesto y tu cronología. Coordina proyectos en real con los que tu equipo técnico esté trabajando usando métodologías ágiles. Un entrenador ágil debe usar ejemplos de desarrollo en real de proyectos existentes para hacer que la capacitación sea más relevante para tu equipo.

Hay dos estilos de coaching ágil: uno basado en push y otro basado en pull.

El coaching basado en pull inconscientemente compromete a los miembros del equipo a adaptar los principios y los valores dando retroalimentación consistente y alentadora. Este método facilita el aprendizaje con una mínima implicación por parte del coach. La técnica de coaching basada en push es cuando el coach juega un papel directo en la impartición del conocimiento.

¿Quieres saber más sobre metologías ágiles?

Este artículo es simplemente una modesta introducción en cómo empezar a formar a tu equipo de desarrollo de software en metodologías ágiles.

Si quieres saber más sobre metodologías ágiles te recomendamos este libro y que visites el blog de Javier Garzás, que ha impartido varias sesiones de formación de metodologías ágiles en nuestra empresa y por el cual sentimos aprecio profesional y personal.

Este artículo 5 formas de enseñar la metodología ágil a tu equipo de desarrollo es original de Velneo.

Últimas semanas para la versión Velneo 23

velneo20Durante las próximas semanas se cerrará el ciclo de desarrollo, pruebas y documentación de la nueva versión de Velneo, la plataforma de desarrollo de aplicaciones empresariales en español, estando prevista su publicación en la primera quincena del próximo mes, mayo de 2018.

En colaboración con los betatesters, se están realizando las pruebas de todas las novedades, que esperamos estén a vuestra disposición en menos de un mes.

Celebraremos un seminario online, previo a la salida de la versión, donde se explicarán las principales novedades. La fecha del seminario se comunicará en los próximos días y se habilitará el registro de asistentes.

Gracias de nuevo a los betatesters por vuestra colaboración.

Recuerda que, si eres desarrollador certificado, habrás recibido la información para participar en el programa de betatesters. Si no ha sido así, por favor, ponte en contacto.

 

 

Este artículo Últimas semanas para la versión Velneo 23 es original de Velneo.

VNC Viewer en Velneo

VNC es una de las soluciones Open Source de escritorio remoto más usadas por todos.

https://es.wikipedia.org/wiki/VNC

VNC son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red).

VNC es un programa de software libre basado en una estructura cliente-servidor que permite observar las acciones del ordenador servidor remotamente a través de un ordenador cliente. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que admita VNC conectándose desde otro ordenador o dispositivo que disponga de un cliente VNC portado.

La versión original del VNC se desarrolló en el Reino Unido, concretamente en los laboratorios AT&T Olivetti Research Laboratory, en Cambridge. El programa era de código abierto, por lo que cualquiera podía modificarlo, y existen hoy en día varios programas para el mismo uso. Muchos derivados modernos de él son software libre con licencia GPL.

Simple de instalar, de configurar y de usar, nos permite conectar remotamente a un ordenador que tenga instalado VNC Server (el servidor VNC que soporte este protocolo).

Partiendo del código fuente del plugin QmlVncViewer  https://github.com/heroyin/qmlvncviewer con licencia https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE hemos compilado para Win32 obteniendo un plugin sencillo y funcional. No hemos necesitado realizar ninguna modificación en el mismo.

image

Este plugin usa las librerías de http://www.tightvnc.com/ con licencia GNU GPL v2 https://www.gnu.org/licenses/old-licenses/gpl-2.0.html. Esta licencia nos obliga a liberar todo el código fuente de las aplicaciones donde se integre con la misma licencia (o licencia abierta equivalente).

En caso de querer usarlas para uso comercial tienes una segunda opción, la licencia comercial. La puedes solicitar en https://www.tightvnc.com/licensing.php. Esta licencia os permitiría incluirla en productos comerciales.

 

Compilar QmlVncViewer para Velneo

La compilación no es especialmente compleja, aunque lo cierto es que no hay nada de documentación al respecto.

Primero tienes que compilar la solución tightvnc.sln, para Win32 en modo Release desde Visual Studio 2013. Es importante que marques todos los proyectos para que se compilen en modo Multi-threaded DLL (/MD)

image

Después abre desde QtCreator el fichero vncroot.pro y procede a la compilación en modo Release. Recuerda que el entorno requerido es el que os explicamos en el artículo https://tipesoft.com/compilar-plugins-qml-para-velneo/. Poco más que añadir.

image

Ejemplo del Plugin QML VncViewer

A partir de ahora podrás disfrutar de ella en Velneo gracias a este nuevo plugin que os presentamos hoy.

image

Como veis, podemos conectarnos sin ningún problema desde Velneo a nuestros servidores VNC gracias a este nuevo plugin.

image

Desde el punto de vista de la implementación QML, poco que decir. Disponemos de un Elemento QML llamado VncViewer donde establecemos el host, port y password. Por otro lado, usamos la función adjustView() para ajustar el scrollView que nos permite acceder a todo el escritorio de la máquina a la que estamos conectados.

image

Para iniciar el visor, usamos vncViewer.start(). Para cerrar la visualización usamos vncViewer.stop() y para refrescar la misma vncViewer.refresh(). Es importante la parada de la visualización ya que es un raw abierto en un socket.

Para nuestras pruebas, hemos usado en el lado del servidor UltraVNC Sever (http://www.uvnc.com/). Hemos obtenido buenos resultados, sin ningún problema importante.

image

Respecto a a la configuración del servidor, es importante fijar el puerto, abrir el firewall y establecer las dos contraseñas requeridas. El resto de los parámetros los podemos dejar por defecto.

Por otro lado, recordaros que VNC no es que sea especialmente seguro, por lo que se recomienda mantener actualizadas las versiones de nuestros servidores VNC. Por otro lado fija contraseñas fuertes y mantenlas actualizadas.

 

Descargas

Como podéis apreciar, es un plugin fenomenal. Os dejamos disponible todo lo necesario para que podáis disfrutar de el en Velneo 7.22.1.

Descargar código fuente del plugin QML

Recuerda que esta librería tendrás que compilarla para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo. Recuerda respetar la licencia abierta del mismo, esta librería tiene restricciones importantes de uso, no te las saltes.

Descargar Plugin QML para Velneo v7.22.1Descarga libre

Esta vez no os damos acceso al VIN con el ejemplo por cuestiones de licencia, pero no os preocupéis… es tan simple como crear un proyecto Velneo que contenga un fichero QML con el ejemplo incluido en el código fuente anteriormente enlazado. Si tenéis dudas… no tardéis en comentar para aclararlas. Podéis fijaros en los anteriores.

Ante todo, no se te olvide respetar las licencias de todos ellos.

 

 

11 consejos para gestionar mejor el tiempo desarrollando software

gestión de tiempo programadores

La cantidad de destrezas y habilidades que tiene que tener un desarrollador de software es interminable. Pero los desarrolladores que verdaderamente llaman la atención de los empleadores, son los que han aprendido a dominar la gestión del tiempo.

Saber como gestionar bien el tiempo no es fácil, y se necesita auto-disciplina para utilizar el tiempo de la forma más valiosa, fiable y eficiente posible. Esto es aplicable a los profesionales de cualquier industria, y cuanto mayor sea tu posición y más desafiantes tus tareas, más importante resulta tener una gestión de tiempo óptima.

En la empresa de software en la que trabajo, siempre hay miles de cosas pasando a la vez. Los responsables de desarrollo de software deben saber mantenerse a flote para triunfar, y lo mismo sucede con cualquier desarrollador o miembro del equipo de programación.

En este artículo repasaremos 11 consejos para gestionar mejor el tiempo desarrollando software, para ganar en rentabilidad empresarial y en felicidad personal.

#1 Fija un plan

La planificación lo es todo en la vida. Siempre hablamos de esto a la hora de crear software: el 80% de tu energía se va en investigar y analizar, y el 20% en hacer el trabajo real. El tiempo que le dediques a la planificación no consume tanto tiempo, es igual de importante que toda la investigación y el análisis que haces a la hora de desarrollar software.

Hay muchas personas que se planifican el tiempo a primera hora de la mañana, viendo qué tareas importantes tienen que completar ese día. Otra opción más eficiente es planificar el día la tarde anterior antes de dejar la oficina, así al día siguiente cuando llegues ya puedes poner toda tu energía en hacer las cosas, sin dedicarle esfuerzo a planificarlas.

Lleva una agenda física, una hoja de cálculo, un software tipo to-do-list, el medio da lo mismo. Gestiona las inevitables interrupciones con sentido, y solo atiende a lo urgente: una reunión de emergencia con un cliente o un asunto personal que no puede esperar, pero vuelve a tu lista de tareas lo antes posible y pon toda tu energía en completarla.

#2 Ponle prioridad a tus tareas

Ahora que ya te has puesto el día anterior a enumerar las tareas, fija la prioridad de las mismas siguiendo un criterio de dificultad. Normalmente el día anterior ya puedes ordenarlas por orden de dificultad, poniendo la más difícil en primer lugar. Yo siempre intento hacer 5 tareas diarias que van bajando en dificultad a medida que avanza el día. Si arrancas el día haciendo primero las cosas sencillas lo normal es que no llegues con la suficiente energía para afrontar las tareas más arduas luego y al final las acabas posponiendo…

Si eres una persona que alcanza el pico de energía por la tarde (son menos pero existen…), ordena tus tareas acorde a tu ritmo. Pero para el resto de los mortales, que solemos estar más frescos por las mañanas, lo mejor es acometer las tareas más difíciles pronto en el día. Siguiendo esta norma serás capaz de duplicar tu productividad en muy poco tiempo. ¡Inténtalo y verás!

#3 Divide las tareas grandes en sub-tareas

Si tienes que hacer algo que toma muchas horas o quizás días de trabajo, como tener que programar un algoritmo que te va a tomar 30 horas, lo mejor es dividir la tarea en micro-tareas y destinarle una hora o dos cada día a ese proyecto. Así, tu mente no se agota y evitará que tengas un sentimiento de fracaso si no eres capaz de rematar la tarea en esas 30 horas seguidas. Lo normal es que dedicándole 30 horas en 15 días en tramos de 2 horas, termines la actividad con éxito ya que son horas de máxima energía y concentración.

#4 Delega cuando sea necesario

No te engañes, si alguien en tu equipo puede hacer una tarea mejor y en menor tiempo que tú, pídeles que la hagan. Todos tenemos destrezas que nos diferencian, y cuando todo el mundo trabaja al unísono, las cosas ruedan mucho más fácil. Asegúrate de que los demás cuenten contigo para que desarrolles tus habilidades que te hacen diferencial.  Este consejo no solo te hará gestionar mejor el tiempo a ti, sino también el de la empresa.

#5 Planifica periodos de ruptura

Este consejo es muy importante. Planifica periodos que te permitan romper con la actividad para leer emails o mensajes instantáneos. Y si eres responsable, usa este periodo para celebrar reuniones exprés (7-10 minuto máximo). A no ser que algo sea extremadamente importante, puede esperar a tratarse en este periodo disruptivo. En los demás momentos elimina las notificaciones, cierra el email y demás para no tener la tentación de ir a verlo.

Muchas personas se fijan dos periodos de ruptura al día, uno a media mañana y uno a media tarde, para contestar emails y dudas de los compañeros. Por lo general solo me toma 15 minutos de media cada periodo que le dedico a esto, así que piensa cuánto tiempo se pierde si permites que te rompan el ritmo de trabajo en cualquier momento sin estos periodos de ruptura.

aplicaciones, empresa, a medida

#6 Planifica un tiempo de parada diario

También es recomendable reservarse un poco de tiempo para uno mismo durante la jornada laboral, ya sea salir a dar un paseo de 10 minutos al aire libre o desconectar de la pantalla del ordenador para ojear un libro o una revista. Siempre me planifico tiempos de parada, nunca me salto la comida a no ser que tenga que cumplir con un plazo imposible, o si tengo una reunión con cliente procuro hacerla a la hora de comer para asegurarme de que salgo un rato de la oficina.

#7 Rehuye de hacer multi-tareas

Muchas personas se vanaglorian de su capacidad de hacer varias tareas a la vez, pero cuando la mente salta de un tema a otro, toma unos 15 minutos volver a enfocarse plenamente de nuevo en la tarea que estabas haciendo.

Hacer multi-tareas nubla la concentración ya que se pierde mucha energía al volver a enfocarte en las tareas. Es mejor mantenerse focalizado en una única tarea durante el tiempo que le has asignado, y luego pasa a la siguiente.

#8 Trabaja tu disciplina

Trabaja tu disciplina todos los días. Esto incluye temas no relacionados con el trabajo que te ayudarán a estar más sano y ser más productivo. Por ejemplo, procura por lo menos comer sano y dormir lo suficiente, ya que te ayudarán a controlar el estrés.

Mantente alejado de las distracciones, redes sociales y plataformas de venta online por citar dos roba-tiempos, pueden restarle mucho tiempo a tu trabajo, destrozando tu productividad.

# 9 Prepara las reuniones con antelación

Revisa las actas, lleva preparadas tus intervenciones y no te salgas de los puntos del día. Si todos lo hiciéramos, las reuniones tendrían mejor reputación y todo el mundo acudiría feliz. Si llevas tu parte preparada le haces un favor a todo el mundo. Piensa que las reuniones de una hora entre ocho personas son ocho horas de trabajo real que se van por la borda.

 # 10 Comunica tu forma de organizarte

Si tus compañeros saben que tienes un plan para gestionar mejor tu tiempo , que tienes momentos para atender preguntas, momentos para ir a reuniones y momentos de concentración total, y que son importantes para ti, verás como el propio entorno te ayuda en el proceso y evita hacerte perder el tiempo. Pero para ello todos tienen que ser plenamente conscientes de tu plan, y tus horas. Al principio cuesta, pero si eres constante al final todos se adaptan ya que a nadie le gusta tener la sensación de estar molestando o distrayendo a un compañero.

# 11 Sé feliz

Sé feliz, no productivo. Esto quiere decir que el principal motivo que hay detrás de gestionar bien el tiempo es tu bienestar personal. Trabajar vas a tener que trabajar igual, a no ser que te toque la lotería o algo por el estilo, y ya que estás, organízate, completa tus tareas, y gana tiempo para ti. Evidentemente tu empresa lo va a agradecer, pero la felicidad de tener más tiempo para uno es algo no tiene precio.

El éxito se puede medir de muchas maneras, desde crear un software líder del séctor hasta tener una empresa de desarrollo que facture millones de euros, pero la mayoría de estos casos de éxito van ligadas a una gran gestión del tiempo. Si quieres que bajen tus niveles de estrés y ver una mejora en tu rendimiento, usa estos consejos y síguelos con rigor.

Este artículo 11 consejos para gestionar mejor el tiempo desarrollando software es original de Velneo.

Qué es un Plugin QML

Nuestro buen amigo Paco Satué nos deja caer en uno de nuestros últimos artículos que sería interesante aclarar para toda la comunidad Velneo una serie de cuestiones:

Paco Satué

marzo 8, 2018 | Responder

Hola Jorge.

Las preguntas serían:

– ¿ qué es realmente un plugin QML ?
– ¿ necesito unos conocimientos medios de C++ ?
– ¿ existen en Internet desarrollos en Qt que sean fácilmente importables a Velneo como plugins ?
– ¿ ésta sería una buena forma de extender Velneo y en ese caso, por qué no se hace más a menudo ?

Saludos y gracias por los artículos de excelente nivel.
Paco Satué

Paco tiene razón… y vamos a dársela atendiendo a esta cuestiones y otras que puedan ser necesarias para clarificar que es eso de un plugin QML y como nos afecta a los desarrolladores Velneo.

 

Qué es un plugin QML

Un plugin QML es una posibilidad de extensibilidad que tiene QML y por ende Velneo. Nos permite extender su funcionalidad de una forma modular (los módulos son los plugins).

Estos plugins pueden contener código C/C++, código javascript y código QML. Se pueden desarrollar combinando las tres tecnologías, haciendo que sea realmente interesante.

Lo habitual es que sea un componente C/C++ con pequeñas partes en QML y javascript.

En caso de requerir solo de capacidades QML y javascript no es necesario desarrollar un plugin c++, con integrarlo como un componente dentro de nuestro desarrollo QML sería suficiente.

Si nos fijamos uno de ellos, veremos que la dispone de funcionalidades desarrolladas de forma mixta (C/C++, código javascript y código QML).

Fíjate en el siguiente directorio de tu instalación de Velneo.

image

Como puedes observar, el plugin QML QtMultimedia, está formado por una dll (resultado de compilar código c/c++), un fichero QML (Video.qml) y un fichero de configuración (qmldir).

Si abrimos el fichero Video.qml con un editor de texto podemos observar como dentro del mismo hay fragmentos de código JavaScript.

image

Observar esta cuestión nos permite vislumbrar en que consiste un plugin QML (técnicamente hablando).

Plugins QML en Qt

Dentro de Qt 5 existen multitud de plugins QML. Parte de ellos integrados dentro de la plataforma base, otros como extensiones dentro del proyecto Qt y otros de terceros (de código abierto o cerrado).

En caso de ser plugins QML/C++ requerimos compilarlos para cada plataforma. Esto provoca que sea más complejo técnicamente de lo deseado.

 

Plugins QML en Velneo

Usarlos dentro de Velneo consiste en poco más que pegarlos en la ubicación correcta (si ya los tienes compilados) e importarlos dentro de tus formularios o listas QML de Velneo.

Actualmente podemos extender el vClient y el vDevelop mediante plugins QML.

En el mundo Velneo, no hay ningún soporte para esta capacidad de extender nuestras herramientas, pero lo cierto es que tampoco es que nos haga demasiada falta.

 

Necesito saber C++ para desarrollar plugins QML

Sin dudas.

Por desgracia, necesitas algo más que el conocimiento básico:

  • Por un lado, necesitas conocer C y C++ (nivel medio).
  • Por otro, necesitas conocer QML y JavaScript (no es demasiado complejo, pero requiere de cierto esfuerzo). Recuerda que ya hemos escrito algún artículo sobre como compilar
  • Por otro, la forma de declarar un plugin (no es demasiado compleja). Tenemos escrito otro  artículo sobre como crear tus plugins, no dudes en leerlo.
  • Por otro, necesitas conocer la plataforma Qt en cada sistema operativo, no es lo mismo compilar en windows, linux o iOS (la verdad es que no es tan simple como puede parecer).
  • También necesitas conocer herramientas tales como compiladores, enlazadores, JDK, SDK, XCode, CMake, QMake, Git…

Vamos… que no está al alcance de todo el mundo.

 

Proyectos Qt que se puedan incorporar como plugins Velneo

Proyectos Qt hay muchos. Que se puedan integrar de forma directa en Velneo, pocos.

 

Plugins que requieren poco esfuerzo

En los proyectos Qt/QML que hay, el soporte de la comunidad de desarrollo Qt es medio/bajo. Podríamos empezar por esta lista de recursos disponibles Qt/QML:

https://github.com/mikalv/awesome-qt-qml

En algunos de ellos, solo hay que coger la instrucciones del proyecto, compilarlos para cada plataforma y volcar los binarios adecuadamente. En otros… no es tan simple.

 

Plugins que requieren de esfuerzo medio-alto

Por otro lado, también hay proyectos, que haciendo un esfuerzo medio/alto se podrían convertir en plugins QML. Tendríamos que ver si funcionalmente son necesarios, estudiar el código fuente, desarrollar las clases que intermedien y por último crear y compilar los plugins. De estos hay muchos más.

https://github.com/JesseTG/awesome-qt

https://github.com/skhaz/awesome-qt

https://github.com/fffaraz/awesome-qt

https://github.com/insideqt/awesome-qt

 

Plugins que requieren de esfuerzo alto

Y ya puestos… si cogemos C y C++ las posibilidades son infinitas, pero el esfuerzo es mucho mayor.

https://github.com/fffaraz/awesome-cpp

 

Es una buena forma de extender Velneo

La verdad es que los plugins QML son una poderosa forma de extender Velneo, tal vez la más poderosa. Pero también es cierto, que los esfuerzos necesarios son medio/altos, y eso echa para atrás a muchos desarrolladores de la comunidad Velneo.

Este es el motivo por el que hemos decidido caminar en esta dirección, para ayudaros a abrir camino en esta difícil tarea. Los resultados saltan a la vista:

Por nuestra parte seguiremos dando luz sobre esta forma de extensión de Qt… ¿Cuál será el siguiente?

Alternativa a WinDev

¿Qué es WinDev?

WinDev es un Entorno de Desarrollo Integrado (IDE) creado por la empresa fransesa PC SOFT enfocado al desarrollo rápido de aplicaciones. Utiliza su propio lenguaje de programación de cuarta y quinta generación llamado WLanguaje.

Lenguaje de programación WLanguaje

Es el lenguaje de programación de 4ta generación propio de la plataforma. Por su sintaxis recuerda a Visual Basic y por sus elementos de control a Delphi, no obstante su nivel de abstracción lo coloca al nivel de lenguajes de 4ta y 5ta generación como SQL. WLanguaje soporta la programación a través de procedimientos, así como la orientada a objetos.

Alternativa a WinDev

¿Qué herramientas forman el IDE de WinDev?

Como cualquier IDE WinDev conforma su plataforma gracias a la inclusión de múltiples herramientas, como por ejemplo:

  • Editor de interfaz gráfica: permite diseñar las interfaces de los usuarios, así como definir la interacción con algunos datos y eventos o manejar la herencia y la sobrecarga, sin necesidad de escribir código fuente.
  • Modeladores MER (Modelo Entidad-Relación) y UML (Lenguaje Unificado de Modelado).
  • Editor de análisis: donde se define la lógica de la aplicación mediante los lenguajes de programación.
  • Editor de documentación técnica: elabora y permite editar la documentación básica de la aplicación, en base a la definición de sus tablas, funciones, etc.
  • Editor de modelos de Desarrollo Rápido de Aplicaciones (RAD)
  • Editor de consultas, de código y administrador de código: habilita la posibilidad de crear y optimizar las consultas a la base de datos, el código fuente de las diferentes funcionalidades, así como un administrador de código que permite organizar todo de manera más sencilla.
  • Editor de ejemplos y componentes: para aprender más rápido, así como nutrir tus aplicaciones con ellos.
  • Editor de reportes: con el que se pueden generar los reportes, informes, etiquetas y consultas deseados.
  • Editor de ayuda en línea para gestionar la ayuda contextual de la aplicación
  • Editor de instalación: facilita la generación de paquetes de instalación de la aplicación, para las diferentes arquitecturas y sistemas operativos, facilitando así su distribución.
  • Editor de mantenimiento: lo que permite gestionar los mantenimientos, actualizaciones y optimización de las aplicaciones en producción.

¿Qué bases de datos soporta WinDev?

  • HyperFileSQL: Motor de base de datos propio de WinDev, de distribución libre y con versiones disponibles tanto para local, como para C/S bajo Windows, Linux y Móvil.
  • Además también soporta de manera nativa: MySQL, SQL Server, SQLite, Oracle, DB2, Postgres, AS/400, Informix o Sybase.

¿Qué arquitecturas y sistemas operativos soporta WinDev?

Al igual que ocurre con Java, Visual Basic o C#,  el código fuente de la aplicación se pre-compila e interpreta, durante la ejecución por el entorno de trabajo (framework) lo cual aporta una independencia entre el archivo ejecutable y el sistema operativo donde se ejecute. Por lo tanto es posible desarrollar aplicaciones nativas para Windows o Linux, de manera nativa (WLanguaje+HyperFileSQL) o bien mediante Java o .NET gracias a la librería de Qt.

Luego llegaron WebDev y WinDev Mobile que permiten, mediante la utilización del mismo lenguaje de programación y la misma lógica de desarrollo, generar y desplegar páginas web, así como aplicaciones para Smartphones (Android e iOS) y terminales industriales.

Opiniones sobre WinDev desde el punto de vista de Velneo

Como comentaba hace un año nuestro compañero Miguel Pérez en el artículo WinDev y Velneo, donde entraba a comparar ambos entornos se llegaba a la conclusión de:

“Definitivamente no son productos comparables [Windev y Velneo], y los dos son buenos.

Velneo nace como un producto mas completo, no solo como un generador de software más o menos rápido, su concepto es se “la plataforma completa de desarrollo de aplicaciones empresariales”.

Y eso es lo que Velneo es experto […] siempre trabajando sobre la base de datos mas fiable, potente y mantenible posible, en donde lo que prime sea la transacionabilidad, robustez y mantenibilidad.

Velneo […] es otro paradigma, enfocado solo para hacer aplicaciones empresariales y para conseguir esos resultados […], juega con la integración, la facilidad de desarrollo y el refactoring, al estar todo ligado en torno a su base de datos especializada.”

¿Es Velneo una alternativa a WinDev?

Sí y no. Puede. Depende.

Velneo NO es una alternativa a Windev, si quieres desarrollar o programar software o programas que NO sean de gestión empresarial.

Velneo NO es una alternativa a Windev, si deseas programar con Java o .NET usando un acceso nativo a bases de datos como MySQL, SQL Server, SQLite, Oracle…

Velneo NO es una alternativa a Windev, si no desear pagar una suscripción mensual a cambio de actualizaciones, soporte técnico, formación y garantías del servicio.

Velneo es una estupenda alternativa a WinDev, si el proyecto que tienen que llevar a cabo el departamento de programación o el desarrollador en cuestión, se enmarca dentro del sector de las aplicaciones de gestión empresarial.

Velneo es una fantástica alternativa a WinDev, si los programadores desean realizar todo el desarrollo de la aplicación completamente en español: desde la lógica del software de gestión empresarial, pasando por el lenguaje de programación, la documentación o las instrucciones. Todo 100% en castellano.

Velneo es una apropiada alternativa a WinDev, si los programadores desean actualizaciones, soporte técnico, formación y una garantía de Acuerdo de nivel de servicio (SLA) en sus servidores de despliegue.

Velneo es mucho más adecuado para ti si lo que buscas es rendimiento y estabilidad con bases de datos como gran volumen de registros (Incluso miles de millones).

Velneo es mucho más adecuado para ti si tienes pocos desarrolladores y técnicos (2 ó 3) y tu objetivo es desarrollar un vertical o hacer software a medida sin preocuparte de otras tecnologías. Velneo las incorpora y las hace transparentares para ti.

Definitivamente Velneo, si te preocupa la evolución y el mantenimiento de tu software, por su refactoring, imposible con otras tecnologías y la constante evolución de tus productos de forma transparente, sin tocar una sola linea de código.

Al final, Velneo es una alternativa a Windev dependiendo de tus necesidades.

Este artículo Alternativa a WinDev es original de Velneo.

Nueva región en París de Velneo Cloud

Siguiendo con nuestra política de mejora continua, hemos abierto una región en París para tanto Velneo vServers de desarrollo como de producción.

Esta nueva región dará una mayor agilidad a las conexiones de las aplicaciones por el simple hecho que las conexiones desde España (sobre todo la península ibérica) o Andorra se verán mejoradas por la disminución de la latencia en las comunicaciones TCP. Según nuestras pruebas el rendimiento de las aplicaciones puede mejorar hasta un 20%.

Además, esta nueva región es la primera que tiene implementado Velneo Cloud 2 en todos sus usuarios. Esto nos permite ajustar y mejorar los recursos destinados a cada usuario de forma más inteligente. Así podemos ofrecerte Velneo Cloud vModApache que incorpora Apache + https, un subdominio exclusivo para ti y disponer de una vrl sin puerto (por ejemplo, vatp://mierp.empresa.velneo.net).

Ya sabes, si vives en Europa y, tanto si tienes un vServer de desarrollo en c6.velneo.com o en c5.velneo.com, solicita a soporte su traslado a París. Y lo mismo si tienes un vServer de producción en c1.velneo.com. ¡¡Bonito París!!

Este artículo Nueva región en París de Velneo Cloud es original de Velneo.