15 buenas prácticas para proyectos de desarrollo de software

El software es uno de los pilares de la sociedad moderna, ya sea por trabajo, negocios o placer. Tanto los niños como los adultos tienen una fuerte dependencia de la tecnología que está asentada sobre aplicaciones y servicios de software sólidos y robustos. Esta dependencia se basa en la garantía de que las aplicaciones de software y las utilidades son seguras y fiables.

Desde la otra perspectiva, la industria del desarrollo de software evoluciona de forma muy rápida, dada la demanda y las oportunidades que ofrece el mercado en forma de necesidades no cubiertas. Hay muchísima competencia ya que muchas empresas están intentando desarrollar sus propias soluciones para llevarse su parte del pastel.

Desgraciadamente, muchos esfuerzos concienzudos y minuciosos se van al cubo de la basura en el desarrollo de software. Varias fuentes del sector señalan que aproximadamente un 80% de los proyectos de software no tienen éxito por malas previsiones, ejecuciones de proyecto muy mejorables, presupuestos y recursos limitados, o funcionalidades inapropiadas.

15 buenas prácticas para proyectos de desarrollo de software

Afortunadamente, sin embargo, existen un gran número de casos de éxito. Siempre podemos aprender del enfoque usando en ellos y que nos puede servir de mucha utilidad para garantizar llevar a buen puerto nuestros desarrollos de software.

Ya sea que estés desarrollando un nuevo producto de software, haciendo mejoras, actualizaciones o mantenimientos de software ya existente, es aconsejable tener en cuenta las mejores prácticas que se enumeran a continuación:

#1 Seleccionar el talento y los recursos apropiados

Captar y seleccionar el talento humano con las destrezas necesarias y experiencia relevante es vital para garantizar el éxito del proyecto. Es importante asignar el trabajo apropiado a la persona indicada.

Por otro lado, invertir en herramientas que aumentan la productividad y eficiencia del equipo de desarrollo es muy importante. Buenos equipos, hardware moderno, software y plataformas de desarrollo y de pruebas actualizado, y herramientas automatizadas ayudan a que el equipo pueda imprimir todo su conocimiento y buenas prácticas para garantizar un producto sólido, fiable y robusto.

#2 Escoger el proceso de desarrollo apropiado

El ciclo de vida del desarrollo del software tiene una fuerte dependencia del proceso elegido. El modelo en cascado, la metodología ágil, el enfoque iterativo en espiral, son todos formas contrastadas de alcanzar el éxito. La dificultad está en elegir bien qué metodología le conviene más a cada tipo de proyecto.

Esto es de suma importancia. La adhesión efectiva y el hecho aplicar a rajatabla la metodología elegida es lo que determina que el proyecto llegue a buen puerto. En ocasiones es bueno hacer un pequeño prototipo para evaluar la viabilidad o investigar nuevas tecnologías.

#3 Hacer presupuestos y estimaciones razonables

Muchos proyectos fracasan o se prolongan en plazos por hacer estimaciones poco realistas. Una planificación razonable depende de fijar bien los tiempos, el presupuesto, los recursos y los esfuerzos. Lo mejor es usar técnicas de estimación y presupuestarias contrastadas. Intentar apretar las estimaciones para intentar acortar un proyecto normalmente termina en catástrofe.

#4 Fijar hitos más pequeños

Los grandes proyectos e hitos deben complementarse con mini-hitos para poder hacer mejor seguimiento, más control y mejor gestión de riesgos, y en general para mitigar incidencias de una forma más controlada. Los miembros del equipo deben reunirse para fijar estos mini-hitos y alinearlos con los grandes hitos para cumplir plazos y reducir los retrasos que pueden surgir por las interdependencias de las tareas que tienen asignadas.

#5 Definir bien los requisitos

Documentar de manera efectiva los requisitos es la columna vertebral para poder alinear el producto final con los objetivos empresariales. Es imperativo que se reúnan todas las partes (clientes, los responsables de empresa y los líderes de los equipos) para documentar los requisitos de forma clara y concisa, sin dejar lugar a lagunas o a la improvisación.

Es necesario definir los requisitos básicos, los derivados y los implícitos, tanto funcionales como no funcionales. La funcionalidad se puede obtener mediante escenarios de casos de uso. Los requisitos en torno al rendimiento, funcionamiento a prueba de fallos, de sistema, diseño y arquitectura, todos deben estar bien documentados y tenidos en cuenta.

#6 Definir la arquitectura del sistema

Un buen arquitecto de aplicaciones garantizará una elección de arquitectura del sistema apropiada, teniendo en cuenta tanto los requisitos como las limitaciones y restricciones, si las hubiera. Buenas prácticas, tales como la identificación de amenazas y anti-patrones dentro del sistema son muy útiles.

#7 Optimizar el diseño de la aplicación

El diseño debe ser modular y estar optimizado. Equilibrar y distribuir funcionalidad entre varios módulos puede hacer que el proyecto funcione bien o que rompa. Un enfoque orientado a objetos es una técnica que garantiza modularidad. Depende de los diseñadores garantizar que el enfoque elegido se aplique bien para poder lograr la máxima cohesión con un acoplamiento mínimo. La reutilización del código es un aspecto muchas veces infrautilizado en el diseño de la aplicación, y si está bien implementado, puede ahorrar mucho esfuerzo y reducir costes a la larga en cualquier proyecto.

