Droptica tools

Gestion de projet - outils que nous utilisons au travail - partie 1

La construction d'applications web et de sites web est souvent une tâche complexe et chronophage qui nécessite la coordination de nombreuses activités différentes par un chef de projet. Pour gérer le projet, nous utilisons divers systèmes et applications décrits dans cet article.

Ce qui suit est décrit au moment de la rédaction de l'article. Parce que nous voulons être la meilleure agence Drupal, nous améliorons, modifions et testons continuellement nos processus et outils pour atteindre les objectifs suivants :

  •  éliminer les tâches répétitives au profit de programmes, systèmes et scripts
  •  augmenter la rapidité et la qualité de la programmation
  •  améliorer la communication au sein de l'équipe et avec le client

Outils de gestion de projet

Notre principal outil de gestion de projet est Redmine (http://www.redmine.org) qui se trouve au cœur de chaque projet. Nous utilisons Redmine pour ajouter, conserver et suivre le progrès de toutes les activités du projet. Habituellement, pour un site web, nous créerions 3 'projets Redmine' séparés :

  •  Backlog/Client - utilisé pour la communication avec le client et pour le suivi des tâches de haut niveau. Ce projet permet au client de voir l'avancement du travail et facilite la communication en s'assurant que rien n'est perdu.
  •  Dev - c'est là que l'équipe communique pour travailler sur le projet. Les tâches de haut niveau sont ici divisées en petits billets spécifiques sur lesquels on peut travailler. Nous utiliserions normalement le plugin Backlog pour Redmine ici (http://www.redmine.org/plugins/backlogs). Chaque exigence est créée en tant que Story puis divisée en petites tâches. Les statuts des tâches sont :
    •  nouveau - pas encore commencé
    •  en cours
    •  révision de code - la tâche est prête pour la révision de code
    •  test - terminé et prêt pour les tests
    •  résolu - la tâche est terminée et le code est fusionné avec la branche principale de développement
  • Non facturable - La grande majorité de nos projets sont facturés selon un modèle de temps et matériel - les clients paient à l'heure pour le temps que nous passons à travailler pour eux. Parfois, cependant, nous voulons ajouter des améliorations ou créer des outils qui nous aideront à travailler sur un projet mais que le client n'a pas demandés. Dans ce cas, nous enregistrons tout le temps sur ce projet. Nous enregistrons également ici le temps nécessaire pour intégrer un nouveau développeur. Nous voulons être équitables et nous ne facturons jamais aux clients des choses qu'ils n'ont pas commandées ou du temps utilisé en raison de changements dans l'équipe.

Tout le travail que nous faisons chez Droptica est suivi et géré via Redmine. C'est également le cas pour tous les projets ne se rapportant pas directement au travail des clients. Par exemple :

  • projets internes, par exemple ce site web
  • marketing, par exemple création de contenus pour ce site web ;)
  • tâches administratives (RH et autres)

Communication rapide

La communication entre les membres de l'équipe est critique, surtout dans une entreprise avec des personnes dans plusieurs bureaux. Nous utilisons Redmine pour la communication liée aux projets, mais souvent, il est plus rapide d'écrire directement à la personne ou à l'équipe concernée plutôt que d'attendre qu'ils répondent sur Redmine.

Au départ, nous utilisions Skype pour cela avec des chats pour les projets. Ensuite, nous sommes passés à Hipchat (https://www.hipchat.com). Hipchat offre de superbes intégrations avec Redmine, Github et Bitbucket. C'était un grand pas en avant.

Cependant, cette année, nous avons décidé d'utiliser Slack. Slack offre des intégrations identiques mais a également des fonctionnalités supplémentaires intéressantes :

  • paramètres de notification séparés pour chaque canal et séparés pour mobile
  • un bot qui permet de créer des rappels (par exemple, pour un standup quotidien)
  • option de "marquer comme non lu" qui vous permet de revenir plus facilement à une conversation

Création de code

La plupart du temps au travail, nous le passons à écrire du code (PHP, CSS/SASS, JS HTML). Ces dernières années, nous avons testé divers IDE. Initialement, nous utilisions Netbeans et Eclipse, puis nous sommes passés à Sublime avec des plugins pour PHP et Drupal. Depuis un an maintenant, nous utilisons PHPStorm. À notre avis, c'est actuellement le meilleur IDE pour PHP sur le marché. Ce n'est pas gratuit, mais le coût est rapidement compensé par la productivité atteinte. (PHPStorm propose un essai de 30 jours qui peut être facilement testé).

Nous serions ravis de savoir comment vous gérez votre travail et vos projets. Peut-être connaissez-vous de meilleures applications ou logiciels.

Dans le prochain article, nous écrirons plus sur le travail avec le code, la révision du code, les environnements de développement et les tests.

 

3. Best practices for software development teams