Estoy trabajando en un proyecto grande que ha evolucionado con el tiempo y está compuesto por varios subproyectos independientes, cada uno desarrollado por un equipo diferente. Si bien estas aplicaciones tienen sus propios propósitos, están interconectadas y juntas forman parte de un flujo de trabajo completo.
Para contextualizar, un ejemplo sería:
• La aplicación A gestiona la creación de una solicitud para construir un edificio.
• La aplicación B se encarga de redactar el proyecto junto con los arquitectos.
• La aplicación C gestiona los permisos necesarios para la construcción.
• La aplicación D gestiona la contratación de personal para realizar la construcción.
En total, hay unas diez aplicaciones independientes que en conjunto forman uZn único proceso funcional. El reto al que nos enfrentamos ahora es la creación de una aplicación “padre” que centralice y visualice la información de estas aplicaciones, ofreciendo una visión global del estado del proyecto y del detalle de cada fase.
Mi preocupación es cómo abordar esta aplicación “principal” de una manera que no dependa demasiado de los cambios futuros en las aplicaciones “secundarias”. Por ejemplo, si en la BPM principal realizo una consulta de datos de la Aplicación A para mostrarlos en una tabla, pero luego se agregan nuevos campos o cambia la estructura de los datos, esto podría causar problemas en la aplicación principal sin que nos demos cuenta. Además, dado que los equipos de desarrollo están separados, es difícil garantizar que cada cambio en una aplicación secundaria esté coordinado adecuadamente con la aplicación principal, especialmente porque las aplicaciones secundarias evolucionarán constantemente.
Mi pregunta es: ¿cuál sería el mejor enfoque para estructurar esta aplicación principal para evitar problemas de dependencia con las aplicaciones secundarias, en particular cuando sufren modificaciones o evoluciones? ¿Existen prácticas recomendadas que puedan ayudar a mitigar estos riesgos en un entorno BPM como Appian?
Discussion posts and replies are publicly visible