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.
> 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.
> 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.
> 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.
> 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.
> 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.
> 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.
> Téléchargez les Documents