Novedades

Artículos más recientes

Para que quede claro, sólo voy a hablar del llamado "desarrollo empresarial". No estoy afirmando que F# sea el mejor para programación de sistemas, o desarrollo de juegos, o proyectos de pasatiempos. Lo que es apropiado para un tipo de objetivo de desarrollo puede ser inapropiado para otro. El desarrollo empresarial tiene sus propias limitaciones y exigencias, para las que creo que F# es particularmente adecuado.

Comenzaré con una importante advertencia, que es que no creo que el éxito o el fracaso de un proyecto dependa del uso de un lenguaje de programación en particular. Mucho más importantes son cosas como la buena comunicación, los requisitos claros, el cuidado de la experiencia del usuario, las expectativas realistas, y así sucesivamente. ¡Si el lenguaje de programación fuera realmente tan importante, entonces no habría compañías exitosas que usaran PHP, Visual Basic o JavaScript, y todos los trabajos requerirían habilidades de Haskell y Lisp!

Sin embargo, dicho esto, creo que la elección del lenguaje de programación tiene un efecto sobre la productividad, la mantenibilidad y la estabilidad, y de eso es de lo que voy a hablar en este post.

Las características del Desarrollo Empresarial

Entonces, ¿Cuáles son algunas de las características clave del desarrollo de software para empresas?

El desarrollo de software no es el foco del negocio

En una "empresa", el software se trata generalmente como una herramienta; un centro de coste en lugar de un centro de beneficio. No hay presión para tener la última tecnología, contratar a los mejores desarrolladores, o invertir en capacitación.

Esto significa que el ser una "empresa" no tiene nada que ver con el tamaño de la empresa. Por mi definición, Google no se dedica al desarrollo empresarial, mientras que una empresa B2B de 50 personas probablemente lo hace.

Esto también significa que las empresas que desarrollan software interno para obtener una ventaja competitiva, como las empresas de FinTech, tampoco cuentan como "empresas".

Los proyectos se centran en el negocio y no en la tecnología

El objetivo del desarrollo empresarial es, en general, apoyar los flujos de trabajo de las empresas en lugar de aplicar un conjunto específico de requisitos técnicos. En el nivel más básico, el software empresarial típico simplemente mueve los datos y los transforma. Esto suena trivial y a menudo se considera que no es una "programación real".

Pero los flujos de trabajo de los negocios involucran a los seres humanos, y cada vez que los seres humanos están involucrados, habrá complejidad. La implementación de un algoritmo eficiente de mapeo/reducción o la optimización de un sombreador de gráficos puede ser delicada, pero posiblemente no tan delicada como algunos flujos de trabajo de negocios! Esta cita de 30 años sobre COBOL lo resume muy bien:

El sesgo en contra del dominio de los problemas se establece explícitamente en[a] el manual del lenguaje de programación, que dice que COBOL tiene "una orientación hacia el procesamiento de datos comerciales... en el que los problemas son... algoritmos relativamente simples junto con un alto volumen de entrada-salida (por ejemplo, el cálculo de la nómina para una gran organización)".

Cualquiera que haya escrito un programa de nómina serio difícilmente lo caracterizaría como "relativamente simple". Creo que los informáticos simplemente no han estado expuestos a la complejidad de muchas tareas de procesamiento de datos empresariales. A los informáticos también les puede resultar difícil ofrecer teorías elegantes sobre las molestas y omnipresentes complejidades de muchas aplicaciones realistas de procesamiento de datos y, por lo tanto, rechazarlas. - Ben Shneiderman, 1985

Lamentablemente, el desarrollo empresarial nunca ha sido atractivo.

Los proyectos empresariales a menudo tienen una larga vida útil

No es exclusivo del desarrollo empresarial, por supuesto, pero es común que los proyectos de software empresarial vivan mucho tiempo (si sobreviven a la infancia). Muchos proyectos duran cinco años o más - estoy personalmente familiarizado con uno que comenzó en los años 70 - y durante su vida, muchos desarrolladores estarán involucrados. Esto tiene un par de corolarios: 

  • La mayor parte del ciclo de vida del proyecto se gasta en el llamado "mantenimiento", un término engañoso para lo que es básicamente una evolución a baja velocidad (con ocasional pánico a alta velocidad también).
  • Si eres un desarrollador que trabaja en un proyecto de larga duración, la mayor parte del código no habrá sido escrito por ti, ni siquiera por nadie de tu equipo.

