Français, English

IT Consultancy & Services

 

> CONCILIER RÉACTIVITÉ ET QUALITÉ DU LOGICIEL

Le développement des logiciels en entreprise représente dans de nombreux cas des opportunités de prendre et conserver des atouts concurrentiels. La rapidité et l’apparente facilité de la programmation d’applications Web, rend l’option du développement spécifique d’autant plus attrayante, tant du point de vue des coûts que des capacités d’offrir des services toujours plus avancés.

Faute de recul, de temps et parfois des compétences nécessaires, les organisations qui produisent du logiciel peuvent se trouver dans des situations où le contrôle qu’elles exercent sur le processus de création et d’exploitation devient incertain au fur et à mesure que s’accumule le capital technologique logiciel. Les symptômes se manifestent généralement après quelques cycles de release. Plus le temps passe, plus le risque devient important et la capacité initiale de réactivité est remise en cause.

Cela est particulièrement vrai pour les développements Internet, où les outils et les approches tournèrent le dos, au début du moins, aux principes de l’ingénierie logiciel. (Apparition de dialectes peu structurés, prolifération de langages de script, confusion des couches, concentration exclusive sur l’interface web, niveau d’interactivité avec l’utilisateur pauvre, …)

> APPLICATIONS WEB & DÉMARCHE DE GÉNIE LOGICIEL

Le temps de ces sites web est révolu et a laissé place à des applications web, qui doivent être accessibles partout, en mode 24/7, disponibles sur tout type de client (HTML, Client Riche, Wap, Pocket PC, etc…). Ces applications doivent en outre présenter un haut niveau de capacité d’extension scalaire (scalabilité) et être aisément reconfigurable pour satisfaire les exigences de la concurrence et la demandes des utilisateurs finaux toujours plus demandeurs. Haut de Page

> RE-ENGINEERING DES PROCESS DE PRODUCTION LOGICIEL

L’utilisation exclusive des techniques de développement des sites web, pour la plupart élaborées au début des années 90, ne peut répondre seule à la complexité d’une véritable problématique de développement d’applications web et par conséquent d’ingénierie logiciel.

Le but d’une opération FraXional CTO est d’étudier et de mettre en place un re-engineering des processus de spécifications, de production et d’exploitation logiciel de ses clients.

engineering concernent aussi bien les méthodes de management de projet, les outils de conception et/ou de production du code, la documentation, les techniques et outils de développements, les architectures de production, les méthodes qualités… Un plan de software process re-engineering FraXional CTO repose sur une stratégie de faisabilité progressive avec une recherche de résultats immédiats. Haut de Page

> UNE DÉMARCHE SIMPLE EN TROIS ÉTAPES

Un projet FraXional CTO, comporte trois étapes : l’Évaluation du processus logiciel, l’Élaboration d’un plan de software process re-engineering, l’Accompagnement et le suivi de la mise en œuvre du plan.

  • L’objectif de la phase d’Évaluation est de mesurer le capital existant et de le confronter aux enjeux stratégiques liés à l’activité logicielle du client. Au cours de cette phase nous procédons à une évaluation de la technologie accumulée, des savoir-faire, et des process logiciels. Nous travaillons essentiellement à partir des codes sources, de la documentation quand elle existe, et sur la base d’interviews de courte durée.
  • La phase d’Élaboration du plan de re-engineering débouche sur un ensemble de recommandations organisationnelles et techniques, accompagnées, le cas échéant, de prototypes opérationnels.
  • Durant la phase d’accompagnement et de suivi de la mise en œuvre, les consultants et experts de Softminders peuvent assurer le coaching et/ou tout ou partie de l’implémentation du plan de re-engineering.

Ainsi les recommandations issues des plans élaborés dans le cadre d’une démarche FraXional CTO ont une double fondation business et technologique; ils sont réalistes et favorisent l’utilisation du meilleur de l’ingénierie logicielle et de la technologie pour une production et une exploitation optimum de vos applications. Haut de Page

> PRINCIPES DE RE-ENGINEERING DANS UN PROJET FRAXIONAL CTO

