Je travaille actuellement sur mon diplôme pour mes études "Développement de logiciels", dans lesquelles je dois développer individuellement des logiciels complexes dans une entreprise externe. Tout cela doit être fait de manière structurée, en créant tous les documents correspondants.
Pour ce projet, j'ai choisi de travailler avec les documents standard IEEE: Software Requirements Document (SRS), Software Architecture Documents (SAD) et Software Design Document (SDD). Bien qu'enseigné autrement à l'école, pour ce projet, j'ai choisi de créer le SDD après le développement (au lieu d'avant). Mon raisonnement est le suivant:
L'entreprise dans laquelle je fais mon stage m'a donné pour instruction de créer un logiciel complexe, répondant à un certain ensemble d'exigences, de manière expérimentale. En raison de la liberté qu'ils m'ont donnée dans la définition du projet, presque rien n'est certain à l'avance, et il est préférable de le rencontrer en expérimentant dans le processus de développement. De plus, je crée le logiciel de manière individuelle , cela n'aurait aucun avantage pour quiconque dans l'entreprise de faire cette conception de logiciel au préalable. Le faire à l'avance me coûtera juste beaucoup de temps pour le changer plus tard, car je peux être certain qu'avec les incertitudes du projet, la conception que je fais au préalable devra être beaucoup modifiée . Cela me semble contre-productif.
Est-ce une bonne justification pour créer le SDD après le développement? Sinon, y aurait-il une bonne justification à cela?
Edit: La raison de créer ensuite le SDD serait que les futurs développeurs continuent sur le projet. Je ne vais pas être en mesure de terminer l'ensemble du projet au cours de ma période de remise des diplômes, donc les autres développeurs devront continuer sur la base de code actuelle.