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?
design
architecture
terminology
decisions
dvdvorle
la source
la source
Réponses:
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.)
la source
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:
la source
En partant de votre commentaire sur la situation du fichier Excel, je le considère comme:
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.
la source
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.
la source
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.
la source