Blog Planview

Votre parcours vers l’agilité métier

Gestion de portefeuilles de produits

Mettez-y un pic

Publié le Par Robert L. Read
Mettez-y un pic

Dans les environnements de développement logiciel agile, les pointes sont utilisées pour étudier un concept et/ou créer un prototype simple. Fondamentalement, un pic est une exploration rapide (généralement moins d'un sprint d'effort) par codage d'un domaine dans lequel l'équipe de développement manque de confiance. La pointe est terminée lorsque vous avez appris ce que vous aviez besoin d'apprendre. On l'appelle ainsi parce qu'une pointe est "bout à bout, mais très étroite", comme si on enfonçait une pointe dans un rondin.

Le terme "Spike" a été introduit par le défenseur de l'Extreme Programming, Kent Beck, qui nous consulte occasionnellement à Planview.

"Créez des solutions de pointe pour trouver des réponses à des problèmes techniques ou de conception difficiles. Une solution de pointe est un programme très simple pour explorer les solutions potentielles. Construisez l'épi pour ne traiter que le problème examiné et ignorez toutes les autres préoccupations. La plupart des pointes ne sont pas assez bonnes pour être conservées, alors attendez-vous à devoir les jeter. L'objectif est de réduire le risque d'un problème technique ou d'augmenter la fiabilité de l'estimation d'une user story."

L'humanité prête toujours attention à la mince interface entre le trivial et l'impossible, et cette frontière est l'endroit où vivent les pointes. Si votre personnel de développement sait avec certitude comment accomplir quelque chose, alors le processus d'estimation et de suivi des progrès par rapport aux estimations via la vélocité produit un processus prévisible et reproductible qui limite les risques. Bien qu'il ne soit pas insignifiant pour les personnes qui y travaillent, pour un observateur extérieur à l'équipe, le travail est essentiellement insignifiant, et donc un ronflement.

Les pointes sont utilisées pour étendre le domaine du trivial en établissant des têtes de pont dans le domaine de l'impossible. Construire un hypercube à partir d'un million de faits en 12 secondes ? Impossible - jusqu'à ce que vous prouviez qu'il est possible de le faire avec une simple pointe. Comme toute bonne magie, le tour est simple une fois que vous voyez comment il est fait.

Je ne peux pas améliorer cette maxime, mais elle peut peut-être être enrichie d'une certaine expérience du monde réel.

Nous avons utilisé des pointes pour un certain nombre de raisons à Planview. En voici trois qui se démarquent :

  1. Une pointe a été écrite pour créer une grille Silverlight pouvant supporter des cellules 50,000 afin de tester l'affirmation selon laquelle cela était possible avec de bonnes performances (c'est le cas). Ceci a été réalisé par un ingénieur en environ 5 jours d'effort.
  2. Les performances d'une implémentation personnalisée de l'hypercube ont été testées en utilisant un pic. Cela a nécessité environ 7 jours d'efforts.
  3. Nous avons testé l'inclusion d'éléments graphiques dynamiques très puissants et d'une machinerie abstraite à utiliser.

Aucun d'entre eux ne générait de vitesse. Chacun d'entre eux a été réalisé en dehors des limites de notre processus agile formel, qui suit les progrès par rapport aux estimations de l'effort, mais chacun d'entre eux était essentiel, à sa manière, à la réussite d'un projet. Conformément à la citation ci-dessus, nous utilisons les pics pour apprendre quelque chose - généralement si une approche donnée fonctionnera, et souvent pour éliminer le risque qu'une société de logiciels que nous ne contrôlons pas soit à la hauteur. Bien sûr, dans un effort de développement bien mené, vous voulez faire cela au début du cycle de développement plutôt qu'au milieu ou à la fin, mais parfois un problème et ses solutions ne sont présentés que tard dans un projet.

Si une organisation se préoccupe trop de la vélocité, elle peut tomber dans un piège subtil de dysfonctionnement : manquer de grandes opportunités parce qu'elle n'est pas disposée à investir une petite somme pour élargir le domaine du trivial à l'impossible. Il est relativement facile de diriger un projet de logiciel pour faire quelque chose que tout le monde s'accorde à dire qu'il peut être réalisé avec suffisamment d'efforts. Mais si c'est facile pour vous, c'est aussi facile pour vos concurrents. Pour être vraiment excellente, une organisation de développement de logiciels doit utiliser les pointes de manière disciplinée afin de produire le meilleur résultat global possible pour une quantité donnée d'efforts.

Articles similaires

Rédaction du contenu Robert L. Read

Robert L. Read a fréquenté l'Université Rice et l'Université du Texas, où il a obtenu un doctorat en informatique. Rob a été ingénieur principal chez Hire.com et est maintenant directeur du développement des produits chez Planview. Il est l'inventeur de deux brevets et l'auteur de l'essai How to be a Programmer. Ayant siégé au conseil d'administration d'Esperanto USA, il parle couramment l'espéranto. Il tente très lentement de construire un dispositif permettant la nage thunniforme à propulsion humaine.