Financement de projets agiles

13

L'entreprise dans laquelle je travaille s'oriente provisoirement vers une stratégie de gestion de projet Agile - ayant connu les «joies» de la cascade de temps en temps. La clé de tout cela est un changement dans l'accent mis sur la fourniture de fonctionnalités plutôt que sur le respect de délais stricts.

Bien que le processus de développement et la relation client se soient certainement améliorés grâce aux versions itératives encouragées par Agile, il s'avère un peu plus difficile d'appliquer la même logique aux stratégies de financement du projet. Les clients sont souvent peu habitués à des concepts comme Agile, et expriment une grande inquiétude à propos de ce qu'ils perçoivent comme un cas de "ça sera prêt quand c'est prêt".

J'aimerais entendre les réflexions et les expériences des gens sur le financement de projets Agile

edit: Je tiens à souligner que je ne demande pas aux gens de m'expliquer les avantages et les inconvénients de la méthode Agile , ni que je pense qu'Agile équivaut à "elle sera prête quand elle sera prête", c'est une crainte exprimée par le clients / entreprises avec lesquels j'ai travaillé lors de la promotion des pratiques de développement Agile.

Ce qui m'intéresse, ce sont les expériences que les gens ont eues en résolvant les conflits entre les méthodes de budgétisation en cascade "traditionnelles" ancrées dans les relations avec les clients commerciaux et les méthodes de développement plus progressives - et les stratégies budgétaires qu'ils ont adoptées pour soutenir cette évolution.

sunwukung
la source
2
Lisa Crispin et David Norton de Gartner ont de bonnes idées sur "Vendre Agile". Jetez un oeil à ce qu'ils ont à dire: bit.ly/rlRF4U
Agile Scout

Réponses:

4

Si vous avez pu donner un devis sur un projet avec une date finale exacte sur toutes les fonctionnalités, pourquoi êtes-vous passé à une approche agile? Vous et tout le monde avez du mal avec cela et une approche agile est en face de ce fait. Utilisez-le comme propagande contre la concurrence. Southwest Airline ne vous promet pas de siège dans une île comme tout le monde et le donne à quelqu'un d'autre.

Bien sûr, le client veut une date de fin exacte. Ils veulent un logiciel peu coûteux et sans bogue livré à l'avance indépendamment de toute modification de la demande d'origine. Dites à votre équipe de vente d'apprendre à vendre un projet en utilisant des principes agiles. Plus vous passerez d'interactions, plus vous vous rapprocherez de la date de fin du projet. Le client apprend également à prendre en compte les effets des demandes de changement.

JeffO
la source
"Dites à votre équipe de vente d'apprendre à vendre un projet en utilisant des principes agiles" - je vais lui donner mon meilleur coup ... {;)
sunwukung
5

Les projets agiles ne fonctionnent pas dans le sens de "ce sera prêt quand il sera prêt". C'est une ligne classique de l'ingénierie en cascade.

Les projets agiles sont terminés lorsque le client décide qu'il ne veut plus dépenser d'argent pour des fonctionnalités supplémentaires. Cela pourrait être converti en un argument de vente clé par vos vendeurs. Au lieu de s'engager sur un ensemble fixe de fonctionnalités (dont le besoin peut ou non être connu à l'avance) pour un montant fixe, le client peut commencer avec un montant initial pour un ensemble de fonctionnalités initial, puis le prendre par étapes. Cela garantira deux ou trois choses:

  • Tant que la liste des fonctionnalités est correctement hiérarchisée, le client obtient toujours les prochaines fonctionnalités les plus importantes, maximisant ainsi son avantage de ses dépenses (il obtient "le meilleur rapport qualité / prix").
  • Si le client manque d'argent, il a maximisé son investissement ET vous avez été payé pour ce que vous avez livré. Personne n'est blessé, tout le monde en profite.
  • Le client peut changer d'avis sur les priorités et les fonctionnalités à chaque tour de roue (à chaque extrémité d'une interaction). Un avantage distinct sur les contrats à prix fixe normaux.

Il y a probablement plus, mais ce qui précède devrait être suffisant pour amener vos vendeurs dans la bonne direction.

