Al realizar un proyecto de análisis de datos de un año para un cliente, me informaron que solo recibiré MS Access y Excel. Piensan que las herramientas serán suficientes. Si estuviera en mi lugar, ¿cómo convencería al equipo de TI de que Access / Excel será insuficiente?

Respuesta editada con respecto a su detalle adicional:

No presente su objeción como “MS Access no funciona”. La verdad es que MS Access puede funcionar, pero tiene límites para el almacenamiento.

Para describir los límites de MS Access, haz los cálculos . Supongamos que tienen un promedio de 300 mil transacciones por mes, y cada transacción requiere un promedio de 1 KB de datos, luego pueden almacenar menos de 7 meses de datos en una sola base de datos de acceso de 2GB.

Luego presenta al cliente esto como una restricción que deben aceptar por su decisión de usar MS Access. Si esto está bien con ellos, que así sea. Tendrán que aceptar que los datos antiguos se eliminan regularmente y no están disponibles para su análisis. Si quieren que el análisis cubra más meses de datos, no pueden usar MS Access. Deja esta decisión a ellos.

Por supuesto, tal vez las suposiciones en las matemáticas son erróneas. Si cada transacción es más compacta, entonces pueden almacenar más meses de datos en una sola base de datos.

Y tenga en cuenta que MS Access puede usar tablas vinculadas, por lo que cada tabla puede almacenarse en un archivo separado de 2GB. Sin embargo, no pude encontrar ninguna referencia que muestre una pareja de una tabla vinculada a varios back-ends.

No soy usuario de MS Access, pero tengo la impresión de que no se pueden declarar restricciones en las tablas vinculadas. Lo que significaría que la integridad de los datos es frágil, y esto podría dificultar el mantenimiento de la solución.

Al usar tablas vinculadas, asumo que esto facilitaría la migración a un back-end más grande si fuera necesario más adelante.


Mi respuesta original de antes de que hayas publicado detalles en tu pregunta:

¿Crees que estas herramientas no serán suficientes? ¿Qué tareas, exactamente, necesita hacer en este proyecto que no puede hacer con MS Access y Excel? ¿O es solo que ahora no conoces estas herramientas y conoces otras herramientas de codificación y bases de datos?

Depende de la naturaleza del proyecto. MS Access y Excel pueden ser herramientas muy poderosas para algunas tareas. Y hay algo que decir sobre la conveniencia de instalarlos de manera predeterminada en todas las máquinas con Windows que tienen MS Office.

Si el cliente necesita hacerse cargo del mantenimiento de este proyecto después de que haya terminado, podría querer razonablemente que se implemente en un formato que pueda pagar y con el que tenga experiencia.

MS Access y Excel son muy buenos para hacer informes bastante coloridos, siempre y cuando los conjuntos de datos no sean demasiado grandes. Si esas son entregas obligatorias para este proyecto, ¿qué herramientas elegiría en su lugar? ¿Son aquellas herramientas que son tan fáciles de instalar y mantener como Microsoft Office?

Sugerencia: si los pasos para instalar las herramientas alternativas son mayores que la longitud de la frase “instale Microsoft Office, si aún no está instalado”, entonces no es tan fácil. Así que mejor tener alguna ventaja técnica convincente.

No me malinterpretes, desprecio a MS Access, probablemente tanto como tú. Es compatible con un subconjunto de SQL irritantemente limitado, tiene un límite de tamaño de datos de 2 GB por base de datos (pero puede acceder a múltiples bases de datos a la vez) y, por supuesto, no es un RDBMS cliente / servidor, por lo que no puede admitir múltiples usuarios sin poner la base de datos en un recurso compartido de archivos.

En realidad, Excel es bastante poderoso si sabes cómo escribir fórmulas sofisticadas, pivotes, búsquedas, etc. Se puede ampliar con macros y VBscript. Tiene buenas capacidades integradas de generación de informes y gráficos. Y se puede vincular a bases de datos back-end a través de ODBC. No subestimes la utilidad de Excel en las manos adecuadas.

Creo que no tienes un problema técnico sino uno de ventas.

Puede haber varias razones por las cuales su cliente tiene tales restricciones:

  • Pueden estar en una industria restringida como Aerospace & Defense o Federal y obtener la aprobación para un nuevo software puede llevar un año y mucho dinero; no vale la pena
  • Puede que no sepan mejor y creen que cualquier otro software les costaría una fortuna.

Desafortunadamente tuve la primera experiencia una vez, donde Internet Explorer 7 era la única opción, lo que significaba que ninguna de mis alternativas de visualización de datos funcionaría. Solo renunciar y usar las herramientas disponibles.

En el segundo caso, debe mostrar el valor de las soluciones alternativas. Por ejemplo, su servidor SQL puede ser bastante costoso y no probó que ahorrarían dinero. ¿También ha ofrecido soluciones gratuitas como R o software que no requiere un servidor, como Tableau, SAP Lumira o Jedox?

Trate de hablar con su cliente y entender su perspectiva. Es posible que no conozca la imagen completa, como presupuestos, políticas internas con la organización de TI, etc. ¿Qué haría que se viera como un héroe para la organización?

Como consultor hay un punto en el que debemos respetar sus deseos. Aún no ha comenzado a trabajar con sus datos y está haciendo suposiciones. Bill Karwin hace la declaración más sólida que hay, la sostenibilidad. Este cliente está definiendo una solución que saben que es sostenible. Te están contratando para el análisis, no para la arquitectura.
Puede probar que la solución excede los límites de la tecnología dada, pero no asuma que antes de intentarlo, compruebe que se dirija al cliente. Es posible que estén contentos con una opción de menor rendimiento porque el software es fácil de usar. También es posible que no sepan que pueden conectar excel directamente a SQL Server y otras bases de datos, lo que les permite conservar un modelo de datos aún simple y el mismo extremo antiguo que aman.
Pero no asumas por adelantado que solo harás que el trato se agrie. Además, no los venda con esmero porque “sabe mejor” si no pueden escucharlo ahora necesita ayudarlos con una solución y luego darles una hoja de ruta para el crecimiento.

Usa tu cabeza en esto.

Sugiera que utilice el ACCESS como una base de datos y una interfaz de usuario por el momento. MS ACCESS no es el pipsqueak que solía ser … se ejecuta en un backend bastante poderoso en estos días.

Tiene el problema de las transacciones extendidas … ahora la realidad es que no debería pasar las transacciones hasta que los datos se completen y modifiquen con el registro bloqueado y la información almacenada como variables. Si tiene un problema con la latencia debido a la transferencia de demasiadas transacciones, debe preguntar por qué tiene varias consultas o modificaciones en tiempo real en la base de datos.

La razón por la que se separan los datos de la interfaz de usuario en el acceso significa que puede simplemente usar ODBC de forma limpia para los datos (lo que significa que los datos en el otro lado pueden comenzar como MS ACCESS pero pueden estar en el backend más adelante) o simplemente vincularse al backend y actualizar la conexión de datos a ODBC en una etapa posterior.

En cuanto a los problemas de la base de datos debido a la falta de capacidad … está solicitando calibrar eso sin acceso completo a la base de datos. Solo recuerde que el SERVIDOR SQL agrega un nivel de complejidad secundario completo con las licencias, así como también cuando desee expresar sus inquietudes sobre el uso.

Por probarlo. Si las herramientas realmente no pueden manejar la tarea, debería ser fácil de demostrar. Sin embargo, también es mejor que esté preparado para mostrar qué puede resolver el problema dentro de su programa y presupuesto. Si no puedes, sal de inmediato. He tenido que “despedir” a clientes irracionales antes.