# 8 Implementar el código de manera efectiva

El uso de módulos más pequeños que están auto-probados, probados unitariamente y que se integran continuamente es una buena práctica muy extendida. La automatización de herramientas build y la ejecución automatizada de pruebas de regresión para cada funcionalidad incluida se recomienda para garantizar que la funcionalidad ya implementada no rompe.

#9 Pruebas rigurosas y validación

La planificación de pruebas, la creación de conjuntos de pruebas y la ejecución de las mismas son muy importantes con el fin de validar la funcionalidad desarrollada. De hecho, la planificación de las pruebas debe hacerse en paralelo a la fase de desarrollo. Igual de importante es la documentación que hagamos de las pruebas, informar de forma efectiva los errores, el rastreo de los errores y la corrección de los mismos. El uso de herramientas automatizadas al igual que procesos contrastados que aseguren que los errores se identifiquen en la fase más temprana posible y resueltos con el menor coste.

Las pruebas unitarias, las de integración, las de funcionalidades, las del sistema y las del rendimiento son algunos tipos de pruebas. Cada nivel de prueba requiere su pericia, planificación y ejecución.

#10 Documentación

Aún siendo importante el propio software, igual de importante es toda la documentación sobre el que se apoya –el plan del proyecto, requisitos y especificaciones, Diseño de Alto Nivel (HLD), Diseño de Bajo Nivel (LLD), planes de pruebas, informes de las pruebas, informes de estado y la documentación para los usuarios.

Muchas veces estos documentos son parte de los entregables especificados por el cliente o las partes interesadas en un proyecto determinado. Estos documentos ayudan a garantizar el entendimiento del software, trazabilidad y eliminar la dependencia del equipo de desarrollo original. Pueden usarse como referencia en el futuro por otras personas que necesites mantener, mejorar o usar el software.

#11 Planificar sesiones de revisión de código

Las revisiones de código muchas veces son más efectivas, y sin duda menos costoso, para encontrar errores que si solo hacemos pruebas. Las revisiones de todos los entregables, del código y de la documentación es algo que siempre se debe hacer.

Estas sesiones de revisión del código, su gestión y la resolución de conflictos que puedan darse en las mismas se hacen siguiendo una serie técnicas contrastadas y buenas prácticas. Tanto la revisión a pares como las revisiones por terceros expertos siempre son útiles.

#12 Garantizar la gestión del control de las fuentes del software

El uso de de una gestión efectiva del código fuente y la documentación, para que estén controlados según la versión, es fundamental para poder mantener la trazabilidad y la reversión controlada del código si fuera necesario. En el mercado hay mucho software disponible para este tipo de tareas.

#13 Control de calidad

El control de calidad ayuda a sacar adelante los proyectos de desarrollo sin graves trastornos y de forma más rápida. Desde la detección de fallos hasta el establecimiento de métricas claves, las mejores prácticas en este terreno han demostrado ser un éxito a la hora de determinar si un proyecto está en condiciones de pasar a una nueva fase o si está listo para ser lanzado o entregado al cliente.

Se deben fijar métricas y objetivos para asegurar que los requisitos, el diseño, el código, las pruebas y otras tareas vayan coordinadas y alienadas.

#14 Instalación y despliegue eficaz

En multitud de ocasiones cuando ya hemos probado el software de puertas a dentro y todo va bien, de repente el proyecto fracasa en casa del cliente o cuando estamos en fase de implementación y despliegue. Es muy importante tener un buen plan de despliegue y hacer una lista a modo de “checklist” para evitar desastres.

#15 Estrategia de soporte y mantenimiento

Incluso cuando el software desplegado está funcionando, debe haber un proceso de soporte y mantenimiento en marcha, previamente diseñado y pensado, para poder informar y reportar errores y mejoras al equipo de desarrollo de forma eficaz.

Las 15 buenas prácticas para proyectos de desarrollo de software mencionadas arriba son muy utilizadas en todo tipo de empresas de software que cuentan con equipos de desarrollo, en mayor o menor medida. Evidentemente hay muchos factores que limitan o posibilitan la implementación de dichas buenas prácticas: recursos, presupuestos, etc.

¿Qué buenas prácticas en este sentido se aplican en tu empresa?

Este artículo 15 buenas prácticas para proyectos de desarrollo de software es original de Velneo.

Tagged , , , , , | Comments Off on 15 buenas prácticas para proyectos de desarrollo de software

Sabías que … (4)

Sabías que … (4)

Se puede desactivar la ordenación de las columnas de las Rejillas de 2 formas …

    • Pero ninguna de ellas con Velneo nativo.
    • La primera usando el API mediante la función setSortingEnabled(false) de la clase VGridListDataView.
    • La segunda se consigue usando una regla CSS sobre el control Rejilla.

Interfaz: Establecer hoja de estilo CSS ( GRD_REJILLA, “QTableView { qproperty-sortingEnabled: false}”)

