mercredi 7 décembre 2011

Développement web en équipe ...... comme des pro

Il se trouve que vous êtes en charge d'un projet web, et que vous êtes une petite équipe de 3, 4, 5 ou même 6 personnes.
Autant il est simple de travailler en équipe quand en réalité chacun s'occupe de son projet (malheureusement beaucoup de boites de développement parlent de "travaille en équipe" alors que les dépendances entre les membres de l'équipe sont très très faibles), autant la complexité d'un projet se multiplie au fur et à mesure que la dépendance entre les acteurs de se derniers augmente.

Vous êtes au début du projet ou même en plein dedans, et vous vous demandez ce qu'il faut faire (ou ne pas faire :) ) pour organiser le travail de manière concrète. Il y a évidement les méthodologies connues et reconnues par tous dans le domaine du développement, comme les méthodes agiles qui sont très en vogues ses dernières années (Scrum, XP, ...) ou encore les modèles de gestion de projet classiques (cascade,V, spirale, ...). Vous piochez dans les livres et vous chercher sur internet, vous êtes content, car vous trouvez de bons ouvrages, qui vous expliquent comment manager l’équipe, comment encourager les développeurs, comment faire un planning ,comment fixer des objectifs, etc....

Oui mais voila, vous vous rendez compte que votre problème actuel est plutôt technique. et vous devez répondre à la question suivante:
Quel est l'environnement technique et quels sont les outils à mettre en place pour développer en équipe sur un même projet?

évidemment , la réponse à cette question est complément relative. relative au contexte, au budget , aux moyens, à la dimensions de l'équipe, aux contraintes géographiques , au type du projet etc..

Dans ce post et ceux qui vont suivre, nous allons essayer de traiter le cas d'une équipe de développement web, avec non pas un site à livrer mais un site en production. nous nous baserons le cas le plus répondu :
petite équipe de 3 à 5 développeurs , et un designer , qui travailleraient dans le même endroit (pas de contraintes géographiques).

Partant de la, nous allons essayer de répondre à la question posé plus haut, et nous consacrerons chaque post à un élément particulier.

pour résumer la réponse. Pour travailler sur un projet web de en équipe manière effecicace et professionnelles  , il faut les outils suivant:


  1. Un outil de travail collaboratif . il y a énormément d'outils de ce genre. pour un développement en équipe efficace, nous avons besoin d'outil qui maximise les interactions et qui les centralisent. je conseil donc d'utiliser un outil qui englobe: un wiki, un gestionnaire de projet , un bug tracker , un forum, un client de suivi des versions . l'outil que je recommande est  : Redmine
  2. évidement, il faut l'environnement local pour chaque développeur, ainsi que les outils du designer. le choix des outils web est libre, mais la règle à suive ici c'est d’homogénéiser les environnements de tout le monde. il faut donc que tout le monde utilise les mêmes versions des environnement de dev (qui doivent eux même correspondre à l’environnement du serveur de test). beaucoup de bugs sont généré justement car nous ne travaillons pas avec le même serveur apache, ou bien notre configuration de l’interpréteur (php par exemple) n'est pas tout à fait la même. ce qui fera que mon code fonctionne superbement bien chez mois, mais ne marche pas du tout sur le serveur de test.
  3. Un outil de gestion des versions (SVN , GIT ,...) .
  4. Un serveur de test (qui doit reproduire le plus fidèlement possible , l'environnement de production)
  5. LE serveur de prod (ce n'est pas vraiment un outil, mais une finalité :) )

Il faut que tout le membres de l'équipe jouent le jeux. pour les habitués du Nodepad++ et des flash disques pour le partage des documents, cela risque d'être un peu dur au début, mais une fois qu'on s'y habitue, on sent vite les apports d'un tel environnement de travail........surtout en temps de crise.


nous détaillerons dans la prochain post les apport de l'outil de travail collaboratif, et nous parlerons plus en détail de REDMINE.

Entre temps, amusez vous bien :)



0 commentaires:

Enregistrer un commentaire