Ahorra tiempo programando tu ERP asistiendo a este seminario

 

¿Qué es?

En el seminario de Velneo “Gana más dinero desarrollando software de gestión” en el que a partir de una plantilla empresarial con gestión de compras, ventas, almacenes, TPV, contabilidad…te mostraremos de qué forma podrás personalizarla y adaptarla a tus necesidades o las de tus clientes en un tiempo récord, y así, disponer de tu propio ERP.

¿Cuándo se celebra el seminario?

Se celebra este jueves, día 19 de octubre, en de 4pm a 6pm (horario UTC+2). Si tienes cualquier pregunta o duda, ponte en contacto.

¿A quién va dirigido este seminario?

¿Haces software para empresas usando Visual Basic, .NET, o FoxPro u otra plataforma para profesionales? ¿Quieres programar tu propio ERP para vender a tus clientes? Te invitamos a que conozcas Velneo vERP en este seminario gratuito.

Regístrate ahora: plazas limitadas

Este artículo Ahorra tiempo programando tu ERP asistiendo a este seminario es original de Velneo.

Tagged , , , , , , | Comments Off on Ahorra tiempo programando tu ERP asistiendo a este seminario

5 consejos para estar más valorado como programador

Si eres programador de software probablemente puedes optar a un buen puesto de trabajo y tienes la expectativa de cobrar un sueldo que vaya en proporción al trabajo altamente cualificado que realizas.

Ahora, si quieres ser un programador muy bien remunerado tendrás que saber qué cosas tienes que hacer para estar más valorado como programador. En otras palabras, ¿Qué hacen los programadores mejor pagados para llegar a serlo?

La mayoría de los profesionales que ganan más dinero, independientemente del sector y del oficio que realizan, lo hacen porque se preocupan en mejorar, en hacerse mejores, y detrás lo normal es que vengan buenas ofertas de trabajo y buenos sueldos.

Esta lista no pretende ser exhaustiva ni cerrada, pero sí son 5 consejos que te pueden servir para ser percibido mejor por el mercado laboral, y estar mejor valorado como desarrollador de aplicaciones.

#1 Gana credibilidad

Esto es lo mejor que puedes hacer, y lo más importante. ¿Cómo? Haz contribuciones a proyectos de código abierto y escribe sobre ello en un blog técnico o subiendo vídeos a un canal de YouTube. Haz pequeños trabajos freelance y crea un perfil profesional LinkedIn y en portales de freelance con buenas recomendaciones. Participa en eventos tecnológicos tipo Hackathons y demás.

El objetivo es tener un “catálogo” de logros para poder demostrar tus conocimientos de forma proactiva.

#2 Hazte conocido a nivel local

Además de los consejos del primer apartado, lo importante es que todo lo que hagas sea para hacerte conocido en espacio pequeño claramente delimitado. Tienes que mostrarte en un ámbito concreto hasta que todo ese círculo te conozca.

Las personas se acordarán de ti cuando necesiten cubrir un puesto por tus contribuciones, y si te eligen tienes mucha más fuerza para negociar que sí te presentas a un proceso de selección tradicional y podrás entrar a trabajar con buenas condiciones, evitando tener que mostrar constantemente tu potencial internamente para poder llegar a ganar un buen sueldo con los años.

#3 Mantente actualizado

Cualquier tecnología contrastada que hoy en día se usa en las empresas puede caer en desuso o quedarse obsoleta en cuestión unos pocos años. Tienes que estar a día de las tecnologías que se van consolidando en el mercado, y metiéndote a fondo con aquellas que crees que pueden revalorizarte.

Es un proceso complicado porque no puedes estar aprendiendo todo lo que sale. Con los años desarrollas un instinto que te permite intuir que cosas sí pueden tener futuro.  Si te subes a un carro en el momento oportuno, puedes crecer mucho a nivel profesional a medida que se consolida la tecnología por la que has apostado. Si llegas tarde, serás uno más.

#4 Habla de tu trabajo

Si estás haciendo algo en el trabajo que está bien y mola, no tengas miedo a hablar de ello fuera de ese entorno. Ve a meetups, muestra a los demás tu trabajo. Con esto no quiero decir que te tienes que saltar las cláusulas de confidencialidad, pero hay muchas formas de mostrar tu trabajo sin revelar secretos de empresa.

Dando a conocer lo que haces fuera de tu entorno laboral te ayudará a abrir fronteras laborales.

#5 No tengas miedo a cambiar

Exígele a tu empresa rotar de puesto o de equipo de programación cada par de años para no quedarte en una zona de comfort que te puede llegar a frenar profesionalmente. Si cambias cada cierto tiempo de equipo y de tecnología estarás mejor valorado.

Si tu empresa no te ofrece esa rotación, lo mejor que puedes hacer, especialmente al inicio de tu trayectoria profesional, es cambiar de empresa sin miedo, explicando tu motivación para el cambio, y quedando bien con el empleador.

El hecho de querer mejorar y tomar la iniciativa para cambiar es algo que en sí mismo ya te revaloriza profesionalmente. Además, trabajar para diferentes organizaciones te ayuda a tener una perspectiva más amplia del trabajo y te quita el miedo a depender de un empleador ya que experimentas los cambios como algo natural, sin traumas.

