dimanche 25 octobre 2009

Bonne pratique du génie logiciel


Bonne pratique du génie logiciel

La complexité des projets informatiques s'est accrue aux fils des problèmes à résoudre. Cette discipline est assez récente, malgré tout, après d'innombrable projets informatiques réussie certaines pratique très importante ont sortie du lot.

Dans cet article, nous allons répertorier une liste de bonne pratique qui peut s'avérer cruciale dans la bonne réussite d'un projet informatique.

Système de gestion de versions

C'est un logiciel qui permet de gérer des fichiers, de connaître les différentes version d'un fichier, de connaître l'historique d'un fichier. Imaginez qu'un vous avez classe nommé Animal au début d'un projet, avec un tous outils vous pouvez sauvegarder chaque changement que vous faite sur cette classe. Vous pouvez revenir en arrière. Vous pouvez savoir qui a fait des modifications sur cette classe.

Les fichiers sont sauvegardé sur un serveur. Plusieurs personne peuvent travailler sur le même fichier.
Il en existe plusieurs sur le marché dont subversion et cvs.

Équipe

Limité le nombre de personne dans une équipe à 3 à 5 personnes. Créer plusieurs équipes au besoin. Affecté des tâches à chacune des équipes et redistribué à au membres des équipes.

Tableau, "White board"

Lors de rencontre, un tableau peut s'avérer très pratique afin de mieux faire comprendre une idée, d'énumérer ses données. De plus une photo peut être prise afin de pouvoir se remémorer une certaine idée.

Documentation

Il est très aisé après plusieurs moi d'oublier et de ne plus comprendre le fonctionnement d'une fonction, classe. Bien documenter son code contribue à diminuer de tel risque. Il ne faut pas oublier de modifier au besoin les commentaires lorsque des modifications sont apporté au code. Si le commentaire n'est plus valide, il peut mettre en erreur le développeur. Ce n'est pas nécessairement le même développeur qui a créer la classe, fonction qui va faire les mises à jour ou faire la maintenance du code.

Une documentation pour l'utilisateur final est aussi très importante, elle permet de diminuer les appels au support technique.

Échéancier

Un échéancier devrait être établie. Ce qu'il doit apporté en terme de fonctionnalité et de correction devrait aussi être déterminé. À chaque mois, 2 mois... une nouvelle révision du système pourrait sortir.

Spécification

Les spécifications devraient pas être écrite par un développeur qui travaillera sur le projet.

Logiciel de suivi de problème

Un logiciel de suivi de problème devrait être mis en place afin de pouvoir connaître les anomalies relié au système, affecter un problème à une ressource du projet.Bugzilla, Mantis, JIRA sont parmi les plus populaires de ce type d'outils.

Performance

Un temps devrait être alloué pour optimiser le système. Par exemple, à la fin de chaque béta, quelques jours, semaine peuvent être consacré à l'optimisation du système.

Revue de code

Une revue de code devrait être fait sur une base régulière. Voir l'article qui est consacré sur le sujet sur ce site.

Test

Des ressources du projets devrait être alloué pour tester le système, des tests unitaires devraient être créé. À chaque nuit, ses tests peuvent être roulé afin de voir si les changements apportés ont créé une régression.