Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. General

Les principes du développement agile

Length:LongLanguages:

French (Français) translation by Jeane Jade (you can also view the original English article)

Agile ou de Développement Agile – on entendre ces mots en plus souvent ces jours-ci. Mais savons-nous vraiment ce qu'il en est? Comment peut-il nous aider à devenir plus efficace, tout en ayant beaucoup de plaisir en développement logiciel? Comment pouvons-nous l'utiliser pour communiquer avec des gens d'affaires et de faire de cette communication facile et constructive pour les deux parties?


Qu'est-ce que le Développement Agile?

Il y avait un groupe très talentueux et expérimentés gars développement de certains graves logiciel. Ces développeurs observé les autres entreprises et les équipes de développement, et comment leurs processus de rendu leur travail plus facile. Ils ont compilé leurs observations à créer le Manifeste Agile. Et ils ont dit:

 Nous sommes en découvrant les meilleures façons de développer des logiciels en le faisant et en aidant les autres à le faire. Par le biais de ce travail, nous sommes venus pour valeur:

  • Les individus et les interactions des processus et des outils
  •  Le logiciel de travail sur une documentation exhaustive
  • La collaboration avec les clients sur la négociation de contrat
  • Répondre au changement sur un plan

 C'est à dire qu'il y a de la valeur dans les articles sur la droite, nous avons la valeur des objets sur la gauche de plus.

 Dans cet article, je vais vous présenter douze des théories et des techniques de Développement Agile. C'est juste la première étape dans le monde des processus de Développement Logiciel.


1 - La Satisfaction Des Clients

 Notre plus haute priorité est de satisfaire le client en livrant tôt et régulièrement de précieux, mais pas complet, logiciel. Cela signifie que nous allons le développement de logiciels et l'ajout d'au moins une fonction, par itération.

 Imaginons que nous voulons créer un moteur de blog; nous pouvons le faire selon le processus suivant:

  1. Créer le blog d'affichage de la page; de le livrer au client
  2.  Créer l'utilisateur de la gestion et de la fonctionnalité d'appartenance, d'offrir à notre clientèle
  3. Ajouter commentaires capacités et de la gestion; de le livrer au client
  4. Ainsi de suite et ainsi de suite...

 C'est une approche simple, mais le client voit les progrès réels de son logiciel et vous donne une rétroaction immédiate sur chaque nouvelle fonctionnalité. Il peut être parfait ou le besoin de quelques ajustements, mais vous pouvez réagir rapidement aux changements: une situation gagnant-gagnant.


2 - s'Adapter à l'Évolution des Besoins

 Même tard dans le cycle de développement, les méthodes Agiles permettent d'accueillir des modifications pour le client un avantage concurrentiel.

 Le client souhaite que le projet s'est terminé plus rapidement et le plus proche de la conception dans leur esprit que possible. Cela se fait facilement par le simple fait d'écouter leurs avis et d'être prêt pour des changements.  Si nous sommes en mesure de réagir rapidement à l'évolution des besoins, nous sommes probablement le meilleur choix, notre client a jamais fait. Agile est tout au sujet de la communication et des changements.   Nous faisons les choses comme il nous est demandé de faire, en rendant le processus de développement de logiciel finir plus vite. Cet objectif est atteint car nous développer de petits morceaux de logiciel, et un changement dans les exigences n'a pas vraiment d'incidence sur nous.


3 - Livrer Fréquemment

 Nous devons offrir des mises à jour de quelques semaines à quelques mois; le plus court laps de temps, le mieux.

 les clients se sentent plus en confiance en nous et en notre produit car il est mis à jour

 D'après mon expérience, les clients se sentent plus en confiance en nous et en notre produit car il est mis à jour - ce qui est vital pour notre relation avec eux.  Un autre avantage est les retours de nos clients; nous permettant de réagir en changeant les classes, fonctions, modules ou même l'architecture.  Nous ne pas réveiller après des jours ou des mois de travail, seulement pour voir que tout va à la poubelle. Considérons une situation hypothétique:

 Vous avez été invité à créer un module qui permettra d'afficher un simple texte dans un gestionnaire de contenu. Soudain, les besoins changent et vous devez l'ajouter à un formulaire qui doit envoyer un mail à une adresse configurée.  En outre, le formulaire doit être personnalisable, de sorte que l'utilisateur peut ajouter de nouveaux champs et de définir des validateurs. Donc, fondamentalement, vous avez oublier à propos de l'origine de texte simple exigence. Combien de temps voulez-vous savoir au sujet de ce changement?

 Si vous travaillez sur un projet avec votre client et de livrer fréquemment, vous savez à propos de ces changements plus vite, et les changements comme cela deviendra plus facile pour vous deux.


