web-dev-qa-db-fra.com

Pourquoi les délais sont-ils toujours si courts?

Je suis un développeur junior dans une petite entreprise (dans une équipe de 2 développeurs). Chaque fois que nous sommes invités à mettre en œuvre une nouvelle fonctionnalité:

  • la date limite est définie afin que nous ayons juste le temps de faire le développement: il n'y a pas de marge d'erreur (si quelque chose prend un peu plus de temps que prévu, nous sommes en retard); Presque pas de temps pour les tests (nous sommes presque sûrs qu'il y aura des bugs); Pas le temps de refroidir quoi que ce soit

  • on nous demande de commencer le développement avant que les fonctionnalités soient complètement spécifiées, de sorte que de nouvelles choses à faire apparaître, mais la date limite reste telle qu'elle est

Le résultat est que nous fournissons des logiciels comportant des bugs et la dette technique continue de croître. Nous utilisons la technologie considérée comme une version récente en 2006 ou.

Il y avait une libération que je me souviens très bien. Quand nous avons fait une démonstration au patron, il nous a dit "Quoi! Tu as pris deux semaines pour produire ça ?!" Et tout ce que nous pouvions répondre était "non, cela nous a fallu trois semaines". J'ai rencontré une rencontre avec lui et un autre développeur junior (qui a quitté la société à cause de cette réunion!), Et il nous a essentiellement dit qu'il n'était pas heureux parce que ce que nous avons publié était la merde.

La dette technique et la nécessité de refacteur étaient si grandes dans les parties que nous avons dû modifier (mais on nous a dit de ne pas refroidir parce que nous n'avons pas de temps) que:

  • nous avons dû ajouter une couche de mauvais code au-dessus du code déjà mauvais;
  • nous avons pris beaucoup de temps pour essayer de comprendre un code complètement incompréhensible.

Je ne me sens pas comme si je suis responsable de cette mauvaise libération, je pense que c'est la responsabilité du patron d'embaucher de bons développeurs qui, du moins, comprennent les principes de base de l'OOP. Mais embaucher des juniors est tellement moins chère ...

Il dit déjà que nous sommes en retard pour le développement que je travaille pour le moment. Il a passé plus d'un an à "repenser" un outil déjà présent dans notre application, mais maintenant, il veut que nous l'appliquions dans deux semaines. Personnellement pense que si nous voulons le faire correctement, nous avons besoin d'au moins un mois, ou peut-être même six semaines.

Je ne sais pas quoi faire, parce que je pense que le patron pense que nous sommes juste lents et inefficaces. Ce n'est pas la façon dont je vais avoir la relance, je pense que je mérite.

Pourquoi est-ce comme ça? Cela ne semble pas si difficile de comprendre que si j'ai besoin de x jours pour terminer une tâche, je ne peux pas le faire dans X/2 jours, même si vous dites "s'il vous plaît" et demandez avec un sourire. Cela semble si évident que la date limite sera manquée et/ou que les exigences de qualité ne seront pas remplies.

Je n'ai pas besoin de savoir comment je peux expliquer à mon patron que le développement logiciel est un processus plus long qui clique simplement sur une icône. Parce que j'espère qu'il le sait déjà.

32
Mathieu

Deux choix: Quittez, ou cultivez une colonne vertébrale.

Je pense que je n'ai pas besoin d'expliquer beaucoup sur cesser de fumer .. celui-ci est évident. Si vous ne pouvez ni le prendre ni oser changer cela, c'est le seul moyen d'aller de l'avant.

Si vous voulez changer cela, alors il est de votre responsabilité de vous lever contre cela. Cela nécessite "une colonne vertébrale", car vous allez faire contre votre patron et être tiré est une possibilité réelle là-bas! Donc, marcher avec prudence, mais arrêtez d'être poussé autour.

Pourquoi je dis que tu es poussé? Bien sûr, les Devs junior sont plus faciles à appuyer sur les aînés, car ils manquent d'expérience, mais il y a un problème fondamental que vous semblez avoir manqué ici (qui a été poussé au-delà de vous dire de manière à dire): les délais sont mieux faits par les développeurs, pas par la direction.

Si votre patron ou votre responsable dit qu'il faut 2 semaines et que vous pensez que c'est trop court, le comportement professionnel dicte que vous informez vos supérieurs de cette perspicacité. Après tout, vous êtes le développeur qui va passer ces 2 semaines à faire le travail. Il n'y a personne - absolument personne - qui est plus qualifié pour juger de l'exactitude de cette estimation que vous! Vos gestionnaires peuvent avoir recours à une expérience antérieure ou à d'autres performances des équipes, mais vous connaissez la vraie affaire. Vous connaissez la base de code particulière, ses faiblesses, ses risques, etc. Il n'existe aucun moyen que toute date limite significative puisse être faite sans votre contribution.

Refactoring: C'est toujours un sujet intéressant et il existe de nombreuses bonnes lectures sur la manière de l'incorporer dans un calendrier. Le gist de ceux-ci est qu'un) vous n'aurez jamais le temps dédié au refactoring de votre responsable et b) vous ne devriez même pas demander cela, car même lorsque vous l'obtenez, cela ne suffira pas. Le refactoring est quelque chose qui doit faire partie de votre travail tous les jours. Cela doit faire partie de vos estimations et cela fait partie de ce que vous faites. Tellement que vous n'avez pas besoin de le mentionner même vers la direction. C'est ainsi que nous travaillons professionnellement après tout. Vous pouvez le sauter une ou deux fois en remarquant que les prochaines délais doivent rendre compte pour cela, mais si vous ne pouvez pas le faire, la manière professionnelle est de le faire faire correctement la première fois. Bien sûr, vous devez garder un équilibre et ne pas refroidir l'ensemble de la base de code d'abord pendant une demi-année. Tenez-vous sur ce que vous travaillez de toute façon et essayez de garder la dette technique au lieu de l'augmenter, si possible, réduisez-la un peu.

Lorsqu'une date limite approche - en particulier si la date limite vous a été donnée de sources extérieures sans votre approbation - c'est un jeu juste de simplement leur dire que vous n'êtes pas fait. Si vous avez dit dès le début que 2 semaines ne suffirez pas, personne ne peut vous en vouloir pour ne pas être terminé après 2 semaines. La voie du Junior à Senior Dev signifie que l'apprentissage de pouvoir garder un visage droit lorsque vous dites à vos gestionnaires qu'il n'est pas fait en raison de leurs décisions. N'oubliez pas que si vous avez estimé 4 semaines, mais deviez livrer dans les 2 semaines, que tout délai est non votre faute.

Néanmoins, les gestionnaires essaieront de vous blâmer/votre équipe pour tout retard. Si vous voulez continuer à aller avec cette entreprise, vous faites face à un défi encore plus difficile: vous devez changer d'avis de vos responsables! Vous devez leur rappeler qu'il ne s'agit pas d'attribuer le blâme, mais de fournir de la valeur à l'entreprise. Vous êtes censé travailler ensemble, pas contre les autres, mais d'après ce que vous dites semble qu'il existe un problème de confiance important entre les développeurs et la gestion. Debout contre des délais ridicules est une chose, mais cela ne vous fera que si loin. Si vous devez combattre constamment vos responsables, vous êtes obligé d'échouer (les deux côtés réellement).

En résumé, si vous pensez que vous êtes assez fort et que vous pouvez suivre la pression et le stress, vous devriez alors 1) vous assurer que vous faites partie de la décision de la date limite dès le début et 2) améliorer la confiance et la confiance entre les développeurs et les gestionnaires. Le premier est comparativement rapide et facile, tandis que cette dernière est un processus lent et délicat qui pourrait bien vous prendre des années.