Nunca sabes si algún día querrás volver a una empresa en la que ya has estado, así que lo mejor es tratar estos cambios con sinceridad, e intentando dejar las puertas abiertas siempre que sea posible.

Este artículo 5 consejos para estar más valorado como programador es original de Velneo.

Tagged , , , , , , , | Comments Off on 5 consejos para estar más valorado como programador

Soporte técnico de software, la relación humana

No es lo que hace el usuario es como se siente.

 

El pescadero, una compañera, mi hija, un amigo, el funcionario, un cliente, mi madre, un competidor… Al cabo de un mes no me acuerdo de la conversación pero sí de cómo me sentí con esa persona en ese momento.

Cuando tengo un problema y mi interlocutor me trata bien, me siento mejor y minimizo el problema. En 2013 la CEB analizó 4589 clientes y concluyó que la satisfacción de la resolución de soportes dependía en un 64,5% en cómo se sentía el usuario, basado en elementos subjetivos, emociones y reacciones. La solución al problema es un 1/3 de la satisfacción y 2/3 es como hacemos sentir al cliente mediante elementos subjetivos.

.

man-person-people-emotions.jpg

.

 

Defiende y alinéate con el cliente.

.

Problema: Al empezar el día empiezas a tener problemas con la facturación. Llamas al soporte telefónico.

Respuesta grupo A: No sé muy bien qué está pasando, le paso el ticket a programación. Gracias

Respuesta grupo B: Buenos días, entiendo que su situación es frustraste, lo siento, voy a mirar en mi base de datos para ver si encuentro algún problema similar, así podemos ver si es un problema de la versión actual. No encuentro nada en la base de datos, voy a dar de alta una incidencia de programación con el código XXX. Gracias por su tiempo y disculpe las molestias.

Al analizar la satisfacción, los clientes del grupo B indicaron un 67% más de calidad y un 77% más de facilidad en el trato de la incidencia.

.

Lenguaje positivo.

.

Problema: Tratas de logearte en el sistema y dice que no estás autorizado. Llamas al soporte técnico.

Respuesta grupo A: Hola, su contraseña ha caducado, no le puedo ayudar desde aquí, vaya a la página de login y restaure su contraseña.

Respuestas grupo B: Ya entiendo su problema,  tenemos que restaurar la contraseña. Serán unos segundos de su tiempo y lo haremos juntos. Vaya a la página de login, ahora haga click en…

Al analizar la satisfacción, los clientes del grupo B indicaron un 82% más de calidad y un 73% más de facilidad en la solución de la incidencia

.

.

Alinea expectativas. Promete menos y entrega más.

.

Problema: Quieres una nueva funcionalidad de la nueva versión del software y llamas a soporte para que te la instale.

Respuesta grupo A: Hola, tenemos un hueco para instalar la nueva versión mañana de 14 a 15 horas y necesitamos que todo el mundo esté fuera del sistema.

Respuesta grupo B: Hola, la semana que viene podemos instalarla cuando le venga bien, la otra opción seria un hueco mañana de 14 a 15 horas y necesitamos que todo el mundo esté fuera del sistema. Sabemos que es mala hora para salir del sistema pero es el único hueco que tenemos mañana. ¿Qué sería mejor para vosotros?

Al analizar la satisfacción, los clientes del grupo B indicaron un 76% más de calidad y un 55% más de facilidad en la solución de la incidencia

Las soluciones propuestas por el agente eran exactamente las mismas para los clientes del grupo A y grupo B,  el QUE era el mismo pero el CÓMO trataron al cliente y lo hicieron sentir fue muy diferente.

 

.

.

Bibliografía: The effortless experience & CEB

 

 

Tagged , , , | Comments Off on Soporte técnico de software, la relación humana

Últimas semanas para la versión Velneo 22

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, noviembre de 2017.

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 suscriptor de nivel 4 y desarrollador certificado, puedes participar en el programa de betatesters. Si estás interesado, por favor, ponte en contacto.

 

 

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

Tagged , , , | Comments Off on Últimas semanas para la versión Velneo 22

Lidera la estrategia de tus clientes implantando aplicaciones en Cloud

La industria del desarrollo de software empresarial lleva años inmerso en un cambio de propósito. Las empresas de desarrollo ya no solo son meros proveedores de software empresarial más o menos estándar, más o menos personalizado, sino que se exige de ellas aportar valor y ofrecer servicios que hagan a las empresas más competitivas.

En muchos casos ya no basta con tener, por ejemplo, un programa de contabilidad “paquetizado” para distribuir por un determinado sector, y luego dar soporte y vivir de ello. Ahora se exige a las empresas de desarrollo la resolución de problemas intrínsecos al negocio del cliente, y no solo dar simplemente soporte y mantenimiento a un software estándar.

Actores claves para liderar estrategias

Desde hace ya unos años, se dedican menos recursos a gestionar de forma individualizada el hardware y el software usado dentro de la empresa del cliente. Hoy en día las empresas de desarrollo de aplicaciones empresariales se han transformado actores claves para liderar estrategias, innovación y productividad. Ya no se trata solo de estudiar los flujos de valor y los activos del cliente y hacer un software para gestionarlos. Se trata de aportar soluciones que hagan mejor al cliente, que mejore su gestión y potencie su valor.

