Méthodologie

Méthodologie

Méthodes agiles : les enjeux

Sommaire

  1. Méthodes agiles : les enjeux
  2. Méthodes agiles : la démarche
  3. Méthodes agiles : techniques de mise en œuvre
  4. Méthodes agiles : les principales méthodes agiles
  5. Méthodes agiles : les clefs du succès

Cible et Problématique

Bon nombre de projets informatiques « s’achèvent » avec un bilan peu satisfaisant, pour cause de retard, de dépassement de budget ou de non-satisfaction des utilisateurs. Malgré une expérience forte de plusieurs décennies, ce constat reste malheureusement d’actualité. Pourquoi ?

L’analyse du bilan des projets qui ont connu un échec fait apparaître quelques causes qui sont presque toujours les mêmes :

  • La confusion entre les besoins estimés et les besoins réels
  • La forte pression d’un contexte économique ou d’un planning très tendu
  • Les modalités de forfaits qui figent dans le marbre les spécifications fonctionnelles
  • La volonté de respecter un ensemble de clauses contractuelles qui font oublier l’objectif initial
  • Des rapports parfois difficiles entre la maîtrise d’ouvrage et la maîtrise d’œuvre
  • L’utilisation de méthodes non adaptées ou mal utilisées
  • Le manque de communication à tout niveau

En réponse à cette analyse, de nouvelles méthodes de conduite de projets informatiques ont vu le jour il y a quelques années. Ce sont les méthodes agiles.

Enjeux

L’importance de la qualité

La définition de la qualité en sens ISO 9000 est la suivante :  » Aptitude d’un produit ou d’un service à satisfaire, au moindre coût et dans les moindres délais les besoins des utilisateurs. « .

C’est donc le point le plus important d’un projet et celui doit guider toutes les décisions d’un projet informatique.

La qualité est au cœur des concepts des méthodes agiles.

La maîtrise des risques

L’identification et l’élimination des risques (à défaut leur réduction) sont des tâches qui doivent être traitées en permanence sur un projet informatique. C’est ce qui s’appelle un pilotage par les risques.

Une fois les risques maîtrisés, les facteurs d’échec se trouvent grandement diminués.

Les méthodes agiles consacrent une grande importance à cet aspect comme cela est présenté plus loin.

Renvois bibliographiques :

Scrum – Le guide pratique de la méthode agile la plus populaire (Claude Aubry – DUNOD)

Gestion de projet : EXtreme Programming (Jean-Louis Bénard, Laurent Bossavit, Régis Médina, Dominic Williams- Eyrolles)

UML 2 en action (Pascal Roques et Franck Vallée – Eyrolles)

