10 astuces de développement Agile éprouvées
Publié: 2020-05-04La plupart penseraient que la programmation et le développement de logiciels sont une activité solitaire qui a des nerds informatiques cachés dans leurs chambres, martelant des millions de lignes de code, mais c'est loin de la vérité. Le développement de logiciels réels est un effort de groupe important qui nécessite que des équipes de développeurs de différentes spécialisations travaillent ensemble pour créer un logiciel fonctionnel, facile à utiliser et doté des bonnes fonctionnalités.
Faire en sorte qu'une équipe de développement soit sur la même longueur d'onde tout au long du cycle de développement signifie suivre un modèle qui peut faciliter au mieux le processus. Il y en a eu plusieurs au fil des ans avec des noms comme Waterfall, Spiral, V-model, etc. qui illustrent comment le logiciel est développé, de la conception à l'obtention d'un produit fini, puis à sa maintenance.
Source de l'image : affiche du manifeste agile par Adam Weisbart.
Le processus auquel beaucoup de grands développeurs attribuent maintenant est ce qu'on appelle Agile, du nom de son principe fondamental d'adaptabilité et d'évolution constante. Basé sur ce qu'on appelle le Manifeste Agile et écrit par un petit groupe de développeurs très expérimentés.
Ils considéraient la collaboration comme le pilier central du développement et les exigences et les solutions peuvent en découler. Le développement agile prend un bon moment à maîtriser, mais voici dix conseils qui peuvent vous aider.
Un excellent matériel pour vos développeurs et testeurs
Bien qu'il soit possible de coder à l'aide d'un ordinateur portable, il est préférable de développer votre logiciel avec un équipement plus que suffisant. Il est également tout aussi important pour les testeurs d'avoir des machines de qualité pour faire leur travail, car vous voudriez voir les bogues et les problèmes qui surviennent, quels que soient les problèmes de performances.
Mais ce que les programmeurs veulent vraiment, c'est que plusieurs moniteurs aient autant d'espace d'écran pour écrire leur code. Les bons claviers sont également un gros coup de pouce puisque la saisie du code est leur pain quotidien, et les claviers mécaniques sont à la fois durables et agréables à taper (du moins ceux avec des commutateurs tactiles).
Concentrez-vous sur les résultats
Il ne s'agit jamais de savoir qui a la bonne idée, mais de trouver la bonne idée. En fin de compte, la direction vient de la haute direction, contrairement aux premiers jours d'Agile où elle venait du bas vers le haut. Il s'est avéré que c'était le meilleur flux de processus, car les personnes les plus haut placées peuvent se concentrer sur la supervision et la gestion du projet tandis que les développeurs peuvent se concentrer sur leur travail tout en suivant les paramètres et les limites définis par la haute direction.
Grâce à ce modèle de gestion descendant, l'équipe de développement est censée produire des résultats concrets et mesurables. Ils doivent être capables de montrer leur travail, pas seulement en code, mais avoir quelque chose qui fonctionne réellement comme prévu. Cela est ensuite mis sous silence par le biais du développement piloté par les tests (TDD), un processus qui joue un rôle important dans le développement agile.
Mettre en œuvre la livraison continue d'abord
En gros, continuez comme ça. Cela garantit que le développement est réalisé à un rythme constant et que les développeurs reçoivent des commentaires tôt et souvent. Une communication et des commentaires constants sont ce qu'est le développement Agile, permettant à l'équipe de s'adapter aux changements soudains et aux circonstances inattendues en cas de besoin. C'est là que les "constructions" entrent en jeu.
Une version est essentiellement une version utilisable du logiciel en cours de développement. Grâce au concept de livraison continue (CD), il doit y avoir un déploiement fréquent de builds successifs, chacun publié après avoir apporté des améliorations et des correctifs tirés des retours sur le build précédent.
Obtenir le parrainage de la haute direction
Alors que le développement agile adopte une approche de haut en bas, il peut être assez long d'attendre l'accord de la haute direction avant de mettre en œuvre ou de modifier quelque chose.
Lorsque cela est mal fait, cela pourrait simplement entraîner beaucoup de temps perdu à attendre que l'autorisation soit accordée. Une bonne solution consiste à avoir un porte-parole qui peut transmettre plus rapidement cette préoccupation du développeur à l'autorité, de préférence quelqu'un qui est doué pour présenter des idées et peut comprendre ce qui est demandé.
Passer à des cycles de développement et de test plus courts
L'enfer du développement imprègne de nombreux logiciels, y compris les plus importants. Il y a aussi des moments où de longs cycles de développement entraînent des fonctionnalités qui sont finalement rejetées par les utilisateurs, ce qui fait de tout ce cycle une grande perte de temps et d'argent dont l'entreprise peut ne pas être en mesure de se remettre immédiatement. Un bon moyen d'atténuer ces menaces consiste à raccourcir les cycles de développement et de test.
Étant donné que le développement agile consiste à faire avancer les choses le plus rapidement possible, y compris l'afflux de commentaires, il est important d'avoir des cycles de développement plus courts pour proposer le "produit viable minimal". Cela donne aux utilisateurs quelque chose à se mettre sous la dent et à donner des commentaires en conséquence, qui peuvent ensuite être traités dans la prochaine version.
Atteindre l'automatisation dès le premier jour
Également connu sous le nom d'AD1, il s'agit d'un objectif ambitieux qui peut certainement accélérer les choses si vous configurez tout le plus rapidement possible. De manière réaliste, vous pourrez peut-être tout automatiser d'ici la deuxième ou la troisième année si vous êtes bon, mais au moins vous devriez continuer à le terminer le premier jour chaque fois que possible.
C'est un gain de temps, et même une bouée de sauvetage si vous y réfléchissez suffisamment. L'automatisation de processus simples peut vraiment aider les développeurs et les autres membres à ne pas avoir à faire face à des tâches inutiles.
Ratio d'équipe efficace
Comme le dit le proverbe, "Trop de cuisiniers gâtent le bouillon". Bien qu'avoir trop peu de membres dans une équipe puisse rendre le travail plus difficile, en avoir trop peut être tout aussi mauvais. C'est aussi une grosse ponction sur les finances d'en avoir trop dans un projet puisque vous devez les payer. Ainsi, il est crucial de prendre en considération les besoins du projet et de l'équipe elle-même, ainsi que les délais impartis et de nombreux autres facteurs.
Planifier les problèmes ouverts
L'équipe peut essayer de résoudre chaque problème, mais il y en aura toujours qui passeront inaperçus et/ou finiront par être des problèmes ouverts. Ceci est géré en faisant travailler ces problèmes ouverts dans le prochain cycle de développement.
Demandez des commentaires
On ne le soulignera jamais assez - le feedback est la pierre angulaire du développement Agile. Ce sont des données qui peuvent aider le logiciel à évoluer, et les développeurs et la haute direction doivent au moins tenir compte des plus pressants, à la fois pour le présent et à long terme.
Évaluation de votre processus
C'est là qu'intervient l'évolution du développement, car vous devez non seulement évaluer le logiciel sur lequel vous travaillez, mais également votre processus de développement. Il y a tellement de choses que vous pouvez affiner, mais vous devrez déterminer celles qui peuvent donner les meilleurs résultats à un moment donné avec le projet actuel et aussi les futurs.