Devenez plus agile!

Modélisez au fur et à mesure de vos sprints
Créez, testez, validez et déployez à vitesse grand V

La suite...

Accélérez la mise en place de votre architecture AOS

Automatisez les mise à niveau, les tests et les déploiements

La suite...

Gérez plus facilement votre architecture multiniveau!

Voyez les différents niveaux se synchroniser sous vos yeux lors de vos sprints

La suite...

Ouvrez-vous au monde mobile

Développez plus rapidement des applications adaptatives pour les plateformes mobiles

La suite...

Pourquoi utiliser Rep++

Le MDD1 (model-driven development) est une approche de développement permettant d'implémenter très rapidement des systèmes d'information puissants et de grande qualité, de réduire leurs coûts de développement, de test, et d’entretien, et d’en accélérer la livraison. Cette approche est caractérisée par la séparation entre le modèle et son implantation technologique. Cette séparation devient d'autant plus pertinente que le nombre de dispositifs de présentation et leur système d'exploitation s'accroissent avec l'essor fulgurant des plateformes mobiles.

Les outils MDD, tel Rep++, permettent de faciliter le développement d'applications selon l'approche MDD, c'est-à-dire en respectant cette séparation entre le modèle et son implantation. Voici 4 raisons pratiques de les utiliser.

Lignes de code vs approches de développement

Raison 1: Accélérer le développement

Selon Gartner2, les outils MDD diminuent la codification manuelle de 2 à 15 fois.

Le MDD contribue grandement à rapprocher l’informatique des besoins d’affaires grâce à son modèle indépendant vis-à-vis des technologies et à la vitesse à laquelle la réponse à ces besoins peut être implantée. Plutôt que de coder en dur les applications, l'approche MDD exploite un modèle à partir duquel la majeure partie de la codification est automatisée. Les outils MDD vous permettent donc d'aligner beaucoup plus rapidement le développement sur vos besoins d’affaires. De plus, selon une étude Forrester®3, une nouvelle génération d’outils MDD utilise maintenant l'exécution de modèle plutôt que la génération de code pour traduire le modèle en applications : les définitions et les métadonnées contenues dans le modèle sont ainsi utilisées pour créer directement des applications fonctionnelles. L'exécution de modèle assure une mise à niveau en temps réel des applications et accroît la flexibilité dans les étapes de conception et de maintenance, en plus d'améliorer encore plus la productivité.

Raison 2: Accroître la qualité de vos applications

Les outils MDD accroissent la qualité des applications de plusieurs façons.

  • Les outils MDD intègrent et renforcent les principes, pratiques et normes architecturales et applicatives que votre organisation a mis en place. Grâce à la séparation du modèle des autres contraintes technologiques et à un découpage judicieux permettant d’isoler chacun des aspects du design et du développement (séparation des préoccupations), l’exécution de modèle renforce les normes organisationnelles relatives à l’architecture, aux technologies et à la sécurité, et facilite la mise en place des meilleures pratiques. Les applications sont donc intrinsèquement conformes à vos standards. Cette séparation entre les différentes préoccupations facilite également l’évolution et la migration technologiques.
  • Les informations stockées dans le modèle sont vitales à l’automatisation des services et des applications, elles en assurent de fait la documentation. Le modèle est donc un puissant système d’information qui documente et gère vos services et applications.
  • Les gabarits intégrés dans les outils MDD implantent et renforcent vos normes de présentation, d’interaction et d’architecture.
  • Une grande partie de la codification manuelle et répétitive est éliminée. Vos professionnels les plus compétents peuvent ainsi se consacrer à implanter les vrais besoins d’affaires et à encadrer les programmeurs moins expérimentés.
  • Les applications sont plus riches, car le modèle peut être défini de façon plus détaillée et cohérente.
  • Les applications sont beaucoup plus stables et moins susceptibles de contenir des erreurs de codification puisqu'une grande partie du code est automatisée. Cette stabilité se traduit par une diminution importante des tests techniques, ce qui permet de mettre l’accent sur les tests fonctionnels.
  • Les aspects fonctionnels sont aussi plus stables et moins sujets aux erreurs. Le modèle de l'approche MDD, non assujetti aux technologies, et la vitesse de réaction qu’il procure aux programmeurs permettent de mieux répondre aux besoins et aux changements évolutifs demandés par les clients.

