Mostrando entradas con la etiqueta #softwarealamedida. Mostrar todas las entradas
Mostrando entradas con la etiqueta #softwarealamedida. Mostrar todas las entradas

martes, 10 de septiembre de 2019

7 preguntas para determinar si tu empresa necesita un software a la medida


miércoles, 10 de octubre de 2018

¿Por qué Lean Six Sigma es importante para empresas de software a la medida?


Por Amelia Respardo, Aseguramiento de Calidad, Avansys.

“Lean” es una filosofía de administración de la operación de una compañía y su principal objetivo es hacer más eficiente y productivo el trabajo. “Lean” significa hacer más con menos; menos esfuerzo, menos estrés, menos equipo, menos espacio, menos recursos y principalmente en menos tiempo, prácticamente es aprender a detectar el desperdicio.

Tomando como ejemplo a las empresas de software a la medida, éstas cuentan con una serie de desperdicios que se presentan en actividades puntuales y críticas para la operación.
  • Código generado que ofrece funcionalidades no deseadas e innecesarias.
  •       Retrasos en el proceso de desarrollo de software a la medida
  • Mala toma de requisitos
  • Problemas con la comunicación internas
  • Documentación excesiva o mal ejecutada
  • La calidad es inconsistente porque existen demasiados errores en los códigos y requieren refactorizaciones.
  • Re trabajos en las planeaciones.
  • Falta de automatización en las pruebas.
  • La amplificación de conocimiento es limitada.
Lean es simple, sólo es cuestión de organizar al equipo de trabajo y establecer metodologías efectivas para hacer más con menos, ¿Cómo lograrlo? Aquí los 7 principios de Lean en Software a la medida.
  1. Eliminar el desperdicio - pasos innecesarios
  2. Promover e incorporar pruebas continuas
  3. Retrasar las decisiones
  4. Entregar el software lo más rápido posible
  5. Empoderar al equipo de programación
  6. Construir un enfoque en la integridad del sistema
  7. Centrarse en todo el sistema
Existe otra filosofía que permite complementar lo expuesto por Lean; Six Sigma es una filosofía de negocios con enfoque en la satisfacción del cliente.

Para conocer el nivel de satisfacción del cliente existen muchos métodos para obtenerlo, uno de ellos y, el cual yo recomiendo, es realizar encuestas de calidad ya sea por llamada, correo, en persona o por cualquier medio de comunicación. De esta manera el cliente expresa como se siente con el servicio que se le brinda y da a conocer lo que espera a futuro, lo que permite encontrar mejoras cada día. Para realizar esto es necesario saber lo siguiente:
  • Identificar los problemas que está presentando al cliente.
  • Ponerte en el lugar del cliente.
  • Encontrar solución eliminando los errores de código u otro problema encontrado para dar una respuesta inmediata al cliente.
  • Generar confianza y seguridad de que el problema se resolverá.
  • Consultar los procesos productivos que existen en la organización para dar buen flujo.
  • Trabajar en equipo y transmitir al cliente una constancia comunicación con los detalles.
  • Rediseñar mejoras en los sistemas que maneja la empresa para optimizar continuamente la atención al cliente.
  • Innovar en las tecnologías para crear un ambiente competitivo y hacer más eficiente el trabajo.


¿Por qué Lean Six Sigma es importante para empresas de software a la medida?

Lean Six Sigma es una metodología orientada para la mejora de procesos, con el propósito de aumentar la rentabilidad y productividad de los mismos. ¿Cómo la hace? a través de una metodología llamada DMAIC.



Las ventajas de Six Sigma crean muchos beneficios para la empresa de software a la medida y es necesario llevar a cabo esta metodología para ser la mejor, en resumen, es lo siguiente:

      Lean: Velocidad                          
  • Procesos flexibles                        
  • Trabajo en equipo.                      
  • Procesos estables.                     
  • Flujo continuo.

     Six Sigma: Calidad
  • Solución de problemas
  • Procesos sin variación
  • Rediseño e innovación

Esto da como resultado menores costos, menor tiempo de entrega, mejor calidad, mejor productividad, mayor satisfacción personal y laboral.

En Avansys trabajamos día con día con esta metodología. A través de procesos fuertes y bien establecidos podemos ofrecer a nuestra cartera de clientes, calidad y satisfacción en cada una de las entregas. 

Referencias:


lunes, 24 de septiembre de 2018

¿Qué importancia tiene una buena arquitectura de software en un proyecto a gran escala?




La creación de un software es como la construcción de una casa o edificio. Para tener un resultado exitoso, robusto y estable, se requiere de una serie de cimientos y estructuras que permitan unir todas las partes y secciones de la casa, para así lograr que sus habitantes puedan interactuar con los diferentes espacios de forma satisfactoria.

Para desarrollar un software se debe manejar la misma metodología; crear una estructura tecnológica óptima para que éste cumpla al 100% sus objetivos. ¿Cómo se logra esto? Con una arquitectura de software. 

