Programmation extrême (XP) -

Placés à la fin des années 1900, les concepts de développement logiciel et de programmation ont vu un changement considérable dans la manière et l'approche de l'ensemble du schéma. Des approches plus légères et de la taille d'un paquet, nous avons augmenté et des modèles unitaires clairs ont été appliqués pour apporter des changements dans la façon dont les logiciels ont été développés. Le gaspillage devait être réduit avec l'augmentation de la demande de systèmes efficaces et, par conséquent, est venu à l'ère des méthodologies pour un développement logiciel efficace. La programmation procédurale a rapidement été remplacée par la programmation orientée objet et le modèle en cascade a permis à Agile de prendre la tête. Les cadres de contrôle de la qualité japonais ont rapidement pris de l'ampleur, puis ont émergé le concept de quelque chose qui était auparavant utilisé en morceaux, mais qui était maintenant une méthodologie à part entière pour résoudre les problèmes de programmation et de développement de logiciels, Extreme Programming!

Qu'est-ce que la programmation extrême (XP)?

Avec un nombre considérable de changements voyant le jour chez les clients, Extreme Programming (XP) est venu en tant que soulagement pour l'organisation de projets entrepris par des spécialistes du logiciel.

La mise en œuvre d'une programmation extrême a amélioré la qualité des logiciels et répondait plus efficacement aux exigences changeantes de l'entreprise, causées par la mise à l'échelle des entreprises ou des facteurs externes.

XP est une méthodologie, sous le parapluie Agile, qui encourage les versions fréquentes des versions dans les cycles de développement courts. Cela augmenterait inévitablement la productivité dans une large mesure et les versions fréquentes ouvriraient la voie à l'incorporation de nouvelles exigences.

Extreme Programming (XP) a la «satisfaction du client» au cœur de son cadre et le «travail d'équipe» comme la force musculaire. La collaboration est indispensable pour que la programmation extrême (XP) réussisse car elle prend des mesures itératives pour produire des logiciels pour les clients / clients. Il ne se concentre pas sur la livraison de la ceinture entière mais cherche à savoir si les besoins du client sont satisfaits à chaque étape du processus.

Fait partie du développement logiciel Agile

Le développement logiciel agile est la façon dont le développement est entrepris, mais le plus important, ce que la plupart des gens oublient de reconnaître, c'est que les équipes, c'est-à-dire les personnes, doivent être agiles pour réussir. L'implémentation des méthodes et processus garantit seulement qu'il existe un cadre fixe dans lequel les équipes peuvent être flexibles, évolutives et plus définitivement créatives.

Avec les concepts d'itération et de sprints, comme dans le cas de Scrum, Agile fournit une excellente plate-forme pour obtenir les changements et les commentaires mis en œuvre dans chaque cycle de développement qui passe.

En ce qui concerne Extreme Programming (XP), il prend en compte toutes les opportunités qui peuvent aboutir à des améliorations apportées au produit à la fin.

Développement traditionnel contre programmation extrême (XP)

  • Alors que le développement traditionnel se concentre sur le processus et en tient compte lorsqu'il s'agit de terminer le cycle, la programmation extrême se concentre sur l'exigence.
  • Extreme Programming (XP) prend les meilleures pratiques installées dans le développement traditionnel et les pousse à l'extrême. L'étirement effectué avec une programmation extrême (XP) est idéal pour les projets flexibles et élastiques.
  • Le développement traditionnel a la segmentation comme facteur précédent dans les cycles de développement logiciel, tandis que la programmation extrême (XP) préconise la collaboration entre les équipes et également les parties prenantes pour leurs commentaires et opinions constants pendant les itérations et les étapes de planification.

5 valeurs pour un projet réussi

La programmation extrême (XP) implique les 5 façons ou valeurs essentielles de se diriger vers un projet logiciel réussi:

  1. Communication - Cette méthodologie de développement de logiciels nécessite essentiellement une communication étroite entre les gestionnaires, les clients / clients et les développeurs. Cette communication efficace est nécessaire pour le bon fonctionnement du projet logiciel et d'autres outils de gestion de projet sont également mis en œuvre au sein de la communication afin qu'ils puissent faciliter davantage la communication pendant le cycle de vie du projet.
  2. Courage - Avec des changements spectaculaires dans les exigences des clients, il appartient aux développeurs de relever avec courage les défis qui surgissent à la dernière minute ou les changements contradictoires appliqués au projet à tout moment.
  3. Feedback - Le feedback est mis en œuvre par des tests unitaires constants et les résultats sont évalués et mis en œuvre en conséquence dans les cycles de développement du projet. Les clients sont tenus à l'écart et une démonstration est présentée dès qu'un cycle de développement est terminé afin que les commentaires puissent être intégrés.
  4. Respect - Chaque cycle de développement apporte avec son succès un nouveau jalon et ne fait qu'illustrer les contributions apportées aux cycles entrepris.
  5. Simplicité - la programmation extrême (XP) est plus efficace lorsque la conception reste simple et la mise en œuvre est planifiée de manière claire et efficace. Beaucoup de programmes extrêmes s'appuient sur ses règles simples qu'il a mises en place.