Hay una charla muy interesante de Robert Smallshire en la que simula la generación de código para equipos de diferentes tamaños en diferentes periodos de tiempo. Así, por ejemplo, después de cinco años, el equipo actual generalmente sólo habrá contribuido con el 37% del código.

Para un equipo más grande durante un período más largo, el porcentaje de contribución puede caer aún más bajo.

Sí, estas son simulaciones, pero suenan ciertas en mi experiencia.

Los gerentes de proyectos empresariales tienen una baja tolerancia al riesgo

Como resultado de todos estos factores, los gerentes de proyecto tienden a ser reacios al riesgo y rara vez son los primeros en adoptarlos - ¿por qué romper algo que ya está funcionando?

Como dice el refrán "el proceso es el tejido cicatricial de las organizaciones". La estabilidad es más importante que la eficiencia.

Sin embargo, de vez en cuando surgen nuevas condiciones ambientales que obligan a cambiar incluso a las empresas más conservadoras. Por ejemplo, la nueva "intranet" e "internet" de los años 90 asustó a mucha gente y tuvo mucho que ver con el auge de Java y VisualBasic/ActiveX. Así es como se veía la publicidad en ese entonces:

  • 1996: "Como Netscape y Microsoft luchan por el dominio de Net, tanto Java como ActiveX son piezas clave en el tablero."
  • 1997: "Antes de Java, no había un lenguaje de programación de Internet."

Menos de 10 años después de la publicación de esos artículos, los lenguajes de programación empresariales dominantes habían cambiado a Java y C#.

Gracias a las aplicaciones móviles y al aumento de la nube, creo que estamos en medio de otra era como ésta, en la que las empresas están dispuestas a arriesgar nuevas tecnologías para no quedarse atrás. El reto, por supuesto, es cómo adoptar nuevas tecnologías sin grandes trastornos.

¿Qué es importante a la hora de elegir un idioma empresarial?

Entonces, ¿Cómo afecta todo esto a la elección de un lenguaje de programación y su ecosistema asociado, desde el punto de vista de un gestor de proyectos?

Debe ser amigable para la empresa.

Un director de proyecto no sólo elige un lenguaje de programación, sino que también se compromete con el ecosistema que rodea al lenguaje y con el soporte futuro para ese ecosistema. Como se ha señalado anteriormente, el desarrollo empresarial no se trata de estar en la vanguardia. Más bien, si el ecosistema tiene el apoyo de una empresa amiga de la empresa como Microsoft, Oracle o Google, eso es una gran ventaja.

Además, desde el punto de vista del administrador de la empresa, es fundamental que el lenguaje y su ecosistema tengan un soporte profundo para bases de datos empresariales (Oracle, Sql Server), servidores web empresariales, autenticación empresarial (AD, LDAP), formatos de datos empresariales (XML), etc. Es poco probable que el apoyo a la última moda sea su principal preocupación.

Debería estar preparado para el futuro.

Dada la longevidad de los proyectos empresariales, queremos asegurarnos de que el ecosistema y las herramientas sigan existiendo y reciban apoyo en, digamos, 10 años. Si aparecen nuevas plataformas, no deberías tener que tirar todo tu código.

Debe ser flexible

Dada la longevidad de los proyectos empresariales, queremos asegurarnos de que el ecosistema y las herramientas sigan existiendo y reciban apoyo en, digamos, 10 años. Si aparecen nuevas plataformas, no deberías tener que tirar todo tu código.

Debe ser flexible

Y si va a comprometerse con un ecosistema, lo ideal es que lo utilice en tantas situaciones como sea posible (por ejemplo, aplicaciones de escritorio, aplicaciones de servidor, aplicaciones web) y diferentes plataformas de destino (Windows, Mac, Linux, móviles, etc.).

Debe hacer que el mantenimiento sea fácil

Dado que los miembros del equipo probablemente rotarán durante la vida del proyecto, y la mayoría del código no será escrito por el equipo actual, las preocupaciones dominantes son cosas como:

  • Comprensión: ¿Qué tan fácil es entender el código que escribió un miembro anterior del equipo?
  • Productividad: ¿Podemos añadir nuevas funciones de forma rápida y segura?
  • Seguridad: Si se realiza un cambio o refactorización, ¿podemos estar seguros de que no romperá nada?
Elegir un idioma empresarial, parte 1