Se puede ACELERAR LA CARGA DE LOS REGISTROS DESDE SERVIDORES REMOTOS

    • En nuestras aplicaciones necesitamos consultar a menudo tablas con muchos registros (artículos, clientes, …).
    • En Cloud la primera consulta necesita un tiempo extra para guardar los registros en la caché del cliente.
    • Ese tiempo extra puede resultar en una mala experiencia para el usuario.
    • Podemos minimizar ese tiempo extra precargando los registros en el autoexec de la aplicación mediante un proceso en 2º plano y el comando Cargar lista
    • El comando Cargar lista rellenará la caché con los registros de la tabla y de esta forma la primera consulta que realice el usuario se hará desde la caché en lugar del servidor remoto.

Se puede fijar el tamaño de un Dock cuyo Objeto incrustado sea un formulario

    • Muchas veces nos interesa bloquear el tamaño de un Dock de tipo formulario, aparte de fijarlo en un sitio de la pantalla.
    • Usaremos el CSS siguiente en el que establecemos el mismo valor para las propiedades min-height/max-height o min-width/max-width:

QDockWidget {
       /* Los Docks son hijos de la Ventana principal QMainWindow y heredan los valores de min-width y min-height */
       /* Por eso se sobreescriben con la clase QDockWidget */
       min-width: 300px;
       /* Haciendo el min=max conseguimos que el Dock no sea modificable en tamaño */
       min-height: 100px;
       max-height: 100px;
}

    • Hay que tener en cuenta que el CSS afectará a todos los Docks de tipo formulario que tenga la Aplicación, por lo tanto, esto solo es válido cuando existe un solo Dock. (Los Docks del editor de Informes personalizados también se verán afectados).

