Définissez le client.
Est-ce une autre entreprise? Un autre individu?
Est-ce une autre équipe au sein de votre entreprise?
Est-ce un champion des produits au sein de votre entreprise?
Est-ce toi?
Tout ce qui précède est possible et tout à fait raisonnable selon les circonstances. Vous ne voulez pas prendre une seule vue dans le tunnel sur ce que c'est que d'être Agile, donc dire un NON définitif serait incorrect. OUI en revanche nécessite un peu de réflexion latérale.
Réfléchissez un instant au mot Agile . Le groupe très intelligent de personnes qui ont inventé le terme n'aurait pas pu choisir une meilleure métaphore pour le concept qu'ils essayaient de décrire. Quand vous dites Agilité , qu'est-ce qui vous vient à l'esprit? Être flotte de pied? Rapide à réagir peut-être? Rapide à adapter?
Réfléchissez maintenant à toutes les pratiques Agile communément acceptées et demandez-vous ce qu'elles apportent vraiment aux méthodes de développement logiciel considérées comme Agiles .
Je suis le client à toutes fins utiles pour mes projets solo. Je porte même parfois un vrai chapeau, quand je veux vraiment faire un changement mental distinctif dans mon rôle de client . Cela ne me rend pas moins agile que moi quand je suis au travail. Pour tout ce qui m'importe, mon chat peut être le manager. Il s'assure que je prenne une pause de temps en temps, et me rappelle d'éviter de devenir trop obsédé par une seule tâche. Vous préférerez peut-être utiliser votre fantaisie "Pomadoro Technique", mais je préfère la minuterie "Rascal" !! Le fait est que je travaille dans un processus strictement Agile chaque fois que j'écris du code pour moi-même. Je ne suis pas du genre hacker-come-cowboy, qui vit une vie de pics de développement sans fin et ne fait rien. J'aime concevoir mon logiciel, planifier le développement autour de mon travail et de ma vie personnelle, et le terminer d'une manière que je m'attendrais à faire si je travaillais pour un vrai client. Lorsque les choses interrompent mon emploi du temps, j'ajuste et priorise mon travail de projet en conséquence. J'utilise toutes les pratiques et techniques Agile standard que je peux appliquer en solo et je "livre" travailler le code pour moi-même (ou un ami ou un collègue à tester) aussi souvent que possible. Si tout cela n'est pas Agile, je vous demande ce que c'est?
Donc ma réponse est Oui , vous pouvez être un développeur de logiciels Agile, et vous pouvez appliquer une méthodologie Agile, et vous n'avez pas nécessairement besoin du client, ni même du gestionnaire. Vous pouvez travailler seul sur un projet et porter plusieurs chapeaux. Cependant, il n'est pas nécessairement idéal de supprimer ces autres rôles, car il est très utile de coopérer avec d'autres pour atteindre un objectif. Ils agissent comme une caisse de résonance pour vos idées, et ils nourrissent des exigences que vous pourriez autrement trouver difficile à générer de manière sensible par vous-même. L'autre rôle très important que le client et le gestionnaire remplissent est de vous garder concentré sur vos objectifs, sans ajouter sans cesse de fonctionnalités et affiner votre code au-delà de ce qui peut être strictement nécessaire.
Pourtant, si vous travaillez de manière disciplinée, en vous en tenant strictement à la méthodologie de votre choix et en appliquant des pratiques Agiles, et si, lorsque vous vous faites distraire, ou si vous changez d'avis (lorsque vous portez votre chapeau de client) et la conception ou la direction de votre produit prend un tour, si vous pouvez adapter votre emploi du temps et ajuster vos priorités comme vous l'imaginez, votre client vous attend, alors vous êtes Agile.