Management de projet et gestion de l’innovation Organisation des développements dans le secteur des micros et logiciels et modularité EVRARD JP, PECH François, SAUTEJEAU Florent Management de projet et gestion de l’innovation
Plan La modularité Le processus de développement logiciel Les fondements d’un processus flexible
1. La modularité
Le contexte La notion de modularité apparaît dans le secteur informatique au cours des années 60 Ce secteur doit déjà faire face au contexte suivant : Une complexité toujours croissante des systèmes Une évolution rapide des technologies Une exigence de coûts stables voire en régression A l’époque, chaque système est développé de manière unique et est compatible uniquement avec ses périphériques et logiciels propres Cette rigidité d’utilisation freine les renouvellements de matériel IBM décide alors d’adopter une nouvelle approche : la modularité
La modularité La modularité s’appuie sur deux types d’informations : Les règles de conception visibles : L’architecture spécifiant les différents sous-systèmes et leurs fonctions Les interfaces décrivant en détail les interactions entre modules (mécaniques, protocoles de communication,…) Les standards permettant de tester la conformité aux règles de conception générales Les paramètres cachés ; Caractérise l’information affectant localement le module sans interférer avec les autres
Définition des règles visibles de conception Phase sous la responsabilité du systémier Création de l’architecture Spécification des interfaces Définition de standards Nécessité d’une connaissance exhaustive du produit Phase critique au bon déroulement ultérieur du projet
Phase de développement Phase de développement par les équipes « modules » Autonomie totale sur le fonctionnement interne du module Respect impératif des règles définies en phase 1 Sous-traitant 1 Interne Sous-traitant 2 Joint venture
Phase d’intégration Phase de tests / recettage
Avantages de la modularité Réduction des coûts de conception Favorise l’innovation grâce à une implication supérieure sur un ensemble restreint Minimisation du time to market Standardisation des protocoles augmente la satisfaction client
Inconvénients/limites Importance du travail amont de spécifications Standardisation des protocoles facteur limitant la performance Générateur d’incertitudes lors des expérimentations par modules Mise en concurrence en amont peut devenir un frein à l’innovation
2. Le processus de développement logiciel : approches traditionnelles et flexibles
1ère approche : traditionnelle Cycle de vie du logiciel: modèle en V Vision séquentielle traditionnelle dans l’industrie Rigidité structurelle Peu de possibilités d’ajustements Modèle peu adapté à des industries en évolution rapide
1ère approche : traditionnelle Problèmes posés par le modèle traditionnel: Manque de réactivité devant l’évolution permanente du marché informatique et le risque d’obsolescence des produits Pas d’intégration de la demande clients ni des nouvelles technologies dans les phases avancées du projet
Modèle traditionnel vs modèle flexible Développement Traditionnel Phase conceptuelle Développement Délai de conception Délai de développement Début du projet « Gel » du concept Introduction sur le marché Développement Flexible Délai de conception Délai de développement Début du projet « Gel » du concept Introduction sur le marché Phase conceptuelle Développement
2ème approche : flexible « Overlap » : permet une approche itérative Modèle adaptée aux évolutions technologiques fréquentes du marché informatique Réduction des coûts Interactivité permanente avec les clients Spécifications Beta 1 Beta 2 Stabilisation Test Intégration Conception et codage Feedback utilisateurs et suivi produits concurrents Sortie
3. Flexibilité dans les processus de développement
Flexibilité dans les processus de développement Objectif : gérer l’évolution du produit en tenant compte de son environnement Prise en compte de l’évolution du marché et des besoins utilisateurs Évaluation et test de solutions techniques alternatives
Évolution des besoins utilisateurs Nécessité d’introduire des Feed-back utilisateurs continu et un suivi des produits concurrents Développement et diffusion rapide de versions beta successives 3 types d’approche Feedback interne pour les première versions et fonctionnalités Feedback consommateur pour les versions évoluées Feedback par des utilisateurs clés (professionnels,…) Exemples : Netscape (1000 employés) a developpé, pour Navigator 3.0, 7 versions beta publiques Microsoft (18000 employés) n’en a réalisé que 2, la majeure partie des évolutions ayant été testée en interne Yahoo! s’appuie de préférence sur un panel de 30000utilisateurs volontaires
Test de plusieurs solutions techniques Toute évolution technologique doit pouvoir être intégrée et testée rapidement et à moindre coût au cours du développement Exemple : NetDynamics a été confronté aux débuts du langage Java voué à devenir un standard Malgré l’instabilité de ce langage, NetDynamics a choisi de l’utiliser très tôt au travers de nombreux prototypes Passé cette phase de test, la maîtrise de ce standard émergent a conféré à NetDynamics un avantage concurrentiel important Cette approche est rendue possible par le faible coût de développement d’un prototype informatique (difficilement applicable à une industrie lourde)
Conclusion La conduite de projet informatique doit prendre en compte trois facteurs La connaissance des technologies, du marché, des besoins utilisateurs et de leurs évolutions L’intégration des technologies: chevauchement des phases de conception Expérimentation et expérience Différence d’approche des entreprises vient de leur gestion des connaissances Yahoo! et Microsoft consultent plus tardivement les utilisateurs que Netscape et NetDynamics