Dois-je intégrer le coût de sortie dans le choix d'une solution


10

Je choisis actuellement entre deux conceptions / solutions logicielles viables. La solution 1 est facile à implémenter, mais verrouillera certaines données dans un format propriétaire et sera difficile à modifier plus tard. La solution 2 est difficile à mettre en œuvre, mais sera beaucoup plus facile à modifier ultérieurement.

Dois-je m'y rendre sur YAGNI ou dois-je intégrer le coût de sortie dans la prise de décision? Ou demandé différemment, le coût de sortie fait-il partie du TCO?

Je pense revenir au client avec cela pour lui demander s'il pense que les coûts de sortie sont pertinents, mais j'aimerais savoir ce que la communauté pense en premier.

PS Le coût de sortie est-il le terme correct?


Pouvez-vous ajouter pourquoi vous pensez que la première solution verrouillera les données et sera difficile à modifier plus tard?
Jaap

Essentiellement, tous les formats ne sont-ils pas propriétaires, même ceux qui sont supposés «standard» ou «ouverts»? Yagni s'applique probablement si le format «propriétaire» est plus facile à mettre en œuvre, simple à utiliser et / ou le format de facto pour l'échange.
JustinC

Sans entrer dans les détails; pensez-y comme placer une feuille Excel (conçue par le client) dans un système de gestion de documents (solution 1), par opposition à créer les tableaux et les interfaces graphiques appropriés et générer la feuille Excel à la demande (solution 2). Sauf que ce n'est pas Excel.
dvdvorle

Cependant, cela n'empêche probablement pas de noter cet aspect de préoccupation en présentant le choix et la décision au promoteur du projet.
JustinC

@JustinC et finalement nous parlons d'argent ici. Est-il moins cher d'utiliser le format «propriétaire» à long terme ou non? C'est ce que je pense être le plus important pour le sponsor du projet
dvdvorle

Réponses:


4

Le coût de sortie fait partie du TCO (le T représente le total ), mais il est difficile de le déterminer à moins de savoir a priori combien de temps le système va durer. En d'autres termes, si vous savez que le système sera utilisé pendant exactement un an et qu'il en coûtera 52000 $ pour le déclasser d'ici un an, vous pouvez être assez confiant en ajoutant 1000 $ par semaine au budget opérationnel pour le couvrir.

Ce modèle sort par la fenêtre lorsque vous ne connaissez pas la durée de vie du système. Le système pourrait, en théorie, rester en service pour toujours, ce qui signifie qu'il n'y aura pas d'argent dépensé pour le fermer. Tout ce que vous comptez maintenant sera en dollars d'aujourd'hui, et ces chiffres pourraient bien ne pas avoir de sens dans cinq ans en raison des changements dans les taux de main-d'œuvre et la technologie qui rendent le processus plus facile (ou plus difficile).

Vous feriez mieux de donner à votre client une idée de ce qui est nécessaire pour quitter le système et de le laisser en tenir compte dans les décisions de remplacement le moment venu.

(Et maintenant, après avoir écrit cette réponse, je peux voter pour fermer ce sujet.)


L'alternative au coût de sortie faisant partie du TCO de cette solution serait qu'il ferait partie du TCO de la solution suivante. Maintenant, je sais que cela semble bizarre si je le dis comme ça, mais d'après mon expérience, le coût de la mise hors service d'un système fait partie du plan / budget du projet du système suivant, pas du plan / budget du projet pour le système actuel. Cela a-t-il du sens?
dvdvorle

1
Cela a du sens pour moi, et c'est à peu près la conclusion à laquelle je suis arrivé. Vous ne pouvez pas vraiment trouver un total réel tant que tout n'est pas terminé.
Blrfl

Je suis d'accord sur les difficultés d'estimer avec précision les «coûts de sortie», je pense qu'il est utile d'en fournir un, même s'il est en argent d'aujourd'hui. Comparez «cela serait difficile et prend du temps» et «cela coûterait probablement entre 25 000 $ et 50000 $ si c'était fait demain».
vaughandroid

@Blrfl, qu'est-ce qui rend cette question hors sujet?
neontapir