4 - Travailler Ensemble Fréquemment

 Cela peut s'avérer être la plus difficile de principe pour s'habituer à, si vous avez été le développement de logiciels dans le vieux cascade de style.  Vous, en tant que développeur, généralement, ne parlent pas la même langue que celle de votre client, mais vous pouvez trouver des façons de maintenir une communication efficace avec eux.  Une des meilleures façons, à mon avis, est de décrire le tout avec une histoire simple, qui nous dit, le développeur, pour qui la fonction, sa responsabilité est et pourquoi nous en avons besoin.  Bien sûr, cela devient plus facile, nous travaillons avec nos clients. Une autre approche est utile behaviour Driven Development (BDD), mais c'est un sujet pour un autre article.


 5 - Construire des Projets avec des Personnes Motivées

 Donner aux gens de travailler avec l'environnement et le soutien dont ils ont besoin, et, par-dessus tout, leur faire confiance pour faire le travail.

 Il est important de fournir une atmosphère attachante et tous les outils nécessaires pour créer un bon logiciel. Les entreprises perdent leurs meilleurs travailleurs, principalement parce qu'ils ne pas vraiment se soucient d'eux.  La croyance que les développeurs peuvent écrire, tester et déployer le logiciel sur un serveur en utilisant un client FTP et l'édition de vivre des fichiers de production s'est perdu quelque part. Si vous n'avez pas condamné ceux de la vieille école habitudes, vous mieux de le faire maintenant.

 La rétention des employés est juste l'un des avantages; vous pouvez également développer mieux et plus grand logiciel à un rythme plus rapide. Pensez-y: l'écriture de code réutilisable, tests automatisés et de déploiement automatisé sur n'importe quel serveur (entre autres choses) peut influer positivement sur les temps de développement.  Nous avons l'habitude de penser à nous ralentir un projet parce que nous avons à apprendre à utiliser des outils utiles, comme Jenkins, GIT, SVN, Gerrit, Behat, etc. Franchement, nous n', mais on peut alors réutiliser ces outils et les concepts dans des projets d'avenir.


6 - Utiliser la Communication Face à Face

 C'est le plus efficient et le plus efficace de transmettre l'information à nos clients et l'équipe de développement.

 Qui n'a pas reçu dépassés et/ou de la colère en voyant 6,255,384 e-mails dans votre boîte de réception, parce que votre entreprise exige de toutes les conversations "sur le papier"?  J'ai personnellement vu que quelques fois dans ma vie, et je ne recommande pas travailler dans une entreprise avec de telles habitudes. Conversations en Face à Face de rendre la communication plus facile et plus lisse, et de nous permettre de donner plus d'informations.  Nous pouvons utiliser verbale et non-verbale des moyens de communication pour montrer à nos coéquipiers ce que nous pensons. C'est évidemment plus rapide que emailing uns des autres.

 Mais par-dessus tout, nous devons faire confiance les uns les autres; la confiance est facilement acquise dans un environnement qui encourage la communication face à face.


 7 - Mesurer les Progrès réalisés avec le Logiciel de Travail

 C'est l'un de mes préférés de règles; il nous permet de librement selon ses propres processus. Les développeurs de logiciels sont différentes de celles des autres employés; alors, naturellement, ils doivent être traités comme tels.  De mon expérience personnelle, j'ai appris à ne pas juger qui que ce soit de l'équipe de développement tant que le travail est fait.  Les développeurs ne veulent pas créer de mauvais logiciels, et ils sont moins susceptibles de le faire si nous leur permettons de travail en fonction de leurs propres préférences.  Après tout, le client est heureux aussi longtemps que le travail qu'ils ont commandé est fait correctement; ils ne se soucient pas comment cela a été fait.


 8 - Maintenir un Rythme Constant

Les processus agiles promouvoir le développement durable, permettant à un rythme constant pour être maintenu indéfiniment.

 Agile de la plupart des avantages bien connus (tels que l'acceptation de l'évolution des besoins, la rapidité de réaction aux commentaires, etc) sont largement appréciés, mais le meilleur avantage, à mon avis, est la capacité de déterminer précisément la quantité de temps un projet ou une fonctionnalité va consommer.  Après quelques livraisons, l'équipe de développement de produire le plus précieux numéro d'entreprise: la capacité. La capacité est la quantité de travail que l'équipe peut le faire en une seule itération. Le nombre est stable après quelques itérations, et nous pouvons éviter le ridicule des délais et des estimations de temps qui sont "sortis d'un chapeau", lors de la présentation de notre société offre au client.

 Beaucoup de gens disent que c'est impossible et de planification s'avère être plus précis. Je suis en désaccord; le calendrier suppose qu'il n'y aura pas d'erreurs ou des retards inévitables.

C'est un plan parfait pour une équipe parfaite, et qui n'existe pas.


9 - faites Attention aux Progrès Industriel

Une attention constante est portée à notre industrie améliore l'agilité.