Al mismo tiempo, el cambio hacia entornos en la nube híbridos hace que el desarrollo de software y su gestión de forma fluida se haga cada vez más difícil. A las empresas con departamentos de programación propios les cuesta mucho diseñar, implementar y gestionar entornos cloud híbridos. Según una encuesta muy reciente de “Frost & Sullivan” el 52% de los jefes de departamento de desarrollo dentro de la empresa culpan a la falta de los conocimientos y la experiencia necesaria dentro del ámbito de la empresa como causa principal para la implementación de sus aplicaciones en la nube.

En la misma encuesta descubrimos que el 91% de los departamentos de desarrollo se apoyan en empresas externas para la implementación de sus aplicaciones en la nube. Y el 13% de estas recurren a servicios de cloud hosting gestionado. Como empresa de desarrollo de software para empresas, la actual situación puede convertirse en una oportunidad si te especializas en la implementación de aplicaciones en la nube.

Y no hace falta hacerse un experto ya que los servicios cloud gestionados pueden servirte para cubrir la demanda de muchas empresas. Lo que sí debes hacerte es experto en conocer bien los diferentes servicios cloud gestionados. ¿Cómo es su infraestructura? ¿Qué política de seguridad tienen? ¿Política de actualizaciones? ¿Rendimiento? ¿SLA?…

Si tienes una empresa de desarrollo de software es un gran momento para entrar a fondo a conocer estos servicios cloud ya que puede que tus clientes te pidan asesoramiento, y también es una gran oportunidad para colaborar con departamentos de desarrollo de empresas que necesitan ayuda y soporte en esta transición a la nube.

¿Que está pasando en el mundo del desarrollo de software empresarial?

Las empresas, y más concretamente sus departamentos de programación o sus proveedores de software, saben que deben hacer un cambio crítico para ser más estratégicos que nunca. En 2013, solo un 9% de las empresas afirmaban que la Nube era estratégica para su organización. Dos años más tarde, en el 2015, el porcentaje subió hasta un 85%. Me atrevería a decir que hoy en día, en 2017, ya no hay empresa que no contemple trabajar en la nube tarde o temprano, siendo para la gran mayoría un paso obligatorio para poder competir. A nivel empresarial, el software hoy en día debe ayudar a las empresas a conseguir sus objetivos en áreas como:

  • velocidad a la hora de prestar servicios
  • reducir los tiempos de lanzamiento al mercado de nuevos servicios
  • capacidad de respuesta en tiempo real a las necesidades de la empresa
  • crear una experiencia del cliente personalizada
  • incorporar innovaciones como factores competitivos diferenciales

A todo esto, debemos tener en cuenta que además de los objetivos empresariales, los retos del día a día también son complejos, entre otros:

  • tareas relacionadas con optimizar y mantener ERPs críticos (dichas tareas de mantenimiento y optimización muchas veces nos empujan a seguir trabajando en local, ya que su migración a la nube se percibe como un trabajo farragoso y complicado)
  • la migración a la nube de algunos sistemas concretos sin perturbar las operaciones de la empresa
  • garantizar que todos los sistemas -en cloud y en local- son seguros, funcionan como deben y tienen copias de seguridad y soluciones de recuperación de datos

Para lograr que todos estos objetivos estratégicos y operacionales de tus clientes se cumplan, como empresa de desarrollo tienes que garantizar que las infraestructuras funcionan de forma óptima. La pregunta clave aquí es: ¿cuál es la mejor manera de gestionar de manera eficiente los componentes de una infraestructura crítica (servidores físicos y virtuales, routers y redes, y el hardware que optimiza el rendimiento) sin tener reasignar recursos a las gestiones rutinarias y actividades de optimización?

Servicio Cloud gestionado

Muchas empresas de desarrollo hoy en día optan por montar su propio cloud para sus clientes. En estos casos puedes optar por montar tu propia infraestructura desde cero o recurrir a servicios de cloud gestionados.

Los servicios de cloud gestionados son una solución ideal para aquellas empresas de desarrollo que quieran centrarse más en dar mejor servicio y en el análisis/desarrollo de aplicaciones. Suponen la creación de una sociedad tecnológica entre la empresa de desarrollo y el proveedor del servicio.

Es muy común que los departamentos de programación de una empresa recurran a este tipo de servicios, pero cada vez más hay empresas de desarrollo que lo hacen para librarse de tareas de monitorización, administración y mantenimiento del cloud y centrarse en otros aspectos del negocio. Un proveedor de este tipo de servicios aporta pericia y experiencia en tecnología cloud y en infraestructuras, mientras que la empresa de desarrollo se centra en mejorar y mantener las aplicaciones ahí alojadas.

Muchos proveedores de servicios cloud se limitan a ayudarte a gestionar la infraestructura a nivel hardware, pero en otros casos su servicios van más allá y ofrecen:

  • asesoramiento a la hora de diseñar la infraestructura e desplegar aplicaciones
  • gestión del cloud y garantizar el cumplimiento de las distintas normativas
  • asistencia a la hora de migrar aplicaciones a la nube

