La collaboration entre les équipes de développement et de

Transcription

La collaboration entre les équipes de développement et de
Livre blanc
La collaboration
entre
les équipes de
développement
et de production :
un atout pour
l'entreprise.
Le développement Agile facilite les opérations
informatiques dans le cloud.
chose de tout à fait révolutionnaire : la capacité à répondre rapidement
et efficacement au changement. Une coopération accrue peut faciliter
le flux des informations et des connaissances entre les deux équipes :
les services informatiques deviennent ainsi plus performants, plus
faciles à gérer et à dépanner, plus rentables et plus disponibles.
Notez que l'approche décrite dans ce document s'applique aussi bien à
un développement Agile que non-Agile (waterfall). Tandis que le cloud
est une solution qui a fait ses preuves pour cette approche, l'approche
collaborative décrite ici fonctionne également avec des modèles sur
site et hybrides.
Le cloud est un nouvel état d'esprit,
porteur de nouvelles méthodes.
Le cloud computing est désormais une réalité. Le déploiement de
services basés sur le cloud permet déjà à certaines entreprises
d'obtenir des niveaux inégalés en matière d'efficacité, de flexibilité
et de réduction des coûts. C'est pourquoi tant d'entreprises adoptent
désormais le modèle du cloud. Le groupe Forrester prévoit que le
marché global pour le cloud computing passera de 40,7 milliards de
dollars en 2011 à plus de 241 milliards de dollars en 2020,1 et selon
un sondage récent réalisé par Electric Cloud, 48 % des entreprises
déclarent aujourd'hui utiliser ou envisager d'utiliser le cloud
computing.2
Cependant, le cloud requiert l'adoption d'un nouvel état d'esprit quant
à la manière dont les applications sont développées, déployées,
surveillées et gérées.
Introduction
La collaboration est le thème récurrent du cycle de vie d'une application.
A l'étape de préproduction, les méthodologies Agile facilitent la
collaboration entre les équipes de développement, les équipes
d'assurance qualité et les analystes métiers. Lors de l'étape de
production, les équipes d'opérations informatiques collaborent plus
étroitement afin d'optimiser la surveillance des applications et les
pratiques de gestion.
La question qui se pose est donc la suivante : pourquoi y-a-t-il
encore tant d'équipes de développement et de production avec un
niveau d'interaction si faible ? Après tout, toutes ces équipes ont des
connaissances dont les autres pourraient bénéficier. Pourtant, de
nombreuses équipes ignorent trop souvent comment travaillent les
autres équipes et communiquent très mal, voire pas du tout.
La plupart des entreprises réagissent à ce problème en se disant que
c'est trop compliqué. Les développeurs doivent déjà pour leur part
gérer leurs propres problèmes (certains étant paradoxalement liés aux
complexités inhérentes au développement Agile). Quant aux équipes en
charge de l'exploitation, elles sont souvent tellement submergées par
les tâches de routine qu'elles n'envisagent pas de compliquer encore
davantage leur travail.
Cependant, les opportunités et avantages d'une collaboration accrue
entre ces deux groupes devraient compenser de loin toute inertie à court
terme, et les initiatives dans le domaine du cloud computing peuvent
faire office de catalyseur pour rapprocher les équipes de développement
et de production.
Ce livre décrit comment les entreprises peuvent intégrer
progressivement des fonctions de développement traditionnelles avec
des fonctions d'exploitation conventionnelles, afin de créer quelque
2
En évoluant vers le cloud, les avantages et les exigences de
collaboration augmentent. Par exemple, avec le cloud vous pouvez
essayer de surveiller des ressources dont vous n'êtes pas propriétaire ;
il est donc d'autant plus important de mettre en place des pratiques
rigoureuses en matière de surveillance pour identifier la cause précise
des problèmes rencontrés. Il peut également s'avérer très difficile pour
les développeurs de diagnostiquer et de résoudre des problèmes liés
aux applications basées sur le cloud, si les équipes de surveillance
des opérations informatiques ne leur fournissent aucune donnée
de performances ni d'information sur les utilisateurs. L'équipe en
charge de l'exploitation aura aussi du mal à interpréter et résoudre
les problèmes des utilisateurs si elle ne connait pas les exigences
premières qui ont amené l'entreprise à concevoir l'application.
Alors que les entreprises adoptent le cloud, que ce soit via la
virtualisation, des modèles hybrides qui marient déploiement sur
site et cloud, des clouds privés ou des services de cloud public,
elles découvrent que le modèle de cloud combiné à Agile requiert
une coopération accrue entre les équipes de développement et de
production, car la fréquence des nouvelles versions est plus rapide et
l'infrastructure cible plus variée. Les deux sections suivantes décrivent
comment il est possible de parvenir à ce niveau de collaboration.
Agile peut instiller la valeur de la
collaboration.
L'émergence des pratiques de développement du logiciel Agile a déjà
contribué à un sens plus aigu de la collaboration entre les équipes de
développement. Grâce au développement Agile, toutes les parties
prenantes deviennent des membres d'équipes actifs plutôt que des
spécialistes en silos. Ces équipes multifonctionnelles développent
le logiciel de façon incrémentale, itérative et adaptive, et l'approche
adoptée permet d'effectuer des tests fonctionnels, de performances et
de sécurité complets, ce qui facilite la détection précoce des risques et
des défaillances. De plus, les équipes Agile anticipent les changements,
de sorte que l'évolutivité est une caractéristique intégrée au logiciel.
Figure 1
L'adoption de la méthode Agile améliore le développement.
Environnement traditionnel
Gestion
• Equipes en silos
• Contrats de travail définis
• Développement du bloc de
construction
• Documentation lourde
• Applications autonomes
•R
apport mise en production/
application de 1.1
• Equipes
multifonctionnelles
• Portée flexible
• Développement itératif
• Rapport mise en production/
application de 1.1
• Logiciel fonctionnel
• Applications composites
Lorsqu'elle est correctement mise en pratique, l'approche Agile
génère très rapidement une valeur ajoutée et accélère le retour sur
investissement. De plus, en encourageant le travail d'équipe, les
révisions fréquentes, les itérations multiples, l'auto-organisation
et la définition des responsabilités, les meilleures pratiques
Agile permettent d'offrir rapidement un logiciel de qualité et une
approche métier qui aligne le développement logiciel avec les
besoins des clients et les objectifs de l'entreprise.
Figure 2
L'adoption de la méthode Agile améliore le développement.
"Quel effet l'adoption de la méthode Agile a-t-elle sur les caractéristiques de développement suivantes ?"
(4 des 5 réponses sont affichées ici, basées sur une échelle de 5 points où 1 = Détérioration significative et 5 = Amélioration significative)
$PÄOLRUDWLRQVLJQLƭFDWLYH
3URGXFWLYLWÄ
29%
Qualité
&RPPHUFLDOLVDWLRQ
Coût
51%
35%
16%
37%
56%
9DOHXUDMRXWÄH
7DX[GHUÄXVVLWHGXSURMHW
/ÄJÃUHDPÄOLRUDWLRQ
36%
35%
29%
25%
41%
40%
Base : 113 décideurs informatiques ayant des connaissances dans les activités de modernisation financées qui ont adopté l'approche
de développement Agile
Source : Etude réalisée par Forrester Consulting pour le compte de HP, février 2010.
3
Les méthodologies Agile encouragent également une plus grande
collaboration entre les équipes commerciales et de développement
pour garantir que les applications sont bien élaborées en fonction
de use cases business. Cependant, la gestion des applications n'est
généralement pas incluse dans les use cases. La façon dont l'application
sera gérée et le processus de résolution des problèmes liés à
l'application sont très souvent envisagés après coup. En général, l'équipe
informatique n'intervient dans les exigences de gestion que lorsque
l'application est prête à être déployée vers la production, ou pire, une fois
qu'elle a été déployée et a échoué. L'accélération et la fréquence accrue
du déploiement des applications signifient qu'il devient de plus en plus
important d'inclure la gestion des applications en tant que use case dans
les meilleures pratiques de développement Agile.
Autrement dit, il existe un besoin imminent pour les opérations
informatiques de collaborer de façon plus efficace avec les équipes de
développement, afin que les développeurs prennent en compte les
exigences de gestion avant que l'application ne soit déployée vers les
opérations.
De plus, le travail avec l'équipe de développement est essentiel
pour déterminer la meilleure voie qui conduira l'application vers la
production. Les opérations informatiques ne disposent pas toujours
des ressources nécessaires pour prendre en charge une nouvelle
application ; elles peuvent par conséquent déployer l'application dans
le cloud, ce qui aurait un impact sur le développement et la gestion de
l'application.
C'est pourquoi, le développement Agile et le cloud computing sont
des catalyseurs pour la collaboration précoce entre les équipes de
développement et les équipes de production. Une collaboration plus
étroite signifie que le déploiement des applications est plus rapide,
que l'efficacité des services informatiques en matière de surveillance
des applications est accrue et que la résolution des problèmes liés aux
applications est également plus rapide.
La section suivante fournit des informations détaillées sur la
localisation des problèmes et ce qu'il faut changer pour obtenir un sens
encore plus accru de la collaboration.
Rien ne remplace le monde réel.
Les développeurs disposent de connaissances et d'informations
qui sont hautement utiles pour les équipes de surveillance des
applications du côté des opérations informatiques. Ils ont une
connaissance globale des exigences de l'entreprise en termes de
conception et de performance, et disposent d'informations détaillées
sur la mise en œuvre qui ont un réel impact sur les problèmes de
performances dans le monde réel.
D'autre part, les équipes de surveillance en production ont accès à
des informations essentielles pour les développeurs : des données
des utilisateurs en temps réel (trafic des flux de clic, performances
des pages, erreurs des applications, sessions des visiteurs sur les
applications Web, etc.).
Ces données sont importantes car comme les développeurs le savent
très bien, les applications de préproduction ne produisent pas toujours
les performances escomptées une fois qu'elles ont été déployées
vers la production dans un environnement de cloud. La raison : les
utilisateurs ne se comportent pas toujours comme prévu. Comment les
développeurs peuvent-il savoir quels scénarios d'utilisation doivent
être testés s'ils ne disposent pas de la visibilité requise sur le
comportement des utilisateurs ?
De même, si les équipes de production n'ont pas les connaissances
de l'application nécessaires pour répéter les conditions à l'origine des
problèmes de performances et pour isoler les problèmes de manière
contrôlée, le manque de collaboration représentera pour vous un
gaspillage de temps, d'argent et de savoir-faire.
Jusqu'à une période récente, il était peu pratique, voire impossible
d'obtenir des données sur le comportement des utilisateurs lors de la
phase de production. Cependant, de nouveaux outils de gestion des
performances des applications permettent à l'équipe de production
de surveiller directement les informations de session de tous les
utilisateurs pour appréhender leur expérience de l'application. Si les
performances sont médiocres ou que les utilisateurs se comportent
de manière inattendue, le système peut générer des scripts de test à
partir de ce comportement pour renvoyer les résultats au processus
de développement de préproduction et de test. Ces informations
de retour garantissent que les leçons tirées de l'interaction des
utilisateurs améliorent le processus de test, optimisant ainsi les
applications dans le monde réel.
De même, une approche collaborative et complète de la gestion des
performances des applications peut être bénéfique aux équipes de
développement et de production. Par exemple, en utilisant des outils
de diagnostic et de surveillance communs, les équipes bénéficient
d'une vue collective et détaillée des applications, qui permet de
détecter rapidement les problèmes, d'établir des diagnostics définitifs
et de dépanner efficacement les problèmes de performances.
4
5. Sélectionner des outils qui favorisent la collaboration
interfonctionnelle. Il est désormais possible les équipes en
charge des applications et celles en charge de l'exploitation
d'utiliser des outils intégrés qui permettent la collaboration et le
partage d'informations au cours du cycle de vie de l'application.
Par exemple, HP propose des solutions intégrées de préproduction
telles que HP LoadRunner, HP Performance Center et le logiciel HP
Quality Center/Application Lifecycle Management (ALM) Suite, ainsi
que des solutions de surveillance de la production notamment le
logiciel HP Application Performance Management, pour aider à
l'optimisation des performances et la disponibilité des applications
en production.
Les meilleures pratiques constituent
la meilleure approche pour les services
informatiques collaboratifs.
Même si toutes les entreprises sont différentes et qu'aucune ne
part sur les mêmes bases au moment d'effectuer la transition vers
un modèle de développement et de surveillance plus collaboratif,
quelques directives et principes s'appliquent de façon générale :
1.Identifier un champion parmi l'équipe dirigeante. Toute nouvelle
initiative ayant un impact sur les processus stratégiques requiert
le soutien mais également l'impulsion proactive et énergique de
la part de la direction générale. La réussite de l'initiative dépendra
de la capacité du champion à prouver la supériorité de la nouvelle
approche par rapport aux limites et aux défis de l'approche
traditionnelle en silos.
2.Définir les responsabilités pour la collaboration entre les
équipes. L'une des premières tâches qui revient au sponsor de la
direction est de désigner un leader ou un groupe d'individus chargé
de faciliter la collaboration et le partage d'informations entre les
équipes de développement et de production. Cette nouvelle équipe
"développement/opérations" doit être constituée de membres
divers ayant des rôles variés qui leur permettent de comprendre
les problèmes complexes auxquels l'équipe informatique est
confrontée.
3.Promouvoir l'importance grandissante de la collaboration
auprès des équipes. La communication est l'une des conditions
préalables à la collaboration, et la première responsabilité de
l'équipe interfonctionnelle est de communiquer dans quelle mesure
une collaboration étroite est nécessaire, comment chaque équipe
en bénéficiera et quelle sera son impact sur les responsabilités
quotidiennes de chacun. Autrement dit, le sponsor doit articuler
clairement de quelle manière la nouvelle initiative modifie la vie des
équipes informatiques et celles en charge des applications.
4.Etablir une méthodologie cohérente et reproductible. Dans le
cadre de l'environnement informatique collaboratif, vous devez
vous assurer que les personnes appropriées utilisent les bons
outils au moment opportun, afin que toutes les ressources clés,
notamment les scripts, les données de surveillance et les données
de configuration, puissent être réutilisées. L'objectif est de créer
un flux d'informations bidirectionnel vers et depuis les équipes
de développement et de production afin que la duplication de
l'effort soit réduite et que le partage d'idées, d'informations et de
connaissances soit encouragé.
Les logiciels HP s'intègrent également avec des logiciels tiers de
gestion du réseau et des systèmes, et permettent de renforcer la
surveillance de ces systèmes ou infrastructure pour fournir une
surveillance des applications de bout-en-bout. Mais surtout, les
mêmes scripts que vous développez lors des tests peuvent être utilisés
lors de la production à des fins de surveillance des applications et des
utilisateurs. Par ailleurs, de nombreuses entreprises peuvent réutiliser
leurs licences et qualifications HP existantes au cours de la transition.
Ceci n'est qu'un aspect de la solution ALM. En effet, ALM inclut toutes
les étapes de la vie d'une application, de sa planification jusqu'à sa
gestion en passant par les tests. Pour des informations détaillées,
consultez le livre blanc HP intitulé "Integrated Application
Performance and Lifecycle Management" (Gestion intégrée des
performances et du cycle de vie des applications), ou visitez le site
Web hp.com/go/tsconnect/.
HP est là pour vous aider !
Que vous ayez déjà opté pour la voie du cloud computing, ou que
vous soyez fermement convaincu du modèle sur site ou d'un modèle
hybride, un niveau plus élevé de collaboration entre les équipes de
développement et de production vous aidera à produire et à maintenir
des applications et des services de qualité optimale.
HP est prêt à vous aider grâce à son large portefeuille de produits,
solutions et services de gestion du cycle de vie des applications (ALM,
Application Lifecycle Management) et de gestion des performances
des applications (APM, Application Performance Management). HP
offre également des logiciels "as-a-Service" (SaaS, Software-as-aService) pour vous aider à ajouter rapidement les services dont vous
avez besoin.
Nos offres de services peuvent vous aider à identifier et gérer la
myriade de considérations politiques à prendre en compte lors de la
mise en œuvre, afin que votre projet soit le plus efficace possible, tout
en engendrant le moins de perturbation possible. En utilisant nos
experts et notre infrastructure prédéployée, vous pouvez récupérer la
valeur de votre investissement en quelques semaines.
5
Seagate répartit plus rapidement les problèmes de disponibilité et
de performances basées sur le cloud. Seagate Technology, le premier
fournisseur mondial de périphériques de stockage, utilise des produits
HP et a accru la collaboration entre les équipes de développement et de
production pour accélérer le diagnostic et la résolution des problèmes
de performances de ses services informatiques basés sur le cloud.
Les données d'expérience des utilisateurs, recueillies grâce au logiciel
HP Application Performance Management, garantit que les services
de cloud fonctionnent comme prévu et permettent à l'entreprise de
gérer les niveaux de service (SLA) de cloud computing en déterminant
rapidement si l'origine des problèmes est interne ou s'ils sont liés à des
systèmes de cloud tiers.
Exemples de clients
Blue Cross and Blue Shield of Floride réduit les problèmes et incidents
liés à son infrastructure. Avec quatre millions de membres, Blue
Cross and Blue Shield of Florida dépend de la technologie pour offrir
des services à ses membres et médecins. Avec la mise en œuvre des
meilleures pratiques HP Application Lifecycle Management, du logiciel
HP Application Performance Management et en encourageant une
plus grande collaboration entre les équipes de développement et de
production, l'entreprise a réduit les incidents stratégiques de 90 %
et a constaté une amélioration de 80 % du temps de résolution des
incidents.
"La modification de nos processus et
procédures, la mise en œuvre de HP Application
Performance Management et l'utilisation des
meilleures pratiques de gestion du cycle de vie
des applications nous ont permis de réduire
considérablement le nombre d'incidents
affectant nos applications stratégiques.
Ce changement est bénéfique pour notre
entreprise mais ce sont nos clients qui sont les
principaux gagnants, parce que lorsque nos
applications fonctionnent correctement, nous
pouvons leur offrir le service qu'ils attendent et
qu'ils méritent."
–Victor Miller, Responsable de la gestion des
systèmes, Blue Cross and Blue Shield of
Florida
6
"Nous ne pourrions pas gérer notre initiative de
cloud de manière efficace sans HP Application
Performance Management. C'est une solution
absolument essentielle car le cloud computing
tiers ne nous permet pas de surveiller
l'infrastructure. Nous devons nous appuyer sur
des données d'expérience des utilisateurs. HP
Application Performance Management fournit
les meilleurs outils dont nous avons besoin
pour nous assurer que nos applications de cloud
sont conformes à nos niveaux de service et que
tous les problèmes sont répartis rapidement et
efficacement."
–Steve Katz, Responsable, test et surveillance
des performances, Seagate
Pour en savoir plus.
Pour plus d'informations sur les solutions HP qui vous aideront à
évoluer vers un développement et une surveillance des applications
du cloud plus collaboratifs et efficaces, visitez les sites Web
suivants :
www.hp.com/go/agile
www.hp.com/go/APM
www.hp.com/go/ALM
A propos des auteurs
Amy Feldman est directeur marketing produit pour la solution
HP Software Business Service Management. Elle a plus de 14 ans
d'expérience chez HP où elle a occupé divers postes notamment
dans les domaines de l'informatique, de l'ingénierie et du marketing.
Amy est chargée des programmes de positionnement, de
communication, de stratégie et de commercialisation de la
solution HP Application Performance Management.
Genefa Murphy est responsable solution au sein du groupe HP
Software Portfolio Strategy and Architecture. Elle est en contact
permanent avec des clients et analystes du secteur, afin d'identifier
les tendances les plus récentes qui affectent les clients lors du
développement et de la gestion des applications. Genefa utilise
ensuite ces informations pour influencer les décisions concernant
HP Software et développer les meilleures pratiques pour les clients.
7
1. Sizing the Cloud, Forrester Research, Inc., 21 avril 2011.
2. http://www.techjournalsouth.com/2011/01/survey-says-many-companies-not-fully-using-their-cloud-infrastructure/.
Connectez-vous
hp.com/go/getconnected
Recevoir les avis des spécialistes sur les
tendances techniques, les alertes et les solutions HP.
© Copyright 2011-2012 Hewlett-Packard Development Company, L.P. Les informations contenues dans ce document sont sujettes à modification
sans notification préalable. Les seules garanties relatives aux produits et services HP sont stipulées dans les énoncés de garantie expresse
accompagnant ces produits et services. Aucune déclaration contenue dans ce document ne doit être interprétée comme constituant une garantie
supplémentaire. HP décline toute responsabilité quant aux éventuelles erreurs ou omissions techniques ou éditoriales.
4AA3-4709FRE, créé en mai 2011 ; mis à jour en mai 2012, rév. 1

Documents pareils