Méthode Agile
Les méthodes Agiles sont des approches de développement logiciel qui privilégient le pragmatisme par rapport aux méthodes traditionnelles. En impliquant fortement le client, elles permettent une grande réactivité aux demandes et visent à satisfaire réellement les besoins du client plutôt que de se limiter aux termes du contrat de développement.
L'importance est accordée à l'équipe plus qu'aux moyens matériels ou aux procédures.
Il est préférable d'avoir une équipe soudée et communicative, même composée de développeurs moyens, plutôt qu'une équipe d'individualistes brillants. La communication est essentielle, et il est vital que l'application fonctionne.
La documentation technique est secondaire, bien qu'une documentation succincte et précise puisse être utile pour la communication. Une documentation volumineuse, si elle n'est pas à jour, peut être néfaste. Il est préférable de commenter abondamment le code et de transférer les compétences au sein de l’équipe.
Le client doit être impliqué dans le développement et fournir un retour continu pour adapter le logiciel à ses attentes.
La planification initiale et la structure du logiciel doivent être flexibles pour permettre l'évolution des demandes du client tout au long du projet. Les premières versions du logiciel entraînent souvent des demandes d'évolution.
L'eXtreme Programming (XP) met l'accent sur l'application stricte d'un petit ensemble de règles tout au long du projet, offrant ainsi les avantages suivants : réalisation d'un produit fonctionnel conforme aux besoins changeants du client et écriture d'un code de qualité facilitant les maintenances futures... Scrum. Scrum est une approche itérative, définit un cadre de travail minimaliste avec des sprints, des réunions de début et fin de sprint, deux backlogs et trois rôles principaux. Son objectif est de produire un maximum de fonctionnalités dans des délais raisonnables.
L'utilisation d'outils appropriés dès le début du projet digital peut renforcer cette approche, tels que NUnit, JUnit, PhpUnit, PyUnit pour les tests unitaires, CodeceptJs pour les tests UI/UX, Selenium pour les tests back-end et API webservices, Gitlab Issues et Jira pour le suivi des tâches, et Gitlab CI/CD, Jenkins pour l'intégration continue.
Méthode TDD
Le Test Driven Development (TDD), ou développement piloté par les tests en français, est une méthode de développement logiciel qui recommande d'écrire les tests unitaires avant le code source. Le cycle TDD comporte cinq étapes :
- Écrire un premier test.
- Vérifier que ce test échoue (puisque le code qu'il teste n'existe pas encore), afin de s'assurer que le test est valide.
- Écrire juste le code nécessaire pour que le test réussisse.
- Refactoriser le code, c'est-à-dire l'améliorer tout en conservant les mêmes fonctionnalités.
Ces tests aident également à préciser les spécifications du code et son comportement futur face aux différentes situations qu'il rencontrera, facilitant ainsi la production d'un code valide en toutes circonstances. On obtient donc un code plus précis et plus fiable.
En écrivant les tests en premier, on utilise le programme avant même qu’il n'existe, ce qui garantit que le code produit est testable unitairement. Il est donc crucial d’avoir une vision claire de l'utilisation du programme avant d'envisager son implémentation.
Cela permet d'éviter les erreurs de conception dues à une implémentation précipitée avant d’avoir défini les objectifs. De plus, avoir des tests augmente la confiance du programmeur lors de la refactorisation du code : il sait qu'à un moment donné, les tests ont réussi.
Cela permet d'apporter des changements radicaux de conception tout en étant assuré que le programme se comportera toujours de la même manière si les tests continuent de réussir.
L’utilisation de TDD permet ainsi la construction conjointe du programme et d’une suite de tests de non-régression.
Recette Applicative
Pour la Tierce Recette Applicative (TRA), nous pouvons vous aider à rédiger le cahier de recette (scénario de test) tout en tenant compte de vos problématiques métiers spécifiques. Nous adoptons une méthode d’organisation de travail optimisée pour les tests et la recette.
Envie d'échanger ? Je contacte Softia !