Le génie logiciel, ou ingénierie logicielle, réunit plusieurs disciplines toutes en progrès constant. Le génie logiciel est trop souvent réduit à l’aspect méthodologie, ce qui ne reflète ni sa vocation ni la réalité actuelle.

Comme dans tous les process de développement complexes, l’ingénierie a pour but d’améliorer la productivité et la qualité et également de favoriser la créativité. Dans le contexte d’un département où l’activité logicielle,productivité signifie réactivité par rapport à un marché concurrentiel,maîtrise des coûts de développements et d’exploitation, mais aussi de plus en plus, notamment dans le monde web, haute disponibilité et capacité d’extension scalaire des systèmes.

Les principaux aspects sur lesquels un projet FraXional CTO focalise, sont ceux qui vont permettre de satisfaire ces exigences. Ils concernent en priorité les architectures d’exécution et les techniques de développement. Par ailleurs, il est de plus en plus rare de partir d’une situation où il est envisageable de repartir de zéro. La réutilisation au sens large est un principe de base dans nos actions de software process re-engineering, elle concerne aussi bien les ressources humaines et les compétences, les données, les codes sources, les applications partenaires, les savoir faire métiers. Haut de Page

> ARCHITECTURE N-TIERS

Ce terme recouvre en fait un concept simple, prouvé, pas si nouveau dans son fondement, mais finalement pas encore assez appliqué ou partiellement.

Une architecture ” N-Tiers” organise les composants d’un système par couche (tiers) en fonction de leur type de responsabilité (données, métiers, interface utilisateur).

En réalité la majeure partie des architectures est déjà N-Tiers mais le plus souvent en deux tiers seulement : le tiers données et le tiers Interface Utilisateur. Cette disposition en deux couches, souvent appelée Client-Serveur a montré ses limites en terme de capacité à évoluer, de scalabilité.

La maîtrise de la complexité des applications, et des applications web en particulier, passe par une stratification de plus en plus fine des architectures.

L’offre technologique actuelle met à la disposition des architectes et des développeurs des outils qui facilitent la structuration des logiciels en N-Tiers, notamment avec les Web Services.

Softminders possède une grande expérience dans la stratification des systèmes pour les rendre N-Tiers. Softminders a aussi ses propres technologies (Web Data Objects ®) pour créer la couche d’objets-métier.

Cliquer sur ce lien pour vous informer sur les architectures N-Tiers.   Haut de Page

> ARCHITECTURE DISTRIBUEE

Distribuer une architecture revient à doter les composants logiciels qui la constituent de la capacité d’être disponible sur plusieurs machines.

Une architecture distribuée est la condition sine qua non pour atteindre les objectifs de scalabilité et de haute disponibilité.

Si le principe est simple, la mise en œuvre l‘est moins et les impacts sur la conception du logiciel sont importants.

Toutes les réalisations de Softminders dans le domaine des applications Web sont basées sur des architectures distribuées. Là encore l’offre technologique actuelle en facilite le développement, la mise au point et le déploiement. Haut de Page

> COMPOSANTS ET “COMPONENTIZATION“

Les progrès les plus significatifs réalisés dans le domaine de la programmation sont sans aucun doute la programmation par composants. Extension naturelle des “objets“, les composants sont des petites unités de logiciels interchangeables, disponibles au stade du développement et/ou de l’exécution.

La programmation par composant représente l’état de l’art du développement aujourd’hui. Les nouveaux projets devraient tous prendre en compte cette approche.

Dans les projets de re-engineering FraXional CTO, non seulement nous vous aidons à identifier, à développer ou à acquérir sur le marché les bons composants, mais aussi nous vous aidons aussi à rendre composants des pièces de logiciel qui ne l’étaient pas initialement, c’est la ”Componentization”.

> OPTIMISATION DES PROCESSUS

Le re-engineering du process logiciel ne concerne pas seulement les aspects technologiques, mais bien entendu, et dans certains cas, surtout les processus eux-mêmes. A cet égard les consultants experts de Softminders apportent à leurs clients l’état de l’art en la matière. Nous adaptons les meilleures pratiques du ”Unified Process”, le standard mondial dans ce domaine à votre organisation et vous aidons à les mettre en place. Haut de Page

> Téléchargez les Documents