web-dev-qa-db-fra.com

Temps d'achèvement sur une entreprise où les superviseurs ne connaissent pas la programmation

Nous sommes dans une petite entreprise avec environ 10 développeurs. Je suis le chef d'équipe et responsable du processus de développement.

Les superviseurs et les vendeurs sont proches de nous depuis que nous sommes une petite équipe, mais nous n'avons aucune idée de la mise en place de logiciels.

Quand ils me demandent combien de temps je veux pour un changement (bugfixes/fonctionnalités) dans un produit, ma réponse est "laissez-moi le calculer". Après leur avoir donné l'horaire, ils commencent par dire OK, vous pouvez le faire en XX Time qui diffère beaucoup de mon plan. Nous utilisons un modèle proche des principes de base agiles et nous avons des cercles par semaine ou par trois jours.

Bien sûr, je discute et dis que cela ne peut pas être fait. Ils semblent avoir aucune idée de l'effort que nous faisons. Ils ne veulent pas voir WHY mon horaire est pour cette durée.

Je sais que ce comportement est stupide, mais comment puis-je leur faire voir le problème?

65
Odys

Si les vendeurs sont aussi ceux qui sont en charge, vous pouvez dire: "OK, je peux aller avec votre emploi du temps. Quelles caractéristiques ou responsabilités voudriez-vous que je sois sacrifier pour que votre date limite?" De cette façon, vous ne dites pas "non" aux responsables, mais vous ne vous engagez pas à des choses impossibles. La décision est dans leurs mains comment gérer l'entreprise. S'ils veulent hacher d'autres choses pour prendre du temps pour les changements, laissez-les.

EDIT: Nous devons respecter et soumettre à ceux qui sont en autorité, tout en faisant nos emplois avec excellence. La seule façon de le faire est d'humilité. Je vais travailler sur tout ce que mon patron veut que je travaille, mais je ne peux faire que beaucoup. Lorsque vous lui dites comme si c'était une attitude de soumission, il est dans une meilleure position pour prendre de meilleures décisions et il voudra plus d'employés comme vous.

Assurez-vous que ces choses sont également documentées pour expliquer pourquoi les engagements sont déraisonnables et comment la situation a été résolue. Cela peut aider les collègues à faire face à des situations similaires à l'avenir.

67
Phil

Dans mon expérience, les vendeurs pensent que tout est une négociation où vous vous rencontrez quelque part au milieu. C'est fondamentalement comment ils travaillent. Ils essaient de vendre un produit à un client et de demander haut, le client offre faible et à la fin un prix des deux parties d'accord sur devient l'accord.

Ils prennent également cette mentalité au plan de travail. Ils supposent que vous demandez trop d'heures pour qu'ils essaient de discuter de certaines heures, comme dans une négociation.

Donner des estimations exactes, ne me donnait que des maux de tête.

Ce que vous pouvez faire est de jouer le long: Donnez une estimation plus élevée où ils peuvent se raser pendant une "négociation" et finissent par finir avec les heures que cela vous coûte vraiment.

47
Pieter B

Ne les montre pas leur Défaut!

Essayez de discuter de meilleurs changements que vous apportez, donnez-leur des estimations plus détaillées. Faites une suggestion comme "nous pouvons le faire dans vos x heures au lieu de mien et des miennes, si nous accordons des tests logiciels à l'externalisation". Ou "nous pouvons le faire plus rapidement, si nous excluons cette partie de la fonctionnalité demandée".

26
Nikolay Fominyh

"Après leur avoir donné le calendrier, ils commencent par dire OK, vous pouvez le faire en XX Time qui diffère beaucoup de mon plan." Tout d'abord, demandez-leur comment ils ont calculé leur xx temps.

Suggèrent à eux qu'un enregistrement est fait de votre estimation et de leur estimation. Ensuite, vous pouvez comparer les prévisions réelles et voir qui est plus précise.

21
Jaydee

Dis "je me tiens à mon estimation." Et puis bien sûr frapper votre estimation. Quand cela se produit trois fois, ils vous feront probablement confiance.