Wolfgangsz
la source
Re: "Personne ne se blesse, tout le monde en profite" - Sauf pour le gars qui a été licencié parce qu'il a promis à son patron que pour X $, il obtiendrait un progiciel qui fait XYZ. Malheureusement, grâce à l'agilité, le progiciel ne fait que XY. P'd off manager, licencie un gars qui ne donne pas bien. Peut-être que je viens de travailler dans des secteurs entièrement différents de la plupart des partisans agiles, car ils ne voient pas de problème à ne fournir que des solutions partielles au client. OTOH, je ne vois pas le but de fournir une solution partielle, car il y a de fortes chances que le produit soit plutôt inutile pour le client.
Dunk
De toute évidence, vous n'avez pas encore travaillé dans un environnement agile approprié, sinon vous ne feriez pas ce genre de remarque. Si XYZ est requis, alors XYZ sera livré. La TVD et l'UVQ peuvent ne pas être livrées, mais comme elles sont de moindre priorité, le client n'a pas eu à les payer non plus. Bien sûr, si vos développeurs sont si loin de la réalité avec leurs estimations qu'ils ne peuvent même pas fournir XYZ par leurs propres estimations, alors il y a des leçons à tirer.
wolfgangsz
3

Eh bien, je ne vois pas cela comme un cas de "Il sera prêt quand il sera prêt". La méthodologie agile favorise l'offre de livrables sur une base régulière, comme toutes les deux semaines. C'est pourquoi le client est une partie importante et très active du projet tout au long de sa vie car il fournit des conseils sur la façon dont les caractéristiques de votre produit prendront forme. Si quoi que ce soit, un client commencera à voir des résultats plus tôt, plutôt que vers la fin d'un projet, comme dans l'approche en cascade.

Tant que vous réitérez le fait que le client sera une partie active du projet et qu'il verra le projet commencer à prendre forme tôt, cela pourrait lui assurer qu'il ne s'agit pas d'attendre qu'il soit terminé.

Marlon
la source
juste pour être clair - je ne dis pas que je crois qu'Agile équivaut à cette description, mais c'est ainsi que les clients / ventes le voient souvent. Agile est excellent dans les itérations - mais il est difficile de déterminer la fin du projet, n'est-ce pas?
sunwukung
4
@sunwukung - Votre équipe de vente ne vend pas le fait que personne ne peut prédire la fin d'un long projet avec précision au tout début.
JeffO
J'imagine que la meilleure façon d'avoir une idée pour la fin du projet serait d'avoir une réunion de planification de projet avec votre client et de lister toutes les fonctionnalités qu'il souhaite. Ensuite, vous pouvez créer un backlog de projet complet et complet. Asseyez-vous avec votre équipe et demandez-lui de remplir des estimations pour l'ensemble du carnet de commandes. Utilisez ces estimations à titre indicatif pour savoir quand votre projet sera terminé.
JuniorDeveloper1208
1
@sunwukung - Non, pas vraiment, s'asseoir et planifier un backlog est également une bonne idée pour Agile, c'est la mise en œuvre du processus de développement qui différencie Agile de Waterfall (Agile est plus itératif). Je pense que votre principal obstacle après avoir vendu Agile à votre consommateur va en fait l'implémenter, j'ai traversé cela plusieurs fois et cela peut être un processus douloureux.
JuniorDeveloper1208
1
désolé - oui, je comprends - nous avons utilisé la méthode du backlog pour ébaucher la fenêtre de livraison estimée (en utilisant Pivotal Tracker, une excellente application btw). La tension provient du flou que cette méthode produit en termes de différence entre les étapes initiales dérivées de cette méthode et les ETA réels une fois que la vitesse commence à se stabiliser. OMI, tout
dépend de la
2

Bien que l'endroit où je travaille fasse une horrible bastardisation d'Agile, je pense que les clients sont plus susceptibles de préférer le développement de logiciels dans les itérations que les versions complètes.

Les itérations se prêtent aux demandes individuelles des clients, en ce sens qu'elles demandent quelque chose et l'obtiennent lorsque la fonctionnalité est implémentée, pas une fois qu'elle est terminée et que toutes les autres choses qui ont été regroupées avec elle pour une version sont également effectuées.

Je n'ai jamais vu un client dire: "Nous voulons cette fonctionnalité, et nous voulons attendre 8 mois pour qu'elle soit livrée avec un tas d'autres fonctionnalités qui ne nous intéressent pas."