32
Frank

Il y a beaucoup de raisons pour lesquelles les délais seront toujours serrés.

L'une des principales théories ici est la loi de Parkinson.

Parkinson déclare: "Les travaux se développent de manière à remplir le temps disponible pour son achèvement".

Donc, si vous avez un projet qui prendrait 3 mois et que vous obtenez une date limite de 6 mois? Combien de temps cela prendrait-il? 6 mois bien sûr, car il y a toujours quelque chose qui peut être amélioré.

En définissant des échéances plus strictes, la gestion essaie de faire ressortir le meilleur des gens. la puissance des délais serrés.

Il y a beaucoup de raisons de définir des délais serrés, de bonnes, de mauvaises. Il y a aussi beaucoup de bons et de mauvais gestionnaires, qui font ou ne comprennent pas la théorie de la direction.

21
Pieter B

Pourquoi les délais sont-ils toujours si courts?

Parce que les gestionnaires comme celui de votre histoire détournent le processus d'estimation et imposent leurs propres vues sur les développeurs. Souvent, c'est parce qu'ils sont des anciens développeurs eux-mêmes et pensent pouvoir proposer de bonnes estimations grâce à leur expérience.

Dans un monde idéal, les gestionnaires font confiance aux programmeurs et leur permettent de prendre la responsabilité de produire des estimations, comme si vous le feriez avec tout professionnel de soi-même. Les délais définis par le client ne seraient satisfaits pas par la détérioration de la qualité mais de la négociation de la portée avec le client.