20
tzerb

"Quand ils me demandent combien de temps je veux pour un changement"

À ce point, arrêtez-les. Ce n'est pas combien de temps vous voulez. C'est combien de temps vous besoin. S'ils insistent, donnez-leur à la fois le temps que vous voulez et le minimum dont vous avez besoin.

Il peut également contribuer à conserver une mesure très visible de la dette technique engagée en raison de tous les raccourcis qui vous sont forcés par des ventes. Nikolay est largement optimiste que vous pouvez influencer les ventes en conversation lorsque leur comportement actuel leur obtient des bonus.

En fait, si les ventes sont réellement motivées par de telles incitations, vous devez en tenir compte lors de la formulation de votre réponse. "Fonction non commise par l'ingénierie" est une raison parfaitement valide de déposer une demande de vente.

17
MSalters

Pour vous éloigner de leur préoccupation avec des heures, changez le jeu. Au lieu d'estimer le temps, estimez la complexité par rapport à une question d'usecase donnée qui forme une base de référence.

Vous mentionnez que vous avez quelque chose d'une approche agile, pourquoi ne pas essayer Scrum?

En d'autres termes, faites de courtes sprints, dites-leur que "oui en une semaine, je pourrai développer trois de vos cinq fonctionnalités", puis assurez-vous de livrer ces trois caractéristiques. Demandez-leur de hiérarchiser les modifications/fonctionnalités/bugs et travailler strictement dans cet ordre. (Bien sûr, il y a plus.)

Apprenez-leur du triangle de fer du temps, du coût, de la qualité et de la portée. Vous réparez trois et la quatrième est la zone triangulaire et ainsi une fonction des autres. Je suppose que cela est probablement plus important à la fin lorsque vous livrez, combien cela coûte et espérons-le que vous livrez avec une qualité que ce que vous fournissez.

7
Christoffer Soop

Il s'agit d'un énorme bugbear des miens pour les projets de vente/conseil dirigé et c'est une situation difficile. C'est souvent un problème de la manière dont la société opère.

C'est un cas classique de la queue essayant de remuer le chien, les gars de la vente faisant tout ce qui leur permet de fermer la vente, de promettre le monde en matière de fonctionnalités et de garantir une échelle de temps lugueuse, un processus de développement de logiciels et tout d'autre être damné.

Soit ils vous écouteront ou ils ne le feront pas, ce n'est pas nécessairement un fait qu'ils ne comprennent pas, plus probablement, ils savent bien, mais tout ce qui les intéresse, fermez la vente, à obtenir l'entreprise et à s'inquiéter des délais plus tard.

Cela étant dit, les clients peuvent être une douleur à l'arrière, ils veulent beaucoup de choses à moindre coût, et ils veulent savoir quand cela sera fait. Et ils veulent qu'un rabais démarre.

Une façon d'atténuer cela est d'avoir un gars technique impliqué dans les réunions de vente. Maintenant, ce n'est pas nécessairement réalisable dans chaque entreprise, mais peut être le seul moyen d'essayer au moins d'essayer de régner dans les ventes.

6
ozz

Cela pourrait aider à différencier combien de temps quelque chose prendra et combien de temps sera facturé. Combien de temps quelque chose prendra est une décision technique, ils n'ont aucune base à être en désaccord avec vous, soyez têtu. Combien que les vendeurs veulent facturer à cette époque leur décision et leur responsabilité de vendre au client.

Autre que les incitations doivent être triées ou vous allez toujours combattre une bataille en montée. Si des bonus de vente ne sont payés pas sur la valeur ponctuelle de la vente, mais sur la différence entre la valeur de la vente et le coût de la livraison, ils incitent à vous écouter.

4
robertc

S'ils veulent couper le calendrier - demandez-leur qui fonctionnent qu'ils veulent être laissés de côté et la priorité de ceux-ci.

Travaillez ensuite sur des fonctionnalités par ordre de priorité et dites-leur qu'ils peuvent avoir des produits chaque fois qu'ils le souhaitent, mais il ne contiendra pas toutes les fonctionnalités qu'ils demandées jusqu'à la date de fin de votre spécification initiale.

