E N D
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’InformationNe 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