Programing
En informatique, en particulier dans le génie logiciel, l’Extreme Programming (XP) est une information sur les projets agiles de gestion adaptées aux petites équipes à l’évolution des besoins. Elle pousse des principes extrêmement simples.
pratiques Extreme
Son objectif principal est de réduire les coûts du changement. Dans les méthodes traditionnelles, les besoins sont définis et souvent fixés au début du projet de TI qui augmente le coût des modifications ultérieures. XP tente de rendre le projet plus souple et plus ouverte au changement par l’introduction de valeurs fondamentales, des principes et des pratiques.
Les principes de cette méthode ne sont pas nouveaux: ils existent dans l’industrie du logiciel depuis des décennies et des méthodes de gestion plus longtemps encore. L’originalité de la méthode est de les pousser à l’extrême:
Cycle de développement
Le cycle est répété jusqu’à ce que le client peut fournir des scénarios pour deliver.Typically le cycle de la première livraison est caractérisé par sa durée et le volume important de fonctionnalités intégrées. Après l’entrée en production, les itérations peut être plus courte (une semaine par exemple).
Programmation comme discipline collective
Tout en mettant l’accent sur les bonnes pratiques de programmation, XP préconise un cours par itérations courtes et gérée collectivement, avec la participation constante du client. Cela implique une redéfinition de la relation entre client et fournisseur avec des résultats surprenants en termes de qualité du code, la rapidité et la satisfaction de la demande du client.
Valeurs
Communication
C’est le moyen fondamental pour éviter les problèmes. Pratiques préconisées par XP nécessitent une communication intense. les développeurs de programmation paire d’essai, et le jeu nécessite une planification, les décideurs et les clients de communiquer. Si l’on semble toujours d’un manque d’entraîneur est responsable d’identifier et de fournir ces gens.
Commentaires
Les commentaires sont très importants pour le programmeur et le client. Les tests unitaires indiquent si le code fonctionne. Les tests fonctionnels fournissent l’avancement du projet. Les livraisons fréquentes pour tester la fonctionnalité rapidement.
Courage
Certains changements nécessiteront beaucoup de courage. Parfois, il faut modifier l’architecture d’un projet, lancer le code pour produire un meilleur ou essayer une nouvelle technique. Courage pouvez laisser une situation inappropriée. Il est difficile, mais la simplicité, le feedback et la communication rendent les tâches disponibles.
Pratiques
Le client-site
Un représentant du client doit, si possible, être présents pendant toute la durée du projet. Il doit avoir une connaissance de l’utilisateur final et avoir une vision globale du résultat souhaité. Il a fait son travail habituel, tout en étant disponible pour répondre aux questions de l’équipe.
Jeu de la planification ou de planification de poker
Le client crée des scénarios pour les caractéristiques qu’ils veulent. L’équipe estime le temps nécessaire pour mettre en œuvre des internautes agissant des sélectionne ensuite les scénarios basés sur les priorités et le temps disponible.
Intégration Continue
Lorsqu’une tâche est terminée, les modifications sont immédiatement incorporés dans le produit complet. Cela évite la surcharge de travail liée à l’intégration de tous les éléments avant la livraison. Les essais grandement faciliter cette intégration: quand tous les tests, l’intégration est complète.
Les essais de réception (ou des tests fonctionnels)
Sur la base de scénarios définis par le client, l’équipe crée des méthodes d’essai permettant de vérifier les progrès du développement. Lorsque tous les tests fonctionnels passent, l’itération est terminée. Ces tests sont souvent automatisé, mais il n’est pas toujours possible.
Tests unitaires
Avant d’implémenter une fonctionnalité, le développeur écrit un test qui permettra de vérifier que le programme se comporte comme prévu. Cet essai sera conservé jusqu’à la fin du projet, que la fonctionnalité est le changement de code required.Each, nous courons tous les tests écrits par tous les développeurs, et nous savons immédiatement si quelque chose ne fonctionne pas.
La conception simple
L’objectif d’une itération est de mettre en œuvre les scénarios retenus par le client et seulement ça. Envisager les prochaines étapes ferait perdre du temps sans aucune garantie d’un gain ultérieur. Les tests vont changer l’architecture plus tard si nécessaire. Plus la demande est simple, plus il est facile de le faire évoluer dans les prochaines versions.
Utiliser des métaphores
Nous utilisons des métaphores et des analogies pour décrire le système et son fonctionnement. Le fonctionnelles et techniques comprendre beaucoup mieux quand ils sont d’accord sur les termes qu’ils utilisent.
Refactoring (ou remaniement)
L’amélioration constante de la qualité du code sans modifier son comportement. Nous avons retravaillé le code pour démarrer sur de meilleures bases tout en gardant les mêmes fonctionnalités. Les phases de refactoring n’ajoutent rien au client mais permettent aux développeurs d’aller de l’avant dans de meilleures conditions et donc plus rapide.
Propriété collective du code
L’équipe est collectivement responsable de l’application. Chaque développeur peut faire des changements dans toutes les parties du code, même celles qu’il n’a pas écrit. Les tests nous dira si quelque chose ne fonctionne pas.
La programmation en binôme
La programmation se fait par deux. Le premier pilote nommé (ou drivers) est le clavier. Il travaillera sur la partie de code à écrire. Le deuxième partenaire nom (ou co-pilote) est là pour vous aider en suggérant de nouvelles possibilités ou en décelant les problèmes potentiels. Les développeurs changent fréquemment de partenaire qui améliore la connaissance collective de la demande et améliorer la communication au sein de l’équipe.
D’autres principes
Cycle de développement
Le cycle est répété jusqu’à ce que le client peut fournir des scénarios à livrer. Typiquement, le cycle de la première livraison est caractérisé par sa durée et le volume important de fonctionnalités intégrées. Après l’entrée en production, les itérations peut être plus courte (une semaine par exemple).
Programmation comme discipline collective
Tout en mettant l’accent sur les bonnes pratiques de programmation, XP préconise un cours par itérations courtes et gérée collectivement, avec la participation constante du client.Cela implique une redéfinition de la relation entre client et fournisseur avec des résultats surprenants en termes de qualité du code, la rapidité et la satisfaction de la demande du client.
Valeurs
Communication
C’est le moyen fondamental pour éviter les problèmes. Pratiques préconisées par XP nécessitent une communication intense. les développeurs de programmation paire d’essai, et le jeu nécessite une planification, les décideurs et les clients de communiquer. Si l’on semble toujours d’un manque d’entraîneur est responsable d’identifier et de fournir ces gens.
Commentaires
Les commentaires sont très importants pour le programmeur et le client. Les tests unitaires indiquent si le code fonctionne. Les tests fonctionnels fournissent l’avancement du projet. Les livraisons fréquentes pour teste
r la fonctionnalité rapidement.
Courage
Certains changements nécessiteront beaucoup de courage. Parfois, il faut modifier l’architecture d’un projet, lancer le code pour produire un meilleur ou essayer une nouvelle technique. Courage pouvez laisser une situation inappropriée. Il est difficile, mais la simplicité, le feedback et la communication rendent les tâches disponibles.
Pratiques
Le client-site
Un représentant du client doit, si possible, être présents pendant toute la durée du projet.Il doit avoir une connaissance de l’utilisateur final et avoir une vision globale du résultat souhaité. Il a fait son travail habituel, tout en étant disponible pour répondre aux questions de l’équipe.
Jeu de la planification ou de planification de poker
Le client crée des scénarios pour les caractéristiques qu’ils veulent. L’équipe estime le temps nécessaire pour les mettre en œuvre. Le client sélectionne ensuite les scénarios basés sur les priorités et le temps disponible.
Intégration Continue
Lorsqu’une tâche est terminée, les modifications sont immédiatement intégrés dans le product.This complète évite le travail supplémentaire lié à l’intégration de tous les éléments avant la livraison. Les essais grandement faciliter cette intégration: quand tous les tests, l’intégration est complète.
Les essais de réception (ou des tests fonctionnels)
Sur la base de scénarios définis par le client, l’équipe crée des méthodes d’essai permettant de vérifier les progrès du développement. Lorsque tous les tests fonctionnels passent, l’itération est terminée. Ces tests sont souvent automatisé, mais il n’est pas toujours possible.
Tests unitaires
Avant d’implémenter une fonctionnalité, le développeur écrit un test qui permettra de vérifier que le programme se comporte comme prévu. Cet essai sera conservé jusqu’à la fin du projet, que la fonctionnalité est nécessaire.Chaque changement de code, nous courons tous les tests écrits par tous les développeurs, et nous savons immédiatement si quelque chose ne fonctionne pas.
La conception simple
L’objectif d’une itération est de mettre en œuvre les scénarios retenus par le client et que les prochaines étapes that.Consider ferait perdre du temps sans aucune garantie d’un gain ultérieur. Les tests vont changer l’architecture plus tard si nécessaire. Plus la demande est simple, plus il est facile de le faire évoluer dans les prochaines versions.
Utiliser des métaphores
Nous utilisons des métaphores et des analogies pour décrire le système et son fonctionnement. Le fonctionnelles et techniques comprendre beaucoup mieux quand ils sont d’accord sur les termes qu’ils utilisent.
Refactoring (ou remaniement)
L’amélioration constante de la qualité du code sans modifier son comportement. Nous avons retravaillé le code pour démarrer sur de meilleures bases tout en gardant les mêmes fonctionnalités. Les phases de refactoring n’ajoutent rien au client mais permettent aux développeurs d’aller de l’avant dans de meilleures conditions et donc plus rapide.
Propriété collective du code
L’équipe est collectivement responsable de l’application. Chaque développeur peut faire des changements dans toutes les parties du code, même celles qu’il n’a pas écrit. Les tests nous dira si quelque chose ne fonctionne pas.
La programmation en binôme
La programmation se fait par deux. Le premier pilote nommé (ou drivers) est le clavier. Il travaillera sur la partie de code à écrire. Le deuxième partenaire nom (ou co-pilote) est là pour vous aider en suggérant de nouvelles possibilités ou en décelant les problèmes potentiels. Les développeurs changent fréquemment de partenaire qui améliore la connaissance collective de la demande et améliorer la communication au sein de l’équipe.
D’autres principes
environnements défavorables
Au lieu d’inconvénient de la méthode, nous allons parler plus facilement à des environnements défavorables dans lesquelles la méthode XP n’est pas applicable. Dans ce cas, seulement certaines pratiques peuvent être mises en œuvre. Les principaux contextes défavorables:
‘