Je viens donc de lire quelques articles fabuleux de Joel sur les spécifications ici . (A été écrit en 2000 !!) J'ai lu les 4 parties, mais je cherche des approches méthodiques pour écrire mes spécifications.
Je suis le seul développeur solitaire à travailler sur cette application (ou famille d'applications) assez compliquée pour une société financière très connue.
Je n'ai jamais fait quelque chose d'aussi sérieux, j'ai commencé à écrire quelque chose comme une mauvaise spécification, un aperçu de certaines sortes, et cela a perdu beaucoup de temps.
J'ai également fait 3 maquettes-trucs pour mon client, donc j'ai une bonne compréhension de ce qu'ils veulent. J'ai également publié un aperçu (une application de travail à jeter avec le flux de travail le plus basique), et je n'ai écrit et testé que certains des systèmes de base / de base.
Je pense que l'erreur que j'ai commise jusqu'à présent n'est pas d'écrire une spécification détaillée, donc j'y arrive maintenant.
Donc, le tout comprend
- Un site Web MVC (pour les administrateurs et la visualisation des données)
- 2 modules Silverlight (pour 2 tâches spécifiques)
- 1 application de bureau
Je suis totalement à court de temps, de ressources et j'ai besoin de faire vite, je dois aussi m'assurer que ces gars-là le lisent aussi rapidement et sans douleur.
- Alors, comment dois-je procéder, je cherche des conseils, des trucs du monde réel, comment faites-vous habituellement les gars?
- Faites-vous une maquette de chaque dialogue / formulaire / page?
Je pense à créer un projet de formulaires Web ASP.NET factice, puis à remplir des fichiers HTML dans des dossiers et à le faire ressembler à ma structure d'URL MVC.
Ensuite, avoir une section dans les spécifications du site Web et rédiger une page pour chaque URL que j'ai avec un screenie.
Pour mon application Win Forms, j'ai fait un peu un projet de démonstration Win Form, est- ce que je mettrais alors une boîte de dialogue ou structurerais tout comme je le ferais dans la vraie application et ensuite la capture d'écran?
Pour un peu de fond sur cette question. J'ai toujours été un mec fou de saut au code, ce qui a bien fonctionné, mais pour l'application sur laquelle je travaille, ce n'est pas seulement complexe, c'est pour une très grande et très réputée entreprise et je dois l'obtenir droite!
(Et ça s'est bien passé jusqu'à présent, aujourd'hui j'ai donné une démo de la version preview que beaucoup de gens ont aimé !! = D)
Si je réussis le design initial, j'aurai également de bonnes affaires avec cette entreprise, il y a déjà beaucoup de gens qui pensent à de nouvelles fonctionnalités "géniales" pour lesquelles ils sont prêts à payer.
Réponses:
Avez-vous lu la partie 2 de l'article ou son exemple de spécification ? Ils incarnent quelques principes importants lors de la rédaction d'une spécification.
Le meilleur conseil est d'écrire suffisamment pour être clair sur ce que vous devez faire. Si vous avez des questions ouvertes, documentez-les dans la spécification et obtenez des réponses de votre client. Une fois que vous avez bien compris ce qui est nécessaire, arrêtez .
Si vous ne faites pas attention, le document prendra sa propre vie. Il doit avoir un seul but, n'ajoutez rien au document qui ne correspond pas à ce but. Il devrait être facile à entretenir. Si vous avez l'intégralité de vos diagrammes de classes détaillés ainsi que d'autres détails qui appartiennent vraiment à un test unitaire, vous abandonnerez le document parce que l'entretien est trop ou vous n'obtiendrez jamais le projet terminé.
À propos de l'écriture
Écrire pour les gens est difficile . En fait, les deux choses les plus difficiles à écrire sont de savoir comment commencer et de savoir quand arrêter . Au début, il suffit de faire quelque chose. Mon conseil pour traiter ces deux aspects les plus difficiles est:
la source