Notre méthodologie

Étapes et méthodologie pour la conception de logiciels

Méthodologie Agile

Le graphique de notre méthodologie

Notre approche bien établie s’inspire des meilleures pratiques agiles et est spécialement conçue pour vous permettre d’obtenir un produit fonctionnel plus rapidement.

Avec les méthodes traditionnelles de gestion de projet, une analyse détaillée de l’ensemble de la solution était effectuée en amont. Cela prenait beaucoup de temps et était très coûteux, et retardait le début du développement. De plus, il n’était pas rare que des précisions surviennent au cours du projet ou que des modifications soient apportées à ce qui avait été analysé au départ. Cela signifiait que beaucoup d’efforts étaient consacrés à la gestion des demandes de changement plutôt qu’à la valorisation des fonctionnalités les plus importantes.

Pour ces raisons, notre approche vous permet de réduire les coûts tout en maintenant la flexibilité pour s’adapter aux changements, en vous demandant régulièrement votre avis et en en faisant un élément clé de notre travail quotidien. Ceci résulte avec un projet plus réussi et un meilleur retour sur investissement (ROI) pour vous.

Nous avons aidé nos clients à atteindre :

Une amélioration de 10 % de la productivité par employé.

Learn how JCB Construction was able to make productivity gains by developing modules for inventory management, billing management and an iPad application.

Des économies et une évolutivité importantes.

Read about how our custom solution allowed Groupe JP Robin to meet strict data protection guidelines, and a new web interface allowed for better access when working remotely.

Une économique annuelle de 70 000 $.

Apprenez comment une application personnalisée pour iPad a permis aux employés de d’Auclair et Landry de sauver un approximatif de six heures par jour en saisie et transcription de données.

Une intégration entre logiciels système en temps réel.

Read about how the Director’s Guild of Canada consolidated databases, allowing for better workplace synchronization and faster aggregation of relevant data.

Phases du projet

Notre approche valorise la collaboration avec vos parties prenantes et se compose de trois phases :

Phase de découverte

Phase de développement

Phase de déploiement

Phase de découverte

Au cours de la phase de découverte (aussi appelée « itération zéro »), la première étape consiste à confirmer votre situation actuelle et/ou les problèmes que vous essayez de résoudre. Pour ce faire, nous examinerons la documentation dont vous disposez et rencontrerons vos parties prenantes. À partir des informations recueillies, nous rédigerons vos besoins sous la forme de récits utilisateurs, nous les classerons par ordre de priorité en fonction de ceux qui apportent le plus de valeur en premier, et nous estimerons leur taille relative afin de pouvoir les regrouper. Ces groupes nous permettront de préparer le plan de livraison.

Pour les projets de plus grandes envergures, cette phase peut être utilisée pour établir les prioriétés. Un seul projet peut donc avoir plusieurs phases de découverte.

Phase de développement

La phase de développement est un cycle itératif au cours duquel nous construisons votre solution personnalisée pièce par pièce.

  • Étape de planification – Nous précisons chaque récit utilisateur sélectionné pour l’itération en ajoutant plus de détails aux exigences sous la forme de critères d’acceptation.
  • Étape de la conception – Nous créons un design haute-fidélité qui définira l’apparence du produit final et son interaction avec les utilisateurs.
  • Étape de construction – Toute l’équipe collabore pour mettre en œuvre les fonctionnalités qui répondent aux critères d’acceptation et à la conception convenus.
  • Étape des tests – À ce stade, nous vérifions que la mise en œuvre répond aux normes de qualité d’affaires, fonctionnelles et conceptuelles, à la fois en interne et avec vous par le biais des tests d’acceptation par les utilisateurs (User Acceptance Test ou UAT en anglais). Cela nous permettra d’obtenir votre avis pour confirmer les travaux, ainsi que d’identifier les améliorations à mettre en œuvre maintenant et les améliorations futures souhaitées.

Phase de déploiement

Pendant la phase de déploiement, nous mettons en œuvre les nouvelles fonctionnalités dans votre environnement de production afin que vos utilisateurs puissent en bénéficier. This may occur several times during the project, depending on the needs of your stakeholders. Il est également possible à ce moment-là que de nouveaux besoins émergent de la part de vos utilisateurs, et nous pouvons les classer par ordre de priorité afin qu’ils puissent éventuellement faire partie d’un prochain cycle de développement.

Après le déploiement, il est également important d’assurer la surveillance et la maintenance de votre solution, ainsi que d’être en mesure de répondre aux demandes de support qui pourraient survenir.

Commencez votre projet

En savoir plus sur notre de découverte

Arrière-plan