Con estos requisitos, podemos utilizarlos para reducir nuestras opciones de lenguaje.

  • Para facilitar el mantenimiento y la seguridad, la mayoría de la gente está de acuerdo en que se necesita un lenguaje estático. Cuando se tiene una gran base de código con 10 ó 100 personas trabajando en ella a lo largo de los años, los lenguajes de escritura estática soportan una mejor refactorización, y los errores en tiempo de compilación pueden ayudar a evitar que el código defectuoso entre en producción.
    Aquí está John Carmack sobre este tema: 
    • Las mejores intenciones no importan. Si algo puede ser ingresado sintácticamente de manera incorrecta, eventualmente lo será. Y esa es una de las razones por las que me he hecho muy grande en el análisis estático, me gustaría poder habilitar subconjuntos de lenguajes aún más restrictivos y restringir aún más a los programadores porque cometemos errores constantemente. - John Carmack, 2012
  • El desarrollo de software no es el foco del negocio, esto significa que el énfasis está en la estabilidad y la productividad, más que, por ejemplo, en el rendimiento. Esto implica que un lenguaje de programación empresarial no debe permitir acciones potencialmente peligrosas como el control de la memoria y la aritmética de punteros. Incluso si se puede hacer con seguridad, como en Rust y el moderno C++, el esfuerzo por exprimir el rendimiento extra, generalmente no vale la pena.
  • Debe ser amigable para la empresa, por lo que no es de extrañar que los favoritos lo sean:
    • Java (y lenguajes en la JVM que pueden aprovechar el ecosistema de Java).
    • C# (y otros lenguajes en el ecosistema .NET).
    • Go también obtiene algunos puntos aquí debido a que Google lo soporta, y puede estar seguro de que las bibliotecas críticas de la empresa estarán disponibles.

Hasta ahora, sin sorpresas. Hemos encontrado a los sospechosos habituales, Java y C#.

Si esto fuera 2008, habríamos terminado. Pero no lo es, y no lo somos. En la última década, ha habido una explosión de nuevos lenguajes que son fuertes aspirantes a ser mejores lenguajes empresariales que C# y Java. Veamos por qué.

El auge de la programación funcional

