Depuis quelques temps j'ai mis en place une activité spéciale que je propose à mes clients : Le Marathon de l'Industrialisation.%%%
L'idée: focaliser toute l'équipe de développement au même moment sur un temps court, pour améliorer significativement les pratiques, et ce grâce à l'adoption de nouveaux (variable en fonction des clients) outils et techniques de développement. Je vous livre ici un de mes supports utilisé en Juin 2009 chez un de mes clients.
2. Objectifs de la journée :Usine de développement PHP Créez vos « premiers » tests unitaires Commencer l’intégration de Zend Framework Installer l’intégration continue Automatiser la vérification du code Automatiser le packaging de l’application (Semi-)automatiser le déploiement
3. Déroulement de la journée Matinée (8h30 – 12h) Présentation et objectifs (15 min) Ateliers « Installation » (3h) Stand up Meeting (15 min) Lunch (12h – 13h) Après-midi (13h – 17h30) Stand up Meeting (10 min) Ateliers « Intégration du Code à l’UDD » (1h30) Pause (15 min) Discussion Bonnes Pratiques de développement (1h) Ateliers « POO, TDD et Bonnes Pratiques »(1h15) Stand up Meeting (15 min)
4. Outillage Synchronisation du code Subversion Tests unitaires PHPUnit Intégration Continue Hudson Scripting Phing IDE Zend Studio Issue Tracking Trac Outils préalablement choisi avec le client
6. Sujets « Bonnes Pratiques » Au choix le jour même : IncludePath Techniques de refactoring Test DrivenDeveloppement Mini-formation Zend Framework et Patterns Couverture de Code (tests) Qualité de Code Comment Choisir les bons tests Métriques qualité …
7. Les 10 commandements du développeur Faire simple ET propre Développer en TDD : le test d’abord, le code ensuite Committer sur barre verte (tests en succès) Respecter des conventions de codage connus en dehors de l'entreprise Développer 1 fois, Réutiliser plusieurs fois Tester unitairement toutes les fonctionnalités du coeur de l'application Utiliser les comparaisons de valeurs ET de types (===, !==) Réaliser systématiquement des implémentation mocks (bouchons) Ne pas dépasser plus de 80 lignes aérées et commentées pour une fonction/méthode Always Have Fun !