Raison 3: Rentabiliser plus rapidement vos projets de développement

Pour de nombreuses organisations, le temps de mise en marché (time-to-market) est un différenciateur critique. En accélérant le développement, les outils MDD permettent de réduire significativement les échéances de mise en place de vos systèmes et, au bout du compte, de réaliser des économies substantielles. D'ailleurs, dans une étude publiée en juin 2014 par Forrester®4, les auteurs font l'observation suivante : "Il faut comprendre qu'utiliser une méthodologie agile est une condition nécessaire mais insuffisante pour livrer rapidement. À l'ère des clients tout-puissants, les équipes de développement et de déploiement doivent viser au-delà de l'approche agile pour réduire le temps de mise en marché."5

Selon une autre étude Forrester6, les coûts de maintenance et de soutien des divisions TI représentent 55% du budget applicatif total. De son côté, Gartner7 estime que l’optimisation pourrait permettre de couper 50% des coûts de développement et de maintenance. L’approche MDD, l’automatisation et la réduction des tests permettent de réduire considérablement les efforts et les ressources habituellement dévolues au soutien et à la maintenance.

Grâce à l’architecture multiniveau et à la séparation des préoccupations que l'approche MDD procure, les applications peuvent évoluer et suivre les tendances technologiques sans réécriture ou migration.

Raison 4: Rendre votre organisation plus agile

  • Les outils MDD permettent à la majorité des programmeurs de créer des applications de grande qualité, réduisant ainsi le recours à une élite de programmeurs aussi spécialisés qu'inaccessibles. L'automatisation d'une grande partie du code diminue d'autant la production de code de mauvaise qualité et, par conséquent, le temps passé à la correction d'erreurs et à la réalisation de tests.
  • Les capacités de prototypage des outils MDD, conjuguée à l'élimination de l’étape de création de la plomberie sous-jacente au fonctionnement d'une application, permettent de valider beaucoup plus rapidement les besoins auprès des utilisateurs et de réduire les risques de mauvaise compréhension. Vos cycles sprints sont ainsi plus courts et efficients, et vos coûts plus faibles.
  • Le modèle garantit une uniformisation et une grande cohérence entre toutes les phases du cycle de développement. De la conception à la maintenance, en passant par la codification, la documentation, les tests et l’exécution, cette façon de faire s’inscrit directement dans l’approche agile, où le passage d’une étape à l’autre (les sprints) doit être aussi rapide qu’efficace.
  • L’exécution de modèle réduit certains risques induits par l’approche agile dans les projets de moyenne et grande envergure, surtout lorsque de nombreux intervenants ou équipes doivent collaborer. Le partage du modèle entre les équipes garantit l’intégrité des livrables peu importe les intervenants, ce qui devient un facteur de succès non négligeable.
  • Vos processus d’affaires sont informatisés beaucoup plus rapidement, ce qui vous permet de réaliser des économies opérationnelles et de les réallouer vers d’autres priorités d’entreprise.
  • Vos systèmes sont mieux documentés et plus faciles à appréhender. Comprendre des milliers de lignes de code non documenté relève du défi, mais comprendre un modèle est beaucoup plus simple. En période de rareté des professionnels de haut niveau, les outils MDD vous aident à rehausser l'expertise de votre équipe de même qu'à accroître votre niveau d’autonomie, voire même le niveau de sécurité de vos systèmes.

1. Cette approche est également connue sous d’autres noms : model-driven software development (MDSD), model-driven architecture (MDA) et architected rapid application development (ARAD).
2. Blechar M. and Hotle M. "ARAD Methods and Tools Improve Productivity and ROI," Gartner report, 11 October 2004 (G00123515).
3. Rymer, J.R. The New Productivity Platforms – Your Solution To The AD&D Crunch, Forrester Research, 8 November 2011.
4. "Realize that Agile is necessary but not sufficient for rapid delivery. In the era of empowered customers, AD&D teams need to look beyond Agile methods to cut time-to-market." Richardson, C., Rymer, J. R., et. al. Development Platforms Emerge for Customer-Facing Applications. Firms Choose Low-Code Alternatives for Fast, Continuous, And Test-And-Learn Delivery. Forrester Research, June 9, 2014.
5. Traduction libre.
6. Forrester Research, State of the Enterprise Software and Emerging Trends Report.
7. Gartner Application, Architecture, Development & Integration Summit 2013.