4
Matt Wilko

Si c'est un problème persistant, que diriez-vous d'appuyer sur l'équipe de vente sur l'équipe de développement pendant une semaine ou deux. Donnez-leur un livre sur le langage de programmation X et dites-leur de le faire dans leur estimation. 99% du temps, ils échoueront de manière misérablement et se remettent à nouveau en question de vos estimations. Ils pourraient également avoir une idée de ce qu'il faut pour faire du développement de logiciels et se rendre compte qu'ils ne contribuent pas au processus.

2
NWS

Expliquez clairement que vous êtes estimation Le temps qu'il faudra, pas prometteur Vous obtiendrez à cette époque et que vous pourrez réduire le nombre n'est rien de plus que de parler vous vous mentez. Il ne fera pas réellement comme par magie le logiciel se faire plus rapidement.

Demandez-leur à quel point il serait bon de parler à une femme en baissant son estimation pour sa grossesse de 9 mois à 7 mois.

Mieux encore, obtenez un responsable de produit. Les vendeurs lieront votre produit dans des nœuds à la poursuite des commissions, car elles ont peu d'incitation à se soucier du produit global et de chaque incitation à la poursuite de la vente en cours.

2
psr

Il y a deux problèmes, qui ont besoin de désentané.

  1. Arrêtez de citer à temps, commencez à citer en dollars. Cela leur permet rapidement de faire une analyse des coûts/avantages et vous permet d'ajouter un "temps d'analyse" standard. Le temps est trop collant, car cela ne reflète pas la quantité de travail réelle (quarante heures pouvant être effectuées dans une journée, cinq jours ou trois semaines), et c'est beaucoup trop facile à pas Poussez le cycle de libération budgétisé pour une telle demande.

  2. Fournissez au personnel des ventes une demande de demande dans le cycle DEV (de préférence une interface non humaine, pour gagner du temps (mesuré en argent)).

Les vendeurs ont tendance à penser en termes de (si j'ai x, je peux fermer cette vente). Leurs demandes ne sont souvent pas cohérentes avec l'architecture actuelle du produit, mais elles sont cohérentes avec le courant besoin d'un client.

Indiquer à la force de vente que ces demandes sont vital pour votre produit et, en tant que telles, vous besoin Pour ne pas les perdre dans la "demande rapide, prendra plus de temps que la période d'intérêt, déposez la demande, répétez "le cycle. Ces demandes doivent être capturées, analysées, priorisées, intégrées au produit, testées et publiées avec le cycle de publication suivant.

Puis sauvegardez vos mots avec des actions. Raccourcissez le cycle de libération à moins de deux mois, indiquez quels éléments vont être dans la libération et frapper vos délais. N'éduisez pas le personnel des ventes sur les raisons internes que cela est nécessaire, faites simplement une analyse de la nécessité d'un cycle de cycle de coûts minimalement des coûts (en dollars) et de ce que le risque (dollar supplémentaire et pourcentage) pourrait coûter. Si un problème dépasse une complexité minimale. Demandez ensuite à la personne des ventes si la vente est suffisamment grande pour prendre en charge la demande hors du cycle.

Une fois qu'ils ont un processus pour une demande en cycle et qu'ils ont une idée de la quantité de coûts de traitement d'une demande hors cycle, les chances sont bonnes que vous pouvez convertir leur demande hors cycle en une Demande de cycle, ou déterminer que la demande hors du cycle est suffisamment rentable pour justifier la dépense.

1
Edwin Buck

J'espère que pour vous engager à s'engager dans un travail, il est entendu que vous et les ventes doivent accepter de respecter les exigences en vaut la valeur.

Soulignez que, sauf si vous et les ventes ne peut être d'accord, ils ne peuvent pas faire la vente et le travail ne se produit pas, c'est que vous devez accepter une contre-offre pour le client (spécification plus petite, délais plus longue, etc.), etc.) ou besoin de trouver un autre client.