La programación funcional es el nuevo punto álgido en este momento, pero a pesar de las exageraciones, la mayoría de los lenguajes de programación modernos están introduciendo características amigables con FP (Functional Programming) que marcan una gran diferencia en la calidad del software:

  • Las funciones de orden superior sustituyen en muchos casos a las interfaces de peso pesado (las bibliotecas C# LINQ y Java streams no serían posibles sin ellas).
  • Diferentes valores predeterminados, como inmutabilidad por defecto y no nulos por defecto. Tenerlos como predeterminados hace que el mantenimiento y la comprensión del código sean mucho más fáciles, ya que las desviaciones de estos predeterminados se señalan explícitamente en el código.
  • La comunidad de programadores funcionales hace hincapié en la necesidad de explicitar los efectos. Esto incluye cosas como el tipo "Result" para el manejo de errores explícitos, y el desplazamiento de E/S y otras fuentes de impurezas en la aplicación (como se ve en los enfoques "Funcional core/imperative shell and Onion Architecture").
  • Finalmente, y lo más importante , los lenguajes influenciados por la FP tienen tipos de datos algebraicos. Es decir, no sólo registros/estructuras, sino también tipos "de elección" (también conocidos como tipos de suma o unioines discriminadas). En mi opinión, estos son esenciales para un modelado efectivo de dominios. Por supuesto, yo diría eso, ya que escribí un libro sobre el tema, pero no soy el único en este punto de vista.

Si nos fijamos en los lenguajes que soportan estas características, terminamos con los lenguajes estáticos de FP (Haskell, F#, OCaml) y los lenguajes más modernos influenciados por FP: Swift, Scala, Kotlin, Rust, TypeScript, etc.

Como he dicho antes, el auge de las nuevas tecnologías, como el no tener servidores, significa que las empresas estarán dispuestas a cambiar a estos lenguajes influenciados por FP si pueden proporcionar una ventaja competitiva (lo que creo que hacen) y si el cambio se puede hacer con una interrupción mínima (que depende de la elección del idioma).

El peligro de demasiada abstracción

Algunos lenguajes de FP (Haskell y Scala en particular) soportan algunas características que permiten altos niveles de abstracción.

"El propósito de la abstracción no es ser vago, sino crear un nuevo nivel semántico en el que uno pueda ser absolutamente preciso" - E.W. Dijkstra

Eso es genial, pero creo que en el contexto específico del desarrollo empresarial, demasiada abstracción puede causar problemas. Si se utiliza con demasiada libertad, requiere que todos los desarrolladores que trabajan en un proyecto tengan la misma comprensión del "nuevo nivel semántico", que es una carga para la formación y la empleabilidad. Todo lo que se necesita es que una persona se tome demasiado a pecho la teoría de categorías en el código, y el código se vuelve insostenible para todos los demás.

Es decir, de la misma manera que te puedes disparar a ti mismo en el pie con características de bajo nivel, también puedes hacerlo con características de alto nivel. En el caso de un lenguaje empresarial, debemos recortar el extremo superior de las capacidades lingüísticas, así como el extremo inferior, y fomentar un enfoque de "sólo una manera de hacerlo" en la medida de lo posible.**

Así que voy a penalizar a Haskell y Scala en este punto por ser demasiado fáciles de abusar.

** Una de las razones por las que Go o Elm son bien aceptados por la gente como lenguajes, es porque son restrictivos. Hay una manera estándar de hacer las cosas, lo que a su vez significa que leer y mantener el código de otra persona es sencillo.

Pero ¿Cuánta abstracción es demasiada?

¿Los genéricos son demasiado avanzados? Hace 15 años, quizás. Pero hoy en día está claro que es una característica de la corriente principal. (¡Los diseñadores de golang no están de acuerdo!)

¿Pero qué hay de las lambdas? ¿Qué tal las monads? Creo que la mayoría de los conceptos de FP están a punto de convertirse en una corriente dominante en la actualidad, y dentro de diez años serán comúnmente aceptados, por lo que es razonable tener un lenguaje que los apoye.

Para mí, en 2018, el nivel de abstracción "just-right" es el que se encuentra en lenguajes ML como OCaml y F#. En 10 años las cosas pueden ser diferentes, y podemos ser capaces de ajustar el nivel de abstracción aceptable.

Sin embargo, no estoy convencido de que una programación más abstracta y de estilo matemático (a la Idris, Coq) sea común en la empresa, debido a la variación en las habilidades de los empleados. Sí, esto podría resolverse con un mejor entrenamiento, o con una cualificación de ingeniero de software certificado, pero no me inquieta que suceda.

Elegir un idioma empresarial, parte 2

Si entonces filtramos estos nuevos lenguajes por el criterio "empresarial" arriba mencionado, terminamos con los lenguajes influenciados por FP que soportan .NET y JVM, a saber: 

  • F# en .NET
  • Kotlin en la JVM.
  • También voy a añadir TypeScript, ya que está muy bien soportado y cumple con los criterios de "empresarial".

Para resumir las objeciones de "por qué no el lenguaje X" de nuevo:

  • C# y Java - Están bien, pero F# y Kotlin respectivamente tienen mejores valores por defecto (inmutabilidad), mejor soporte para efectos y mejor soporte para tipos de datos algebraicos.
  • Swift - Está bien soportado dentro del ecosistema de Apple, pero no muestra signos de propagación en las empresas en general.
  • Ceylon - Kotlin tiene más impulso.
  • Haskell - Sí, Haskell hace cumplir la pureza rigurosamente, sería genial, pero ese no es el único componente de la programación. Y lo que es más importante, no hay una ruta de migración gradual a Haskell, sino que te metes de lleno en el fondo del asunto. Esto puede ser muy bueno para el aprendizaje de la FP, pero no es adecuado para las empresas.
  • Scala - Demasiadas maneras diferentes de hacer las cosas es una desventaja, me temo. Kotlin es más amigable con la empresa.
  • OCaml - Si no necesita soporte empresarial, OCaml es una excelente opción. Pero si lo haces, F# sería más aplicable.
  • Go - Excelente para algunas cosas, pero no se recomienda para empresas debido a la poca compatibilidad con el modelado de dominios con tipos.
  • Elm/Purescript - Front-end sólo por ahora.
  • Reason ML - Por ahora solo Front-End. Además, ¿por qué no usar OCaml?
  • C++/Rust - Si no necesita rendimiento, es más fácil trabajar con un lenguaje GC'd.
  • Erlang/Elixir - Ideal para un alto tiempo de actividad, pero no para empresas.
  • PHP/Python/Ruby/etc - Me gusta mucho Python, pero la mantenibilidad se pierde cuando tienes más de 10K LoC (Líneas de Código). Como he dicho antes, los lenguajes estáticos son la única forma de realizar proyectos de gran envergadura.
¿Qué hay de los tipos de mayor categoría? ¿Qué hay de las clases de mecanografía? ¿Qué hay de los GADTs?

Ninguno de los tres finalistas los apoya ahora mismo. Dejaré que usted juzgue si esto es un obstáculo para el desarrollo empresarial.

Elegir un favorito

Los tres idiomas que quedan (F#, Kotlin y TypeScript) son todas buenas opciones, todas de código abierto, plataformas cruzadas y amigables para la empresa.

Si ya está utilizando la JVM, entonces obviamente Kotlin proporciona la mejor ruta de migración. De forma similar, si está usando Nodo en el servidor, entonces TypeScript es bueno (aunque confiar en los paquetes npm puede ser un problema).

Pero si estás haciendo desarrollo "greenfield" (o si ya estás en .NET) creo que F# tiene la ventaja (y aquí es donde yo podría ser un poco parcial)

  • Tiene un excelente soporte para el modelado de dominios de ceremonias bajas.
  • Es funcional en primer lugar, prefiriendo las funciones y la composición como enfoque de desarrollo primario.
  • La inmutabilidad realmente está en todas partes - es el valor por defecto para los tipos y colecciones algebraicas.
  • Tiene una amplia gama de capacidades. Por ejemplo:
    • Puede crear microservicios que den soporte a millones de clientes. Así es como jet.com lo hizo.
    • Puede escribir JavaScript en F# con Fable. Por ejemplo, el plugin F# para VS Code, llamado Ionide, fue construido en F# y convertido a JS de esta manera.
    • Puedes desarrollar aplicaciones web completas (compartiendo el código entre el front end y el back end) con Safe Stack o WebSharper.
    • Puede crear aplicaciones móviles con la librería Fabulous utilizando un enfoque similar al de Elm.
    • Puedes crear aplicaciones de escritorio con XAML o WinForms o Avalonia.
    • Puede crear scripts ligeros, como construir y desplegar tuberías.
    • Otro buen uso de los scripts es la prueba de la interfaz del navegador.
    • Y, por supuesto, puedes hacer ciencia de datos.

Por supuesto, Kotlin puede hacer algunas de estas cosas y TypeScript algunas de las otras, pero creo que F# es el que tiene la mayor amplitud en general.

Traducción y fragmento de la nota de ScottW: https://fsharpforfunandprofit.com/posts/fsharp-is-the-best-enterprise-language/

¿Qué es la transformación digital?

La transformación digital es el camino a seguir para transformar los datos que nos proporciona la tecnología en información relevante que nos permita mejorar nuestro negocio.

La digitalización de los negocios permite poner en contexto los datos y compartirlos con el conjunto de la organización.

¿Por qué falla la transformación digital?

Muchas empresas interpretan el proceso de digitalización como una simple actualización de sus tecnologías.

Sin una previa transformación cultural es inviable la transformación digital.

Es decir, que el foco de la transformación digital debe estar en las personas, no la tecnología en sí.

Los errores más comunes
Comenzar sin un objetivo claro

Uno de los errores más comunes que comete la empresa mientras avanza hacia la transformación digital del negocio es no tener un objetivo claramente definido. El primer paso es tener claro cuáles son tus objetivos principales y saber el propósito de la transformación digital de tu empresa.

Ignorar la oportunidad de la transformación digital

Muchas empresas simplemente copian su enfoque tradicional en el mundo digital. Crean un equivalente digital a sus procesos tradicionales. La transformación digital de una empresa requiere que éstas cambien la forma de ver sus interacciones con los clientes y la manera en que les ofrecen valor. Es mucho más que digitalizar tus documentos. Las antiguas prácticas de desarrollo del pasado ya no pueden aplicarse. Para implementar una transformación digital exitosa debes ofrecer nuevas soluciones y reconsiderar tus prácticas de desarrollo. La transformación digital de los negocios exige un replanteamiento completo de cómo la organización se relaciona con sus clientes y cómo les proporciona valor. Para aprovechar las mejoras de productividad que ofrece la tecnología debes estar dispuesto a cambiar la forma en que tu empresa funciona.

Hacer el cambio demasiado rápido

La transformación digital requiere de un cierto sentido de urgencia; sin embargo, todos los cambios deben realizarse de forma lenta y cuidadosa. Sin duda, hay una sensación de urgencia, pero es indispensable que planees y organices con cautela los cambios requeridos para evitar errores que puedan perjudicar a tu organización.

Descuidar la participación de clientes, proveedores y terceros

Cuando te digitalizas, debes considerar a las personas con las que tratas diariamente. Si no desea recibir facturas en papel, recibos impresos y otros materiales en formato analógico, tendrás que involucrar a los stakeholders en tus esfuerzos digitalizadores.

No adoptar la solución de datos

La transformación digital sólo produce una fracción de su verdadero valor cuando no es compatible con una solución de recopilación de datos. Además de proporcionar formularios móviles que se pueden usar en terreno, la solución de formularios móvil adecuada debe integrarse, naturalmente, con el flujo de trabajo digital de tu empresa.

No incluir a los empleados

La digitalización cambia la médula del trabajo que realizan los empleados. Es muy importante que cualquier persona que se vea afectada por los cambios comprenda la importancia de esta transformación. En muchos casos, los empleados deben recibir capacitación y mantenerse actualizados sobre la implementación de nuevas tecnologías. Esto los hará sentirse fortalecidos por los cambios después de la transformación. Ellos deben entender que la transformación digital es primordial para la supervivencia de la organización y que ellos deben ser parte de esa transformación.

La transformación digital de los negocios no solo consiste en construir una aplicación o sitio web; requiere que las empresas cambien la forma en que ven sus interacciones con los clientes y cómo les ofrecerán valor en el futuro.

¿Cómo es la cultura digital?

La cultura digital es aquella que aprovecha al máximo la digitalización para descubrir y explotar nuevas oportunidades de crecimiento del negocio, aplicándolo a todos los ámbitos. Al usar la tecnología para mejorar el rendimiento, se crean nuevas formas de comunicación y de almacenamiento de información. Asimismo, estas nuevas fórmulas digitales permiten medir mejor todo lo que sucede en el negocio; desde la productividad de los equipos hasta la satisfacción de los usuarios.

Conclusión

La digitalización se ha convertido en un proceso obligatorio que debe seguir cualquier negocio que quiera sobrevivir en este mundo digital. Pero para que este proceso se cumpla, es imprescindible tener una cultura digital.

Como un paso más en el proceso de integración al mercado de software español, y a fin de afianzar el compromiso de brindar soluciones de calidad, Virtusway ha cerrado un convenio con la internacional Sage. La proveedora de software ha registrado una evolución importante en sus ERP, tal es el caso de Sage 200cloud, que se posiciona como líder en el mercado local. Además, para completar su cartera de productos, se encuentran Sage 50cloud y X3 Enterprise Management, logrando así abarcar desde microempresas hasta grandes multinacionales.

A la hora de elegir un software de gestión, no sólo hay que tener en cuenta lo que se necesita hoy. Es importante prever cómo se adaptará a lo que necesitará mañana y por eso Virtusway presenta las soluciones de Sage a sus clientes.

Sage 200cloud no es solo un programa de gestión empresarial, es una propuesta integral de control y gestión de negocio adaptable a sus necesidades actuales, pero con la vista puesta en crecimientos futuros. Su flexibilidad le convierte en el software de gestión ideal para empresas medianas y pequeñas, sea cual sea el sector en el que trabajen.

Sage 200cloud le permitirá crecer de forma eficaz, flexible e integrada, para que pueda controlar su negocio de forma más práctica, fácil y ágil. Dispone de una gran variedad de tareas automatizadas que le ayudan a ahorrar en tiempo y costes, siempre de acuerdo con la normativa y la ley vigentes. Además, gracias a Sage 200cloud mejorará en la toma de decisiones porque podrá hacerlas en tiempo real y basadas en análisis de datos ciertos. Gracias a sus múltiples propuestas de contratación y a la modalidad de pago por suscripción, permite una adecuada y controlada gestión de la inversión, evitando grandes desembolsos iniciales. Pague sólo por lo que necesita, con la confianza de saber que, si requiere de más funcionalidades, puede añadirlas cuando guste.

Además de los módulos tradicionales de un ERP, como Contabilidad y Finanzas, Compras, Ventas, Almacén y Fabricación, y de una serie de módulos de gestión avanzada en Gestión de Clientes, Atención al Cliente y Marketing, Gestión de Proyectos, Contratos, TPV, Gestión Laboral y de Recursos Humanos, Gestión Documental, Tesorería y Business Intelligence, Sage 200cloud le permite acceder a funcionalidades de alta productividad con herramientas de colaboración vía API como la conexión, descarga e integración automática de apuntes bancarios, la tienda electrónica o E-commerce, Sage 200cloud Laboral, etc..

Sage 200cloud le ayuda, además, a mejorar el control y la visibilidad de su negocio gracias a una interfaz moderna, intuitiva y bien integrada. Podrá navegar sin menús y saber en todo momento donde está.

Sage 200cloud está siempre alineado con los avances en tecnología y entornos de aplicaciones. Por eso es 100% compatible con las últimas versiones de MS Windows, MS Office y MS SQL Server.

En qué grado de madurez tecnológica se encuentra su empresa?

Es común por estos días escuchar las palabras logística y tecnología en una misma frase. La segunda está interviniendo tanto en el negocio que casi no hay empresas que puedan evitarla, pero todavía existen algunas.

El siguiente artículo pretende esclarecer y establecer un parámetro de posicionamiento para las empresas que sienten que deben avanzar en la tecnificación de sus operaciones logísticas, pero no saben por dónde comenzar.

Se distinguen 4 estadios según la integración de tecnologías en cada uno:

  1. Intuitivo
  2. Informatizado
  3. Integrado
  4. Vanguardista

Nivel 1. intuitivo:

Tal como su nombre lo indica, las empresas de este nivel no poseen sistemas informáticos que les permitan tomar decisiones de manera racional. Se manejan por la experiencia de sus directivos y por percepciones subjetivas de la situación. La información se guarda en planillas de cálculo y no refleja la realidad del negocio, es un mero registro que en ocasiones se completa solo por obligaciones tributarias.

Distribución de almacenes caótica, sin documentación ni planificación. Equipamiento arcaico. Nula conectividad con las demás áreas de la empresa.

Nivel 2. Informatizado:

En este nivel encontraremos software de gestión (ERP), software de control de inventario y aplicaciones distribuidas para suplir las necesidades de cada área. El inconveniente en este nivel es la comunicación y el flujo de información entre los distintos sectores de la empresa.

La infraestructura disponible consta de algunas estanterías simpes lo cual permite organizar un poco mejor el almacén, pero no asegura el óptimo aprovechamiento de todos los espacios y recursos. Se pueden encontrar sistemas que notifican la escases o inexistencia de productos al área correspondiente. Se utilizan códigos de barras para identificar los productos individualmente.

Las empresas del segundo nivel pierden oportunidades de negocio por su falta de eficiencia y dependen de partners o terceros para concretar algunas operaciones.

Nivel 3. Integrado:

En este nivel se encuentran muchas empresas que ya han percibido la necesidad de tecnificar su almacén para no perder competitividad. Se cuenta con un SGA (WMS en inglés) que permite optimizar el uso de los recursos (tiempo y espacio) de manera dinámica, es decir brindando una rápida respuesta a las necesidades del negocio e incluyendo a todos los actores de la cadena de suministro.

La infraestructura es mucho más avanzada que en los anteriores, podemos ver sistemas de picking por voz, pick to light, carrusel de picking robotizado, tecnología RFID.

El tercer nivel se caracteriza por la calidad de la información, los KPI se definen en función a los objetivos del negocio y se utilizan para la toma de decisiones.

El grado de satisfacción del cliente es muy alto, acelerando el ROI. Esto significa que el trabajo realizado para mejorar las operaciones logísticas de la empresa es percibido por el cliente como un valor agregado, lo cual se traduce directamente en conversión y fidelización de éste.

Nivel 4. Vanguardista.

Nivel con gran volumen de trabajo. Disponibilidad de las últimas tecnologías. Inteligencia Artificial y Machine Learning para planificar y optimizar las operaciones. Asistencia a operaciones manuales con Realidad Aumentada, instalaciones altamente robotizadas, simulaciones de demanda y asistencia en la planificación estratégica con Business Intelligence y Big Data.

En este nivel se encuentran las compañías precursoras de adelantos que decantan hacia los niveles inferiores. También es el nivel más competitivo, donde la permanencia y las ganancias dependen de la velocidad de adaptación a los cambios.

Las empresas del cuarto nivel son quienes determinan las reglas del juego e imponen desafíos cada vez más exigentes a sus competidores.

El primer paso para plantear una mejora es saber cuál es el punto de partida, por esto le instamos a que evalúe su empresa y luego identifique el camino a seguir.

Encuentre más información en el siguiente artículo:

La ciudad catalana espera la llegada de uno de los más importantes eventos logísticos de nivel internacional, la edición 2019 comienza el 26 de junio próximo con una nutrida agenda de asambleas, congresos y exposiciones.

SIL Barcelona, feria líder en logística, transporte, intralogística y cadena de suministro en el sur de Europa, organizada por El Consorci de la Zona Franca de Barcelona, pretende consolidarse como la principal feria anual del sur de Europa y del Mediterráneo en la que está representada toda la cadena de suministro (transporte, logística, distribución, intralogística, almacenaje y nuevas tecnologías) y que reúne durante 3 días a toda la cadena en un único evento, convirtiéndose en un puente de negocios internacional entre Europa, América Latina y el Mediterráneo.

Entre los eventos más destacados podemos mencionar:

  • Encuentro y asamblea de Asociación de Zonas Francas de Las Américas: La Asociación de Zonas Francas de las Américas (AZFA) es una entidad sin ánimo de lucro que en su contexto regional promueve y defiende el régimen de Zonas Francas a través de integraciones, investigaciones y cooperaciones con los sectores públicos y privados de todos los países de Iberoamérica. Actualmente, se constituye como el gremio regional más importante de Zonas Francas y representa a sus afiliados en 23 países de 2 continentes aglutinando más de 600 zonas francas con más de 10.000 empresas instaladas en ellas.
  • 3° Edición e-Delivery Barcelona Expo & Congress: El objetivo del evento es ser el nuevo acercamiento al canal on-line que busca dar respuesta a la estrategia de eDelivery de las empresas y poner en contacto a proveedores y retailers y e-tailers de España, Europa y el Mediterráneo. 
  • Congreso de Agentes de Carga y Operadores Logísticos de América Latina: ALACAT es la Federación de Asociaciones Nacionales de Agentes de Carga y Operadores Logísticos Internacionales de América Latina y el Caribe. Fundada el 12 de Junio de 1982.
  • 3er Congreso Internacional de Operadores Económicos Autorizados, Aduaneros y Logísticos: El propósito del 2019 Congreso Internacional de Operadores Económicos Autorizados: OEA en Cadenas de Suministro Globales es apoyar a todos los participantes interesados en los estándares de OEA, la asociación internacional de organizaciones miembros de OEA y sus afiliados para participar con líderes de opinión sobre el papel de AEO en la gestión comercial, e-commerce, seguridad e integridad, así como promover el cumplimiento de una práctica adecuada. 5° Congreso Mundial de Zonas Francas

Consulte la agenda completa aquí

  • Mejor aprovechamiento del espacio

    La falta de planificación y organización del almacén se traduce en múltiples problemas. Es común que las empresas crezcan y comiencen a echar mano de espacios libres sin dedicar el tiempo suficiente a planificar primero. Se incorporan artículos de dimensiones especiales, con requerimientos de almacenaje específicos y cada vez comienza a hacerse más evidente la necesidad del mapeo del almacén.

  • Facilidad de acceso al producto almacenado

    Agilizar el picking, cumplir los tiempos de preparación de pedidos, variables que dependen del conocimiento preciso de la ubicación de los SKUs. Herramientas como el voice picking o el pick to light pueden optimizar estos procesos, pero se debe tener claro que previamente, es necesario identificar la ubicación de cada artículo y registrarla correctamente en la base de datos.

  • Mínimo stock posible (Just in time)

    Implementar sistemas que ayuden a tener una predicción de nuestros movimientos evitará enfrentar graves problemas para logísticos: desabastecimiento propio o de clientes, falta de personal, exceso de carga de trabajo, etc.

    Contar con un sistema de gestión de almacén, permitirá minimizar los costos en superficie de almacenamiento sin perder capacidad de abastecimiento. Del mismo modo, cambios en la demanda pueden ser fácilmente acompañados por el operador logístico, brindando una respuesta ágil al cliente final.

Descubra cómo podemos ayudarle

Déjenos su solicitud, uno de nuestros comerciales lo contactará a la brevedad.