[Be-Zend 2015] La conférence sans nom cache bien son jeu !
Yoshi a tous ! Au programme d’aujourd’hui, un nouvel article sur la 8ème édition de Be-Zend et plus particulièrement sur la seconde conférence réalisée par Maxime Brazeilles (DernierCri). Durant cette présentation (joliment intitulée: Présentation sans nom), Maxime a principalement évoqué l’innovation et l’organisation de projet.
Innovation/Veille technologique
Comme beaucoup doivent déjà le savoir, la veille technologique est capital dans notre domaine pour rester à jour. Maxime évoque ainsi le fait qu’elle permet de découvrir les dernières évolutions et ainsi de s’émerveiller devant de nouvelles fonctionnalités et/ou de meilleures performances. Ensuite, pour exploiter ces informations, il faut en trouver l’intérêt. En effet, même si une techno est à la mode ou vous fait envie, si elle ne correspond pas aux besoins définis, inutiles de s’y intéresser pour le moment. Ensuite, une mise en pratique réelle est bénéfique pour mettre à l’épreuve ces technos. Pour éviter des retards sur des projets clients, il peut être profitable de les tester en avance sur des projets internes.
Il est de votre devoir d’enseigner l’importance de la veille technologique, si cela n’est pas déjà clair, dans votre société. A vous de négocier pour montrer les bénéfices qui ressortent du temps accordé à cette tâche. Il est également intéressant de libérer du temps pour assister aux événements communautaires. Ceux-ci permettent de débattre de nos utilisations de certaines technos avec d’autres professionnels et ainsi d’enrichir nos connaissances. Lors de ces événements, il est profitable d’agrandir son réseau professionnel pour se partager mutuellement les découvertes.
Organisation de projet
Au niveau de l’organisation des projets, plusieurs outils et bonnes pratiques ont été mentionnées. Ainsi, on nous évoque une nouvelle fois l’intérêt d’un outil de versionning (GIT / SVN) mais pas seulement, il faut profiter de l’écosystème présent. Ainsi via Github (ou Gitlab), profitez des pull-requests pour améliorer la relecture de code.
Très à la mode en ce moment, le TDD (Test driven development) et l’intégration continue permettent d’assurer une maintenabilité simple mais ne rendent pas pour autant le projet infaillible. Ces pratiques très chronophages doivent également être utilisées à bonne escient et cibler principalement les éléments critiques. Par la suite, Maxime a mentionné l’intérêt de mettre en place un système pour copier les données et les environnements de production dans le but de les reproduire en développement, permettant ainsi de tester les bugs insolites que les tests n’auraient pas couvert. Une fois identifiés et résolus, pensez à rajouter un nouveau test couvrant ces cas.
L’organisation agile fait le buzz depuis quelques années et SCRUM a la côte. Cependant, cette méthode entraîne beaucoup de réunions et donc du temps en moins sur les projets. Il est bon de savoir que d’autres méthodes agiles existent (Kanban par exemple) qui peuvent se révéler plus adapté à votre équipe. Cherchez avant de foncer tête baissée sur SCRUM si cela vous convient (voir même si les méthodes agiles vous conviennent).
La communication en interne a également été évoquée comme un des points critiques de tous les projets. En effet, tous les sujets peuvent entraîner des débats (technologiques ou fonctionnels) qui sont souvent menés oralement. Cependant, lorsqu’un nouveau collègue arrive sur le projet, il n’est pas au courant de ces discussions. Ainsi, il est conseillé de garder une trace écrite de chaque réunions. De plus, dans le cas d’équipe dont les membres sont mobiles (télétravail, mission chez le client, etc), on peut favoriser l’utilisation d’un système de chat avec des salons séparés par projets. Ainsi un historique permet de suivre les dernières discussions et un contre-rendu écrit se révèle futile. Plusieurs outils remplissent ces besoins. On nous a mentionné Slack mais il existe également Gitter et surement bien d’autres outils qui peuvent éventuellement s’adapter à certains de vos besoins spécifiques.
La mise en place de l’environnement de développement est un point capitale et qui peut prendre du temps à chaque arrivée d’un nouvel employé. On peut donc évoquer Docker ou d’autres systèmes de virtualisations pour faciliter cette tâche. Ainsi, il est plus aisé lors d’un projet de reproduire un environnement de production pour le développement et passer facilement d’un projet à l’autre.
Le SQL n’est pas à oublier ! Comme énoncé au début de l’article, ce n’est pas parce qu’une techno est à la mode qu’il faut oublier son prédécesseur. Dans ce cas précis, cela concerne le NoSQL qui ne doit pas être adapté à chaque projets par simple plaisir. En effet, le SQL n’est pas mort ! Ces deux outils proposent des avantages pour différents cas d’utilisations.
Favoriser la productivité dans l’équipe. Des horaires flexibles, des moments de détente et une équipe soudée permettent d’améliorer la productivité sur un projet. En effet, chaque personnes a ses moments de productivité optimale et les horaires flexibles permettent d’optimiser le temps de travail. Il est également intéressant de noter que des pauses détentes durant le travail permettent de relâcher la pression et de se vider l’esprit. Profitez en pour faire une activité en équipe (une partie sur un jeu par exemple) ou bien discuter de vos dernières découvertes lors de votre veille technologique. Comme mentionné précédemment, il est intéressant de tester de nouvelles technologies sur des projets internes. De ce fait, vous pourriez prendre un peu de temps pour les découvrir en réalisant des projets funs liés aux activités de détente que votre équipe pratique (par exemple un site de score pour évaluer vos performances entre vous).
Pour conclure: Cherchez ! Remettez toujours en questions vos choix et soyez curieux dans le but de perfectionner vos méthodes de développement et d’améliorer vos conditions de travail. Soyez convaincant ! Démontrez l’intérêt de ces outils dans votre société, voir même à vos clients !
Commentaires récents