Il ne sert à rien de signaler un contrat avec un client que vous savez que vous ne pouvez pas accomplir, cela finira simplement par prendre le temps de tout le monde et que vous risquez de perdre le client et d'autres, et ne même pas obtenir l'argent pour le travail.

1
user52889

J'ai vu beaucoup de cette division de position négative dans ma carrière et je pense que le meilleur moyen de travailler est aussi honnête et transparent que possible. (Les phrases négatives telles que "comportement sont stupides", "n'ont aucune idée", "ne peut pas être faite" doit être évitée. Rechercher des solutions/causes profondes.)

Premièrement, on dirait que tout le monde utilise négociation de position ( livre ). Ils veulent ce qu'ils veulent et vous voulez ce que vous voulez. Mais c'est vraiment Conduire ça? Regardez ce qui pousse leur position et ciblez cela. Par exemple. Les ventes veulent simplement obtenir le produit le plus rapidement possible pour gagner plus de ventes et aider les bénéfices de la société. Qu'est-ce qui ne va pas avec ça? Et de votre côté, vous voulez simplement faire le meilleur logiciel de qualité que vous puissiez. Donc, vous avez juste besoin de trouver un terrain moyen . Je pense que la meilleure façon de faire est l'éducation, l'honnêteté et la transparence. Traitez-les dans le cadre de votre équipe et non "US vs. eux".

Les méthodes agiles et Scrum tentent de incorporer ceci dans l'ensemble du processus. Certains aspects de Scrum prennent soin de ce bien:

  1. A product owner that prioritizes features and chooses what goes in each sprint. This person is part of the team. This should be a person that has the clients' best intentions in mind. e.g. this could be a sales person or supervisor. They are involved on a regular basis in deciding what goes into the product so there's great motivation and responsibility (they'll learn to NOT Push for time vs quality/features)
  2. Toute parties prenantes sont également des membres de l'équipe, ils ne contrôlent tout simplement pas le contrôle de l'arriéré/des sprints/timeline. Traitez-les comme tels et ils peuvent apprendre comment les estimations sont calculées et la complexité héritée derrière le développement de logiciels.
  3. A Scrum Master fonctionne à l'amélioration du processus au fil du temps. Cela ne devrait pas être instantanément Scrum, car cela est déraisonnable dans une situation. Ils travaillent à la suppression des barrages routiers pour tous les membres de l'équipe (et de la société).

En résumé, soyez juste honnête, positif et essayer d'éduquer - cela finira par améliorer. Même si vous ne suivez pas officiellement Agile/Scrum, lisez une littérature pour mieux comprendre ces concepts et ces motivations.

0
Morgan T.

Si vous sentez que vos estimations sont précises et que l'historique reflète cela, utilisez cela.

Quand ils disent que vous avez xx Time, révisez votre estimation de prendre des fonctionnalités jusqu'à ce qu'il descend à cette heure. Ne sortez pas de test.

Ensuite, il s'agit d'une négociation sur les caractéristiques et le temps, pas seulement le temps, quelle histoire dit que vous ne pouvez pas changer. S'ils insistent sur la négation au fil du temps, commencez à négocier des bonus pour frapper ladite heure (si votre équipe est disposée à travailler les heures supplémentaires pour y arriver). Disons que nous pouvons faire le temps de votre choix, mais cela vous coûtera un bonus de 1000 $ pour y arriver

Rappelez-leur que le développement logiciel est comme une usine et l'usine est capable de produire X dans la quantité de temps. Va au bonus à nouveau, vous pouvez travailler des heures supplémentaires, mais cela va coûter. N'appelez pas cela des heures supplémentaires non plus ou ils vont simplement vous travailler à mort. Il doit également être écrit. X Produit par y par date pour z bonus. Vous pouvez également insister sur un jour de congé après que l'équipe sera incendiée après cela. Vous avez également dans le contrat selon lequel l'ajout de fonctionnalités ou de corrections de bogues sur X% du temps normal ajoutera du temps à planifier.

Vous ne pouvez pas changer l'heure, en tirant uniquement des fonctionnalités.

0
Bill Leeper