Management de projet et Jumplyn

Jumplyn se définit comme une plateforme de management et développement de projet étudiant (“student project management and development platform” http://www.citi-lab.fr/portfolio/jumplyn-social-network/). Il est donc nécessaire que cette plateforme se dote d’un outil de management de projet efficace qui permette de gérer les deadlines, et la répartition de la charge de travail. Il serait aussi intéressant pour les enseignants et tuteurs de pouvoir suivre en temps réel l’avancée du projet.

Actuellement de multiples solutions existent, la problématique pour Jumplyn est de savoir s’il faut en intégrer une, ou coder en interne.

Ce document détaille les deux options, leurs avantages, inconvénients et leur potentielle implémentation dans Jumplyn.

I. La solution Trello

le logo de Trello (https://trello.com/about/logo)

Trello est un outil de gestion de projet en ligne qui propose l’ensemble des solutions que nous souhaitons intégrer à Jumplyn. Pour un projet donné, il est possible de créer des user stories, de les affecter à certaines personnes, de les modifier… Trello propose une API qui permet d’incorporer ces éléments dans une application web.

L’idée est donc de pouvoir lier un projet Trello à un projet Jumplyn. A partir de ce moment, l’application Jumplyn peut importer les cards du projet Trello, en créer de nouvelles les afficher et les manipuler.

Il faut que l’utilisateur puisse gérer l’ensemble des éléments de Trello depuis Jumplyn. Les fonctionnalités à implémenter seraient donc:

  • Créer une section Trello dans le Command center
  • Avoir un bouton “lier ce projet à Trello”
  • Afficher les cards du projet et ses labels (avancement, membres concernés, charge/priorité…)
  • Trier les cards par deadline/sous-projet, par membre, par charge ou par avancement
  • Pouvoir affecter une charge et un membre à une card

A partir de l’avancement et de la charge des cards correspondant il est envisageable d’intégrer un Burn Down Chart dynamique pour visualiser dynamiquement l’avancement du projet.

Dans le cadre du module AWA, nous avons pu effectuer des tests d’intégration de Trello dans le Command Center de Jumplyn.

La première étape est de changer la vue HTML:

La nouvelle vue HTML dans le fichier ProjectCommandcenterMain.html

La deuxième étape est d’enregistrer le token de connexion à l’API Trello dans la base de données Jumplyn:

project.coffee situé dans /core/user-space/web
ProjectService.coffee situé dans /core/user-space/web/public/js/services

La troisième étape est de récupérer les tableaux Trello associés au token de connexion Trello grâce à l’API.

project.coffee situé dans /core/user-space/web

En tirant le concept il est possible de récupérer les listes associées à un tableau, puis les cartes au sein d’une liste afin de pouvoir les afficher sur le centre de commande de projet.

Trello est une plateforme gratuite pour les étudiants qui est efficace, maintenue par de nombreux développeurs et intégrable facilement. A première vue, intégrer Trello à Jumplyn semble être LA solution. Pourtant elle présente de nombreux risques pour Jumplyn. Le premier est la dépendance que Jumplyn aurait à une plateforme extérieure. Le modèle de Porter (https://www.mindtools.com/pages/article/newTMC_08.htm) montre bien qu’une des 5 forces impactant la profitabilité d’une entreprise et la négociation possible des fournisseurs. Une croissance exponentielle de Jumplyn risquerait d’être détectée par Trello qui pourrait alors en profiter pour demander une cotisation à Jumplyn pour l’utilisation de son système. Le deuxième risque est moins direct, c’est le déroutage des utilisateurs. Trello présente une grande partie des modules inclus dans Jumplyn, ils sont donc en concurrence directe avec Jumplyn même s’ils ne visent pas exactement le même public. La valeur de Jumplyn se mesurant globalement par son nombre d’utilisateurs, il semble donc contre productif de les faire visiter la concurrence au risque de les perdre.

II. Création d’un alias de Trello dans Jumplyn

Une autre solution serait alors de réaliser notre propre outil de gestion intégré à Jumplyn. Cette option nous permettrait de ne plus dépendre d’une plateforme extérieure.

Cette solution ne présente pas tous les risques précédemment décrits mais présente un grand inconvénient: le temps de développement et la maintenance du système de management de projet. Il y a cependant des frameworks open source qui ne présentent pas le risque du détournement des utilisateurs mais accélèrent grandement l’implémentation.

Le logo de Framaboard (https://framaboard.org/)

Framaboard est un outil de gestion de tâches basé sur le logiciel Kanboard. Il permet aux utilisateurs d’intégrer une instance de Kanboard sur leurs propres serveurs.

1. Un logiciel libre:

Framaboard est sous la license MIT, qui assure à toute personne l’accès gratuit au code et une autorisation de copie et de modification: “Permission is hereby granted, free of charge, to any person obtaining […] to deal in the Software without restriction, including […] the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software”. A l’opposé, Trello est un service propriétaire basé aux États-Unis, les données entrées sur ce système ne peuvent donc pas être facilement contrôlées.

2. Les données sont stockées localement:

Contrairement à Trello, Framaboard est intégrable directement à un serveur en hébergeant toutes les données localement. Pas besoin de passer par une API.

3. Inconvénients:

Framaboard n’utilise pas la possibilité de faire du multi-utilisateurs. C’est une fonctionnalité qui serait nécessaire dans l’intégration à Jumplyn.

III. Conclusion

Ce document présente deux solutions qui pourraient chacune apporter un système de gestion de projet à Jumplyn. Nous proposons de découper le plan d’action de Jumplyn en 2 phases. La première est à court terme, Jumplyn pourrait rapidement bénéficier de l’interface de Trello grâce à leur API efficace et bien documentée. La deuxième phase consiste à développer un système propre à Jumplyn qui permet de s’affranchir des dépendances externes. L’utilisation de Framaboard à ces fins nous semble actuellement être la meilleure solution.