Ordenar una Rejilla sin tener en cuenta ni mayúsculas ni acentos

    • La ordenación que tenemos en la Rejilla es alfabética y tendrá en cuenta las mayúsculas y acentos.
    • Para disponer de una Ordenación independiente de mayúsculas y acentos lo que debemos hacer es añadir un nuevo campo #NOMBRE_64 a la tabla que sea de tipo Fórmula alfabética. El contenido de la fórmula será stringToAlpha64(#NOMBRE). El campo NOMBRE es el que queremos ordenar.
    • Con el comando Ordenar lista (#NOMBRE_64) conseguiremos el resultado deseado.

El comando Set retorno de proceso = NO en procesos de 3P inhabilita el comando Get variable local de objeto ejecutado desde 1P

    • Mucho cuidado con el comando Set retorno de proceso = NO en procesos ejecutados en 3P y que deban devolver valores en variables locales
    • El comando Get variable local de objeto no es funcional cuando el proceso en 3P ha terminado con un Set retorno de proceso = NO
    • Por lo tanto, cuando un proceso vaya a ser ejecutado en 3P lo mejor es no usar este comando y sustituir el retorno por una variable local que leeremos desde 1P

La carpeta base en el Visor HTML es siempre la caché de vClient

    • La carpeta base del código que ejecutamos en el Visor HTML es siempre la caché de vClient
    • Tenemos que tenerlo en cuenta si queremos usar links en el código que hagan referencia directamente al fichero
    • Para cambiar la carpeta base tenemos que usar la función del API VCWebView.setSourceCode(html, pathBase).

Un proceso en 4P ejecutado desde vClient no contempla la herencia hacia arriba

    • Los procesos en 4P se ejecutan siempre en una copia de la instancia del proyecto al que pertenecen
    • Lo podemos comprobar con el siguiente ejemplo:

Tenemos un proceso PRO_VERALIAS javascript en el proyecto de datos,

var cAliasAPP = theApp.mainProjectInfo().alias();
// Muestra en vAdmin el Alias
alert (“El valor de theApp.mainProjectInfo().alias() es: ” + cAliasAPP)

Ejecutamos el proceso PRO_VERALIAS desde el proyecto de aplicación en 3P y 4P.

Comprobamos que en 3P devuelve el alias del proyecto de aplicación y en 4P sin embargo devuelve el alias del proyecto de datos.

    • Por lo tanto, habrá que tener en cuenta este comportamiento en aquellos scripts javascript que vayamos a ejecutar tanto en 3P (síncrono) como en 4P (asíncrono).
      El resultado no será el mismo cuando en el código se vaya a contemplar la cadena de herencia, por ejemplo la función VProjectInfo.allTableCount().

QML solo funciona en 1P

    • El código QML se ha incorporado a Velneo para mejorar nuestros interfaces, sobre todo en dispositivos móviles.
    • Los scripts QML siempre van asociados a un formulario.
    • Así que QML solo tiene sentido en 1P y el código estará siempre descargado en la caché de vClient.

En tiempo de diseño el editor de fórmulas javascript evalúa las expresiones introducidas

    • El botón Verificar (F9) no solo comprueba la sintaxis del código javascript sino que además evalúa la expresión.
    • Este comportamiento en tiempo de diseño puede tener consecuencias curiosas o incluso peligrosas.

Dos ejemplos:

SET(LOK, /*JAVASCRIPT*/theApp.setOverrideCursor(17))
SET(LOK, /*JAVASCRIPT*/theApp.removeFile(“d:/este_fichero_se_va_a_borrar.txt”))

    • Para evitar que se evalúe el código en tiempo de diseño podemos usar el siguiente comando:

if (theApp.exeName() != “vDevelop”) { <expresión javascript> }

La entrada Sabías que … (4) aparece primero en AyudaVelneo.

Tagged , , , | Comments Off on Sabías que … (4)

Nuevo componente beta del Ecosistema de vERP para LATAM

vLatamERP

Es una personalización en fase beta, especialmente diseñada para cubrir las necesidades de las empresas en latinoamérica. Cuando se publique la versión vERP 22 éste componente del Ecosistema será actualizado utilizando las novedades de estructura que permitirán una mayor integración evitando la necesidad de usar múltiples tablas externas a vERP.

Entre sus bondades cuenta con:

  • Idiomas para los países que reportan mayor ventas en Latinoamérica.
  • Nuevo menú de Tesorería para la gestión administrativa de cobros, pagos y estados de cuenta.
  • Recibos de Cobro y Pago para los diferentes cruces administrativos con configuraciones automáticas.
  • Consultas de Cuentas corrientes generales o detalladas por entidad (Cliente, Proveedor o cualquier entidad que interactúe).
  • Cuentas de caja/banco para gestionar todos los cobros, pagos y estados de cuenta.
  • Check en empresa para gestionar todos los precios del sistema con o sin IVA.
  • Ajuste de procesos contables, para los cobros y pagos respectivamente.
  • Opciones de auto impresión en la generación del documento con configuración individual.
  • Las devoluciones no registran factura con monto negativo, en su lugar generan un remito con signo negativo para ajustar inventarios, y se visualiza como Notas Crédito en las cuentas corrientes a nivel administrativo. Esto permite también registrar Notas de Crédito manualmente que solo afecten saldo y no inventario.
  • Pantalla de inicio modificada, para abarcar el nuevo manual de Tesorería y la modificación de los manuales existentes (disponibles también en formato Word).
  • Reportes por defecto de todos los procesos nuevos y mejoras.

También contamos con una versión con mayores avances como el registro de las Notas de Crédito y Débito, Ingresos y Egresos directos, moneda extranjera, retenciones en compras y ventas, trabaja en conjunto con el modulo de Factura Electrónica en los países disponibles, configuración de repositorios, licenciamiento, actualizaciones, próximamente mensajería y otras novedades.

Estamos enfocados en cubrir las necesidades de las empresas en Latinoamérica, y darle una solución integral y funcional desde su primera instalación, teniendo como base de desarrollo el vERP, con el mismo cuidado y detalle del código, utilizando siempre las buenas practicas de programación que dan como resultado un producto final de excelencia.

¿Te interesa?

​vLatamERP es parte del ecosistema de vERP de Velneo, lo tienes disponible en la descarga del componente, junto con el resto de productos del ecosistema, una vez adquieras vERP.
 
Si deseas mas información sobre el producto contacta con Velneo y te informamos de la mejor forma de tener tu propio ERP perfectamente adaptado a tu país.

Este artículo Nuevo componente beta del Ecosistema de vERP para LATAM es original de Velneo.

Tagged , , , | Comments Off on Nuevo componente beta del Ecosistema de vERP para LATAM

Incidencia en la web el 7 de Julio de 2017

El pasado viernes 7 de Julio entre las 15:00 y 19:00, aproximadamente, varios recursos web de velneo estuvieron inaccesibles o con problemas de acceso. El origen del problema estaba relacionado con un ataque a las infraestructuras gestionadas por uno de nuestros proveedores de Dominios y DNS. Gandi.net. Este incidente afectó a 751 dominios de este proveedor.

Esta incidencia provocó que las DNS del dominio velneo.es fueran alteradas en algunas zonas ofreciendo una ip incorrecta. Ya que los recursos de velneo.es y los subdominios principales funcionan por https, en este caso, el acceso por parte de un usuario a https://velneo.es daba error y la web no era accesible. En el caso del dominio http://foro6x.velneo.es, que no tiene https, ese tráfico se redirigía a una web maliciosa que intentaba hacer uso de bugs de seguridad de navegadores antiguos.
Si durante la tarde del viernes algún usuario accedió a cualquiera de los recursos web de velneo.es y noto un funcionamiento incorrecto ponte en contacto con soporte para analizar lo ocurrido. Si durante ese periodo de 4 horas se solicitaron las credenciales por cualquier medio (web o correo), te recomendamos que por seguridad las cambies, aunque no tenemos conocimiento de que hubiera ninguna solicitud de este tipo, queremos garantizar la seguridad en todo momento.

Generalmente usamos varios dominios con varios proveedores y sistemas distintos. Todo lo gestionado por el dominio velneo.com (correos, cloud, licencias, etc) no sufrió ninguna alteración ni corte de servicio en ningún momento. Por otro lado, ninguna de las infraestructuras de Velneo sufrió ningún acceso, cambio o alteración durante la incidencia o a posteriori.

Como aprendizaje, aceleraremos la migración de todos los dominios a HTTPS con la opción de HTTP Strict Transport Security y DNSSEC para evitar este tipo de incidentes por fallos en alguno de nuestros proveedores.

Pedimos disculpas por la incidencia y seguimos trabajando para que Velneo sea siempre “Life is soft”

Este artículo Incidencia en la web el 7 de Julio de 2017 es original de Velneo.

Tagged , , , | Comments Off on Incidencia en la web el 7 de Julio de 2017

vTutor, Velneo Cloud y vERP explicados mejor

En Velneo sabemos que contamos con una de las mejores plataformas de desarrollo de aplicaciones empresariales. También sabemos que tenemos margen de mejora para comunicar todo lo que ofrecemos.

En los últimos meses hemos hecho varias acciones en la página web y en la creación de nuevos recursos para intentar acercarte Velneo de forma más clara y sencilla.

Nueva sección 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. Mira todo lo que incluye.

Nueva sección vTutor: recursos formativos

vTutor, como su nombre indica, es un recurso formativo que incluye un buen número de tutores con los que podrás aprender como se programan desde los objetos más básicos hasta los más avanzados, con explicaciones paso a paso que incluyen documentación escrita y el ejemplo en código abierto para que puedas consultarlo, copiarlo y reutilizarlo en tus desarrollos. 

Nueva sección Formación en Vídeo

En la zona de formación de Velneo, tienes que estar registrado en la página para poder acceder, tienes a tu alcance una gran variedad de cursos en vídeo. Entre otras cosas, podrás hacer tu primera aplicación en Velneo o aprender las instrucciones de proceso más comunes que usarás durante el desarrollo de tus aplicaciones. 

Nueva Sección vERP

Velneo vERP es una plantilla de código abierto altamente personalizable con la que podrás desarrollar en un tiempo récord tu software de gestión empresarial ERP o de cualquier otro tipo.

Como plantilla de código abierto Velneo vERP incluye funcionalidad estándar que encontrarás en la mayoría de las empresas en sus módulos de Ventas, Compras, Almacén, Contabilidad y TPV.

Tanto si estás empezando con Velneo o como sí ya llevas un tiempo desarrollando en la plataforma, te recomendamos que visites estas nuevas secciones para repasar todos los servicios que te ofrecemos.

Este artículo vTutor, Velneo Cloud y vERP explicados mejor es original de Velneo.

Tagged , , , | Comments Off on vTutor, Velneo Cloud y vERP explicados mejor

Consultorio Velneo: ¡Actualizaciones al poder!

Muy interesante la pregunta que me hace David Cueva desde Juarez (México) y que creo que se puede resolver mediante la creación de 3 campos y 1 actualización ¿no te lo crees?.. Sigue leyendo.

Actualizaciones al poder

La pregunta en cuestión es la siguiente:

Tengo un formulario de mantenimiento a x unidad…en el tengo datos de la unidad a servir, fecha, y un boleano que me indicara cuando el mantenimiento actual..esta terminado….abajo….una vista de datos donde esta la rejilla de lineas de mantenimiento (editable)…donde tengo el servicio a dar…y entre otras cosas un campo de finalizado…..
lo que no puedo lograr es que al momento que todas las lineas (servcios), esten en finalizado si….en ese instante me habilite el campo Terninado en el formulario…si hay algun servicio sin terminar…debe permanecer deshabilitado…
Mediante control de evento y eventos….lo hace..pero a destiempo…no en tiempo real…..
Antes de continuar, es muy recomendable que, si no lo has hecho ya, leas este artículo acerca de las actualizaciones.

Definiendo el problema

Básicamente David tiene un registro (maestro) en el que hay que cambiar un campo de tipo booleano en función de si todas sus líneas (plural) están en estado terminado o no (te recomiendo leer también este otro post sobre las relaciones entre tablas).

David lo ha conseguido mediante maneadores de evento pero el problema es que no consigue que el valor del campo booleano se actualice en tiempo real.

Siempre digo que todo lo que podamos hacer en el proyecto de datos, es recomendable hacerlo ahí. Velneo se encargará de realizar las operaciones necesarias para actualizar los registros.

Pues vamos a ello…

Creando los campos necesarios

Para aplicar la solución, en el registro del mantenimiento vamos a crear dos campos de tipo numérico:

  • NUM_LIN_TOT: iremos acumulando en este campo el número de líneas que tiene el registro en cuestión.
  • NUM_LIN_TER: iremos acumulando en este campo el número de líneas que estén terminadas.

Además vamos a modificar el contenido inicial del campo booleano (le llamaremos B_TER) que nos indica si el mantenimiento está terminado o no:

  • choose(#NUM_LIN_TOT= #NUM_LIN_TER, 1, 0)

De esta forma conseguiremos que el campo se marque como “Terminado” cuando el nº de líneas terminadas sea igual al nº de líneas totales.

Velneo se encarga del resto: Actualizaciones al poder

Ahora sólo nos falta que los campos para el número de líneas se vayan actualizando de forma automática.
Para ello vamos a crear una actualización en la tabla de líneas de mantenimiento que actualice el maestro de mantenimientos.
Una vez creada, vamos a dar de alta dos componentes:
Nº de líneas totales
Actualización sencilla… cada vez que demos de alta una línea del mantenimiento… se acumula 1 en el campo NUM_LIN_TOT.

Nº de líneas terminadas

Mediante este componente de actualización, iremos añadiendo 1 al nº de líneas terminadas pero solamente cuando la línea esté terminada (la condicionamos a que el campo B_TER esté a 1).

Conclusión

Pues si esperabas algo mas de dificultad… lo dejaremos para otro día. Con estas sencillas instrucciones, David conseguirá lo que se propone.

Cuando el valor del campo NUM_LIN_TER sea igual al del campo NUM_LIN_TOT, querrá decir que todas las líneas estarán terminadas y por tanto el campo booleano B_TER se marcará a 1.

Ya sabes que si tienes alguna duda sobre Velneo, puedes hacérmela llegar a través del formulario de contacto e intentaré responderla.

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Consultorio Velneo: ¡Actualizaciones al poder! aparece primero en AyudaVelneo.

Tagged , , , , , , , , | Comments Off on Consultorio Velneo: ¡Actualizaciones al poder!

Resultados encuesta satisfacción con Velneo 2017

Hace unos días lanzamos una encuesta de satisfacción entre todos nuestros suscriptores. Quiero agradecer a todos aquellos que nos habéis dado vuestra opinión, ya que la información que nos trasladáis a través de la encuesta tiene un valor enorme, y nos ayudará a dirigir los esfuerzos a mejorar aquellas áreas que nos indicáis que debemos mejorar, siempre sin hacer que se resientan los aspectos que más os gustan. Tenemos que buscar ese equilibrio y vuestra opinión pesa, y mucho.

Consideramos importante, aplicando el principio de transparencia, publicar los datos resultantes de vuestras respuestas. Creemos que también os puede aportar valor conocer que es lo que opinan la mayoría de los suscriptores de Velneo, que en muchos casos coindiden y en otros casos las opiniones de unos y de otros pueden ser contrapuestas.

A continuación podéis ver los resultados de la encuesta y el nombre de los ganadores de los sorteos del iPad y de la tablet Samsung. De nuevo, ¡muchas gracias!

  • ¿Cuál es tu satisfacción respecto a la evolución de las funcionalidades incluidas en las últimas versiones de Velneo?

  • ¿Cuál es tu satisfacción respecto a los servicios de soporte, documentación y consultoría?

  • ¿Cuál es tu satisfacción respecto a la atención de tu consultor comercial de Velneo?

  • ¿Cuál es tu nivel de satisfacción general con Velneo?

  • ¿Recomendarías Velneo ?

  • ¿Crees que Velneo cuida el diseño del producto, documentación, marketing, web, etc…?

  • 3 cosas que te gustan de Velneo

Las respuestas son muy variadas, como podríamos esperar. Hay comentarios relacionados con la multiplataforma, la curva de aprendizaje, la cercanía del equipo de Velneo o el servicio de soporte entre otros pero, por encima de todo y de forma muy destacada, la mayoría de respuestas hacen referencia a 3 aspectos:

PRODUCTIVIDAD: Palabras como rapidez o velocidad aparecen en más del 50% de las respuestas.

LIFE IS SOFT: Facilidad, sencillez o simplicidad aparencen en el 38% de las respuestas.

ESTABILIDAD: Robustez, fiabilidad, seguridad y otros sinónimos aparecen en el 31% de las resupuestas.

Se trata de 3 aspectos en los que, desde Velneo, hacemos especial hincapié. No queda duda de que vosotros, los suscriptores, valoráis especialmente aquellas ventajas que os permiten centrar los esfuerzos en vuestro negocio y no tanto en la tecnología.

 

  • 3 cosas que te gustaría que mejoráramos

Ante esta pregunta obtenemos respuestas de todos los colores, desde mejoras en el depurador hasta la inclusión de un módulo de nóminas en Velneo vERP, pasando por bajadas de precios o revisiones de los niveles de suscripción, incluso hay algún comentario pidiéndonos “que no fuerais tan políticamente correctos”, pero si algo destaca por encima de todo, son los dos siguientes aspectos:

DOCUMENTACIÓN: Hasta un 48% de las respuestas incluyen puntos a mejorar relacionados con ejemplos, tutoriales, cursos, seminarios, formación o documentación.

NATIVO: Un 39% de las respuestas nos piden que mejoremos los objetos nativos actuales (rejillas, vDataClient, etc…), que añadamos objetos o instrucciones en lenguaje Velneo nativo, no depender tanto de QML o Javascript para algunos desarrollos. En definitiva, fortalecer la filosofía Life is soft.

Tenemos claro que, si queremos mejorar los niveles de satisfacción, pasa por trabajar especialmente en estas dos áreas. Aunque ya hemos avanzado en las últimas versiones, sabemos que nos queda bastante camino por recorrer.

 

  • En una frase ¿Por qué estás en Velneo?

Las palabras más repetidas en las frases recopiladas han sido: desarrollo, herramienta, rapidez, hacer, plataforma, clientes, todo, mejor, gusta, estabilidad, negocio y permite.

Quiero agredecer de nuevo a todos los que habéis contestado a la encuesta. Esperamos que la evolución de Velneo se ajuste a lo que nos demandáis, tendremos en cuenta vuestra opinión.

¡Muchísimas gracias por vuestro apoyo!

 

Los ganadores de los sorteos de un iPad y de una tablet Samsung entre aquellos que nos han facilitado su email al contestar a la encuesta son:

El iPad va para Agustín Mestre de SISPRO

La tablet Samsung va para Francisco García de Tienda Digital 2010

¡Enhorabuena!

Este artículo Resultados encuesta satisfacción con Velneo 2017 es original de Velneo.

Tagged , , , | Comments Off on Resultados encuesta satisfacción con Velneo 2017

En septiembre Velneo visita Tenerife ¿Quedamos?

Tras las vacaiones de verano, seguimos visitando a nuestros suscriptores y a todos aquellos programadores que están valorando Velneo para que pase a ser su plataforma completa de desarrollo de sus aplicaciones empresariales.

Pues bien, la última semana de septiembre viajamos a Tenerife. Anímate a reunirte con nosotros la semana del 25.

En esta ocasión te recibirán Jose María Gonzalez, oriundo de la zona y responsable de Velneo Cloud y Rebeca Rodríguez, consultora comercial con ganas de conversar con vosotros.

Como ya es habitual en estas citas, nos reuniremos contigo de manera individual para charlar y gestionar los puntos que te interesen, desde las peculiaridades de tus proyectos, dudas técnicas, novedades de Velneo hasta todo aquello que aún no tengas claro.

No tardes en solicitar tu cita, queremos dedicarte todo el tiempo que necesites.

Solicita tu cita

Y si en esta ocasión no puedes acercarte, indícanos igualmente tu interés y lo organizaremos en otra fecha.

Este artículo En septiembre Velneo visita Tenerife ¿Quedamos? es original de Velneo.

Tagged , , , | Comments Off on En septiembre Velneo visita Tenerife ¿Quedamos?

Consultorio Velneo: Relaciones entre tablas

Nace hoy en el blog la sección “Consultorio Velneo” orientada a resolver las dudas que podáis tener sobre la plataforma Velneo®. El blog sigue aumentando tanto en lectores como en suscriptores y cada vez son más las consultas que me hacéis, sobre todo por e-mail.

He pensado que, quizá, puede ser útil para muchos de vosotros leer mis respuestas, en lugar de enviar el e-mail sólo al desarrollador que tenía la duda.

Además también intentaré responder a cuestiones aparecidas en el foro de Velneo, como es el caso de este post “Relaciones entre tablas“.

El usuario Franpino planteaba en este hilo una cuestión muy interesante y esencial a la hora de desarrollar con Velneo: la relación entre tablas de la aplicación. Si estás comenzando a desarrollar con la plataforma, es muy importante que domines los conceptos de maestro y plural y que sepas diferenciarlos claramente.

Para explicar dicha relación, he seleccionado una serie de tablas de vErp y he creado un esquema a modo de ejemplo:

Relación entre tablas

Antes de comenzar a relacionar las tablas para poder conseguir este esquema, no estaría de mas que refrescases tu conocimiento sobre los distintos tipos de tabla de los que disponemos en Velneo.

Comenzando la relación entre tablas sin tocar Velneo

Lo primero que debemos plantearnos es cómo queremos que se comporte nuestra aplicación en cuanto a los datos se refiere. Voy a comenzar explicando como sería la relación entre las tablas del ejemplo que he planteado sin tocar Velneo:

  • Tabla Contactos: Un contacto puede tener varias direcciones y podemos hacerle varios presupuestos (con lo cual puede tener múltiples líneas de presupuesto en las que le habremos asignado varios artículos). Además sólo tendrá una forma de pago.
  • Tabla Direcciones: Cada dirección SOLO pertenece a un contacto.
  • Tabla Formas de Pago: Ya hemos dicho que un contacto SOLO puede tener una forma de pago, pero la misma forma de pago puede estas asignada a varios clientes. Además en el presupuesto vamos a poder modificar la forma de pago asignada por defecto al contacto. Imaginemos que un contacto siempre paga a 30 días pero un día quiere pagar al contado. Sería absurdo cambiar la forma de pago en la ficha del contacto, hacer el presupuesto y volver a cambiar la forma de pago.
  • Tabla Presupuestos de Venta: Siguiendo con la lógica, un presupuesto estará asignado a un contacto y podrá tener varias líneas de presupuesto. Además un presupuesto sólo tendrá una forma de pago.
  • Tabla Líneas de Presupuesto de Venta: una línea de presupuesto SOLO puede pertenecer a un presupuesto. Además a cada una de las líneas SOLO se le puede asignar un artículo y estará asignada a un contacto (por lo general al contacto del presupuesto de venta).
  • Tabla Artículos: para finalizar el planteamiento, un artículo estará incluido en una línea de presupuesto pero el mismo artículo puede estar en múltiples líneas.

Ya hemos “diseccionado” como queremos que sea nuestra aplicación en nuestra mente (o en un papel). Vamos a ver como podemos responder a la siguiente cuestión: ¿Como relacionamos las tablas en Velneo?.

Realizándonos las preguntas correctas en Velneo para obtener las relaciones entre tablas

Hay dos preguntas básicas a las que deberemos responder para obtener las relaciones entre tablas:

  • “El/La (Tabla_1) del (Tabla_2)”: En este caso, la “Tabla_1” será maestro de la “Tabla_2”.
  • “Los/Las (Tabla_1) del (Tabla_2)”: En este caso, la “Tabla_1” será plural de la “Tabla_2”.

Vamos a verlo contestando a las preguntas con las tablas de nuestro ejemplo:

  • Relación Contactos-Direcciones: “El contacto de la dirección” sería la pregunta correcta a resolver y no “Los contactos de la dirección” puesto que hemos definido que cada dirección sólo tendrá un contacto. Además también se cumple la segunda pregunta “Las direcciones del contacto“. Parece claro pues que contactos será maestra de direcciones y que direcciones será plural de contactos.
  • Relación Contactos-Presupuestos: “El contacto del presupuesto” sería la pregunta correcta a resolver y no “Los contactos del presupuesto” puesto que hemos definido que cada presupuesto sólo tendrá un contacto. Además también se cumple la segunda pregunta “Los presupuestos del contacto“. Parece claro pues que contactos será maestra de presupuestos y que presupuestos será plural de contactos.
  • Relación Contactos-Formas de pago: “La forma de pago del contacto” sería la pregunta correcta a resolver y no “Las formas de pago del contactos” puesto que hemos definido que cada contacto sólo tendrá una forma de pago. Además también se cumple la segunda pregunta “Los contactos de la forma de pago“. Parece claro pues que forma de pago será maestra de contactos y que contactos será plural de forma de pago.
  • Relación Presupuestos-Líneas de presupuesto: “El presupuesto de la línea del presupuesto” sería la pregunta correcta a resolver y no “Los presupuesto de la línea” puesto que hemos definido que cada línea de presupuesto sólo pertenecerá a un presupuesto concreto. Además también se cumple la segunda pregunta “Las líneas del presupuesto“. Parece claro pues que presupuestos será maestra de líneas de presupuesto y que líneas de presupuesto será plural de presupuestos”.

A partir de responder a estas simples preguntas, podéis ir construyendo la relación entre tablas en vuestra aplicación, creando los enlaces a maestro en las tablas correspondientes.

Velneo se encargará de crear el índice correspondiente al campo creado y los enlaces al plural. ¡¡ OJO !! si copiamos el campo de otra tabla, no se creará el indice.

Por ejemplo, en la tabla de presupuestos de venta hemos creado, entre otros, los siguientes enlaces a maestro:

Relación entre tablas: maestros

 

Espero que respondiendo a estas simples preguntas, seas capaz de montar las relaciones entre tablas de tu aplicación.

Ya sabes que si tienes alguna duda sobre Velneo, puedes hacérmela llegar a través del formulario de contacto e intentaré responderla.

Déjame un comentario mas abajo y comenzamos el debate.

La entrada Consultorio Velneo: Relaciones entre tablas aparece primero en AyudaVelneo.

Tagged , , , , , , , | Comments Off on Consultorio Velneo: Relaciones entre tablas

5 recomendaciones para vender mejor tu software empresarial (u otros)

¿Cuánto vale el sofware que crea un desarrollador? ¿Cuánto vale el tiempo?

Es una pregunta que nos deberíamos hacer cada mañana, porque vivimos en una sociedad que se mueve tan rápido que nos parece que las semanas son días y los días son minutos.

Tenemos que valorar cada minuto de nuestro tiempo, pero como hacerlo en el mundo del desarrollo de software, aquí van unas notas sobre mi experiencia personal, son cosas obvias pero a mí me ayudó tenerlas en un papel y no olvidarme de ellas. Espero que os valgan. Seguir leyendo.

5 trucos para startups que quieren vender software por Internet

No sólo Apple, Google o Microsoft pueden hacer marketing en Internet. No hacen falta grandes presupuestos, famosos anunciando tu producto, etc… el ingrediente esencial del marketing es el sentido común. Y eso está al alcance de cualquier emprendedor.

Si eres un programador emprendedor y quieres vender tu software a través de Internet, pueden interesarte estos trucos/consejos a tener en cuenta. Seguir leyendo.

¿Cuál es la mejor forma de vender software a empresas de un sector especializado?

Dirijo una pequeña empresa que desarrolla y da soporte de una aplicación de software en un sector de nicho muy especializado. Cuando hago presentaciones de venta a los clientes a menudo hago una simple demostración del producto (intentando mostrar casi todas las funcionalidades del programa). Sin embargo, cada vez perdemos más y más ventas frente a la competencia y estoy convencido de que es porque nuestra presentación de ventas tiene que ser más solida.

Agradecería cualquier ayuda sobre cómo debería enfocarse la argumentación de venta para de software empresarial y de programas para empresas. Seguir leyendo.

¿Cómo aplicar telemarketing a la venta de software?

Una vez seleccionada la base de datos con clientes cuyo perfil se asemeje lo máximo posible a nuestro cliente habitual, al que le podamos ofrecer un servicio acorde con sus expectativas y que al mismo tiempo sea rentable, nos centraremos en el ¿qué?. ¿Qué objetivos podemos conseguir con el telemarketing? Seguir leyendo.

Segmentación de mercado en software

La segmentación de mercado o  elección de nicho,  es una de las decisiones más importantes a la hora de que tu software de un salto cualitativo importante en el mercado.

Existe una frase que define perfectamente la importancia  de la elección de tu segmento “Si no sabes donde vas no vas a a llegar a ningún sitio”. Seguir leyendo.

Este artículo 5 recomendaciones para vender mejor tu software empresarial (u otros) es original de Velneo.

Tagged , , , , , , , | Comments Off on 5 recomendaciones para vender mejor tu software empresarial (u otros)