Shawn D.
la source
1
Cela peut dépendre de la taille du client. Je pense que dans le cas des logiciels de bureau, il n'est pas rare que les grandes entreprises ne veuillent pas passer par la réinstallation de masse / les tests d'image / etc. fréquemment et dans ces cas, ils préfèrent des "versions" moins fréquentes. Cependant, le développeur peut toujours effectuer des itérations en interne et simplement présenter une coupe officielle de l'application à ces clients à tout intervalle que le client préfère.
Adam Lear
+1 pour "Nous voulons cette fonctionnalité, et nous voulons attendre 8 mois pour qu'elle soit livrée avec un tas d'autres fonctionnalités qui ne nous intéressent pas."
sunwukung
2

Que diriez-vous d'établir un cycle de paiement en phase avec les itérations? L'idée de l'agilité est que vous ne pouvez vraiment planifier et estimer que sur de courtes périodes, et la poussée et l'engagement sont toujours forts pour ces cycles courts. Alors pourquoi ne pas cibler le financement de la même manière - demandez aux clients de contribuer à l'emploi avec $$ en même temps qu'ils contribuent avec des conseils. Après tout, s'ils n'obtiennent pas ce qu'ils veulent, ils ne devraient pas payer pour cela.

Et ensuite, déterminez ce qui se passe à la fin d'un projet - par exemple, le client possède-t-il le code ou simplement l'exécutable? Mais cela serait conforme aux précédents projets de type cascade.

Bethlakshmi
la source
Je suis d'accord avec cela, je soupçonne qu'une partie du problème pour l'entreprise réside dans la projection de ses revenus annuels (apaisant ainsi les investisseurs) avec ces financements à court terme.
sunwukung
Je me demande si vous pouvez voler un modèle de passation de marchés? Cela ajoute-t-il le risque de temps d'arrêt si les clients disent brusquement "merci mais non", ce qui devrait être similaire au modèle de travail en sous-traitance?
bethlakshmi
1

L'idée d'Agile est que vous itérez rapidement et établissez exactement ce que vous allez livrer à la fin de chaque sprint, donc lorsque les 2/3/4 semaines de votre sprint sont terminées, vous avez des fonctionnalités tangibles dans votre application / projet que vous pouvez présenter à votre client et obtenir des commentaires.

ETA: vous pouvez regrouper les «sprints» en «jalons», avec des livrables établis, et recevoir un paiement par jalon.

JuniorDeveloper1208
la source
C'est ce que j'essaie de promouvoir dans l'entreprise - payer pour les «portes de scène». Le problème clé est la date de livraison finale - le client doit-il renoncer à ce délai final concret?
sunwukung
Difficile à dire, après quelques sprints, vous devriez pouvoir établir la vitesse de vos équipes (quantité de travail que vous êtes en mesure de faire par sprint), et prouver que vous avez un backlog complet et complet (liste des tâches / user stories qui composent un projet complet), vous devriez être en mesure de prédire raisonnablement votre date de fin en regardant vos brûlures (Un graphique de la vitesse de l'équipe que vous pouvez utiliser pour extrapoler votre date de fin et voir si vous allez pouvoir terminer tous les travaux dans le sprint ).
JuniorDeveloper1208
2
@sunwukung, Encore une fois, vous manquez le point après que tout le monde vous l'a si parfaitement décrit. Agile garantit que le client obtient un logiciel fonctionnel à la fin de chaque sprint. S'ils veulent toujours une DATE FERME pour TOUTES LES FONCTIONS À COMPLÉTER, ils peuvent l'avoir, mais uniquement pour les fonctionnalités convenues lors de la signature de l'accord. Il est injuste et déraisonnable pour eux de modifier leurs exigences et de s'attendre à ce que la date limite demeure LA MÊME!
maple_shaft
1
Eh bien, dites-leur simplement que pendant le développement, ils pourront voir leur projet à la fin de chaque sprint, toujours dans un état de fonctionnement et prêt à recevoir des commentaires, cela ne devrait pas être difficile à vendre, l'agile est excellent.
JuniorDeveloper1208
1
@sunwukung, Il semble que l'entreprise ferait mieux si VOUS représentiez la branche commerciale dans ce cas :) Je ne sais pas ce que vous pouvez dire à la branche commerciale pour les convaincre de ce que vous savez déjà. Ils ne vous écouteront probablement pas. Il semble malheureusement que le côté technique progresse dans le 21e siècle et le côté commercial est dans le passé. Ce n'est pas un problème facile et vous n'êtes probablement pas en mesure de résoudre ce problème.
maple_shaft