Nous sommes appelés à évoluer et à progresser. Nous devons continuer à apprendre chaque jour, parce que l'industrie se déplace à un rythme rapide.  Comme la fois sur le matériel et les logiciels d'obtenir de meilleurs, nous devons garder à jour; sinon, nous allons nous retrouver perdu dans la "mer de la nouvelle", et il sera difficile de revenir sur la bonne voie.

 Le Refactoring est la solution pour la plupart des problèmes. Par constamment refactoring (si nécessaire), nous pouvons facilement appliquer de nouvelles techniques et d'améliorer notre architecture logicielle.


 10 - la Simplicité est Essentielle

 Bill Gates a dit une fois:

 Si j'ai un peu compliqué à faire, je vais vous la donner le plus paresseux que j'ai, parce qu'ils vont trouver le moyen le plus simple de le faire.

 La simplicité est la règle d'or. Cela ne signifie pas que vous devez être paresseux, mais il ne signifie que les développeurs de compliquer leur propre travail, la plupart du temps.  Si vous ne faire le travail que le client veut, sans aucune des fonctionnalités supplémentaires et des améliorations, votre charge de travail permettra d'alléger, et vous atteindrez vos objectifs. En fin de compte, c'est tout ce que le client se soucie.


 11 - Auto-Organiser

 Les meilleures architectures, les exigences et les conceptions de sortir de l'auto-organisation des équipes.

 Nous sommes des hommes; nous ne pouvons pas prédire tout.

 Avez-vous déjà été dans une situation où vous avez développé une grande et demande beaucoup de temps, et après avoir passé de nombreuses heures devant l'écran d'écrire des milliers de lignes de code et la lecture des articles, des tutoriels et des livres, vous vous êtes assis à regarder certains mauvais (mais de travail) du code de la pensée, “Maintenant, je sais comment l'écrire mieux”? Je pense que nous avons tous connu ces moments.

 C'est là que le onzième règle. Nous avons une équipe de développeurs qui peuvent suivre les principes de Développement Piloté par les tests (TDD), où le refactoring est une partie du processus.  Dans certains sorte de magie, notre logiciel est utile, beau, bien écrit, testé et mis en place rapidement. Nous sommes des hommes; nous ne pouvons pas prédire tout.

 Tout cela vient de l'idée d'une auto-organisation de l'équipe, où chaque membre a un rôle - n'est pas donné ou forcé, mais qui a émergé après un certain laps de temps à travailler ensemble. C'est la beauté du travail d'équipe.


12 - Réfléchir et à Adapter

 À intervalles réguliers, votre équipe a besoin de réfléchir sur la façon de devenir plus efficace, et d'ajuster son comportement en conséquence.

 Cela peut nécessiter un peu de cycles de développement, mais l'équipe sera de travailler en parfaite harmonie. Même en y ajoutant de nouvelles personnes de cette équipe ne serait pas nuisible.  Une équipe de développement Agile est tout au sujet de faire le travail. S'ils travaillent dans un environnement convivial, ils trouveront la “mélodie du travail” et vous verrez à quelle vitesse de développement de logiciels peut être.


Quelques Méthodes De Développement Agiles

 Il existe quelques méthodes dérivées de et construite sur les principes Agile. Je ne vais pas les décrire tous, car chaque méthode peut être couvert dans son propre article. Je vais, cependant, de préciser certains des plus bien connu approches Agile.  Une chose à retenir est qu'il n'existe pas de méthode unique pour les gouverner tous. Choisissez celui qui correspond le mieux à vos besoins, et même “configurer” pour l'adapter à vos besoins spécifiques.

SCRUM

Créée par Ken Schwaber et Jeff Sutherland, SCRUM est une entreprise orientée vers le cadre de gestion des processus de développement logiciel. Il ya beaucoup de différents types de MÊLÉE; il suffit de rappeler que le principal objectif est de travailler efficacement, et de manière efficace et ne pas coller aux règles.

Extrême Programmation (XP)

Créé par Kent Dos, XP est une liste des meilleures pratiques que les développeurs doivent suivre lors de la création de logiciels.  Il est souvent appelé “l'extension de la MÊLÉE”. Cette méthodologie de développement axée sur les règles est né, en raison de la MÊLÉE étant plutôt axé sur les affaires.

Lean Développement De Logiciels

 Deux de Lean grands principes sont: DALAP (Décider Que le plus Tard Possible) et DAFAP (Livrer aussi Vite Que Possible). Personnellement, je vous recommande de lire plus au sujet de cette méthode, car il peut être très utile.

 Il y a plus de méthodologies Agile de la famille; j'ai simplement référencé les options les plus populaires. Si vous décidez d'utiliser Agile dans votre processus de développement, vous avez besoin de savoir ce que ces méthodes sont, dans l'ordre de choisir la bonne pour vous.


Réflexions Finales

Faire des techniques Agiles vraiment travailler?

Faire des techniques Agiles vraiment le travail, et les méthodologies vraiment magique, comme tout le monde le dit? Pas toujours.

Le problème que j'ai rencontré dans les entreprises, où les méthodes Agiles ne donne pas de résultats, (ou même le fait qu'aggraver les choses), a été un mauvais choix de la méthodologie et le manque de conviction auprès de ses utilisateurs (les membres de l'entreprise, l'équipe de développement, etc). C'est pourquoi, dans l'opinion de cet écrivain, vous devez être sûr que toutes les personnes impliquées dans le processus comprend les règles, et ils le savent “ce qu'il est tout au sujet.”

 Merci pour la lecture!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.