1 / 20

Edifice : processus eXtr me

Edifice : processus eXtr

liam
Download Presentation

Edifice : processus eXtr me

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    2. Edifice : processus eXtrème ? Le constat Les principes Le processus Edifice Edifice : un processus eXtrême ?

    3. Le constat : une situation paradoxale Volonté croissante d'évoluer au sein des entreprises : nouveaux produits, nouvelles offres commerciales, nouvelles organisations, nouveaux canaux de distribution Capacité décroissante des SI d'évoluer : de plus en plus d'applications, de flux d’informations, d’accès donnés aux utilisateurs (internes ou externes) Les utilisateurs sont rarement satisfaits de la capacité des informaticiens à maîtriser le développement et la maintenance de leurs systèmes d'information. Les principaux motifs de mécontentement sont les suivants : Les délais de développement sont trop longs : il est difficile d'accompagner les évolutions de l'entreprise, qu'il s'agisse d'organisation ou de gamme de produits. Au lieu d'être une aide, l'informatique est souvent un frein au changement. Il est impossible de tirer rapidement parti des évolutions technologiques. La qualité de service est difficile à assurer, surtout pendant des périodes de changement. Les dépenses informatiques atteignent des montants importants dont on a du mal à évaluer les contreparties. Toute la difficulté vient de la divergence croissante entre deux tendances contradictoires : La volonté croissante d'évoluer au sein des entreprises : qu'il s'agisse de nouveaux produits, de nouvelles formes d'organisation, de nouvelles approches commerciales ou de développement international. La capacité décroissante d'évoluer au sein de systèmes d'information qui accueillent de plus en plus d'applications, ce qui les rigidifie progressivement. Les systèmes réalisés de façon traditionnelle sont incapables de faire face à ce challenge, parce que leur intégrité est remise en question par chacun de ces changements. Les remèdes actuels ne suffisent pas car malgré toute l'énergie qu'ils dépensent et les moyens mis à leur disposition, les informaticiens n'arrivent pas à satisfaire la demande et se trouvent en situation défensive au sein de l'entreprise, obligés de justifier en permanence leurs dépassements de délais ou leurs dépenses. Les utilisateurs sont rarement satisfaits de la capacité des informaticiens à maîtriser le développement et la maintenance de leurs systèmes d'information. Les principaux motifs de mécontentement sont les suivants : Les délais de développement sont trop longs : il est difficile d'accompagner les évolutions de l'entreprise, qu'il s'agisse d'organisation ou de gamme de produits. Au lieu d'être une aide, l'informatique est souvent un frein au changement. Il est impossible de tirer rapidement parti des évolutions technologiques. La qualité de service est difficile à assurer, surtout pendant des périodes de changement. Les dépenses informatiques atteignent des montants importants dont on a du mal à évaluer les contreparties. Toute la difficulté vient de la divergence croissante entre deux tendances contradictoires : La volonté croissante d'évoluer au sein des entreprises : qu'il s'agisse de nouveaux produits, de nouvelles formes d'organisation, de nouvelles approches commerciales ou de développement international. La capacité décroissante d'évoluer au sein de systèmes d'information qui accueillent de plus en plus d'applications, ce qui les rigidifie progressivement. Les systèmes réalisés de façon traditionnelle sont incapables de faire face à ce challenge, parce que leur intégrité est remise en question par chacun de ces changements. Les remèdes actuels ne suffisent pas car malgré toute l'énergie qu'ils dépensent et les moyens mis à leur disposition, les informaticiens n'arrivent pas à satisfaire la demande et se trouvent en situation défensive au sein de l'entreprise, obligés de justifier en permanence leurs dépassements de délais ou leurs dépenses.

    4. Les besoins des entreprises Faire évoluer le SI L’ouvrir à l’extérieur (clients, partenaires, fournisseurs) Améliorer son évolutivité (technique et organisation) Améliorer sa fiabilité Réduire les coûts de maintenance, de fabrication Mutualiser les services offerts par le SI Fournir aux équipes informatiques les moyens de répondre à la demande des utilisateurs Fournir aux utilisateurs des services conformes à leurs besoins Aider les utilisateurs à définir leurs besoins Favoriser la convergence vers une solution Rendre les équipes informatiques plus réactives 3 types de besoins : Améliorer le SI => urbanisme, EAI Diminuer le coût de sa maintenance Améliorer le service aux utilisateurs3 types de besoins : Améliorer le SI => urbanisme, EAI Diminuer le coût de sa maintenance Améliorer le service aux utilisateurs

    5. La réponse Edifice Il y a 10 ans, fort des diverses expériences au sein des services des grandes entreprises, Lyon Consultants (devenu CGI France depuis) décide de formaliser une approche pour tenter de résoudre ce paradoxe L’approche est mise en œuvre sur de nombreux projets, de 500 à 5000 j*h, et est maintenant formalisée au sein d’un processus de fabrication de logiciel

    6. La réponse Edifice Trouver un juste équilibre entre autonomie / réactivité et rigueur / processus Converger vers la solution grâce à des itérations de fabrication Impliquer les utilisateurs dans la fabrication du logiciel Livrer régulièrement du logiciel Réutiliser Dissocier l’architecture et les composants applicatifs Se rendre indépendant des évolutions Les principes sont détaillés dans les slides qui suiventLes principes sont détaillés dans les slides qui suivent

    7. Fabriquer de manière itérative Pour converger vers la solution Pour réduire les risques (technique, délais, organisation, …) Pour favoriser les changements Pour motiver les équipes (utilisateurs et informaticiens) Pour évaluer de manière objective l’avancement du projet Cela suppose De s’appuyer sur les éléments d’architecture (framework) De fournir rapidement aux utilisateurs des éléments concrets : prototypage (outillé avec un framework) puis livraison de logiciel D’impliquer les utilisateurs 3° principe : fabriquer de manière itérative Le défaut majeur des cycles de vie classiques ("cycle en V" par exemple) est de ne pas favoriser les changements (enchaînement des étapes après validation formelle et exhaustive des étapes précédentes). Or on sait maintenant que les besoins d'une organisation évoluent de plus en plus rapidement. Il est donc vain (et dangereux) de vouloir continuer à s'opposer à cet état de fait. La démarche Edifice™ propose d'atteindre les objectifs d'un projet grâce à des itérations successives et convergentes. La convergence des itérations est favorisée par un prototypage évolutif via la réutilisation de composants, et non par des études préalables de faisabilité et une analyse exhaustive des besoins. Dans le cadre de projets au forfait, la principale difficulté est d'arriver à contractualiser ce type de démarche. En effet, si la démarche n'est pas expliquée correctement au client, celui-ci peut se sentir libre de faire évoluer ses fonctionnalités au gré des itérations. Il faut donc fixer clairement dans le contrat le contour fonctionnel connu au début du projet et contractualiser les évolutions intervenant lors des itérations par des avenants. La participation (et l'implication) des utilisateurs à cette démarche est primordiale pour sa réussite. Les utilisateurs doivent en effet être présents à chaque itération pour exprimer leurs besoins et utiliser les prototypes ou applications qui sont fournies pour ensuite transmettre leurs retours. 3° principe : fabriquer de manière itérative Le défaut majeur des cycles de vie classiques ("cycle en V" par exemple) est de ne pas favoriser les changements (enchaînement des étapes après validation formelle et exhaustive des étapes précédentes). Or on sait maintenant que les besoins d'une organisation évoluent de plus en plus rapidement. Il est donc vain (et dangereux) de vouloir continuer à s'opposer à cet état de fait. La démarche Edifice™ propose d'atteindre les objectifs d'un projet grâce à des itérations successives et convergentes. La convergence des itérations est favorisée par un prototypage évolutif via la réutilisation de composants, et non par des études préalables de faisabilité et une analyse exhaustive des besoins. Dans le cadre de projets au forfait, la principale difficulté est d'arriver à contractualiser ce type de démarche. En effet, si la démarche n'est pas expliquée correctement au client, celui-ci peut se sentir libre de faire évoluer ses fonctionnalités au gré des itérations. Il faut donc fixer clairement dans le contrat le contour fonctionnel connu au début du projet et contractualiser les évolutions intervenant lors des itérations par des avenants. La participation (et l'implication) des utilisateurs à cette démarche est primordiale pour sa réussite. Les utilisateurs doivent en effet être présents à chaque itération pour exprimer leurs besoins et utiliser les prototypes ou applications qui sont fournies pour ensuite transmettre leurs retours.

    8. Les itérations Chaque itération inclut la fabrication d’un sous-ensemble des fonctions du logiciel Le contenu des différentes itérations est fixé au démarrage du projet et revu à chaque itération Chaque itération donne lieu à un cycle complet de fabrication : analyse / conception / développement / tests / livraison interne Les utilisateurs sont impliqués dans chaque itération La livraison finale donne lieu à une intégration globale du logiciel et à des tests exhaustifs Les risques technologiques doivent être levés au plus tôt (i.e. dans les premières itérations)Les risques technologiques doivent être levés au plus tôt (i.e. dans les premières itérations)

    9. Réutiliser … … pour améliorer la qualité et la réactivité du SI Un glossaire commun Les services existants dans le SI (progiciel, legacy, …) Des composants (techniques ou métier) Des normes / règles de conception / de développement Des modèles de conception Des outils Un processus Premier principe d’Edifice : la réutilisation, à tous les niveaux : Fonctionnel, utilisateurs => glossaire Méthode de travail => processus, outillage, normes, modèles de conception (design pattern) SI existant => component mining Nouveaux développements => conception et développement Orienté Objet, composantsPremier principe d’Edifice : la réutilisation, à tous les niveaux : Fonctionnel, utilisateurs => glossaire Méthode de travail => processus, outillage, normes, modèles de conception (design pattern) SI existant => component mining Nouveaux développements => conception et développement Orienté Objet, composants

    10. Réutiliser … La majorité des SI sont aujourd’hui construits de manière monolithique : un besoin (un processus) = une application = une architecture (BD, middleware, IHM, …) Pour mutualiser et ainsi diminuer les coûts de maintenance de l’ensemble, il faut extraire ce qui est commun, au niveau technique dans un premier temps puis au niveau métierLa majorité des SI sont aujourd’hui construits de manière monolithique : un besoin (un processus) = une application = une architecture (BD, middleware, IHM, …) Pour mutualiser et ainsi diminuer les coûts de maintenance de l’ensemble, il faut extraire ce qui est commun, au niveau technique dans un premier temps puis au niveau métier

    11. Dissocier l’architecture des composants applicatifs Les applications réutilisent les éléments mis à disposition par l’architecture 2° principe : L'approche architecture permet de structurer les activités de développement logiciel à base de composants en vue d'une réutilisation maximale des éléments communs à l'effort de développement. Edifice™ apporte une distinction fondamentale entre les deux couches d'un système d'information qui coexistent : Celle de l'architecture définie comme l'ensemble des éléments logiciels, matériels et méthodologiques que l'on peut mettre en commun dans un système d'information et que les applications vont réutiliser. L'architecture vise à satisfaire les objectifs structurels de l'entreprise (réactivité, évolutivité, souplesse, cohérence, qualité de service, etc.). Celle des applications qui réutilisent les éléments de la couche d'architecture dont elles ont besoin et qui permettent de satisfaire les objectifs métier de l'entreprise (nouveaux produits, nouvelle organisation, nouveaux canaux de distribution, etc.). Pour les progiciels, essayer de choisir des outils ouverts et capables de s’interfacer avec le reste du SI. Si possible, choisir des progiciels conformes avec les principes d’architecture du SI (BDD, Middleware, voire langage de développement).2° principe : L'approche architecture permet de structurer les activités de développement logiciel à base de composants en vue d'une réutilisation maximale des éléments communs à l'effort de développement. Edifice™ apporte une distinction fondamentale entre les deux couches d'un système d'information qui coexistent : Celle de l'architecture définie comme l'ensemble des éléments logiciels, matériels et méthodologiques que l'on peut mettre en commun dans un système d'information et que les applications vont réutiliser. L'architecture vise à satisfaire les objectifs structurels de l'entreprise (réactivité, évolutivité, souplesse, cohérence, qualité de service, etc.). Celle des applications qui réutilisent les éléments de la couche d'architecture dont elles ont besoin et qui permettent de satisfaire les objectifs métier de l'entreprise (nouveaux produits, nouvelle organisation, nouveaux canaux de distribution, etc.). Pour les progiciels, essayer de choisir des outils ouverts et capables de s’interfacer avec le reste du SI. Si possible, choisir des progiciels conformes avec les principes d’architecture du SI (BDD, Middleware, voire langage de développement).

    12. Se rendre indépendant des évolutions Technologiques Dissocier architecture et applications Structurer le système d’information en couches (techniques et métier) La modification d'une couche doit influer le moins possible sur le fonctionnement des autres couches Organisationnelles 4 visions du Système d’Information Ne pas tout mélanger ! La technologie informatique (matériels, logiciels, systèmes d'exploitation, langages de programmation, technologies de communication, etc.) est en perpétuelle évolution. Les organisations et les moyens de production des entreprises évoluent en permanence pour améliorer la compétitivité. Les systèmes informatiques doivent faciliter ces évolutions et non les contraindre. Edifice™ préconise (comme d'ailleurs l'ensemble des acteurs du secteur informatique à l'heure actuelle) de dissocier l'architecture d'un logiciel en plusieurs couches, chaque couche ayant un rôle bien défini. Chaque couche sera plutôt d'ordre technique (liée à un type d'outil, par exemple accès aux données ou interface graphique) ou fonctionnel (par exemple composants métier global à un domaine fonctionnel ou spécifique à une application). La modification d'une couche ne doit pas influer (ou le moins possible) sur le fonctionnement des autres couches. De la même manière, la conception d'un processus métier de l'entreprise doit être le moins dépendant possible de son organisation. Un changement d'organisation doit influer le moins possible sur le processus métier. La technologie informatique (matériels, logiciels, systèmes d'exploitation, langages de programmation, technologies de communication, etc.) est en perpétuelle évolution. Les organisations et les moyens de production des entreprises évoluent en permanence pour améliorer la compétitivité. Les systèmes informatiques doivent faciliter ces évolutions et non les contraindre. Edifice™ préconise (comme d'ailleurs l'ensemble des acteurs du secteur informatique à l'heure actuelle) de dissocier l'architecture d'un logiciel en plusieurs couches, chaque couche ayant un rôle bien défini. Chaque couche sera plutôt d'ordre technique (liée à un type d'outil, par exemple accès aux données ou interface graphique) ou fonctionnel (par exemple composants métier global à un domaine fonctionnel ou spécifique à une application). La modification d'une couche ne doit pas influer (ou le moins possible) sur le fonctionnement des autres couches. De la même manière, la conception d'un processus métier de l'entreprise doit être le moins dépendant possible de son organisation. Un changement d'organisation doit influer le moins possible sur le processus métier.

    13. Les 4 visions du Système d’Information Se rendre indépendant des évolutions Afin de ne pas tout mélanger, Edifice préconise de bien distinguer 4 vues du Système d’Information : Le fonctionnel : répond aux questions telles que « Que doit faire le système ? », « Quels services doit-on automatiser ? » Cette vue permet d’isoler les fonctions (= services métier) qui pourront être réutilisées L’organisationnel : répond aux questions telles que « qui fait quoi ? », « quand ? », « Ou ? » Le logiciel : répond aux questions telles que « Comment informatiser les besoins exprimés ? », « Quels composants réutiliser ? », « Comment les réutiliser ? » La définition de configurations : répond aux questions telles que « Ou installer le logiciel ? », « Quelle version installer ? » Pourquoi distinguer ces 4 visions ? Distinguer ces différentes visions est la clé de la réutilisation. Cela est nécessaire pour extraire l'organisation, qui peut évoluer, durant l'analyse et le design des classes métiers. Le fait de ne pas clairement séparer ces visions et ces concepts engendre souvent une certaine confusion qui limite, à terme, la portée de la réutilisation. Dans une approche traditionnelle, on assimilait souvent la vision "fonctionnelle" à la vision "logicielle" : un processus = un développement spécifique = une application ou chaîne applicative. Cette approche "verticale" interdit toute nature de réutilisation. Ainsi, de façon générale, si l'on désire mettre en place une architecture de services basée sur la réutilisation, il faut veiller à ne pas confondre les processus fonctionnels et les logiciels à développer : on analyse et on informatise un processus, mais on développe une classe (ou un module) en réutilisant d'autres services ou classes développés au préalable. L'équipe d'intégration prépare des configurations logicielles qui sont déployées. Enfin, l'utilisateur final exécute une tâche. Afin de ne pas tout mélanger, Edifice préconise de bien distinguer 4 vues du Système d’Information : Le fonctionnel : répond aux questions telles que « Que doit faire le système ? », « Quels services doit-on automatiser ? »Cette vue permet d’isoler les fonctions (= services métier) qui pourront être réutilisées L’organisationnel : répond aux questions telles que « qui fait quoi ? », « quand ? », « Ou ? » Le logiciel : répond aux questions telles que « Comment informatiser les besoins exprimés ? », « Quels composants réutiliser ? », « Comment les réutiliser ? » La définition de configurations : répond aux questions telles que « Ou installer le logiciel ? », « Quelle version installer ? » Pourquoi distinguer ces 4 visions ? Distinguer ces différentes visions est la clé de la réutilisation. Cela est nécessaire pour extraire l'organisation, qui peut évoluer, durant l'analyse et le design des classes métiers. Le fait de ne pas clairement séparer ces visions et ces concepts engendre souvent une certaine confusion qui limite, à terme, la portée de la réutilisation. Dans une approche traditionnelle, on assimilait souvent la vision "fonctionnelle" à la vision "logicielle" : un processus = un développement spécifique = une application ou chaîne applicative. Cette approche "verticale" interdit toute nature de réutilisation. Ainsi, de façon générale, si l'on désire mettre en place une architecture de services basée sur la réutilisation, il faut veiller à ne pas confondre les processus fonctionnels et les logiciels à développer : on analyse et on informatise un processus, mais on développe une classe (ou un module) en réutilisant d'autres services ou classes développés au préalable. L'équipe d'intégration prépare des configurations logicielles qui sont déployées. Enfin, l'utilisateur final exécute une tâche.

    14. Les 4 visions du Système d’Information Se rendre indépendant des évolutions Ne pas détailler, trop long ! Pour info : Domaine : découpage fonctionnel comprenant les processus liés fonctionnellement entre eux (même critère de découpage que les paquetages : le moins d’interactions possible entre les domaines, le plus possible à l’intérieur d’un domaine) Concept : entrée du glossaire, définition d’un terme, d’un élément du système d’information, … Certains concepts deviendront des classes métier Processus : description d’un ensemble d’activités de l’entreprise amenant à la création d’un élément tangible, …. …. … La notion d’acteur (rôle) y est souvent incluse : on parle dans ce cas de workflow (cf. plus loin) Fonction : élément clé de la réutilisation. La définition (l’identification) des fonctions du SI est la clé de la mutualisation des services offerts par le SI Tâche : ensemble d’actions effectuées par un même acteur et laissant le SI dans un état stable. La tâche (ré)utilise un certain nombre de fonctions. Peut être interactive (transactionnelle), batch, une édition, une interface avec un système externe Workflow : enchaînement de tâches concourant à l’exécution du processus Rôle : acteur Unité : organisation de l’entreprise Paquetage : élément d’organisation du logiciel Classe / module : élément unitaire du logiciel Méthode / service : élément de code assurant un service à d’autres classes appelant ce service Composant : Unité logicielle indivisible de services exécutables. Peut être de type IHM (composant de présentation), métier (= services rendus par le SI => cf. web service) ou tout autre composant technique (middleware , accès aux données, …) Configuration logicielle : Ensemble de composants logiciels préparé pour un type de configuration système donné Il s’agit d’un concept récursif. Pendant la phase de déploiement, chaque configuration système (Ensemble matériel et logiciel sur lequel est lancé un système d'exploitation) dans le système d’information va recevoir la configuration logicielle qui lui est adaptéeNe pas détailler, trop long ! Pour info : Domaine : découpage fonctionnel comprenant les processus liés fonctionnellement entre eux (même critère de découpage que les paquetages : le moins d’interactions possible entre les domaines, le plus possible à l’intérieur d’un domaine) Concept : entrée du glossaire, définition d’un terme, d’un élément du système d’information, … Certains concepts deviendront des classes métier Processus : description d’un ensemble d’activités de l’entreprise amenant à la création d’un élément tangible, …. …. … La notion d’acteur (rôle) y est souvent incluse : on parle dans ce cas de workflow (cf. plus loin) Fonction : élément clé de la réutilisation. La définition (l’identification) des fonctions du SI est la clé de la mutualisation des services offerts par le SI Tâche : ensemble d’actions effectuées par un même acteur et laissant le SI dans un état stable. La tâche (ré)utilise un certain nombre de fonctions. Peut être interactive (transactionnelle), batch, une édition, une interface avec un système externe Workflow : enchaînement de tâches concourant à l’exécution du processus Rôle : acteur Unité : organisation de l’entreprise Paquetage : élément d’organisation du logiciel Classe / module : élément unitaire du logiciel Méthode / service : élément de code assurant un service à d’autres classes appelant ce service Composant : Unité logicielle indivisible de services exécutables. Peut être de type IHM (composant de présentation), métier (= services rendus par le SI => cf. web service) ou tout autre composant technique (middleware , accès aux données, …) Configuration logicielle : Ensemble de composants logiciels préparé pour un type de configuration système donnéIl s’agit d’un concept récursif. Pendant la phase de déploiement, chaque configuration système (Ensemble matériel et logiciel sur lequel est lancé un système d'exploitation) dans le système d’information va recevoir la configuration logicielle qui lui est adaptée

    15. Edifice : un processus itératif formalisé Les étapes du cycle de vie Axe temporel : définition : dédiée à l'étude de faisabilité détaillée du projet (analyse préalable et développement du prototype) construction : consacrée à la fabrication du logiciel sur la base des livrables de la phase de définition. déploiement : destinée à rendre le logiciel disponible et opérationnel pour tous ses utilisateurs et ses administrateurs. évolution : concerne toutes les activités de maintenance sur le logiciel déployé et utilisé. Axe temporel : définition : dédiée à l'étude de faisabilité détaillée du projet (analyse préalable et développement du prototype) construction : consacrée à la fabrication du logiciel sur la base des livrables de la phase de définition. déploiement : destinée à rendre le logiciel disponible et opérationnel pour tous ses utilisateurs et ses administrateurs. évolution : concerne toutes les activités de maintenance sur le logiciel déployé et utilisé.

    16. Dimensionnement de l’effort Identification des objets à fabriquer Classes métier Tâches (interactives, batches, éditions, interfaces) Métrique de dimensionnement, par type d’objet Catégorisation et évaluation de la complexité Attribution d’un nombre de jours par complexité Ajout de coefficients de pondération et de charges transverses Edifice : un processus itératif formalisé Le dimensionnement (de même que la planification) est effectué plusieurs fois lors du cycle de vie d'un projet : à l'issue de la phase de définition, après acceptation de la Décision de Faire (i.e. lors de l'envoi d'une proposition commerciale à un client) : la charge globale du projet est calculée, le nombre d'itérations est choisi. On ne connaît que le nombre de ressources pouvant être affectées au projet. au début de chaque itération, après le bilan de l'itération précédente : on a décidé le contour fonctionnel précis de l'itération, on calcule précisément la charge de l'itération et on affecte les tâches aux ressources identifiées Principe La complexité générale d’une application dépend bien sûr de la complexité des classes métier (concepts ou stocks) qui la composent, mais aussi et surtout du nombre et de la complexité des fonctionnalités du logiciel (tâches ou flux) qui vont les manipuler (dans un environnement objet, les tâches sont elles-mêmes constituées de classes). On évalue donc la complexité des classes métier sans se préoccuper de leur utilisation dans les tâches. On évalue de même la complexité des fonctionnalités du logiciel (tâches interactives, tâches batch, éditions) et des interfaces avec les systèmes externes. Le dimensionnement (de même que la planification) est effectué plusieurs fois lors du cycle de vie d'un projet : à l'issue de la phase de définition, après acceptation de la Décision de Faire (i.e. lors de l'envoi d'une proposition commerciale à un client) : la charge globale du projet est calculée, le nombre d'itérations est choisi. On ne connaît que le nombre de ressources pouvant être affectées au projet. au début de chaque itération, après le bilan de l'itération précédente : on a décidé le contour fonctionnel précis de l'itération, on calcule précisément la charge de l'itération et on affecte les tâches aux ressources identifiées Principe La complexité générale d’une application dépend bien sûr de la complexité des classes métier (concepts ou stocks) qui la composent, mais aussi et surtout du nombre et de la complexité des fonctionnalités du logiciel (tâches ou flux) qui vont les manipuler (dans un environnement objet, les tâches sont elles-mêmes constituées de classes). On évalue donc la complexité des classes métier sans se préoccuper de leur utilisation dans les tâches. On évalue de même la complexité des fonctionnalités du logiciel (tâches interactives, tâches batch, éditions) et des interfaces avec les systèmes externes.

    17. Approche pragmatique, basée sur l’utilisation de frameworks techniques et / ou métier Nécessite une forte implication des utilisateurs Livraison régulière de logiciel : prototypes techniques et/ou fonctionnels puis livraison des itérations … … Edifice : un processus eXtrême ? Edifice s’apparente à XP sur beaucoup de points …Edifice s’apparente à XP sur beaucoup de points …

    18. … … Dans un contexte d’offre de services, de projets aux forfaits Enveloppe financière initiale Attention à la contractualisation des changements Dans le cadre d’une intégration au Système d’Information des entreprises Adaptation à l’organisation, aux pratiques et aux contraintes du client Prise en compte des aspects transverses de la fabrication de logiciels : pilotage, intégration, reprise des données, … Edifice : un processus eXtrême ? mais avec des restrictions …mais avec des restrictions …

    19. Edifice : quelque part entre XP et UP Edifice : un processus eXtrême ? Edifice : entre XP (pragmatisme, itérations régulières et courtes, partage des responsabilités) et UP (centrée sur les modèles, sur l’architecture et la réutilisation)Edifice : entre XP (pragmatisme, itérations régulières et courtes, partage des responsabilités) et UP (centrée sur les modèles, sur l’architecture et la réutilisation)

    20. Edifice : un processus eXtrême ?

    21. Exemples de mise en oeuvre Gros projets Refonte totale du SI d’un compte utilities Référentiel comptable d’un opérateur télécom Projets moyens Gestion du transport maritime Sites Web Référencement de produits des fournisseurs du bâtiment Listes de mariage

More Related