Hace unos días iniciamos un nuevo proyecto dentro de Axazure. Normalmente al iniciar el proyecto dedicamos varios días a preparar el entorno de trabajo: Configurar LCS, crear el BPM, desplegar entornos, y por supuesto creamos nuestro sitio de Teams con los canales necesarios y nuestra planificación en Planner.
Como sabéis desde hace unas semanas está disponible el nuevo Project web, así que aprovechando el lanzamiento nos propusimos probarlo en un entorno real. La idea de este pequeño artículo es transmitiros no solo nuestra experiencia (corta) hasta la fecha, si no sobre todo, como afecta Common Data Service a la estrategia global de Microsoft.
Pero empecemos por el principio. Lo primero que vimos es que es muy, pero que muy parecido a Planner, sobre todo en la visualización de las tareas por “Panel”. Aquí, al igual que con Planner, puedes crear los depósitos para agregar las tareas más allá del modelo de tarea y subtarea que tiene el Project Tradicional. Por lo tanto, si queremos manejarlo simplemente como un Planner y no complicarnos la vida podemos hacerlo sin problemas (1 punto para MSFT).
Nota.- Permitidme que oculte la información por motivos de confidencialidad.
Lo siguiente fue usarlo como un Project al uso, una de las cosas que no tienes en Planner son las tareas predecesoras y la visualización de tareas en Gantt, además al ser un entorno web es basante sencillo de editar. Obviamente no tiene la complejidad de asignación de recursos de Project tradicional, y en mi opinión, no lo pretende (redistribución de recursos, delimitaciones, tipo de actividades, trabajo fijo, duración fija, etc.).
Además, permite añadir el tiempo restante y el completado, por lo que también tenemos la posibilidad de controlar grado de avance de la tarea.
Como todo esto es web, se echan de menos algunas cosas, la primera por supuesto es importar el proyecto desde Project. Si que se puede copiar y pegar tareas, pero para crear el proyecto de un Project existente la cosa se complica. Así que decidimos investigar un poco y analizar cómo podríamos hacerlo.
Recordemos que el nuevo Project se basa en CDS, por lo tanto, las entidades tienen que estar ahí, y efectivamente están. Si vamos a CDS y buscamos por “Project” os aparecerán estas entidades:
Después de algo de investigación, fue relativamente sencillo entender cómo se relacionan las entidades en amarillo. Descubiertas estas entidades intentamos subir desde una hoja Excel las tareas de un Project tradicional, y después de alguna transformación para que la Excel tuviera el formato de la entidad de Tareas de proyecto, descubrimos que todas estas entidades no permiten la actualización desde fuera, ni por Excel, ni por Flow (perdón, Power Automate) por lo que de momento hay que olvidarse de crear proyectos o tareas de forma externa (1 punto menos para MSFT).
No hubo otra forma que copiar y pegar las tareas de forma bastante manual, pero al final creamos el proyecto con todas sus tareas, dependencias y esfuerzos.
Lo siguiente era compartirlo con el equipo de Teams. Para ello, simplemente al compartir hay que elegir un Equipo existente y al hacer esto, todos los miembros de ese equipo forman parte del proyecto, pero esto solo se permite a nivel de Equipo, no a nivel de Canal.
Una sorpresa desagradable fue borrar el equipo en Teams para crearlo de nuevo, al hacerlo este queda “enganchado” al proyecto y a partir de aquí el proyecto da error sin posibilidad de corregirlo. Hubo que recuperarlo desde Azure (ya que en Teams esto no se puede hacer) y quitarle la asignación del proyecto antes de borrarlo de nuevo.
Corregido el error lo siguiente fue publicarlo en una pestaña de Teams, aquí descubres que para poder acceder a él necesitas Project Plan 3 o Project Plan 5, y aquí es donde empiezan las deficiencias del producto. Lo primero que echas en falta es una visualización del grado de avance del proyecto, algo gráfico que te dé esa visión general y que además puedas compartir con el cliente (en nuestro caso compartimos el Teams con el cliente por lo que darle acceso a esta información es fundamental) así que la solución más rápida que se nos ocurrió fue PowerBI.
Como las entidades son pocas, la única complejidad que encontramos fue la relación con las entidades estándar que contienen la información de los usuarios. Os adjuntamos las entidades y sus relaciones:
Y así, y de una forma muy rápida, tenemos una visualización del estado del proyecto gráfica y sin necesidad de usar licencia de Project (pero sí de PowerBI Pro). Sé que se podría hacer mucho más bonito 😊, pero dejémoslo en que es la versión 0.01.
Lo siguiente que echas de menos, y de forma muy importante, es algo que Planner sí hace sin problemas; avisarte cuando te asignan una tarea. Esto nos pareció fundamental, así que volvimos a recurrir a las herramientas que conocemos… ¡Flow!
En este caso, aunque lo más fácil era mandar un email al usuario, ya que nos poníamos lo hicimos dentro de Teams usando un Bot de Flow:
En la primera parte del Flow, seleccionamos primero el disparador, en este caso la entidad es “Asignaciones de recursos” y cuando el Project cambia la asignación siempre borra y añade un nuevo registro, así que el evento “Al crear” es suficiente. A partir de aquí leemos el campo “Tarea” y seleccionamos el dato de “Tareas de proyecto” para posteriormente seleccionar “Recurso que se puede asignar” y lo seleccionamos de la tabla de usuarios.
Una vez que tenemos el usuario inicializamos el Bot:
Este “Bot” además de decirte que tienes una tarea asignada, te pregunta si quieres conocer todo lo que tienes asignado ¿necesario? No, pero divertido un rato 😊
Para hacer esto, inicializamos una matriz, seleccionamos todos los registros de la tabla “asignación de recursos” de ese usuario y lo guardamos en la matriz… y ¡voila!
El resultado es algo así:
En conclusión, evidentemente Project está bastante verde, pero dada la tecnología que hay detrás las posibilidades son infinitas (PowerBI, PowerApps, Power Automate) y a medida que Microsoft libere nueva funcionalidad será más sencillo de ampliar y colaborar con este nuevo Project.
Para nosotros es un nuevo ejemplo del rumbo que está tomando el gigante de Redmond y de cómo hay que enfocar los proyectos de Dynamics; más CDS y menos customización en nuestro ERP.