53 votes

Expliquer aux non programmeurs pourquoi "ajouter une colonne supplémentaire à la base de données" est une mauvaise idée.

J'ai des vendeurs et des comptables qui essaient de vendre des personnalisations aux clients, ce qui est bien. Mais lorsqu'il s'agit d'une demande de modification complexe pour laquelle je renvoie un devis volumineux, ils ne savent plus où donner de la tête. Souvent, ils me répondent "Pourquoi ne pouvez-vous pas simplement ajouter une autre colonne ?" et par "autre", ils entendent une douzaine de colonnes personnalisées par client.

Jusqu'à présent, tout ce que je peux leur répondre est "Nous essayons de maintenir la base de données bien normalisée", ce qui ne signifie rien pour eux. Je leur dis que je peux créer un système de tables qui permet à chaque client de définir son propre ensemble de champs personnalisés, mais bien sûr, cela prend plus de temps et d'argent que de "simplement ajouter quelques colonnes". Et bien sûr, ils veulent avoir le beurre et l'argent du beurre.

Alors comment leur faire comprendre ?

55voto

dnagirl Points 11581

Je leur dis que je peux créer un système de tableaux qui permet à chaque client de définir son propre ensemble de champs personnalisés, mais bien sûr, cela prend plus de temps et d'argent que de "simplement ajouter quelques colonnes".

Je pense que vous devriez pousser cette option auprès de vos patrons car la personnalisation est manifestement une fonctionnalité très demandée. Insistez sur le fait qu'un système personnalisé individuellement (plutôt que généralisé, avec une personnalisation limitée) pour chaque client signifie que les correctifs et les mises à jour devront être créés pour chaque client (ce qui entraîne des délais de déploiement plus longs et des coûts plus élevés) ; que des installations non standardisées signifient que les tickets du HelpDesk prendront beaucoup plus de temps à être fermés (ce qui entraîne des clients mécontents et des coûts plus élevés) ; etc.

En d'autres termes, vendez la douleur à court terme pour un gain à long terme en montrant que le coût de leur solution dépasse de loin le coût de votre solution.

Les vendeurs se concentrent sur la réalisation de la vente. C'est ce qui leur permet de toucher leur commission. Ils ne se soucient pas de ce qui vient après. Les patrons, en revanche, se concentrent sur les coûts. Vendez à vos patrons et vos patrons pourront vendre aux vendeurs.

30voto

aehiilrs Points 925

La meilleure façon que j'ai trouvée est de montrer comment vous pouvez créer une nouvelle fonctionnalité de ce qu'ils demandent que vous ne pourriez pas ajouter avec juste quelques colonnes personnalisées. Les fonctionnalités sont préférables aux personnalisations, surtout lorsque vous pouvez les faire payer.

Essayez d'établir un bon dossier commercial avant de vous lancer dans les aspects techniques.

17voto

Quibblesome Points 14441

Ah un peu de connaissance est une chose dangereuse.

Essaie celle-là :

Vous : À quelles entreprises n'avons-nous pas réussi à vendre nos produits ?
Ventes : Acme Industries, OCP Corp, blah blah blah
Vous : Eh bien.... pourquoi ne pas passer quelques coups de fil de plus ?

La réponse est bien sûr que les ventes ne sont pas si simples. Le développement de logiciels non plus. A moins qu'ils vraiment veulent des heures d'explication sur l'architecture et la maintenance, je leur suggère de faire confiance à votre jugement en tant que développeur de logiciels.

C'est le problème ici, la confiance. Vous devriez leur expliquer qu'ils font preuve d'un manque de confiance dans vos capacités en faisant ces déclarations.

10voto

Tola Odejayi Points 1320

Vous pouvez leur dire qu'une base de données mal conçue signifie qu'à long terme :

  • il leur faudra plus de temps pour récupérer leurs données - veulent-ils vraiment attendre et attendre ?

  • il sera plus difficile et plus long de concevoir des requêtes pour générer des rapports - encore une fois, s'ils ont besoin de cette requête demain, veulent-ils qu'on leur dise qu'elle est toujours en cours d'élaboration ?

  • ce sera un cauchemar à maintenir, avec des requêtes sujettes aux erreurs plus susceptibles d'être écrites.

10voto

Josh Kodroff Points 6646

S'il s'agit de vendeurs et de comptables, ils comprendront certainement le dollar tout-puissant (livre, euro, etc.). Pouvez-vous démontrer que le temps passé à maintenir ces colonnes supplémentaires ne justifie pas les ventes supplémentaires ?

Soyez très prudent ici et assurez-vous que votre argumentaire a du sens. Dans le passé, je me suis trouvé plus réticent à faire des personnalisations parce que je ne voulais pas enlaidir mon joli petit modèle de domaine que parce que ce serait vraiment difficile à maintenir. Une bonne analyse vous aidera à déterminer pourquoi vous résistez à la personnalisation.

N'oubliez pas que, pour rester en activité, vous devez satisfaire vos clients. Nous, développeurs réfléchis, pouvons parfois perdre cela de vue dans notre quête de simplicité et de maintenabilité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X