Comment quelqu'un implémenterait-il les concepts de processus Agile en tant que développeur solo? Agile semble utile pour développer des applications à un rythme plus rapide, mais il semble également très axé sur l'équipe ...
agile
solo-development
Kelleystar
la source
la source
Réponses:
Je me souviens d’avoir lu une thèse sur le développement de Cowboy, qui est essentielle pour les développeurs solo, mais je ne me souviens pas où je l’ai trouvée.
la source
Suite à la réponse de klez (toutes les bonnes suggestions), je suggérerais ce qui suit:
Un carnet de produit est essentiellement une liste de tous les éléments que vous avez l'intention de terminer à un moment donné pour ce produit.
Un burndown de sprint commence par une liste de toutes les tâches que vous avez décidé de réaliser dans ce sprint (un sous-ensemble de votre carnet de produit à terminer sur une période donnée, par exemple 2 semaines), ainsi que l'estimation du travail requis. En marquant les choses, vous les marquez comme faites; réduisant ainsi (ou brûlant) le travail restant pour ce sprint.
De la même manière, un épuisement de produit suit le travail restant pour l’ensemble du carnet de produit.
L'estimation relative est une technique d'estimation qui utilise les autres tâches (ou histoires) comme guide. Par exemple, si vous savez que la tâche A est plus facile que la tâche B et environ deux fois plus complexe que la tâche C, vous devez vous assurer que les "points" de la tâche A sont corrects par rapport à ces attentes.
L'accent n'est pas mis sur l'estimation exacte de la quantité de travail requise, mais sur la cohérence des estimations.
La vélocité est une mesure du nombre de «points» que vous obtenez dans un sprint. Si votre estimation relative assure la cohérence, cette vélocité peut être utilisée pour estimer les tâches que vous allez probablement accomplir dans les prochains sprints. Notez bien que cette vélocité doit être constamment révisée.
la source
Ces choses s’appliquent probablement aussi bien en solo que dans les petites équipes (2 ou 3 développeurs).
AJOUT: un peu après avoir écrit cette réponse, j'ai trouvé cette conférence et j'ai été très impressionné: Kanban personnel: optimiser le codeur individuel
la source
En fin de compte, je définis vraiment Agile comme "faire ce qui est logique pour votre équipe et vos clients et ne pas adhérer à d'anciennes pratiques, car elles semblaient avoir fonctionné dans le passé".
la source
Agile fonctionne aussi bien pour les individus que pour les équipes. Il s'agit de trouver un processus qui fonctionne pour vous et de vous permettre de vous adapter aux circonstances changeantes une fois que votre projet a déjà démarré. Il s’agit également de fournir régulièrement de la valeur à votre client, que le logiciel soit réellement "terminé" ou non.
Les processus agiles sont très itératifs. Le travail est fait en bref TimeBoxes / sprints / cycles / itérations. Certains travaux de conception peuvent être requis au début, mais peuvent être modifiés pour vous en apprendre davantage sur ce que vous avez besoin d'un système. Les tests unitaires sont la colonne vertébrale de presque toutes les méthodes de développement Agile. Ils vous indiquent si votre logiciel fonctionne correctement et si des ajouts / modifications à votre logiciel vont briser la base de code existante.
Si vous adhérez à BDD / TDD, laissez vos exigences évoluer avec le vent et ajustez les priorités de vos fonctionnalités en conséquence, si vous construisez votre système entier et exécutez souvent tous les tests, et si vous livrez un code fonctionnel à la fin de chaque sprint. , vous êtes déjà agile.
la source
Sensationnel. J'essayais de garder un ami raccroché que je pouvais appeler quand j'avais des problèmes - et je parlais du problème de codage. Vous savez ce que je veux dire ... le simple fait d'expliquer un problème à voix haute apporte une solution dans mon esprit 90% du temps.
la source