La clé permettant d'atteindre l'équilibre délicat entre livrer des logiciels de qualité et les livrer rapidement (le
paradoxe logiciel !) consiste à comprendre les éléments essentiels du processus et à suivre certaines recommandations
pour l'adaptation du processus afin de mieux répondre aux besoins spécifiques de votre projet. Cette tâche doit être
effectuée tout en adoptant les meilleures pratiques ayant contribué à la réussite des projets de développement logiciel
dans l'ensemble de l'industrie.
Le terme "petit projet" peut faire référence au nombre de personnes intervenant sur le projet, à la durée du projet ou
à l'envergure du logiciel développé. Pour les besoins de ces instructions, un "petit projet" sera un projet présentant
les caractéristiques suivantes :
-
3 à 10 personnes
-
durée inférieure à un an.
Une caractéristique essentielle des petits projets est le faible niveau de formalisme. Bien qu'il y ait des exceptions,
on peut considérer plus le nombre d'intervenants est élevé et plus le produit est important et complexe, plus le
processus devra être formel. Par exemple, si votre projet implique la participation de 100 personnes géographiquement
éloignées, ou fonctionne simultanément sur plusieurs produits liés avec de nombreux clients et sous-traitants, vous
aurez besoin d'un processus plus formel que pour une équipe de cinq personnes. De la même manière, un système de
guidage de missiles nécessite des artefacts plus formels que la mise à jour d'un système d'inventaire.
Alors pour un petit projet, pourquoi ne pas tout simplement se passer de processus ? La réponse est simple : un
processus permet de reproduire les pratiques gagnantes et d'éliminer ou d'améliorer celles qui sont défaillantes. RUP
offre notamment les avantages suivants :
-
une assistance concernant les meilleures pratiques
-
un ensemble de tâches, de rôles et de produits que votre processus devra peut-être prendre en compte (avec des
conseils concernant le moment où ces éléments seront nécessaires)
-
de nombreuses informations détaillées qui vous aideront à appliquer efficacement les techniques que vous jugerez
appropriées pour votre projet. Par exemple, si vous créez un modèle de conception UML, vous découvrirez quels sont
les diagrammes adéquats et comment structurer le modèle. En outre, si vous utilisez des outils Rational, vous
disposerez également d'une assistance concernant l'utilisation efficace de ces outils dans le cadre du processus
global.
-
une assistance sur la personnalisation du processus pour le traitement de problèmes spécifiques à votre processus.
Par exemple, si votre projet comporte un grand nombre d'exigences fluctuantes, une assistance sur la façon de gérer
efficacement ces exigences vous sera utile.
Que votre projet soit gros ou petit, vous utiliserez globalement les même activités et artefacts RUP : la différence se
situe plutôt au niveau du format des produits et du degré de formalisme, de détail et d'effort appliqué à chaque
activité. Pour les besoins de ces instructions, un "processus pour petit projet" s'appliquera aux projets nécessitant
un niveau de formalisme peu élevé. Parmi les caractéristiques de ce processus pour petit projet, nous citerons les
suivantes :
-
Les documents sont peu nombreux et peu détaillés. Au lieu de plans de gestion des risques et de plans d'acceptation
produit détaillés, les petits projets se contenteront de quelques paragraphes sur ces sujets au sein du Plan de
développement logiciel global. De même, le Plan de test pour chaque itération pourra se limiter à quelques
paragraphes dans le Plan d'itération.
-
Les petits projets démarrent souvent avec un nombre réduit d'outils de développement logiciel. Au fur et à mesure
du développement et de la réussite du projet (ce qui constitue l'objectif de tout petit projet !), il conviendra
d'ajouter des outils efficaces pour automatiser l'implémentation du processus par votre équipe.
-
Les revues formelles peuvent être remplacées par des réunions ou des discussions informelles.
-
La plupart des artefacts peuvent être capturés de manière informelle. Une liste des risques peut être créée sur un
tableau blanc, et les évaluations d'état peuvent prendre la forme de quelques paragraphes dans un courrier
électronique.
Pour définir un processus pour votre petit projet, vous devez commencer par revoir les principes RUP de base suivants :
Vous devez ensuite évaluer tout processus existant par rapport à ces éléments essentiels et concentrer vos revues sur
les points faibles identifiés. De nombreux projets préfèrent adopter de nouveaux outils et processus au fur et à mesure
des besoins, et n'utilisent au départ que de petites portions du RUP.
En utilisant le Rational Method
Composer (RMC), vous pouvez sélectionner ou désélectionner des packages de contenu RUP pour effectuer une
personnalisation grossière du processus, puis ensuite procéder à une adaptation plus fine en utilisant des vues de
processus ou en ajoutant vos propres instructions spécifiques au projet. Remarquez que RMC inclut une méthode de
configuration pour les petits projets. Il s'agit d'une configuration RUP plus petite avec des modèles "informels", qui
ne contient pas les instructions applicables aux projets plus gros ou plus formels. Les petits projets doivent
commencer avec ce modèle, puis appliquer leur propre personnalisation spécifique. Pour obtenir plus
d'informations sur les différents niveaux de personnalisation de RUP, voir aussi Concept :
Personnalisation de RUP.
L'Exemple: Un petit projet adopte le RUP illustre la manière dont un petit projet peut
appréhender la définition d'un processus. Vous trouverez des conseils détaillés sur la définition et la documentation
d'un processus de développement logiciel pour un projet dans Tâche : Personnaliser le processus de développement pour le projet.
Les petits projets peuvent nécessiter l'adoption de pratiques et de techniques associées aux "processus agiles". Ce
sujet est abordé dans Concept :
Pratiques agiles dans le RUP et dans Livre blanc : Personnalisation du RUP pour les petits projets : Utilisation de la
programmation extrême (XP).
|