Le développement d’un système logiciel personnalisé exige une compréhension mutuelle claire des résultats du projet, des besoins des parties prenantes et des habitudes des utilisateurs afin d’atteindre les objectifs commerciaux souhaités. Cela peut s’avérer difficile, étant donné que les informations requises sont généralement dispersées dans l’organisation sous la forme de connaissances des parties prenantes, de règles tacites, de documentation obsolète et de logiciels anciens. Identifier les sources d’information, obtenir des informations de ces sources et les passer au crible jusqu’à ce qu’il ne reste que des informations fiables sont des tâches essentielles à la réussite d’un projet.

Ces tâches ne peuvent pas être accomplies d’un seul coup au début d’un projet, car toutes les parties prenantes (tant du côté affaire que du côté de la mise en œuvre) sont limitées par le contexte dans lequel nous nous trouvons, ainsi que par nos connaissances et notre compréhension limitées du projet. Il n’est pas facile de fournir des informations fiables sur quelque chose qui n’existe pas encore.

Pour cette raison, la meilleure façon d’obtenir des informations fiables qui mèneront notre projet au succès est d’offrir progressivement des fonctionnalités aux utilisateurs, de recueillir leurs commentaires et de mesurer les résultats. Nous pouvons ensuite utiliser les informations recueillies pour ajuster l’orientation de notre projet et nous assurer que nous prenons toujours des décisions éclairées. Nous répétons ces étapes jusqu’à ce que nous ayons un produit suffisamment satisfaisant pour être mis en production.

Pour aider à mettre en place un tel rythme de travail, nous allons mener une phase de découverte légère.

Méthodologie du lancement

Une fois une entente conclue sur le nombre d’heures nécessaires pour la phase de découverte, nous commencerons le processus de découverte pour :

Établir un plan initial du projet ;

Préparer le projet sur le plan logistique ;

Créer un projet initial provisoire.

À la fin de ce processus, le client recevra un plan de livraison provisoire définissant le produit minimum viable (MVP) attendu pour l’application, composé d’un backlog de récits utilisateur estimées et classées par ordre de priorité. Le plan de livraison précisera la durée et le nombre d’itérations nécessaires pour livrer le MVP. Les exigences non fonctionnelles, telles que les attentes en matière de convivialité, de sécurité, de fiabilité et de performance, seront confirmées au cours de la phase de découverte.

Les environnements de développement et de test seront mis en place. D’autres travaux de préparation seront également menés, comme la mise en place de l’outil de gestion de projet pour la collaboration, l’obtention de l’accès aux différents systèmes et réseaux, et l’alignement sur la communication et les responsabilités. L’objectif est de s’assurer que nous pourrons démarrer dès le début de la mise en œuvre.

Sur le plan de la conception, nous déterminerons et validerons la pile technologique et la conception architecturale de haut niveau, l’aspect général et la convivialité de la solution, et nous produirons éventuellement des conceptions UI/UX de base pour faciliter la communication future.

Cette approche nous permettra d’établir un rythme de travail, de laisser l’équipe de projet adopter un certain niveau d’autonomie et de produire des indicateurs fiables pour la gestion du projet.

La phase de découverte est la base sur laquelle reposeront toutes les autres itérations et le projet final.

Résultats finaux

À la fin de ce processus, le client disposera des éléments suivants :

  • La confirmation des objectifs du projet et des mesures clés ;
  • Un plan de projet initial décrivant la portée, la priorité et le calendrier provisoire du projet ;
  • Un diagramme RACI/organisationnel clarifiant les responsabilités de chaque partie prenante ;
  • Un environnement de développement et de test ;
  • Un plan de communication pour que les réunions soient efficaces et efficientes ;
  • Une liste des exigences non fonctionnelles, telles que les tests d’intrusion prévus, les langages de support, les performances, la disponibilité, le temps de réponse, le temps de récupération, la portabilité, la maintenabilité, les normes et la conformité, les environnements d’exploitation, etc. ;
  • La confirmation de la documentation technique requise, notamment en ce qui concerne la réglementation et la conformité ;
  • La confirmation du nombre d’utilisateurs et de licences nécessaires ;
  • Un diagramme de contexte décrivant les choix technologiques de la conception du système et la façon dont les données circulent entre eux, en cas d’intégration avec des services tiers.

Et le cas échéant :

  • Des conceptions UI/UX de base pour faciliter les communications ;
  • Une stratégie de migration des données à partir du système existant ;
  • Un document clarifiant et établissant des normes de développement pour toutes les parties impliquées dans la mise en œuvre ;
  • Une preuve de concept technique pour aider à déterminer la conception architecturale du système.

À l’issue de ce processus, Direct Impact peut suggérer le budget nécessaire pour mener à bien le projet ou les phases du projet en fonction de la portée identifiée.