Concept: Personnalisation d'un processus pour un petit projet
Ces instructions décrivent la personnalisation du RUP pour un petit projet.
Relations
Description principale

Introduction

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.

Définition d'un "petit projet"

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.

Caractéristiques d'un processus pour petit projet

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.

Mise en route

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.

Personnalisation avancée du processus

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).