Les délais font partie d'une idée fondamentalement erronée sur la façon de faire du développement logiciel. Les personnes nouvellement arrivées dans le secteur du développement de logiciels, ou qui n'en font pas partie, ne le comprennent pas :
Un logiciel est terminé quand il est terminé, ni plus tôt ni plus tard.
Si un développeur a une tâche à accomplir et une semaine pour le faire, et qu'il semble que cela prendra plus d'une semaine, rien ne peut être fait pour changer cela. Peu importe les efforts du développeur, peu importe le nombre de personnes ajoutées à la tâche, elle prendra toujours autant de temps (en fait, ajouter des personnes la rend généralement plus longue).
Au lieu de cela, lisez sur le processus de développement agile. Les logiciels doivent être développés de manière itérative, et chaque itération doit être basée sur les résultats de l'itération précédente, pas sur les exigences externes imposées.
Modifier en fonction des nombreux commentaires ci-dessous :
Je ne dirais jamais que les développeurs ne peuvent pas être tenus à une certaine forme d'attente de livraison. Mon point de vue est en réponse à la spécifique L'hypothèse posée par l'auteur de la question est que la nature du développement de logiciels dans les entreprises est en quelque sorte analogue au travail scolaire, ou à tout autre type de travail d'ailleurs. Je soutiens que ce n'est absolument pas le cas. Une "date limite" implique bien plus qu'une simple date de livraison. Il s'agit d'un point fixe pour lequel une quantité fixe de travail doit être achevée. Les logiciels ne fonctionnent tout simplement pas de cette manière. J'ai écrit quelques paragraphes supplémentaires pour expliquer pourquoi, mais honnêtement, si vous ne le croyez pas déjà, rien de ce que je dis ne vous convaincra.
Si vous travaillez sur un projet de logiciel et qu'il est clair que vous ne serez pas en mesure de respecter votre délai, que pouvez-vous faire pour y remédier ? La réponse est bien connue : pratiquement rien. Vous ne pouvez pas augmenter le nombre de personnes. Vous ne pouvez pas "travailler plus vite". Le travail ne sera tout simplement pas fait à temps. Vous le dites aux parties prenantes, tout le monde s'adapte, et vous continuez à travailler (ou pas). Que signifiait donc la date initiale ?
Quiconque prétend que le développement de logiciels est analogue à la construction d'un pont ou à un travail à domicile, ou que les échéances imminentes peuvent encore être respectées si les développeurs se ressaisissent et travaillent d'arrache-pied, ne comprend pas bien sa propre profession.