Je veux convaincre mes partenaires que nous devrions avoir une spécification et que les bugs devraient être corrigés avant d'écrire un nouveau code. Dois-je me référer au test Joel ? Pensez-vous que le test Joel est à jour? Je pense que ne pas avoir de spécification est une mauvaise gestion de projet. Êtes-vous d'accord avec le test Joel? Pourriez-vous ajouter quelque chose? Il ne mentionne pas par exemple l'Open Source.
17
Réponses:
Je pense que le test Joel est à jour - il est aussi à jour que la plupart des autres logiciels d'écriture qui sont "intemporels".
Faire du développement de produits (qui comprend le développement de logiciels) sans spécification n'est que de la folie.
Comment savez-vous où vous voulez aller?
Il n'y a qu'un seul point que je ferai sur l'écriture d'une spécification (je ne pense pas que les spécifications de Joel soient très bonnes ... mieux que rien, mais pas aussi bonnes que possible). Ce point est:
Lors de la rédaction d'une spécification, dites uniquement ce que le produit doit faire, pas comment il doit être fait.
Cela signifie que vous ne dictez pas les détails d'implémentation dans une spécification. C'est une activité de design et vous laissez cela à l'expérience et à la créativité des designers.
[Il n'y a qu'une seule exception à cette règle: Parfois, un détail ou une méthode d'implémentation particulier est obligatoire ou requis, auquel cas mettez-le dedans. Par exemple, si le logiciel doit être écrit en PHP et que ce n'est pas négociable, alors il va dans la spécification. Il devrait y avoir très peu d'exemples de cela.]
Je pourrais ajouter: ne pas avoir de suivi des bogues est un acte de folie égale. C'est tout simplement la façon la moins professionnelle et la plus insensée de fonctionner et cela entraînera de grandes douleurs et de grandes souffrances.
la source
Je vais jouer l'avocat du diable ici et suggérer que le test Joel n'est pas à jour. C'est trop général. À mesure que la technologie a mûri, les questions devraient être plus précises que lorsqu'il a écrit le test.
Les documents de spécifications, au moins les gros documents de spécifications initiaux ne sont plus nécessaires maintenant que nous avons des user stories et des processus de développement Agile. Cette question doit être remplacée par "Le niveau de documentation est-il approprié aux solutions en cours de conception?" Les user stories plus petites et plus étroites, livrées toutes les deux semaines, sont beaucoup plus utiles dans la plupart des cas qu'un document de grande taille décrivant le produit en détail. Cependant, si vous construisez le prochain Mars Rover, vous voudrez peut-être un document de conception détaillé à l'avance. Si vous demandez si une entreprise a des spécifications de conception, je ne serais pas surpris d'entendre une réponse de «pas vraiment, nous utilisons plutôt des processus agiles et des histoires d'utilisateurs».
Deuxièmement, la question des «constructions quotidiennes» devrait devenir une question d'intégration continue. À moins que vous ne construisiez un logiciel qui prend des heures à construire (ce que 99,99% des lieux ne feront pas), la question devrait se demander si l'entreprise utilise l'intégration continue.
La plupart du test de Joel n'est vraiment pas daté du tout. C'est toujours un bon moyen d'avoir une idée de l'environnement de travail.
la source