1
@neontapir: Le cœur de la question concerne vraiment la gestion de projet; le fait qu'il s'agisse d'un programme ne fait pas vraiment de la programmation. La même chose pourrait s'appliquer tout aussi facilement aux commutateurs téléphoniques ou aux fours à pizza.
Blrfl

2

YAGNI est une excellente règle à sa place, mais je ne suis pas sûr qu'elle devrait s'appliquer dans ce cas. Vous estimez les coûts futurs ici, une activité qui devrait impliquer une certaine considération des changements futurs des exigences. Si vous écriviez l'implémentation, ce serait une autre histoire!

Je vous suggère de faire le calcul des coûts, mais assurez-vous que le client comprend pourquoi vous l'avez fait. S'ils ne sont pas très techniques, ne soyez pas surpris s'ils disent quelque chose comme "ça ne peut pas être une bonne solution si vous songez déjà à utiliser autre chose!"

Il peut y avoir des aspects plus précis à considérer lorsque vous faites / présentez vos estimations de coûts:

  • Quelle est la probabilité que les données soient migrées vers un autre système à l'avenir?
  • Est-il probable que le fournisseur de la solution modifie son propre format de données afin qu'il soit plus facile / plus difficile de migrer les données à l'avenir? Si oui, cela affectera-t-il votre solution?
  • Même si vous ne souhaitez pas modifier les données ultérieurement, y a-t-il une chance que vous souhaitiez les présenter / y accéder d'une manière différente? Mon expérience est que c'est assez courant!

1

En partant de votre commentaire sur la situation du fichier Excel, je le considère comme:

  • ne change pas le format actuel (solution 1)
  • parser le formatage maintenant et le stocker dans un format différent (peut-être / je l'espère plus approprié / prêt pour l'avenir) (solution 1 + étape d'analyse, alias solution 2)

Je crois que YAGNI s'applique à cette étape d'analyse; assurez-vous de conserver les connaissances sur la structure actuelle, mais n'implémentez pas encore l'analyse.

En outre, la structure de données analysée peut ne pas être aussi flexible que vous le pensez; les exigences pourraient également aller vers le stockage de différentes informations / fichiers, ce qui signifierait que vous devez mettre à jour / étendre vos tableaux.


Pour être clair, il n'y a actuellement aucune solution (solution 0 si vous voulez). Ils conservent actuellement toutes les informations dans des fichiers papier. Je serais entièrement d'accord avec cette réponse s'ils utilisaient déjà le fichier "Excel" dans le système de gestion de documents, mais il y a encore un choix ici.
dvdvorle

Ou pensez-vous que ce n'est pas pertinent parce que la mise en œuvre de la solution 1 est bon marché?
dvdvorle

Mon point est que je crois que si la solution 2 peut être considérée comme une amélioration de la solution 1, mais que l'amélioration n'est pas strictement nécessaire maintenant, YAGNI s'applique.
Jaap

Je vois ce que tu veux dire. C'est quelque chose à penser. Bien que je pense qu'il est temps d'aller chez le client maintenant, voyez ce qu'il pense que c'est une amélioration et ainsi de suite.
dvdvorle

0

Si vous n'êtes pas sûr à 95%, il sera changé à l'avenir - Solution 1 - YAGNI =)

Cela dépend sûrement de vos clients et de votre expérience de programmation de quelque chose pour ce client.


2
Vous dites donc que tout coût lié aux 5% de chances que la solution change ne soit pas pertinent?
dvdvorle

Je veux dire que c'est une sorte de sentiment ... Vous savez vous-même ce que signifie "YAGNI" - le reste est un sentiment =)
MikroDel

0

D'après mon expérience, les roues réinventées prennent plus de temps à réinventer que vous ne le pensez, et les roues externes ont tendance à être plus faciles à remplacer. Les deux types de roues ont tendance à avoir une apparence plus mauvaise une fois achetées qu'elles ne l'étaient lorsque vous avez pris votre décision.

Si vous pensez vraiment que # 1 est facile à mettre en œuvre et que vous vous demandez combien de temps prendra # 2, j'écouterais la question. Implémentez le n ° 1 maintenant et pensez au plus grand design au fur et à mesure. Cela vous aidera si vous souhaitez plus tard la réinventer.

À l'inverse, si le n ° 1 ne semble plus aussi simple que vous le pensiez, passez au n ° 2.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.