Se conoce como arquitectura de software a los elementos que conforman un sistema, se trata de la estructura bajo la cual están diseñados y su interacción entre ellos. Esta estructura permite entender cómo funciona el sistema desde su componente más profundo, hasta el más superficial y cómo estos se relacionan entre sí para lograr un resultado positivo. 

La arquitectura de software también se relaciona con aspectos como rendimiento, usabilidad, presupuesto, tecnología e incluso cuestiones estéticas. Para implementarla de manera adecuada es recomendable apoyarse de una metodología de desarrollo, la cual ofrece principios básicos para su desarrollo.
Todo desarrollo de software inicia con la creación de esta estructura. Para lograr definir la directriz que se le dará a la arquitectura, se deben conocer las necesidades del negocio, para de esta forma determinar si la arquitectura será muy rígida o puede tener características flexibles. Si la arquitectura no está bien planeada y alineada a los objetivos, ésta no cumplirá con su cometido y presentará problemas durante su operación.

Dicho lo anterior, existen una serie de elementos clave que deben existir en el diseño de la arquitectura de software;
1.      Cuidar la construcción y uso de bases de datos. Las bases de datos son las que alimentarán gran parte del sistema por lo que juegan un papel fundamental en el diseño de la arquitectura. Recuerda que estas deben alinearse a las necesidades del negocio y no al revés.
2.      Seleccionar las herramientas y componentes necesarios para optimizar los procesos. Para que un desarrollo de software sea 100% relevante y funcional para la operación, debe unificar servicios de automatización de procesos e integración de aplicaciones. Esto debe ser colocado de forma estratégica, desde el inicio del diseño de la arquitectura.
3.      Para que un software pueda ser funcional por un largo periodo de tiempo, debe ser auditable y medible. Es decir, se debe crear un ambiente en donde el código pueda ser evaluado, medido y regulado. 
Dicho lo anterior pasemos a un ejemplo;
Imagina que eres el Gerente de Finanzas de un corporativo que cuenta con 80 puntos de ventas y una red de 100,000 distribuidores. Requieres de un sistema que permita automatizar la operación de tu personal administrativo y tu fuerza de distribución. Estás interesado en un sistema robusto que este conformado por diversos componentes que estén alineados a tu estrategia comercial.  
Una buena opción de arquitectura sería una basada en un servidor centralizado. ¿Cómo funciona?



La arquitectura, desde un nivel macro, comienza con la creación de una base de datos centralizada que se encuentra en un servidor en la nube que no es accesible, más que a través de una VPN (Infraestructura de red. Su función es crear una red virtual en la nube, que al momento de que algún servidor o equipo se conecta a ella es como si ésta estuviera en la misma locación, aunque no lo esté)
Por otro lado, existe un servidor en el que se encuentra un servicio que se encarga de conectarse a la base de datos. Ambos servidores se encuentran en la misma red, esto quiere decir que se pueden comunicar entre sí. Sin embargo, las peticiones, consultas o envíos de información que se hacen a la base de datos, no se hacen de forma directa, sino que se hacen a través de este servicio web, el cual valida si una petición viene de una identidad conocida o no y con base a esto aceptar o rechazar la petición. En caso de aceptarla, el servicio se comunica con la base de datos y ésta procesa la petición. Debido a la importancia que tiene la base de datos en esta arquitectura, este proceso tiene una barrera de seguridad que protege la información que llega a esta base. 

Otro elemento a tomar en cuenta para el diseño de la arquitectura son las sucursales. La base de datos centralizada nutre de información a los puntos de venta (computadoras) que hay en cada una de las sucursales. Estas generan una gran cantidad de transacciones durante doce horas de operación de lunes a sábado, por lo que es de suma importancia que éstas tengan conexión a la base de datos para consultar y modificar información.

Todos los puntos de venta se conectan al servidor través de la VPN para hacer el envío de solicitudes a la base de datos, de lo contrario no se podría interactuar. Cada sucursal puede tener más de un punto de venta operando, pero todos deben estar conectados a un mismo servidor local, el cual cuenta con una réplica de la base de datos. Esto permite una operación offline, es decir, en caso de no contar con internet o de perder la conexión con la VPN, se sigue operando de forma local hasta que detecta una conexión y sincroniza la información modificada con el servidor de la nube que posee la base de datos centralizada.

De esta forma se puede consultar y modificar; categorías de productos, productos, precios, inventario, facturas, ventas, distribuidores, ordenes de surtido, sucursales, empleados, y otros datos que se encuentra en la base de datos.

¿Cómo se nutre la base de datos y como ésta es visible para el personal de la empresa? A través de la creación de 3 componentes;

·        Backoffice: Permite administrar el alta de distribuidores, sucursales, productos, imágenes, etc.
·        Sistema central: Permite administra alta de puntos de venta y usuarios, así como sus roles y permisos específicos.

