5139 sujets

Le Bar du forum

Bonjour à tous,

J'ai pour habitude de travailler seul sur mes projets ; ou du moins seul développeur désigné sur un projet précis. En revanche, je me demande vraiment comment travaillez-vous en équipe sur un seul et même projet au sein d'un même bureau, en admettant que tous les membres sont des développeurs lambda capable de faire du Html, du Css, du Php/MySQL et du Javascript ?

- Est-ce que chacun est désigné à une partie précise du site (exemple sur alsacreations : un développeur développerait la partie emploi, l'autre la partie apprendre, etc.), quitte à répéter du code Css, Javascript ou des fonctions PHP ?
- Est-ce que chacun est désigné à un type de technologie en particulier : Html, Css, Javascript. Personnellement je n'aimerai pas trop être cantonné à une seule technologie.
- Ou une autre méthode ...

Avez-vous déjà entendu parlé du pair-programming ? L'avez-vous déjà utilisé et est-ce réellement performant ?

Merci d'avance pour vos réponse Smiley smile
Salut,

par chez moi, chacun a son domaine. Nous sommes 5. y en a un qui fait exclusivement du JAVA, deux autres s'occupent de toute la partie serveur/configuration/peformances/mise en ligne; perso, je mets les mains dans le cambouis et je teste (donc html/css/javascript/php) et le dernier chapeaute/organise le tout.
Lorsque plusieurs développeur travaillent sur le même produit, il faut bien s'organiser afin que le code soit conforme et facilement utilisable par tous les développeurs. Les premières étapes pour se faire sont:

+ Guide stylistique (par exemple: Idiomatic.js)
+ Des tests (unitaires, etc) afin de s'assurer qu'un développeur ne brise pas le code d'un autre

Pour automatiser tout cela, on utilisera parfois un serveur d'Intégration Continu (CI, comme travis-CI ou Jenkins). Ces serveurs servent à générer des builds et parfois au déploiement d'une application. Pour générer les builds, on utilisera un outil de tâche comme Grunt.js, Make/Rake ou Ant.

Ensuite, comme les projets sont généralement plus gros, un temps beaucoup plus important est dédié à la préparation et à l'architecture du projet (souvent fait par un développeur ayant le poste d'Architecte). Ce faisant, il y a avant tout un plan sur la manière dont le code sera organisé que sur ce que l'architecture globale de l'application sera.

Pour le travail en soit, il y a plusieurs techniques, la plus réputé étant la méthode Agile. Celle-ci organiser le travail des différents programmeurs en tâche courte afin d'être en mesure de lancer un produit le plus rapidement possible et ensuite itéré jusqu'à complétion du project. Chaque développeur sera alors chargé de l'implémentation d'une ou de plusieurs petites fonctionnalités au cours d'une semaine, et ensuite ça recommence.
Modifié par SBoudrias (25 Feb 2013 - 15:33)
Très bon point Florian, un système de versionning (Git) est vital. Je dirais que c'est important même si l'on travaille seul.