Cycles de planification-rétroaction

La collaboration au sein de l'équipe et la connexion quotidienne à l'entreprise pour un développement de produit optimisé constituent l'épine dorsale de la programmation extrême (XP), tandis que les user stories constituent la base de la planification XP. Ces histoires d'utilisateurs sont notées sur des cartes. La manipulation de ces cartes peut donner vie à la portée et au plan du projet.

Ces plans XP sont créés avec trois niveaux ou niveaux.

  • Mois à venir
  • Prochaine itération
  • Itération actuelle

Les plans sont toujours temporaires et la recréation des plans doit être effectuée avant la fin du dernier plan. Ils changent au fur et à mesure qu'il y a même un léger changement dans le projet ou son calendrier. L'itération commence au moment où un changement est rencontré. Vous obtenez des commentaires du client, vous revisitez votre plan. Vous êtes en avance ou en retard, vous revisitez et modifiez votre plan.

Grâce à la planification entre en vigueur les conceptions les plus appropriées pour le produit à livrer. En ce qui concerne la programmation extrême (XP), le développement piloté par les tests (TDD) et le refactoring sont utilisés pour une conception efficace et efficiente.

Possédant déjà l'essence d'Agile, le refactoring est un outil de conception important et crucial impliqué dans le processus de planification. La refactorisation consiste à effectuer des alternances et des ajustements de conception en fonction des besoins qui ont été modifiés. Avec le refactoring vient le concept de tests de manière unitaire et acceptable.

Les étapes suivantes occupent une place centrale lorsqu'une boucle de planification ou de rétroaction est exécutée. Chaque action ici est itérative et peut être effectuée successivement une fois qu'un changement est initié:

Chaque étape de la séquence effectuée peut être de nature itérative et peut être mise en boucle au fur et à mesure que la séquence de changement est lancée, et un nouveau plan est recréé pour chaque initiation. Chaque étape a également une durée particulière qui lui est allouée et un calendrier est inscrit à la craie pour le reste des commentaires pour chaque étape du produit.

  • Codage pour la programmation par paires - secondes
  • Programmation par paire pour tests unitaires - minutes
  • Tests unitaires pour jumeler la négociation - heures
  • Négociation de paire à une réunion debout - un jour
  • Réunion debout pour les tests d'acceptation - jours
  • Test d'acceptation à la planification des itérations - semaines
  • Planification des itérations pour lancer la planification - mois

Avec le niveau d'itération recherché, il devient obligatoire pour les développeurs de s'assurer et d'assurer également que le code est bien trié et de qualité optimale. Le signalement des bogues est un non-non strict pour les développeurs qui suivent la méthodologie de programmation extrême pour le développement de logiciels.

Qu'est-ce que la programmation par paires?

La ressource centrale de la méthodologie de programmation extrême étant les personnes et non les processus, ce sont les personnes qui gèrent le concept de programmation par paires. Ajoutant de la productivité et de la qualité à la table, la programmation par paires se présente comme suit:

"Le code envoyé en production est créé par deux personnes qui travaillent ensemble sur le code à créer, tout en étant assis sur un seul ordinateur."

Les avantages de ce concept de programmation par paires sont les suivants:

  • Qualité logicielle améliorée - bien qu'il n'y ait pas d'ajout de fonctionnalité avec deux personnes assises ensemble ou séparées, la concentration sur un seul ordinateur ajoute sûrement à la qualité du code rendu
  • Aucun effet sur le délai de livraison - offrant une situation gagnant-gagnant pour le projet et ses parties prenantes, l'utilisation de deux têtes fonctionnelles pour obtenir un code de haute qualité sans perte de temps est idéale pour le développement de logiciels
  • Économies pour les étapes ultérieures - avec le code de haute qualité déjà rendu, l'impact qu'il a sur les étapes ultérieures est énorme et le coût est sûrement économisé à chaque itération qui a lieu

La programmation en binôme, car elle implique deux individus distincts travaillant ensemble à des tables égales, il devient essentiel pour eux de se coordonner à un niveau supérieur, quel que soit le niveau d'expérience. C'est une compétence sociale qui prend du temps à apprendre et elle a besoin de deux professionnels dévoués qui veulent faire une différence dans le monde du développement logiciel.

La programmation par paire est toujours effectuée par une intégration étendue et continue de la nouvelle fonctionnalité incorporée et le cycle continue.

Règles

Bien que nous sachions que les règles mises en œuvre dans le monde de la programmation extrême (XP) sont basées sur le principe et la valeur de la simplicité, il est essentiel d'avoir une bonne vue sur ces règles qui constituent une excellente méthodologie dans les techniques de développement logiciel.

Planification

