Question

Je dirigerais bientôt un nouveau projet. Et j'ai réfléchi sur l'infrastructure de base d'un projet de logiciel. C’est ce que chaque projet devrait avoir:

- Conventions de style de codage

Conventions de nommage

- Structure du répertoire du projet standard (par exemple, disposition de répertoire standard standard maven, etc.)

-Gestion de projet et suivi des problèmes (par exemple, trac, redmine, etc.)

Serveur d'intégration continue (par exemple, Hudson, régulateur de vitesse, etc.)

Je ne suis pas sûr d'avoir manqué quelque chose. Quelqu'un voudrait-il ajouter?

Pas de solution correcte

Autres conseils

Comme réponse préliminaire, testez le test Joel: http://www.joelonsoftware.com/articles/fog0000000043.html

Juste un apéritif:

  
      
  1. Utilisez-vous le contrôle de source?
  2.   
  3. Pouvez-vous créer un build en une étape?
  4.   
  5. Faites-vous des builds quotidiens?
  6.   
  7. Avez-vous une base de données de bogues?
  8.   
  9. Corrigez-vous les bugs avant d'écrire du nouveau code?
  10.   
  11. Avez-vous un horaire à jour?
  12.   
  13. Avez-vous une spécification?
  14.   
  15. Les programmeurs ont-ils des conditions de travail silencieuses?
  16.   
  17. Utilisez-vous les meilleurs outils que l’argent puisse acheter?
  18.   
  19. Avez-vous des testeurs?
  20.   
  21. Les nouveaux candidats écrivent-ils du code lors de leur entretien?
  22.   
  23. Faites-vous des tests d’utilisabilité des couloirs?
  24.   
  • système de contrôle de révision (par exemple, subversion, cvs, git)

En plus du vôtre, je mettrai:

  • Stratégie de test unitaire
  • Stratégie de test d'intégration
  • processus défini
  • Stratégie de diffusion (livraison) (comme les jalons, les packages de travail, etc.)
  • Stratégie de branchement du contrôle de code source
  • Qu'en est-il de la documentation - comment (commentaires dans le code, spécifications de haut niveau), quand, montant, qui
  • Comment vous allez tester - unité / acceptation / test utilisateur
  • versioning de code, certains SVN / Git (ou est-il inclus dans trac?)
  • rôles et responsabilités de l’équipe - doivent être définis en même temps que votre projet

La gestion des connaissances est cruciale. Comme vous envisagez déjà d'utiliser un wiki (comme Trac ou Redmine ), vous pouvez également l'utiliser pour la gestion des connaissances.

Le test fonctionnel est une partie obligatoire de tout projet. Les tests unitaires sont excellents et fonctionnent bien pour les projets Agile, mais les tests fonctionnels sont toujours nécessaires. Vous avez besoin d'au moins un plan de test de base. Si vous envisagez de créer plusieurs projets ou sous-projets, un document de stratégie de test ou une page Wiki serait utile. Les scénarios de test, les scénarios de test d'acceptation, etc. peuvent être pilotés par vos user stories ou leurs équivalents, mais ils doivent toujours exister sous une forme quelconque.

Je jetterais aussi un serveur de partage de fichiers dans le mix. Je pensais que le contrôle de version était si fondamental, que je ne me suis même pas donné la peine de le mettre dans la liste. Mais c’est un bon point de contrôle de version.

Plan de gestion de la configuration. Vous devez avoir une approche documentée de vos flux de travail de développement, comment vous allez fusionner entre eux, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top