Además, muchos servicios de cloud gestionados se pueden personalizar para alcanzar resultados empresariales específicos. Algunos proveedores incluso ofrecen cierta flexibilidad para SLAs personalizados, o ofrecen SLAs que van más allá del estándar.

 

Velneo Cloud como valor estratégico

Si optas por desarrollar aplicaciones empresariales en Velneo, no necesitas contratar ningún servicio de cloud gestionado ni de montar tu propia nube, ya que Velneo Cloud ocupa ese papel de proveedor de servicio gestionado.

Otra historia es que optes por programar software empresarial con nuestra plataforma y que decidas montarte tu propio cloud, ya sea con la ayuda de cualquier empresa proveedora de este servicio o por tu cuenta… pero si quieres centrarte en tu cliente, en su problemática y en ayudarle a innovar te recomendamos Velneo Cloud.

Con Velneo puedes desarrollar y desplegar aplicaciones en local o en la nube. Si te interesa la segunda opción, Velneo Cloud te proporcionará grandes ventajas. Podrás desarrollar y desplegar tus aplicaciones desde cualquier lugar del mundo.

Velneo se encarga del mantenimiento y la disponibilidad del servicio. Olvídate de la adquisición y mantenimiento del hardware de tus servidores, de las copias de seguridad, de la conectividad al servidor, de la actualización del sistema operativo y de la actualización de la versión del vServer, Velneo se encarga de todo.

Velneo Cloud te permitirá desarrollar y desplegar tus aplicaciones con unos costes reducidos, controlados y flexibles, sin grandes inversiones iniciales. Puedes mover y actualizar tus aplicaciones y sus datos de Velneo Cloud a cualquier máquina local y viceversa, en cuestión de minutos, sin complicadas configuraciones.

Actualiza la nueva versión de tus aplicaciones en Velneo Cloud y tus usuarios se actualizarán inmediatamente en la siguiente conexión, de forma transparente.

Podrás tener en el mismo servidor diferentes bases de datos de diferentes clientes, totalmente independientes. Si tu aplicación es común a todos los clientes, podrás actualizar la versión para todos ellos con un solo click. Es la alternativa natural a la implantación de tus aplicaciones en las instalaciones de tu cliente.

Mejora tu competitividad, permite también a tus clientes acceder a las aplicaciones desde cualquier dispositivo y lugar, haz que todas estas ventajas también repercutan en ellos.

Más información sobre Velneo Cloud.

Conclusión

Para liderar la estrategia de la migración a la nube de las aplicaciones empresariales de tus clientes puedes optar entre tres vías:

  • montar tu propia nube, ocupándote tú de todo desde el diseño de la infraestructura, la elección del hardware, mantenimientos, etc…
  • montar tu propia nube con la ayuda de un proveedor de servicios gestionados
  • desarrollar aplicaciones en Velneo que te sirvan tanto para desplegar en local o en la nube, sin mayor complicación ya que Velneo se ocupa de todo.

Nuestro consejo es que te centres en dar el mejor servicio a tus clientes, manteniendo y actualizando las aplicaciones de empresa que has diseñado y desarrollado para ellos. Todo lo demás son distracciones que restan valor a tu actividad principal. No puedes ser un experto en todo.

 

Este artículo Lidera la estrategia de tus clientes implantando aplicaciones en Cloud es original de Velneo.

Tagged , , , , , , | Comments Off on Lidera la estrategia de tus clientes implantando aplicaciones en Cloud

¡Quiero hacer un programa de gestión en Web ! Quizás quisiste decir Cloud

Chiapas (México)

Chiapas (México)

Son muchos los programadores que se acercan con esta cuestión, pero realmente cual es su necesidad:

  • Una aplicación web que funcione únicamente desde un navegador web
  • Una aplicación cloud a la que se pueda acceder desde aplicaciones nativas en cualquier dispositivo

¿De que estoy hablando?

Dejaremos a un lado la primera solución que dieron los desarrolladores de gestión a esta necesidad del cloud y que fué terminal server, citrix, etc por motivos obvios.

Realmente con esa necesidad se genero un gran problema para muchas de ellas.

Esto se comenta en artículos como estos La Web esta muerta viva Internet , Cliente-servidor vs Aplicaciones Web , Aplicaciones Web vs Aplicaciones de escritorio y muchos más …

Sin embargo si algo avanza rápidamente es el mundo del software, y si hay una tecnología realmente cíclica en que se retoman cada 5 años conceptos  del pasado y que vuelven con nuevos nombres y mejoras tecnológicas es el mundo del software.

¿Cual es el problema?

El mundo de la Web ha evolucionado mucho, pero ni todo sirve para todo ni las primeras soluciones son las mejores.

Evidentemente si tenemos que hacer un dossier comercial o si a partir de el vamos a dar servicios extendidos a un publico que no nos conoce o que es poco fiel:  vender entradas de espectáculos, gestionar citas, vender productos de forma emocional, etc ,  y si para ello tenemos que conseguir audiencia a partir de posicionamiento en navegadores, solo hay un camino que es la Web.