·        Oficina virtual: Permite a los distribuidores comprar productos, ver su red, así como las compras de la misma.  Así como generar un reporte de comisiones de su red.

(Estos tres componentes están en la nube, pero no requieren de una VPN)

¿Qué es lo que ofrece esta arquitectura centralizada?
  • ·        Operar offline

  • ·        Tener una base de centralizada que se sincroniza de forma constante, haciendo que todas las sucursales a nivel nacional cuenten con la información actualizada después de cada compra. Esto trae como resultado;

o   Control de inventarios
o   Facturación al día
o   Información financiera actualizada
o   Saber al instante si se debe hacer un re surtido de productos
o   Control de comisiones a los distribuidores

Uno de los retos de esta arquitectura es el diseño de la base de datos, la cual contiene grandes volúmenes de información que nutren a todos los componentes.

Tras este ejemplo, puede quedar un poco más claro la importancia de un diseño de arquitectura para un desarrollo de software.



lunes, 3 de septiembre de 2018

¿Qué es y qué importancia tiene un software a la medida?


Cada empresa cuenta con necesidades tecnológicas muy puntuales, ya sea en infraestructura o en implementación de herramientas. Estas soluciones son las que les permiten desarrollar funciones de operación, desde las más básicas, hasta la más complejas, lo que se traduce en una productividad efectiva.

En numerosas ocasiones, el software con formato de licencia que se encuentran en el mercado no se adapta a las necesidades tecnológicas, los procesos actuales de la empresa, ni al crecimiento de la operación, lo que lleva a invertir en múltiples plataformas, lo cual descentraliza la operación y no permite automatizar procesos. Esta actividad orilla a las empresas a adecuar su operación al software.

El software a la medida es una herramienta desarrollada con determinaciones específicas en base a las necesidades y las políticas de una empresa. Por lo cual, puede resultar imposible implementar el mismo software en más de una empresa, ya que como su nombre lo describe es un producto personalizado.

Cuántas veces no se implementa una herramienta comercial para gestionar un área, otra herramienta para medir ciertos indicadores clave, y otra más para llevar las ventas de la empresa, ¿Realmente se logran utilizar todas y cada una de las funciones de estos 3 software? La mayoría de veces, la respuesta es no.

Un desarrollo a la medida es, nada más y nada menos, que un traje a la medida, una solución diseñada según las características de la empresa, que permite que cada una de sus funciones sean sumamente útiles para la operación.

¿Qué es lo que hace estos desarrollos tan importantes? Lo comentado anteriormente tiene gran relevancia y puede ser la punta de lanza para aprobar su implementación. Sin embargo, hace falta el eslabón que cierra la cadena; un software a la medida tiene la capacidad de integrarse con diversos sistemas administrativos, permitiendo así lograr el resultado más importante; centralizar y automatizar la información en su máxima expresión.

Desde la integración con sistemas ERP, como sistemas de control de producción o sistemas de administración comercial, hasta integrar desarrollos de procesos altamente especializados para el control de la lógica del negocio, en cualquier industria en la que se desarrolle.

Un software a la medida se va actualizando con base a tu crecimiento. Las empresas que deciden implementarlo se olvidan de pagar licencias mensuales o de tener que esperar a que la empresa proveedora decida sacar al mercado una nueva actualización o funcionalidad. Si las reglas de tu negocio sufren cambios, el software también. 

Un desarrollo a la medida se traduce en las siguientes ventajas: 

1.  El software se adapta al negocio. Es el traje a la medida de tu empresa
2. Se puede desarrollar e implementar por partes o módulos, conforme vayan apareciendo necesidades
3.  Si las reglas del negocio sufren cambios, el software puede sufrir cambios. El software crece junto contigo
4. Se pueden desarrollar adaptaciones o módulos de comunicación hacia otras herramientas. Integrar para centralizar y automatizar.
5. Al desarrollar una herramienta personalizada se garantiza contar con una solución que la competencia no tiene. 

Sin embargo, no todo lo que brilla es oro. El software a la medida cuenta, también, con una serie de desventajas: 
  •       Costo del desarrollo
  •       Tiempo de desarrollo e implementación
Dicho lo anterior, podrás decir que un software a la medida es una excelente alternativa, y es que realmente lo es. Sin embargo, es de suma importancia elegir un proveedor que cuente con la madurez y experiencia necesaria para convertirse en un aliado estratégico de sus clientes; el proceso y la manera de gestionar el desarrollo debe sentar sus bases en metodologías probadas y reconocidas que permitan el éxito en esta importante tarea. 

Si te interesa evaluar si tu empresa es candidata a un software a la medida, da clic aquí.

Si deseas simplificar tu negocio y desarrollar tus sueños, es momento de comenzar a analizar un software a la medida.



Te recomendamos