Wikipédia : Méthode Agile (http://fr.wikipedia.org/wiki/Méthode_agile)

Web mobile révolution

Pourquoi une révolution ?

Un marché en devenir

En 2016, il y avait environ 2,6 milliards de smartphones dans le monde. Selon le cabinet Park Associates, ce chiffre devrait atteindre 6,1 milliards d’ici 2020. En comparaison, fin 2010, on recensait environ deux milliards d’internautes sur PC. On peut donc parler de « Web Mobile Révolution » Leur nombre continuera à progresser mais plus lentement. En voici deux raisons importantes :

  • L’équipement en ordinateur dans les pays développés est arrivé à quasi saturation. En comparaison, le marché des smartphones est en pleine croissance et celui des tablettes le sera bientôt.
  • L’essentiel du potentiel de croissance de l’accès à internet des pays émergeants ou en voie de développement se fera par smartphones car ils y sont (et seront) plus aisément accessibles qu’un ordinateur.

Les sites internet pour mobiles (smartphones et tablettes) sont donc appelés à se développer de manière encore plus rapide et spectaculaire que leurs frères aînés pour ordinateurs il y a 10 ou 15 ans.

Un usage différent

Si le socle technique des sites internet pour mobiles est identique à celui des ordinateurs, il en va différemment de leur utilisation. En effet, ces sites correspondent à un besoin et un usage différent :

  • Un mobinaute peut être pressé, l’information doit donc être accessible très rapidement.
  • Il peut aussi chercher un passe-temps, le site doit être récréatif tout en étant adapté à son support de consultation dont les dimensions sont plus réduites.
  • Un site pour mobile ne doit pas nécessiter de concentration particulière car son visiteur n’est pas nécessairement dans des conditions propices (transports, en déplacement, en groupe).
  • Il doit limiter au maximum les interactions manuelles peu faciles sur un mobile, surtout lorsque celui-ci est utilisé d’une seule main.
  • Il doit s’adapter à l’utilisateur car un smartphone est avant tout un objet personnel bien souvent utilisé comme support pour les réseaux sociaux.
  • Il doit tirer parti au mieux du caractère nomade de son support pour offrir au mobinaute des services adaptés à sa localisation.

C’est pourquoi les sites internet pour mobiles doivent être pensés différemment. 2 Nouvelles contraintes, nouvelle approche Avant de se lancer dans le développement d’un site pour mobiles, il est utile de se rappeler quelques éléments essentiels qui vont conditionner cette réalisation.

De nouvelles contraintes

La diversité des navigateurs internet

Alors que le monde des ordinateurs personnels est caractérisé par une faible variété de navigateurs internet, celui des smartphones est beaucoup plus hétérogène. Parmi ceux qui existent, on pourra noter les plus répandus :

  • les déclinaisons du noyau Webkit sur les appareils Apple (iPhone, iPad), sur les appareils fonctionnant sur Androïd, et sur quelques plateformes propriétaires
  • Opera Mobile et Opera Mini
  • Internet Explorer Mobile

Il en résulte une difficulté accrue pour réaliser un site qui soit compatible avec les différentes plateformes. Il existe cependant des possibilités de tester son site sur différents types d’appareils en utilisant des émulateurs. On retiendra toutefois que l’application de quelques règles de bonnes pratiques associées à l’utilisation de standards favorise considérablement la portabilité d’un site.

Les limitations matérielles

Malgré les progrès spectaculaires réalisés lors des derniers mois, la configuration matérielle des smartphones reste inférieure celle des PC de bureau. Si les résolutions d’écran ont atteint un palier tout à fait acceptable (résolution de 800×400 points voire plus), la taille de l’écran est et restera un facteur limitatif. Ceci a un impact, non pas pour l’affichage des informations, mais en tant que dispositif tactile de pointage. A moins d’utiliser un stylet peu pratique et fort facile à perdre, les doigts du mobinaute offre une surface de contact importante, et donc peu précise. Il faut donc concevoir les éléments actifs de l’interface qui soient adaptés à cette contrainte (boutons, listes, …).

La plupart des smartphones ne disposent pas d’un clavier matériel. Celui-ci est remplacé par un clavier virtuel affiché à l’écran. Pour les même raisons que celles présentées ci-dessus, ce clavier virtuel occupe une place importante de l’écran, réduisant ainsi la surface d’affichage des pages du site. Les claviers des smartphones, qu’ils soient matériels ou virtuels n’offrent pas une ergonomie suffisante pour permettre la saisie de textes longs. Cette limitation doit également être prise en compte dans la réalisation d’un site web pour mobile. Enfin, le débit offert par les réseaux mobiles sur internet n’est pas encore aussi important qu’avec une connexion filaire classique. Cette contrainte qui tendra à s’atténuer dans le futur est aujourd’hui à prendre en compte si le site internet propose le téléchargement de gros volumes de données.

Quelques bonnes pratiques

Le W3C a énoncé les 6 commandements à respecter pour la réalisation d’un site web pour mobiles :

  • Epargnez le réseau
  • Libérez les utilisateurs
  • Appliquez les principes du web
  • Soyez flexible
  • Exploitez les terminaux mobiles
  • Optimisez les temps de réponse

Sans détailler tous ces points, il convient de souligner les quelques bonnes pratiques qu’il convient d’appliquer :

Faire preuve de simplicité

Cette règle est à appliquer en termes de présentation du site. Celle-ci doit être linéaire et intuitive. L’iconographie doit être explicite et universelle (des symboles plutôt que des textes). Les enchaînements de page doivent être logiques et la navigation implicite. Le style doit être épuré pour correspondre à un maximum de configurations.

Minimiser la taille

La taille des images doit être adaptée aux résolutions des mobiles (idéalement pas plus de 300 pixels de large). Elle doit être explicitement définie dans la page pour éviter toute adaptation du navigateur. Si cela est possible, prévoyez un mécanisme d’adaptation des images sur le serveur du site. La taille des pages doit aussi être limitée. En effet, si le défilement sur un écran d’ordinateur est une chose aisée, cela ne l’est plus avec un mobile. Cette opération doit donc être réduite si possible.

Aider l’utilisateur dans ses actions

Cette aide doit prendre plusieurs formes :

  • Limiter les entrées manuelles
  • Guider et contrôler la saisie avant envoi au serveur pour minimiser le risque d’erreur
  • Mémoriser les préférences pour éviter à l’utilisateur de devoir refaire des opérations identiques systématiquement à chaque visite.
Optimiser les échanges de données

Il faut compresser les données nécessaires au chargement des pages et éviter des envois inutiles de données au serveur si ces dernières ne servent que du côté client (stocker localement les données sur le mobile).

Quels supports pour réaliser un site ?

Un site internet est constitué d’un assemblage de composants technologiques dont les rôles sont complémentaires : HTML, CSS, Javascript, images, vidéos. Il existe différentes versions et différents formats pour ces composants. Voici quelques conseils pour bien les choisir :

La famille HTML

Il existe plusieurs déclinaisons du langage HTML et de ses dérivés (XML et XHTML). En ce qui concerne les sites web pour mobiles, le W3C préconise fortement l’emploi du Document Type XHTML 1.0 Strict lorsqu’on souhaite rendre compatible un site à la fois pour les ordinateurs et les mobiles. Le Media Type recommandé pour les fichiers html est text/html.

Du style avec CSS

Les feuilles de style en cascade, aussi appelées CSS de manière abrégée, permettent d’appliquer des styles de présentation au contenu d’un site. Il existe plusieurs versions de syntaxe pour ces feuilles de style. Ces versions sont appelées niveaux. Un niveau a même été conçu spécifiquement pour les sites mobiles : le profil CSS Mobile. Si le site cible doit être compatible à la fois pour les ordinateurs et les mobiles, il est conseillé de choisir le niveau 1 car il est proche du profil CSS Mobile.

Javascript : Le langage de script pour internet

Javascript est le principal langage de script utilisé sur le web aujourd’hui. Le support de Javascript sur les navigateurs mobiles est très contrasté, allant d’une absence complète de prise en charge, au support des fonctions des dernières versions. Dans ce cas, la solution la plus appropriée est de s’appuyer sur une librairie qui prend en charge la gestion de ces différents contextes. JQuery est l’une des principales librairies pour les développements de site sur ordinateur. Une version dédiée aux mobiles JQueryMobile a vu le jour récemment et simplifie énormément la préparation d’un site pour mobiles.

Images

On distingue 2 types d’images : les images vectorielles et les images en mode point (dîtes aussi bitmap). Pour les images vectorielles, il existe aujourd’hui 2 formats répandus : Flash et SVG. Nous recommandons l’utilisation de SVG car le format Flash n’est pas supporté sur certaines plateformes (comme celles d’Apple qui est un acteur important du marché). Pour les images bitmap, le choix se fera entre JPEG (si une altération légère de l’image est tolérée, comme cela peut être le cas pour des dessins) et PNG (à retenir si les images représentent des diagrammes, des logos ou des icones).

Vidéos

Contrairement aux images, les vidéos ne sont pas des éléments qui étaient nativement reconnus par les navigateurs avant l’arrivée d’HTML version 5. Il fallait donc avoir recours à des plug-ins pour exécuter ces dernières. Cette approche est problématique pour les sites à destination des mobiles. En effet, la disparité des plateformes et la difficulté ou l’impossibilité d’installation de plug-in sur ces dernières rend très difficile un choix de format de vidéo. HTML 5 a introduit une nouvelle balise pour résoudre ces problèmes. Pour autant, la gestion des différents formats de vidéos n’est toujours pas un standard car ces derniers continuent à évoluer rapidement.

S’il faut faire un choix, il conviendrait sans doute d’adopter l’un des 3 formats suivants : H.264, Theora ou WebM. Actuellement Google a annoncé renoncer à supporter le format H.264 et promeut le format WebM. Inversement, un consortium comprenant Apple et Microsoft défend le format propriétaire H.264 et tente de faire valoir des brevets sur le codec VP8 intégré au format WebM.

Autres composants

Il existe d’autres composants présents sur les sites web classiques. Le format PDF est ainsi largement répandu. Mais ces derniers ne disposent pas (encore) d’un support suffisamment grand sur les mobiles pour prendre le pari de les intégrer dans des sites dédiés. 3 2 sites différents pour PC et mobiles ? Avec tous les éléments présentés dans le point précédent, il apparaît nécessaire de prévoir 2 sites différents, l’un pour les PC et l’autre pour les mobiles. Pour autant, la réalisation et la maintenance de 2 sites représente un travail supplémentaire non négligeable. Il est donc important d’étudier comment réduire ce surcoût de travail. Pour cela, il existe 2 approches différentes.

Préparer 2 sites, tout en mutualisant au maximum leur développement

Cette approche est la plus coûteuse mais c’est celle qui permet de produire les sites pour mobiles les plus aboutis dont le contenu peut être vraiment spécifique au support. Le travail de conception porte sur la mutualisation de la structure et du contenu qui peuvent l’être sur les deux environnements cibles. Il reste malgré tout un travail conséquent d’adaptation pour les 2 types de sites.

Préparer le squelette d’un site et disposer d’un système de génération de sites pour ordinateurs et pour mobiles

Cette approche est très pratique lorsque le besoin correspond à un CMS. Les dernières versions des principaux CMS, à l’image de Drupal ou SPIP, permettent ainsi de générer à partir d’une base commune des sites pour ordinateurs ou pour mobiles. Cette approche évite de devoir faire la plus grosse partie du travail d’adaptation. Elle requiert toutefois des tests et des ajustements dans certains cas.

Est-il possible de ne pas adapter son site internet PC aux mobiles ?

Il existe une solution gratuite, mais généralement peu satisfaisante. Elle consiste à utiliser les solutions d’adaptation de contenu mis en place par certains opérateurs de réseaux mobiles ou certains moteurs de recherche tels que Google ou Bing. Il est inutile de préciser que cette adaptation se fait selon des règles qui ne tiennent pas compte des spécificités du site puisqu’elles doivent pouvoir s’appliquer à tous les sites transitant par l’opérateur ou le moteur de recherche. C’est un proxy d’adaptation qui se charge de ce travail. Les résultats obtenus sont acceptables pour les mobiles basiques.

Par contre, le système révèle ses limites avec des mobiles plus évolués sur lesquels on peut attendre un rendu plus optimisé. Il est heureusement possible de désactiver ces adaptations automatiques à l’aide de quelques directives insérées dans les pages html. C’est fort utile lorsque l’adaptation a déjà été réalisée à l’aide de l’une des 2 premières solutions.

Dans le cas d’un site spécifiquement conçu pour les mobiles, il ne faut pas oublier de bien communiquer sur cette adaptation. L’utilisation judicieuse d’un suffixe de nom de domaine de type .mobi y contribue sans aucun doute (attention toutefois à respecter les pratiques prescrites par la joint venture mTLD en charge de l’attribution des noms de domaine ayant ce suffixe). 4 Et demain… Les éléments qui ont été abordés dans cet article concernent ceux qu’il est possible de rencontrer aujourd’hui sur un site web. Or, les mobiles apportent des fonctionnalités nouvelles par rapport à un ordinateur. Il est plus que probable que les sites web pour mobiles de demain tireront parti de ces spécificités. Voici donc quelques tendances possibles :

Géolocalisation

La géolocalisation avec un mobile ouvre des perspectives intéressantes pour un ensemble de besoins liés à la position ou à l’itinéraire pour les utilisateurs. De nombreux sites web peuvent ainsi s’enrichir de fonctions clef pour les mobinautes : visite de sites, itinéraire pour aller à une adresse, affichage de cartes, jeux de parcours… Il existe une API Javascript qui offre déjà cette fonctionnalité de géolocalisation qui est exploitable sur l’iPhone, sur Androïd et sur Opera Mobile.

Interactions audio

La fonction première des mobiles était la possibilité d’avoir une conversation téléphonique avec un interlocuteur. L’appareil dispose donc par défaut d’un système d’acquisition de la voix. Il est possible de lui associer un système de reconnaissance vocale. L’intérêt d’un tel système est de pouvoir piloter les applications du mobile à la voix et offrir ainsi une nouvelle manière d’interagir avec ces dernières. Ce système permet de compenser les contraintes liées au clavier et au dispositif de pointage moins aisé à utiliser sur ce type de support. Toutefois, il faut disposer d’API spécifiques permettant de tirer parti de ce nouveau type interaction. Plusieurs groupes travaillent actuellement sur ce type de projet.

Accéléromètre

L’accéléromètre est un autre système qui se retrouve de plus en plus souvent sur les smartphones. Il est actuellement exploité à partir d’applications conçues nativement pour les appareils. Il est tout à fait envisageable d’imaginer de futures API qui exploite cette possibilité. Des projets sont en cours et quelques plateformes bénéficient déjà d’une API Javascript (QtWeb Runtime).

Technologies web et applications natives

Depuis quelques années, il existe un débat autour de l’approche qui doit être faite lors de la réalisation d’une application sur mobile : Faut-il choisir de développer une application native ou bien une application web pour mobile ? Au-delà des querelles de clocher qui peuvent animer les groupes de discussion, il convient de bien garder en tête quels sont les avantages et les inconvénients des deux approches pour faire son choix. A terme, il est tout à fait imaginable d’envisager des applications qui pourraient être mixes pour bénéficier des avantages des deux approches.

Renvois bibliographiques

« Relever le défi du Web mobile » (François DAOUST, Dominique HAZAEL-MASSIEUX – EYROLLES)
« Les bonnes pratiques du web mobile », Site du W3C (http://www.w3c.org/2007/Talks/11-parisweb/#%281%29)
« dotMobi Mobile Web Developers Guide », Site de mobiForge (http://mobiforge.com)

Est-il facile de choisir un progiciel ?

Contrairement aux idées reçues, choisir un progiciel n’est pas une chose si facile qu’elle peut en avoir l’air.

Assistance au choix de progiciels

Tout d’abord et comme toujours cela nécessite la rédaction préalable d’un cahier des charges. Pour ce faire, nous disposons d’une méthodologie éprouvée par de nombreuses années d’expérience.

Ensuite, la principale difficulté sera bien entendu d’arriver à faire la part des choses entre le discours commercial et les capacités réelles du produit. Outre le fait de faire la part des choses, il convient de pouvoir tracer tout ce qui sera dit dans les échanges avec les éditeurs ainsi que les modalités de choix.

La méthode AMJ-groupe de choix de progiciel comporte ainsi un double système de traçabilité.

L’autre grande difficulté à gérer concerne les appels incessants des éditeurs qui souhaitent savoir où en est leur dossier.

Autant d’éléments qui militent en faveur d’une assistance au choix de progiciels.

Réussir une reprise de données

La reprise de données

La reprise de données constitue une des étapes les plus délicates au sein d’un projet d’implémentation d’un logiciel de gestion. En effet, elle doit souvent être réalisée très rapidement juste avant le démarrage d’un projet. De plus, elle est susceptible de reporter ce démarrage, en cas de problèmes bloquants, ce qui entraîne des coûts supplémentaires.

Or, il arrive très souvent que cette phase pose des problèmes, soit :

  • bloquants, du fait de données impossibles à reprendre,
  • consommateurs de charges supplémentaires non prévues (chez le prestataire en charge de la reprise et chez l’entreprise elle-même), en raison de la complexité de la reprise de données, qui a été identifiée trop tard par les acteurs en charge de cette dernière.

Ces problèmes sont principalement dus à l’analyse, qui n’est pas toujours réalisée de façon exhaustive. En effet, il est nécessaire lors de cette phase de mettre en parallèle tous les champs de données du logiciel source avec les mêmes champs au sein du logiciel de destination. Bien entendu, cela nécessite au préalable d’avoir identifié ces champs au sein du nouveau logiciel, soit via l’utilisation de champs existants, soit via la création de nouveaux champs. Or, pour cela, la compréhension du mode de fonctionnement du logiciel source est indispensable.

Jeux de tests

A partir du moment où cette analyse a été réalisée, il s’agit de réaliser en premier lieu un test avec un volume de données peu important (par exemple, 10 % des données à reprendre).

Cela permet d’identifier les principales anomalies, et de les corriger rapidement. Ce test doit avoir lieu au moins 1 à 2 mois avant la reprise complète des données. La date du test est déterminée en fonction du volume des données, ainsi que du délai prévisionnel de correction des anomalies rencontrées.

Ensuite, en fonction de l’importance de ces dernières, un second test peut être programmé.

Ces tests permettent notamment :

  • de s’assurer que la reprise des données se déroulera dans les meilleures conditions,
  • de prévoir précisément la durée de la reprise des données.

Dans le cas où des statistiques sont générées dans le logiciel source, il s’agit de procéder aux éditions correspondantes, puis de contrôler dans le logiciel de destination que les données restituées au sein des nouveaux états sont identiques.

Réussir l’analyse d’implémentation d’un progiciel

L’analyse relative à l’implémentation d’un logiciel de gestion constitue l’étape la plus importante au sein de ce type de projet. En effet, elle décrit précisément la façon dont l’application sera paramétrée afin de répondre aux besoins fonctionnels de l’entreprise.

De manière générale, les fonctions du logiciel existant doivent être reprises pour la plupart au sein du nouveau logiciel. Afin de s’assurer que cela est effectivement le cas, il convient donc en premier lieu d’obtenir une bonne compréhension du mode de fonctionnement du logiciel existant.

Ensuite, une check-list des sujets à aborder lors de l’analyse doit être préparée par avance. Elle doit inclure l’ensemble des fonctionnalités en vigueur dans le logiciel existant, ainsi que les fonctions incluses dans le nouveau logiciel.

Le rapport d’analyse

Cette analyse est formalisée au sein d’un rapport, qui doit être soumis à l’entreprise pour validation. Cette validation est essentielle pour les raisons suivantes :

  • le rapport d’analyse constituera alors le document de référence, sur lequel chacun des intervenants du projet s’appuiera,
  • ce rapport permettra de disposer d’une ligne directrice claire valable pour la suite du projet,
  • il permettra de définir précisément le planning d’intervention et les charges imputables à chaque acteur du projet.

Le rapport d’analyse nécessite un cadre précis, afin de s’assurer que tous les sujets ont bien été évoqués. En effet, un des écueils les plus classiques dans un projet est bien souvent l’ajout de fonctionnalités ou de flux de données, qui avaient été oubliées lors de la phase d’analyse.

Cela conduit inévitablement à des décalages en termes de planning, ainsi qu’à des charges supplémentaires non budgétées.

Le rapport d’analyse doit être découpé de manière claire, de façon à ce qu’il soit compréhensible et sans ambiguïté. Il est dans ce cadre préférable de disposer d’un modèle par type de logiciel. Par exemple, en ce qui concerne l’implémentation d’une application de gestion commerciale,  le découpage du document en ce qui concerne les fichiers de base peut être effectué de la façon suivante :

  • gestion des fichiers de base
  • gestion des articles,
  • gestion des clients,
  • gestion des fournisseurs,
  • gestion des tarifs de vente,
  • gestion des tarifs d’achat.

Intégration de progiciels

Un progiciel est un outil de travail au service des utilisateurs et de l’entreprise. Les principaux objectifs de la mise en place d’un progiciel sont les suivants :

  • optimisation de la productivité de vos utilisateurs,
  • pilotage de votre activité.

De manière générale, l’implémentation d’un progiciel ne se réduit pas à des phases d’installation et de formation. En effet, il s’agit d’un projet complet comprenant des étapes qu’il convient de respecter, afin d’en assurer la réussite.

Choisir et mettre en place un progiciel

Dans ce cadre, AMJ peut vous assister lors des différentes phases de la mise en place de vos progiciels, en se basant sur une méthodologie éprouvée :

En ce qui concerne le planning, AMJ prévoit aussi bien les charges des intervenants au sein du fournisseur du progiciel que celles de vos chefs de projet et utilisateurs, afin que le planning établi tienne compte des disponibilités de vos équipes.

Le planning doit également comporter des phases distinctes ainsi que des jalons, associés à des indicateurs d’alerte.

La définition du planning permet de maîtriser les étapes du projet, ainsi que les coûts et délais associés.

Par ailleurs, la validation des livrables par vos soins est capitale. Elle permet de s’assurer de la conformité face au projet initial et de s’adapter aux nouvelles contraintes. Cela conduit notamment à optimiser le coût du projet.

Retour en haut