Des besoins métiers aux spécifications logicielles avec Rational Partie 1
Objet de la session Définition et Gestion des Exigences, des pratiques complémentaires dans le cycle de développement applicatif, les phases de définition et de gestion des exigences n'occupent pas la même place. Le recueil et la définition des exigences requièrent des efforts d'analyse métier importants à mener en amont du projet. La gestion des exigences implique pour sa part des activités récurrentes sur toute la durée du cycle de développements. RRC et RequisitePro couvrent respectivement ces deux activités complémentaires.
De quoi s agit-il? Obtenir les besoins exacts Définir le problème et modéliser les solutions Conserver le contexte des besoins métiers Stratégie métier Définition des Exigences Identification Classifie Analyse Compétition Conformité Spécification Corrige Innovation évaluation Demandes client réécrit Validation Source: Karl Wiegers Espace du problème Barrières Organiser, prioriser, et tracer les besoins dans les modèles, le code et les tests Maîtriser l impact d un changement Savoir quels besoins ont été livrés Gestion des exigences Organise Priorise Trace Gère les changements Gestion de Projet Ingénierie Logiciel Espace de la solution Conçoit Développe Construit Test
Pourquoi est-ce si crucial au succès des projets? Les besoins définissent l orientation et le périmètre du projet, lorsqu ils sont mal définis ou mal gérés, le succès ou les coûts du projet sont compromis. Des études ont montré l impact des besoins sur les délais et les coûts des projets : La correction des erreurs sur les besoins peuvent coûter jusqu à 200 fois le coût initial 1 Jusqu à 25-40% des budgets sont consommés par le re-travail dû aux erreurs dans les besoins 2 Jusqu à 20-40% des lignes de code sont produites inutilement 3 Facteurs d échecs des projets [Chaos Report 3 ] 1. Incomplete Requirements 2. Lack of User Involvement 3. Lack of Resources 4. Unrealistic Expectations 5. Lack of Executive Support 6. Changing Requirements & Specifications 7. Lack of Planning 8. Don t Need it Any Longer 9. Lack of IT Management 10. Technology Illiteracy % of Responses 13.1 % 12.4 % 10.6 % 9.9 % 9.3 % 8.7 % 8.1 % 7.5 % 6.2 % 4.3 % «Time not spent in requirements is time spent in rework» (at cost x200) Sources : 1 IBM Research 2 IAG Consulting 3 Standish Group
Quelles sont les difficultés habituelles? Compréhension, Engagement, Collaboration, Communication, Expertise métier, MOA/MOE Clarté, Homogénéité infos Efficacité, Valeur métier, Planning, Délais Arbitrages, Maîtrise impacts, Rôles, Validations Quelles sont les opportunités d amélioration? Vision, Objectifs métier, Glossaires Notations visuelles simples Travail continu en équipe - Outils de communication et de collaboration Réseau d infos intégrées Processus itératif (RUP/UP, Agile, ) aligné sur les priorités métier Liens, maîtrise des changements Revues et validations en continu (à différents niveaux de granularité) Discussions, Compromis
Des impacts sur l ensemble de l équipe. La nécessité d un processus plus collaboratif, organisé et itératif. DSI Chef de Projet Analyste Pas de vision partagée Délais et Changements Pas de consensus Improductivité, Re-travail, Délais Sponsor Assurance Qualité Développeur Solution inacceptable Défauts livrés Re-travail permanent
Les challenges pour une production efficace de logiciels Seuls 34% des projets logiciels sont considérés comme réussis, avec des pertes estimées à 300 milliards de $ par an Seuls 42% des utilisateurs sont satisfaits de la qualité 1 Seuls 37% sont satisfaits de la vitesse des développements 1 50% des projets sous-traités sont estimés sous performants 2 60%-80% des budgets IT sont consacrés à la maintenance des applications existantes 3 Silos de personnes, processus, et projets Barrières Géographiques Problèmes de communication Langage, culture, heure Écarts de processus Barrières Organisationnelles Manque de collaboration réelle Faible gouvernance projet Manque d expertise métier Barrières d Infrastructure Outils/référentiels incompatibles Intégration d un nouvel arrivant Accès aux artefacts Sources : 1 Forrester Research 2 Gartner 3 Intelligent Enterprise.com
Jazz, une plate-forme pour transformer la production de logiciels Une initiative de technologie ouverte pour transformer la manière de travailler en équipe Robuste, extensible et adaptable Distribuée, fluide & dynamique Basée sur les communautés & ouverte sur Jazz.net Collaboration dans le Contexte Permettre la transparence dans l équipe sur qui, quoi, quand, pourquoi Bâtir la cohésion de l équipe Automatiser les jalons pour que rien «ne passe à la trappe» Gouvernance Adaptée Automatiser les workflows d équipe pour améliorer la productivité Automatiser la collecte de données pour éliminer les surcoûts administratifs Rapports en temps réel et alertes pour réduire les risques projets Productivité dès le Jour 1 Prévisions dynamiques des projets et équipes Planification itérative en temps réel et équilibrage des charges Unifier les équipes avec des choix d outils Intégration en temps réel des personnes, processus et projets tout au long du cycle de vie
Depuis 2007, Jazz complète l'approche Eclipse Intégration du poste de travail Intégration du cycle de vie Focus sur les fonctions Focus sur l'équipe Démarche manuelle Processus industriel et transparent
Jazz, une plate-forme serveur innovante offering offering offering offering offering offering Best Practice Processes offering Search and Query Dashboards Team awareness Events notification In context collaboration Security Intégrations Client Eclipse Web 2.0 Visual Studio JAZZ TEAM SERVER Open Lifecycle Service Integrations Intégrations Serveur Offres IBM existantes Offres Partenaires Offres Open source Collaborative ALM (Application Lifecycle Management) Jazz is a solid architectural foundation for further innovation [Gartner, 2008 Marketscope on ALM]
sur laquelle sont bâties des solutions (RTC,RRC,RQM) Team Concert L Innovation par la Collaboration d équipe Requirements Composer La Collaboration avec les Experts Métier Quality Manager La gestion centralisée de la Qualité pilotée par le métier Rational Team Concert offering offering Rational Requirements Composer Best Practice Processes offering Rational Quality Manager Business Partner Jazz Offerings Search and Query Dashboards Team awareness Events notification collaboration Security JAZZ TEAM SERVER Open Lifecycle Service Integrations ClearQuest Powered by ClearCase Build Forge Requisite Pro Asset Manager
Requirement Composer complète nos solutions de gestion des exigences avec de nouvelles capacités de définition Collaborer dans le contexte entre les sponsors, parties prenantes et équipes de développement Capturer, connecter et organiser le réseau d informations sur les exigences Glossaires métier Validation visuelle Objectifs métier Prototypes Rational Requirements Composer Définition des Exigences Exigences Processus métier Documents Cas d utilisation Scénarios et Maquettes Guider les équipes avec une approche contrôlable, reproductible et mesurable Traçabilité du cycle de vie Rational RequisitePro Gestion des Exigences Analyse d impact et de couverture Gestion de versions et du périmètre
Grâce à son socle Jazz, RRC permet de passer d informations disparates à une définition collaborative des besoins Spreadsheets Folders Glossaries Hyperlinks Data Models Emails DB DB Documents Images Référentiels et Formats Disparates Réseau d informations intégrées, avec des collaborations en temps réel
Requirements Composer : Capacités de définition des besoins métier Processus métier Élaborer les processus avec la notation BPMN Relier les tâches et points de décision : Maquettes à des tâches automatisées Cas d utilisation à des tâches Règles métier à des points de décision Les processus peuvent être repris et détaillés à l aide de WebSphere Business Modeler Glossaires Promouvoir la cohérence, clarté et l exactitude Lier les termes du glossaire à n importe quel élément textuel Maintenir plusieurs glossaires Entreprise, projet, client Domaine industriel Synonymes, termes liés, recherches, etc
RRC - Définir des enchaînements de tâches et formaliser les processus métier Capture des évolutions nécessaires : "As Is" / "To Be" Enchaînement des activités Chaque étape peut être précisée dans un document ou un scénario graphique
RRC - Enrichir un glossaire métier pour clarifier les termes employés Définitions, synonymes, abréviations... Référence au dictionnaire dans les documents de spécification
Requirements Composer : Capacités de définition des besoins utilisateurs et des besoins logiciels Cas d utilisation Créer des diagrammes de cas d utilisation Spécifier des cas d utilisation dans des documents riches Lier les cas d utilisation à : Des processus métiers Des maquettes d écran Des scénarios utilisateurs Maquettes d écran et scénarios Définir et valider les besoins d interface utilisateur Découvrir et valider les exigences à l aide de scénarios (storyboards) Un scénario est une séquence de maquettes d écran (sketches), où chaque maquette possède une description des actions amenant à la maquette suivante Mettre à jour facilement les scénarios tout au long des itérations du projet
RRC - Préciser les scénarios métiers que l'application doit supporter Format standardisé de texte Cas d'utilisation Acteurs impliqués
RRC - Préciser les scénarios graphiques Définir les étapes macroscopiques d'un cas d'utilisation Préciser chaque étape avec une maquette Spécifier les alternatives possibles
RRC - Définir une maquette des interfaces graphiques Composants évolués et dynamiques : Menus, Arbres Editeur visuel très simple à prendre en main
RRC - Interfaces graphiques. Réutiliser des bibliothèques de composants Vous pouvez enrichir progressivement une bibliothèque de composants graphiques et les agencer pour composer de nouvelles pages
Requirements Composer : Capacités de documentation, de collaboration et de revue des exigences Documents riches Organiser le réseau d information dans des documents Créer et relier des exigences Créer des liens entre documents et avec des sources externes Incorporer des diagrammes et des maquettes Collaboration Attacher des commentaires à n importe quel élément Participer à des discussions dans le contexte Effectuer des revues au sein de l environnement de travail Interface Web Visualiser et commenter tous les artefacts Participer à des revues Rechercher des exigences
RRC - Plate-forme collaborative Commentaires et échanges sur les spécifications Notification par mail Navigation directe vers la spécification Site Web collaboratif
RRC - Plate-forme collaborative. Gérer un référentiel d'informations centralisé Référentiel serveur Organisation par projets Gestion de répertoires et de tags Prise en charge des fichiers externes jpg, gif, xls, doc
RRC - Plate-forme collaborative. Maintenir un réseau cohérent d'informations Navigation intuitive par hyperliens Intégration des exigences de l'application dans les documents de spécification Gestion avancée des liens entre éléments
RRC : Solution Jazz collaborative de définition des exigences Analystes Définition des Exigences Parties prenantes Revue Web Cas d utilisation Documents Interface type Wiki Catégories / Tags Commentaires Revoir / Approuver Glossaires Scénarios et maquettes Requirements Composer Partage instantané des travaux Administration des utilisateurs / équipes / autorisations Liens entre tous les artefacts Historique des versions Processus métier RequisitePro Intégrer les exigences tout au long du cycle de vie logiciel (modèles, code, plans de tests, demandes )
Requirements definition platform Enhanced by our partners Requirements Composer Validate and find missing requirements Generate visual models from textual use cases to aid understanding Define, elicit and validate requirements through visual simulations Include irise simulations in the Requirements Composer web Rational RequisitePro DOORS Include RAVEN artifacts in the Requirements Composer web Rational AppScan (Security) Rational Policy Tester (Compliance) Functional Tester Performance Tester Software Analyzer SOA Tester Quality Manager Requirementsdriven software quality Enhanced by QM tools & practices
RRC se positionne en amont d un cycle de vie ALM ALM : Application Life-Cycle Management Process automation The three pillars of ALM Traceability Reporting & analytics The coordination of development life-cycle activities, including requirements, modeling, development, build, and testing, through: enforcement of processes that span these activities; management of relationships between development artifacts used or produced by these activities; and reporting on progress of the development effort as a whole. RRC RequisitePro Doors RQM ClearQuest RSM RAD, RTC
Des solutions complémentaires Un seul produit ne répond pas à tous les besoins, IBM maintient les deux Rational DOORS Systems / Complex IT Formal Req. Change Process Telelogic Tools / Harmony Process Regulatory Compliance Rational RequisitePro Software / IT Informal Req. Change Process Rational Tools / RUP IT Compliance Historiquement, DOORS et RequisitePro sont utilisés sur les projets de cette manière 29
Des pratiques à adopter pour améliorer progressivement la définition et la gestion des exigences Que sont les pratiques? Des solutions packagées incluant des techniques et guides où l impact sur les objectifs métiers peut être mesuré Pourquoi des pratiques? Adoption facilitée, contenu modulaire Souple utilisation individuelle ou ensemble Quelles pratiques? Shared Vision: Guides pour comprendre le problème métier Use Case Driven Development: Guides pour des besoins centrés utilisateurs Business Process Diagram: Définir les Objectifs Métiers Mesurer l Adhésion aux Pratiques et les Résultats associés Adopter des Pratiques Mettre en oeuvre des Pratiques Guides comment créer un modèle de processus dans un processus simple ou B2B (business to business)
Prochains événements Séminaire Gestion des exigences avec rational Doors Lyon 6 octobre Requirement engineering 8 octobre RSC 2009 15 octobre Proof of Technology RDM 10 Novembre
Backup Scénario ALM CMMi
RRC va s intégrer avec RTC et RQM au sein de scénarios agiles Team Concert Create work-items linked to requirements Requirements Composer View Requirements Submit defect Defect Fixed in Build x Deploy build x Link to requirements Quality Manager To this resource Build Engine Defect Verified * Scénarios agiles en cours d élaboration, accessibles sur jazz.net
IBM Rational RDM Solutions for CMMI initiatives Solutions IBM Rational CMMI v1.2 Requirements Management Purpose : manage the requirements of the project s products and product components and to identify inconsistencies between those requirements and the project s plans and work products. SG 1 Manage Requirements SP 1.1 Obtain an Understanding of Requirements SP 1.2 Obtain Commitment to Requirements SP 1.3 Manage Requirements Changes SP 1.4 Maintain Bidirectional Traceability of Requirements SP 1.5 Identify Inconsistencies Between Project Work and Requirements CMMI v1.2 Requirements Development SG 1 Develop Customer Requirements SP 1.1 Elicit Needs SP 1.2 Develop the Customer Requirements Requirements Composer + RequisitePro RequisitePro + Requirements Composer RequisitePro RequisitePro + a project plan + work products Purpose : produce and analyze customer, product, and product component requirements. Requirements Composer + Requisite Pro SG 2 Develop Product Requirements SP 2.1 Establish Product and Product Component Requirements SP 2.2 Allocate Product Component Requirements Requirements Composer + Requisite Pro + RSA/RSM SP 2.3 Identify Interface Requirements SG 3 Analyze and Validate Requirements SP 3.1 Establish Operational Concepts and Scenarios SP 3.2 Establish a Definition of Required Functionality SP 3.3 Analyze Requirements SP 3.4 Analyze Requirements to Achieve Balance Requirements Composer + Requisite Pro + RSA/RSM + prototypes/maquettes SP 3.5 Validate Requirements