El problema de algunas empresas que me llegan es cuando quieren hacer gestión en la web, quieren  hacer un Erp, un vertical de farmacias, ferreterías, colegios, empresas de servicios, contabilidad, etc.  y el cliente que tienen hace años en entornos de escritorio, quiere evolucionar hacia el Cloud y funcionando desde cualquier dispositivo,  lugar y  hora.

Y la conclusión es ..   Pues en Web !  (Confundiendo Web / Internet / Cloud  y el resultado no suele ser el ideal.

Solo empresas muy grandes con recursos ilimitados como Salesforce son capaces de conseguirlo,  pero las empresas normales se ven abocadas a arduas tareas de desarrollo,  y lo que es peor de todo, una  pesadilla para mantener y personalizar el software ya hecho.

Pero analicemos por qué caen en esta trampa tantas empresas.

¿De donde venimos ?

Dependiendo de donde vengamos tecnológicamente en nuestra empresa, y nuestras experiencias en décadas pasadas, tendemos a seguir haciendo las cosas de la misma manera.

Me explico, en las empresas de programación encontramos con estos dos perfiles  que en décadas anteriores estaban muy definidas.

  • Desarrolladores del mundo de gestión  usando arquitecturas cliente-servidor , con diversos lenguajes , front-ends, frameworks, etc, Estos se dedicaban a hacer Erp´s , verticales para distintos sectores, etc
  • Diseñadores Web, que se dedicaban a hacer páginas corporativas que todo el mundo demandaba y a las cuales con el tiempo se les ha ido pidiendo más y más funcionalidad.

 

La evolución

A partir de los orígenes anteriores, todos sabemos la evolución que han sufrido estos mundos, la necesidad de la multiplataforma, la irrupción del cloud, la evolución del Html, el Javascript , java y su complejidad, etc.

Y aquí se da la paradoja de la evolución cíclica  ,  nos embarcamos en el mundo Web con una amalgama de novedades que van en esa linea, compitiendo con empresas que llevan años , pero lo que es peor, parcheando constantemente para daptarnos a nuestras necesidades que son otras. Pondré un solo ejemplo,  cuantos programadores de gestión despues de volverse locos encuentran soluciones como Angular ,  (Para los neofitos básicamente nos permite  que toda la operativa de la web, se descargue a local al entrar en la web, es decir hace que la mecánica este siempre en local aumentando el rendimiento y tomando ideas de C-S). Pero esa para el que domina 100 tecnologías más puede ser la solución, pero no para tu empresa de software de gestión.

otro punto muy importante. Hoy en el 2017, se imagina alguien que para las aplicaciones de móviles alguien nos dijera que tenemos que utilizar aplicaciones Web. Alguien se imagina que para usar Facebook, Twiter, desde el móvil o celular tenemos que hacerlo desde un browser.

Todos los que se lo pueden permitir, te invitan a que bajes su app, su app siempre tiene mejor rendimiento, mas funcionalidad, etc que su pasarela web y es lo lógico. Es una aplciación nativa cliente conectada con un servidor, es C-S en esencia.

No me cabe la menor duda que ese es el camino hacia el que va el mercado y mas con la incorporaron de las nuevas tendencias hardware para convertir nuestro movil en nuestro nuevo portátil.

Por otra parte, si leímos los artículos iniciales ,las ventajas del cliente servidor a la hora de la gestión eran evidentes, pero vamos con los problemas.

  • Necesidad de actualizar en el cliente, cada nueva versión de nuestra aplicación
  • Necesidad de hacer un programa y una compilación para cada producto (Android, IOS, Windows, etc)

De nuevo y una vez mas, el mundo del software es cíclico, se ponen de moda conceptos , se olvidan y al cabo de unos años confluyen de nuevo con nuevos nombres.

A la vez que salen otras para cubrir necesidades como Unity  en el mundo del juego, (Basicamente nos permite hacer clientes y que estos se actualicen, con un solo fuente para todas las plataformas).

Una solución

No te molesto más.

Simplemente si vienes de la  programación de escritorio, si te sentías mas que cómodo con tu Visual Basic, Fox, Cobol.

Si añoras esos tiempos en que hacer un software a medida, un vertical, era mucho mas rentable que tus incursiones en el mundo web

En Velneo hace un solo programa y el se encarga del Back-End y te genera un front-end o  cliente nativo de tu aplicación para cada plataforma.

Creo que te interesa conocer esta alternativa. No es que seamos mágicos ni mejores. sino que nuestra única misión es atender a nuestros clientes (Empresas de desarrollo) para que su vida sea lo mas cómoda y rentable posible y lo llevamos haciendo desde hace mas de 10 años.

 


Tagged , , , , , | Comments Off on ¡Quiero hacer un programa de gestión en Web ! Quizás quisiste decir Cloud

La naturaleza del Software

Haciendo un repaso de nuestra historia, me he dado cuenta que llevamos dedicados más de veinte años a la tarea de construir software para clientes privados y públicos de toda naturaleza.

Fundamentalmente hemos desarrollado software de gestión empresarial, pero no solo, hemos dado soluciones a problemas de toda naturaleza. Desde hace ya más de diez años estamos centrados en la consultoría tecnológica y en diseño de arquitecturas de software.

 

Gracias a estos últimos años, empiezo a vislumbrar algunos patrones repetidos en los éxitos y fracasos. Creo que es momento de poner en limpio todo lo aprendido en estos veinte años. Por ello, me siento con ganas de deciros cuales son nuestros diez mandamientos en los diseños de arquitectura:

El software es un negocio y como tal hay que tratarlo

Básicamente, todo lo que hacemos, parte de una necesidad que cubrir, un resultado esperado, un presupuesto asignado que alguien paga y una serie de personas que lo hacen.

Resumiendo, lo que lo primero que tenemos que tener claro en todo proyecto es:

  • ¿Qué vamos a resolver?
  • ¿Cuanto cuesta?
  • ¿Quien lo paga?
  • ¿Quién lo hace?
  • ¿Cuál es el beneficio?

sabri-tuzcu-331970

Si alguna de estas preguntas no tiene respuesta directa, ya hemos fracasado.

 

El software es de naturaleza compleja

Sin lugar a dudas, el software es de naturaleza compleja, tienes que aprender a lidiar con esa complejidad. De igual forma, el cliente y todos los agentes intervinientes en el proceso, también tienen que entender esta cuestión.

johannes-plenio-377226

Si alguien de peso en el proceso productivo no entiende esta cuestión, ya hemos fracasado.

 

El problema a resolver se puede describir perfectamente en una página

Si el cliente no es capaz de describir el problema en una página, es que no tiene claro cual es su problema.

Si después de que el cliente te lo cuente de forma simple, no eres capaz de plasmarlo en una página, es que no entendiste el problema que el cliente te describió.

patrick-tomasso-71909

Si no somos capaces de describir el problema en una página, ya hemos fracasado.

 

Las personas mienten

Cuando conversas con el cliente, analista, jefe de proyecto respecto al problema que quieren resolver, no siempre enfocan bien la descripción de su problema.

Normalmente este mal enfoque se produce por:

  • Desconocimiento del detalle del negocio.
  • Por quererte engañar, mejorando su posición de cara a la negociación.
  • Por no poder o querer contarte ciertas realidades (lo que yo llamo sus miserias).
  • Por intentar dar soluciones técnicas al problema sin disponer del conocimiento tecnológico necesario.

peyman-naderi-379105

Si no descubrimos lo que nos ocultan, ya hemos fracasado.

 

Simple, pero que resuelva

Para que una solución tecnológica perdure en el tiempo tiene que partir de un pequeño producto que resuelva el problema de forma clara (mínimo producto viable).

johannes-plenio-262511

Si no la solución a desarrollar no es simple, ya hemos fracasado.

 

La documentación es una representación de la realidad, no la realidad en si misma

Los documentos que recibes, son una representación de la realidad, no la realidad en si misma. Normalmente, si profundizas un poco verás que la realidad es diferente.

Estos documentos los recibimos de múltiples fuentes; cliente, analista, desarrolladores, operaciones, testing, QA, jefes de proyecto… todos ellos los tienes que poner en duda.

MagrittePipe

Si no somos capaces de encontrar la realidad subyacente, ya hemos fracasado.

 

Programar es el arte de introducir nuevos errores

Cuando picas código, estás añadiendo nuevos errores en la ejecución de tu programa. Ser ordenado y aburrido ayuda a minimizarlos.

Cada línea de tu código es importante, una sola línea puede tirar por tierra todos tus esfuerzos.

Un buen diseño de arquitectura permite la introducción de nuevos errores sin provocar el fallo del sistema. Para ello tienes que determinar cual es el centro del mismo y aislarlo del resto de componentes.

Cuando alguien comete un error en el proceso productivo, no le matarás, más bien harás lo contrario. Le contarás las implicaciones de su error, le ayudarás a mejorar sus habilidades, le reforzarás en sus aciertos y todo ello con la intención de que crezca en el proceso. Un buen profesional del mundo del software es difícil de encontrar y muy fácil de perder.

markus-spiske-109588

Si no somos ordenados y aburridos, ya hemos fracasado.

 

Las modas, modas son

Está muy de moda…

  • NodeJS/AngularJS
  • Cloud/Containers/Micro-servicios
  • AgileXP/Scrum
  • PMP/ITIL
  • DevOps

Son modas… solo unas pocas perduran, otras pocas mutan y el resto perece.

clem-onojeghuo-146651

Aplica las modas en la medida justa, en la medida que sienten bien al proyecto, si nos excedemos, ya hemos fracasado.

Cuantas menos personas conformen el proyecto mejor es la comunicación entre ellas

Cada día más es habitual ver grandes proyectos formados por decenas de personas. A más personas en un proyecto peor es la comunicación entre ellos.

Trocea bien el sistema a desarrollar, que cada grupo se focalice en su parte y evita solapamientos.

Haz responsable del código a los programadores, haz responsable de la arquitectura a los arquitectos, haz responsable de las garantías a QA.

daria-shevtsova-57340

Si no conseguimos un grupo de personas adecuadas para el proyecto, ya hemos fracasado.

Tagged , , , , , , , | Comments Off on La naturaleza del Software

José Manuel Caicoya, nuevo analista programador C++ de Velneo

José Manuel Caicoya

Se acaba de incorporar al equipo de desarrollo de Velneo un nuevo compañero, con una dilatada experiencia en proyectos de desarrollo con C++. Ha sido también profesor universitario de programación y forma parte del Comité de Estandarización C++.

La estabilidad y el rendimiento de Velneo son dos de las ventajas que más valoran nuestros clientes, por eso necesitamos personas en el equipo que refuercen estos pilares. Queremos agradecer a Jose que haya elegido nuestro proyecto entre las opciones que tenía.

Atraer talento es la principal motivación que nos lleva a esforzarnos por ser una de las mejores empresas para trabajar de España y de Europa. En este caso, estamos seguros de haber acertado.

¡Bienvenido Jose!

Este artículo José Manuel Caicoya, nuevo analista programador C++ de Velneo es original de Velneo.

Tagged , , , | Comments Off on José Manuel Caicoya, nuevo analista programador C++ de Velneo

¿Cómo comentar el código de una aplicación hecha en Velneo?

Aprovechando el post de Jesús Arboleya sobre el trabajo que estamos haciendo en relación con los comentarios del código de la nueva versión Velneo vERP, queremos mostraros la forma en la que uno de los mejores programadores de la plataforma está pensando en comentar el código, en este caso el código de Velneo vERP. Este tema está abierto a opiniones y si queréis podéis dar vuestro parecer en la sección de comentarios.

A partir de aquí mostramos íntegramente el artículo de Jesús Arboleya de cómo está pensando en comentar la siguiente versión de Velneo vERP:

 

A raíz del feedback recibido en “El comando REM consume tiempo, sin comentarios” hemos trabajado en el que será desde ahora el nuevo estilo de comentarios que usaremos en Velneo vERP a partir de la versión 22.

Los objetivos

El primer objetivo es que los programadores que vean el código lo puedan leer y entender con la menor carga cognitiva posible.

El segundo es que el sistema de comentarios sea sencillo de comprender y aplicar, y por lo tanto los desarrolladores lo apliquen de forma rápida, sencilla y homogénea.

 

 

Criterios base con matices

Los criterios base a aplicar son los siguientes:

  • Los comentarios se escriben con líneas aplicando el comando REM.
  • Las líneas de comentarios se “comentarán” para que queden de color verde destacando del resto del código y evitando su evaluación en ninguna circunstancia.
  • Si el texto del comentario es muy largo y no se ve por completo en pantalla se dividirá en varias líneas REM.
  • Las separaciones de código o comentarios se conseguirán empleando líneas libre antes de la línea de comentario REM.
  • Las líneas libres también se “comentarán” para facilitar su lectura y creación del concepto de bloque

Sobre estos criterios base debemos tener en cuenta diferentes excepciones o matices a la hora de aplicarlos en función de la localización.

A continuación se muestra la lista con los diferentes tipo de líneas de comentarios que espero te resulten lógicos y fácil es de aplicar si deseas usarlos en tu código.

Comentario de inicio de código

Es conveniente que el código comience con una descripción general del mismo. En muchos casos puede coincidir con la descripción del objeto: proceso, función, manejador de evento, etc.

Esta línea REM no requiere ninguna línea libre anterior ni posterior.

 

 

Comentario de log de cambios

Si el cambio de un código requiere ser documentado y declarado de forma explícita se añadirá tras el comentario descriptivo de inicio de código una o varias líneas de log. Estas líneas estarán separadas de la descripción inicial por una línea libre.

El formato de la línea de log será:

 

 

Aunque en Velneo vERP no es necesario indicar el nombre o nick del programador, si se considera importante para el desarrollo en equipo se aplicará el siguiente formato:

 

 

Comentario antes del código y después de la descripción

Si una vez añadida la línea REM de la descripción general es necesario poner un comentario antes de la primera línea de código se separarán ambas líneas de comentarios por una libre.

 

 

 

Comentario inicial de un nuevo bloque en el mismo nivel

Para conseguir que ambos bloques de código queden claramente separados visualmente se aplicará una línea libre antes del comentario consiguiendo que el espacio en blanco ayude a separar ambos bloques.

 

 

Comentario en primera línea de un bloque sangrado

Cuando hay bloques de código que se escriben con sangrado debido a comandos de intrucción que generan subprocesos como ocurre con los comandos if, cargar lista, recorrer lista, etc. No será necesario poner una línea libre ya que el sangrado consigue el efecto de separación de bloques y una línea libre genera demasiada separación.

En el caso de los comando if, else y elseif las líneas de sus subprocesos si empiezan con un comentario lo harán siempre sin necesidad de incluir anteriormente una línea libre.

 

 

Comentario en primera línea tras finalizar un sangrado

Aunque la finalización de un sangrado ya genera separación visual del código, la primera línea tras recuperar el nivel de código anterior conviene que si comienza con comentario tenga una línea libre anterior ya que nos ayudará a comprender que existe código anterior al mismo nivel.

 

 

Comentario local a un línea dentro de un bloque

Cuando un comentario se utilice para documentar la línea o línea siguientes, pero no a todas las líneas del bloque, este comentario no incluira una línea libre anterior, ya que su función no es separar bloques de código.

 

 

¿Qué pasa con el código que ya tengo escrito?

Te puedes preguntar si merece la pena repasar todo el código que ya tengas escrito en una aplicación para aplicar un nuevo criterio de comentarios, sea éste u otro.

En principio creo que no es necesario invertir ese tiempo, pero lo que sí haría es aplicar el nuevo criterio cada vez que edito un código antiguo. Esto ayuda a saber que ese código ha sido modificado y con el paso del tiempo podrás conseguir que la mayoría de los procesos más importantes de la aplicación tengan el nuevo criterio aplicado.

Como Velneo vERP es una plantilla y, por lo tanto el código es lo más importante ya que es un producto para el desarrollador, sí haremos el esfuerzo de revisar todos los procesos, funciones, manejadores de evento y eventos de tablas aplicando el nuevo estilo.

Feedback

Estaremos encantados de recibir cualquier feedback para aportar mejoras o para confirmar que te gusta alguna parte o todo el criterio de aplicación de comentarios.

 

Este artículo ¿Cómo comentar el código de una aplicación hecha en Velneo? es original de Velneo.

Tagged , , , , , , , | Comments Off on ¿Cómo comentar el código de una aplicación hecha en Velneo?

Exportador dinámico 2.0

Hace algunos años apareció un magnífico plugin para nuestras aplicaciones Velneo, se trataba del exportador dinámico, un plugin realizado por TheSeedSC.

El “Exportador dinámico” permitía crear plantillas personalizadas para exportar los registros de una lista (una vista de datos normalmente) seleccionando entre los campos de la tabla y sus maestros.

Exportador dinámico

Además, disponía de otras funcionalidades muy interesantes:

  • guardar y recuperar plantillas
  • ocultar campos (lista negra)
  • distintos formatos (CSV, HTML, JSON)
  • poder exportar desde cualquier vista de datos con un manejador de evento y dos líneas de JS

Sin embargo, presentaba algunos inconvenientes:

  • La estructura completa de la BBDD se guardaba en tablas en disco y se traspasaba parte de ella a tablas en memoria cuando se quería crear una plantilla, esto hacía que si se cambiaba la estructura de la BBDD (añadir, modificar o eliminar campos y/o tablas) había que borrar las tablas y generar la estructura de nuevo.
  • Las listas negras también estaban guardadas en tablas, enlazadas con la estructura, lo que suponía que se perdían si había que regenerar la estructura.
  • El traspaso de información de las tablas de disco a tablas en memoria se ralentizaba en caso de tablas con muchos campos y enlaces maestros.

Por todo ello un día empezamos a pensar en cómo intentar solucionar algunos de los problemas que presentaba aprovechando novedades del API JS y el nuevo control TreeView, entonces decidimos no guardar la estructura de la BBDD, sino leerla cuando fuera necesario del proyecto Velneo (con VProjectInfo y VTableInfo), además optimizamos su carga, sólo se leen las tablas enlazadas cuando el usuario las abre.

Al no guardar la estructura en tablas no podíamos crear vistas de datos “rejillas” o “árboles” con objetos Velneo, así que usamos el control TreeView para representar tanto los campos disponibles como.

exportador dinámico

El exportador dinámico + “Life is soft”

Finalmente optamos por un enfoque algo más Life Is Soft a la hora de integrar el exportador con nuestras aplicaciones, en lugar de llamarlo con JS desde vistas de datos, preparamos tres procesos  para que pudieran ejecutarse desde cualquier origen lista (“Preparar plantilla”, “Generar datos” y “Preparar plantilla+Generar datos”), además, al estar divididos es posible utilizarlos de forma más flexible, si sólo necesitas que el usuario prepare una plantilla se ejecuta el primero (para guardarla como configuración), si ya tienes la plantilla guardada puedes recuperarla y ejecutar directamente el proceso de “Generar datos”.

También nos permite personalizar la ejecución del exportador:

  • Preparar plantilla
  • Realizar un proceso largo/costoso de búsqueda o generación de registros
  • Pasar el resultado al proceso de generar datos

Para que podáis probarlo vosotros mismos os adjuntamos un pequeño .vin con el código un par de tablas de ejemplos.

Algunas de las mejoras y funcionalidades interesantes para añadir pueden ser:

  • Listas negras de campos
  • Guardar y recuperar plantillas
  • Añadir opciones de formateo a los campos (formatos de tiempo/fecha/hora, eliminar saltos de línea en campos alfabéticos…)
  • Implementar otros formatos de salida (HTML, XML, JSON…)

Si queréis integrarlo con vuestras aplicaciones sólo tenéis que copiar los objetos (y ficheros de script) y modificar el fichero “exp_cfg.js” con el alias de vuestro proyecto.

¿A qué esperas para descargarte el exportador dinámico del Profesor vBacterio?

Pruébalo y déjame un comentario mas abajo

La entrada Exportador dinámico 2.0 aparece primero en AyudaVelneo.

Tagged , , , , , , | Comments Off on Exportador dinámico 2.0