Notre expertise

Avant le projet

Consulting
AMOA

Parce que votre système d’information est unique et que son organisation est propre à vos activités et objectifs, les nouvelles technologies ne vous sont pas toutes nécessairement utiles.
Notre approche d’Assistance à la Maîtrise d’Ouvrage (AMOA) est adaptée au contexte particulier de chaque client.
Une fois que votre entreprise prend la décision d’apporter un changement à son système d’information, voire même n’est que vaguement consciente qu’un potentiel d’amélioration est possible, notre rôle est de vous présenter dans les meilleurs délais et au moindre coût une solution informatique de qualité maximale qui lui sera dédiée.

 

Vos besoins actuels et à venir,vos objectifs, la structure actuelle de votre système, les intervenants et utilisateurs… Nos clients font appel à nos services, en amont, afin d’élaborer un schéma directeur.

Evaluer différents scenario possibles au regard des objectifs de la mission. Cette évaluation tiendra compte des coûts, des moyens à mettre en œuvre, de la durée et de l’adaptation de son application dans le contexte de la société et présentera pour chaque scenario les avantages et inconvénients.

Préconiser la solution la plus adéquate au regard de critères préalablement définis. Nous tenons particulièrement à ce que tout solution retenue ait une composante lui permettant d’évoluer dans le temps.

Pendant le projet

Méthode
AGILE

Les méthodes Agiles sont des procédures de conception de logiciel qui se veulent plus pragmatiques que les méthodes traditionnelles.
En impliquant au maximum le demandeur (client), ces méthodes permettent une grande réactivité à ses demandes, visent la satisfaction réelle du besoin du client, et non des termes du contrat de développement.

 

 

Elle est bien plus importante que les moyens matériels ou les procédures.
Il est préférable d’avoir une équipe soudée et qui communique composée de développeurs moyens plutôt qu’une équipe composée d’individualistes, même brillants. La communication est une notion fondamentale. 

Il est vital que l’application fonctionne.
Le reste, et notamment la documentation technique est secondaire, même si une documentation succincte et précise est utile comme moyen de communication.
La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n’est pas à jour.
Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l’équipe.

Le client doit être impliqué dans le développement.
On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client.
Le client doit collaborer avec l’équipe et fournir un feed-back continu sur l’adaptation du logiciel à ses attentes.

La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l’évolution de la demande du client tout au long du projet.
Les premières releases du logiciel vont souvent provoquer des demandes d’évolution.

L’eXtreme Programming (XP). Cette méthode met l’accent sur l’application stricte, voir à l’extrème d’un petit ensemble de règles tout au long de la réalisation du projet et en retour offre les bénéfices suivants : Réalisation d’un produit fonctionnel, conforme aux besoins changeants du client. Ecriture d’un code de qualité facilitant les futures maintenances… Scrum. C’est une approche itérative qui pose un cadre de travail minimaliste : des sprints, des réunions en début et fin de sprint, 2 backlogs, 3 rôles et tout est dit. Son but ? Aider à produire le maximum de fonctionnalités dans des délais de développement raisonnables.

L’approche utilisée peut être renforcée dés le démarrage du projet par l’utilisation d’outils appropriés.

 

  • Visual Studio, comme éditeur du code source,
  • NUnit, comme framework de test unitaire,
  • SubVersion, comme système de contrôles des sources,
  • Trac, comme outil web permettant le suivi quotidien des tâches en cours
  • CruiseControl.NET pour l’intégration continue

Méthode
TDD

Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d’écrire les tests unitaires avant d’écrire le code source d’un logiciel. Le cycle préconisé par TDD comporte cinq étapes

 

  • Ces tests permettent aussi de préciser les spécifications du code, et donc son comportement ultérieur en fonction des situations auxquelles il sera exposé.

  • Ce qui facilite la production d’un code valide en toutes circonstances On obtient donc un code plus juste et plus fiable.

  • En écrivant les tests d’abord, on utilise le programme avant même qu’il existe, n s’assure ainsi que le code produit est testable unitairement.

  • Il est donc impératif d’avoir une vision précise de la manière dont on va utiliser le programme avant même d’envisager son implémentation.

  • Cela évite souvent des erreurs de conception dues à une précipitation dans l’implémentation avant d’avoir défini les objectifs. De plus, le fait d’avoir des tests augmente la confiance en soi du programmeur lors de la refactorisation du code : il sait qu’à un moment donné les tests ont réussi.

  • Il peut ainsi se permettre des changements radicaux de design en étant sur, à la fin, d’avoir un programme se comportant toujours de la même façon (si les tests réussissent toujours).

  • L’utilisation de TDD permet la construction conjointe du programme et d’une suite de tests de non-régression.

Après le projet

Infrastructure et hébergement

Nous vous proposons d’héberger vos applications sur des serveurs infogérés (hyperviseur, superviseur, ITSM, sauvegarde) par nous-même.
L’hébergement est supporté par la société OVHCloud sur des datacenters répartis en France.

Nous pouvons paramétrer l’ensemble pour l’adapter rapidement à un pic d’utilisateurs tout en gardant des performances hautes, par exemple en faisant évoluer la bande passante ou l’espace disque. Nous assurons l’hébergement certifié HDS (niveau 1 à 5).

Voir plus : Infrastructure et hébergement