9
guillaume31

"Des balles en croissance" a été mentionnée, mais c'est essentiellement un problème du gestionnaire, qui a une pression d'en haut et se laisse parler à des promesses qu'il ne peut pas conserver. À mon milieu de travail, les choses ont beaucoup amélioré lorsque le responsable de mon manager, qui n'a jamais réussi à obtenir les résultats qu'il a promis, a été remplacé. Le nouveau manager a reçu une liste de 10 choses à atteindre et il vient de dire "non" à sept d'entre eux. Et ne bougea pas un peu des sept "non", peu importe la façon dont ils ont essayé de le faire pression. Et puis les équipes sous lui, sans échéances ridicules, ont réalisé les trois tâches qu'il avait acceptées. Que le gestionnaire précédent aurait échoué à faire. Tout le monde (haut et bas) est vraiment heureux avec lui.

Quelle mauvaise définition de la date limite réalise est la suivante: stress inutile, dépourvue de productivité, se sentir mal parce que tout le monde échoue, éventuellement précipitée et produits de qualité médiocre.

Ce que vous CAN Atteindre avec des délais: modifier les priorités de sorte que certaines tâches sera terminée. Par exemple, si le travail A ressemble à ce qu'il sera terminé à 90% et que le travail B semble être terminé à 60%, vous déplacez des efforts de B sur A afin que l'un d'entre eux soit fait dans la date limite. Ou réduire la portée d'un emploi. Si le travail A avec toutes les fonctionnalités prévues ne peut être atteint dans la date limite, vous réduisez les fonctionnalités.