Lors de la planification, le chef de projet et son équipe examinent attentivement les exigences et respectent les règles suivantes:

  • Les histoires d'utilisateurs doivent être notées
  • La planification des versions doit aboutir à un calendrier de versions
  • Le projet est divisé en itérations
  • Les rejets doivent être fréquents mais faibles
  • La planification des itérations doit commencer l'itération

Gérant

La gestion des tâches attribuées et de la durée de chaque tâche particulière est le rôle du chef de projet. Il est important que le chef de projet soit conscient des risques et du respect de chaque étape entreprise par les membres de l'équipe, et oriente les effectifs et les ressources en conséquence pour répondre au concept de programmation extrême (XP). Voici quelques règles qui doivent passer par un PM:

  • L'équipe devrait recevoir un espace de travail ouvert pour étendre son imagination
  • Le calendrier alloué doit être réaliste et soigneusement rythmé
  • Chaque journée de travail devrait commencer par une réunion debout
  • La collaboration et le travail d'équipe sont des composantes majeures et nécessitent le plus grand encouragement
  • La vitesse du projet doit être mesurée lors de chaque incorporation de changement
  • Les gens ne devraient jamais rester stagnés et devraient être déplacés
  • La direction d'une programmation extrême (XP) est essentielle et la planification doit être lancée à chaque opportunité de changement

Conception

La conception est l'étape qui suit attentivement la planification et elle détermine la façon dont les exigences sont traitées à l'étape initiale du projet. Une bonne conception reflète le processus de réflexion et de créativité et nécessite un nombre moindre d'itérations, garantissant ainsi des niveaux de qualité élevés au tout début du projet. Étant le reflet de la phase de planification, voici quelques règles à garder à l'esprit lors de l'implémentation de conceptions en programmation extrême (XP):

  • La simplicité est la clé
  • Aucune fonctionnalité ne doit être introduite à un stade précoce
  • Le refactoring est essentiel à chaque étape pour fournir des conceptions de produits efficaces
  • Les solutions de pointe peuvent être utilisées pour réduire le nombre et l'intensité des risques sur le projet logiciel

Codage

Une fois la conception en place, il est temps de mettre la main sur le pont et de donner le feu vert pour créer et générer du code qui entrera en production pour les tests et la livraison. Le codage est l'étape qui démontre le fonctionnement réel de la méthodologie du projet et encourage l'itération de la manière la plus efficace. Voici quelques règles rapides à prendre en compte lors de la phase de codage:

  • Le client doit être informé en tout temps lors des lancements de produits
  • Le code doit respecter les normes et pratiques de codage adoptées dans le monde entier
  • Le test unitaire doit être le code comme début
  • Le code de production devrait subir une programmation par paire pour une haute qualité
  • Intégrer les codes souvent et ne doit être effectué par une paire qu'à un moment donné
  • La responsabilité doit être partagée et le travail d'équipe intensif doit être encouragé
  • La programmation des paires doit avoir lieu sur un ordinateur
  • Les sièges préférables de la paire doivent être côte à côte

Essai

Avec le code prêt et roulant, les tests sont un gage de bon fonctionnement des lignes de code. Tester les formulaires comme cachet pour s'assurer que le logiciel est prêt à être consommé. Voici les règles mises en place pour les tests dans Extreme Programming (XP):

  • Un code doit contenir des tests unitaires
  • Une version nécessiterait des codes pour réussir ces tests unitaires
  • Des tests doivent être créés sur la détection des bugs
  • Les tests d'acceptation doivent avoir une fréquence élevée et les résultats doivent être publiés
  • Les utilisateurs ne doivent détecter aucun bogue dans un code

Quand utiliser Extreme Programming (XP)?

Extreme Programming est né en raison de la nécessité de contourner un projet qui a entraîné de nombreux changements à plusieurs reprises dans le temps. Il est devenu nécessaire que la méthodologie adoptée soit itérative et simple à la base. Voici les situations qui peuvent demander l'utilisation de la programmation extrême (XP):

  • Les clients n'ont pas une bonne idée des fonctionnalités du système
  • Les changements sont dynamiques et devraient changer après de courts intervalles de temps
  • Les affaires augmentent fortement
  • Les ressources allouées sont au minimum; pas de personnel énorme
  • Besoin d'une augmentation considérable de la productivité
  • Le risque nécessite des niveaux élevés d'atténuation
  • Dispositions élevées pour les tests

Voici donc une programmation extrême (XP) pour vous en bref et en termes simples. Cette méthodologie a fait ses preuves dans toutes les entreprises de développement de logiciels et a connu un taux de réussite élevé tout au long de son histoire d'implémentation. Née d'exigences normales et simplistes, la programmation extrême (XP) est maintenant lentement reconnue comme une méthodologie avec laquelle il faut compter.

Si vous aimez le concept d'Extreme Programming (XP), donnez un coup de pouce à cet article. Si vous l'avez aimé, assurez-vous de partager et de commenter vos opinions.