Desarrollo ágil de software con Navision / Business Central

Tiempo estimado de lectura: 4 minutos

Es curioso que tenga que escribir este artículo... ¡o que quiera hacerlo! Porque llevo trabajando con agile desde que empecé a trabajar con Navision en 1993... 8 años antes incluso de que se utilizara el término agile en el desarrollo de software.

¿Qué es el desarrollo ágil de software?

agil/aˈɡiːl,agíl adjectivomostrar gran agilidad; ser enérgico y ágil". Ejemplo: "Un hombre de negocios ágil". Puede que muchos también conozcan la agilidad por los deportes caninos o ecuestres.

El desarrollo ágil de software surgió como respuesta al desarrollo en cascada habitual hasta entonces (que a su vez derivaba de la producción en serie de Henry Ford).

En el desarrollo ágil de software, por ejemplo, es importante ofrecer soluciones rápidas en pequeños pasos. El desarrollo ágil de software es una idea, no un proceso firmemente definible. En esencia, el desarrollo ágil de software se refiere a los siguientes principios rectores, no sólo en proyectos en torno a Navision o Business Central:

  • Personas e interacciones tienen prioridad sobre los procesos y las herramientas.
  • Software funcional tiene prioridad sobre la documentación exhaustiva.
  • Cooperación con el cliente tiene prioridad sobre las negociaciones contractuales.
  • Responder al cambio tiene prioridad sobre seguir un plan.

Lo que las empresas hacen de ello suele ser cualquier cosa menos ágil.Es por eso que «ágil», al igual que Scrum, es más o menos considerado muerto hoy en día. Lo cual «ya es estúpido en sí mismo, porque como Agile, al igual que Scrum, no es más que una colección de ideas, no puede estar ni muerto ni ser malo. Sólo depende de si se adopta y qué se adopta de él.

¿Qué conecta Navision / Business Central con el desarrollo ágil de software?

Especialmente las versiones anteriores (Native Navision) hasta la versión 2009R2 tenían una cosa en común: el entorno de desarrollo, incluido el compilador, era parte integrante de cada sesión de Navision. En un informe, ¿hay que ampliar una columna de la lista de saldos totales porque la facturación ha superado los 99 millones? Directamente en el cliente Ctrl+F2, Ver/Secciones, ampliar columna con el ratón, Esc Guardar...: Sí - ¡listo! ¿Falta un campo en las líneas de pedido? Ctrl+F2, seleccionar e insertar campo, Esc, ¿Guardar?: ¡Sí - hecho!
Desde RTC (Navision 2013 a Dynamics 2019, en realidad 2018), esta ventaja imbatible y bastante única es desgraciadamente historia. Se hizo una distinción entre un entorno de desarrollo todavía increíblemente rápido y la interfaz. Dado que la interfaz ahora era servida por un servicio de servidor, este paso era necesario para ella. ¿Si esto era bueno o malo? Mhmmm...

Con AL & Extensions, Microsoft ha renunciado a cualquier ventaja de esta estrecha integración. Business Central se presenta al desarrollador como un entorno de desarrollo completamente normal, y la mayoría de los nuevos programadores ni siquiera comprenden que también hay un sistema de contabilidad financiera funcionando en segundo plano.

¿Por qué Navision o Business Central es el socio natural para el desarrollo ágil de software?

Aunque no apruebe el desarrollo a AL, Navision / Business Central sigue aportando algo que Java, Python, PHP, C++, C# etc. etc. no pueden (quieren) aportar de esta forma (llamémosla "perfección") por su propia naturaleza: Data-drivenness. Esto es lo que Business Central y Navision siguen teniendo en común con hitos del desarrollo de la informática como dBase (Clipper), Access, AS/400 con DB2 y el legendario Siemens Nixdorf con Comet. El sistema garantizaba la coherencia de los datos y permitía recuperarlos fácilmente según criterios y clasificaciones predefinidos. El programador no tenía ni tiene que preocuparse de transacciones, encapsulaciones, etc. Pero Microsoft merece un gran agradecimiento: Gracias a las extensiones, las transacciones en Navision por fin han dejado de ser seguras y requieren bastantes conocimientos para no crear estructuras de datos perdidas.
Mi opinión desde aproximadamente 1995: tengo más probabilidades de convertir a un contable en un programador suficientemente bueno que a un programador en un contable de cualquier mala calidad.
Sin embargo, esto no debe distraer del hecho de que NAVISION y BUSINESS CENTRAL siguen siendo el entorno natural para las aplicaciones basadas en datos, como la gestión de mercancías, la ERP y la contabilidad financiera. Que Navision y su hijo Business Central sean cada vez peores en este sentido, no significa (por desgracia) que haya algo mejor.