À propos des estimations: Si vous faites une meilleure estimation pour le moment, une tâche prend une tâche et que vous êtes vraiment bien, la tâche prendra la durée estimée, plus ou moins un temps supplémentaire aléatoire. C'est pourquoi il s'appelle une "meilleure estimation". Si vous faites une estimation, personne ne peut changer cela. Ne permettez jamais à quiconque de vous faire changer vos estimations (à moins d'abord réduire la tâche estimée). Votre responsable peut alors définir des objectifs. Si ces objectifs ne sont pas d'accord avec les estimations, c'est sa faute. Si vous estimez "il faut trois mois" et il dit "le faire dans deux semaines", c'est sa faute si vous ne terminez pas dans deux semaines. C'est encore plus sa faute s'il vous insiste et vous ne terminez même pas dans les trois mois estimés.

9
gnasher729

Votre équipe souffre clairement de horaires trop optimistes :

Les défis auxquels sont confrontés quelqu'un création d'une application de trois mois sont tout à fait différents des défis rencontrés par quelqu'un création d'une application d'un an. La définition d'un calendrier trop optimiste définit un projet à l'échec en underscoping le projet, ce qui compromet la planification efficace et abrégeant les activités de développement en amont critiques telles que l'analyse des besoins et la conception. Il met également une pression excessive sur les développeurs, ce qui nuit le moral des développeurs et la productivité.

Si vous travaillez vraiment dur, il est alors le problème de la gestion.

est-il toujours comme ça? Les délais toujours court?

Mon expérience est: oui, ils sont généralement. Mais si le plan est trop optimiste, alors il est voué à l'échec.

est-il quelque chose que je peux faire à ce sujet?

Nulle part vous avez dit que vous êtes impliqué dans la planification des horaires, ce qui est vraiment bizarre. Je suppose que, il en est ainsi, parce que vous êtes encore un développeur junior. Même alors, ils devraient vous demander.

La seule réponse raisonnable est de planifier correctement. Pendant combien de temps la conception, le développement et la refactorisation prendre? Donner le meilleur, le plus probablement des estimations et pire, et de les présenter à votre gestionnaire. Ce qui est important est de ne pas sauvegarder de vos estimations, et ne pas permettre des négociations à leur sujet (voir this ).

3
BЈовић

Lorsque nous soumettons une estimation de l'année d'homme, ce nombre est déterminé par un sentiment d'intestin basé sur l'expérience, sur deviner aux risques de nouveaux outils, de nouveaux problèmes, etc. Normalement, nous l'obtenons à peu près, mais nous ne pouvons pas justifier cela . Dans l'ancien temps, lorsque les années-femmes ont grandi sur des arbres, nos patrons, ex-softies eux-mêmes, nous ont fait confiance, nous avons eu ces heures données et que nous sommes allés.

Depuis lors de deux choses arrivées; Les budgets ont été escaladés et des cours de gestion ont été inventés comme substitut bon marché pour l'ingénierie.

Nous avons donc maintenant des patrons qui sont soumis à une pression immense pour réduire les coûts, car la concurrence a également réduit les coûts, et ces mêmes personnes ont peu ou pas de fond technique. Donc, si vous dites 5 années d'homme, il dira, bien, je vais vous donner 4, car cela fonctionne pour lui quand il obtient un plombier dans. Maintenant, nous savons que la plomberie bon marché et hâtive signifie des fuites à l'avenir, Mais à ce moment-là, il aura déplacé à la maison ou dans l'affaire du gestionnaire a disparu d'un emploi mieux rémunéré dans une autre succursale.

Mais ce n'est pas toujours si mal. Vous avez un cas extrême et cette entreprise va aller au ventre de temps en temps, réfléchissez donc sérieusement à la recherche d'un nouvel emploi.

1
RedSonja

Un problème que j'ai vu à quelques reprises est que les PHB n'offrent pas tout à fait que la première version de travail d'un produit est loin d'être faite - elles ne peuvent pas voir que c'est toujours vraiment un brouillon.

De nos jours, je leur demande "alors, lorsque vous écrivez une proposition obtenez-vous la complète et l'envoyer au client ou suivez-vous un processus de rédaction?"

Le refactoring est notre processus de rédaction.

1
Wyatt Barnett

Je crois que les délais de raison principale sont souvent trop serrés provient d'un malentendu profond.

Il y a plusieurs variables à jongler lors de la production de quelque chose:

  • effort: la durée nécessaire à utiliser pour produire
  • écoulé: la durée entre le début et la finition

Le effort n'est pas négociable, si cela vous prend 10 heures pour accomplir une tâche, vous ne pouvez rien faire à ce sujet. Une autre personne pourrait peut-être le faire plus rapidement ou plus lente. Dans les pratiques agiles, la recommandation consiste à mesurer les efforts en points pour tenir compte des différences de vitesse entre les développeurs.

Le écoulé Cependant, varie considérablement: cela dépend de combien de personnes travailleront parallèlement, combien d'heures chaque jour ils travailleront dessus, etc ... à la fin, le temps écoulé dépend. sur planification: Qui sera affecté à la tâche, quand, ...

Souvent, les délais sont négociés. Parce que les écouts dépendent beaucoup de la planification (et des priorités changeantes), il existe effectivement du mou, et ils peuvent donc être négociés en effet dans un degré. Cependant, les mauvais gestionnaires ont tendance à imposer des délais irréalistes car ils continuent de les pousser au-delà de ce degré de raisonnement que, depuis qu'ils ont réussi à le repasser, ils pourraient aussi bien en essayer d'autres.


Lorsque cela vous arrive, et ils continuent à vous faire pression sur vous, vous pourriez être intéressant dans le mouvement agile. Agile "triché" en introduisant une troisième variable: portée.

Au lieu de dimensionnement du tout, vous la donnez au coup par coup (et rendez les dépendances entre les pièces explicites). Si votre responsable souhaite réduire le temps écoulé, il peut alors retirer des morceaux.

0
Matthieu M.