Archives de Catégorie: Industrialisation

En route vers le développement Agile Devops

Les entreprises se trouvent aujourd’hui confrontées à la nécessité de délivrer de plus en plus rapidement des applications de meilleure qualité, pour répondre aux demandes toujours plus pressantes des utilisateurs soucieux de diminuer le « Time to Market ». L’élaboration itérative d’un système informatique par de équipes resserrées et auto-organisées travaillant en collaboration étroite avec les utilisateurs s’avère particulièrement efficace.

Historiquement, les équipes de développement et d’exploitation sont séparées, le climat de défiance entre développement et production est dû à la différence sémantique de deux métiers aux intérêts divergents. Difficile en effet de concevoir la mise en place d’une culture qui serait l’apanage des seules équipes de développement sans transformer également les modes de fonctionnement des autres équipes avec lesquels elles interagissent, les interactions entre les équipes de développement et les équipes d’exploitation devront être revues et c’est là précisément ce que préconise le développement Agile Devops.

Des processus non outillés ne pourront clairement pas répondre aux exigences de communication, de qualité, de standardisation et de fluidité. Mais cela nécessite un outillage adéquat et une formation des deux équipes. Le développement Agile DevOps vise à rapprocher les deux équipes et à aligner leurs objectifs sur les besoins de l’entreprise.

L’outillage devra permettre d’industrialiser le cycle de vie d’une application, l’ALM (Application Lifecycle Management) et en particulier les outils favorisant la communication entre les deux parties  : gestion du versioning et industrialisation des transports de composants, pour permettre de faire du déploiement continu (Continuous Deployment). Les livrables sont ainsi déployés automatiquement dans les différents environnements en suivant un processus de validation.

Les géants du web Google, Facebook, Amazon le font déjà plusieurs fois par jour sans que leurs utilisateurs ne s’en rendent compte !

Approche Agile : Le leadership serviteur

L’un des ingrédients clef de l’approche Agile est son mode de leadership. Le leader de l’équipe n’est pas la personne qui ordonne, contrôle et décide à la place de l’équipe. Au contraire, le leader Agile donne davantage de pouvoir à son équipe, met tout en œuvre pour lever les obstacles qu’elle rencontre et la protège des perturbations extérieures. On parle donc de leadership serviteur.

Nos projets deviennent de plus en plus complexes tant du point de vue technique que du point de vue des besoins fonctionnels à couvrir. De nombreuses décisions difficiles et pourtant structurantes doivent être prises avant et pendant le projet. Le leader n’est plus en mesure d’être omniscient et omniprésent. Il doit donc déléguer une partie de son pouvoir à son équipe afin de rester concentré sur l’essentiel, comme lever les obstacles rencontrés par l’équipe et protéger cette dernière des perturbations extérieures afin de garantir qu’elle soit pleinement productive. Il doit également s’assurer que la méthodologie adoptée est correctement appliquée aussi bien côté technique que côté métier. Au besoin, il doit coacher les personnes qui nécessitent un accompagnement en enseignant par l’exemple.

Donner à chaque membre de l’équipe le pouvoir d’exprimer son point de vue et influencer ainsi les décisions à prendre fait l’objet d’un excellent levier pour parvenir à la meilleure solution possible. La diversité de culture, d’expérience, de génération apporte une différence de point de vue permettant de voir les problèmes ou enjeux sous différents angles. La diversité est donc une richesse, un atout, elle est source d’innovation.

Il ne s’agit pas de basculer dans le chaos au sein duquel chacun y va de son point de vue et rien n’avance. Pour favoriser la convergence, l’équipe peut définir des valeurs fondamentales communes et sa mission. Si ces valeurs demeurent communes, la divergence de point de vue est alors une richesse permettant de faire de meilleurs choix au lieu faire tourner l’équipe en rond.

Le leader serviteur offre un cadre, des règles du jeu au sein duquel les membres de l’équipe (ou de la tribu à plus grande échelle) peuvent exprimer leur point de vue et participer aux décisions. La rétrospective est bien sûr un lieu d’expression et de décision tout comme la mêlée. Les décisions se prennent par consensus (tout le monde dit oui, ce qui est parfois difficile) ou par consentement (personne ne dit non). Lorsque le leader souhaite orienter l’équipe vers une autre direction, c’est à lui de convaincre comme les autres membres de l’équipe. Mais un leader qui applique les principes évoqués bénéficie d’un respect durable, la confiance est réciproque et l’équipe (ou tribu) se montre réceptive aux orientations proposées. C’est cette même confiance qui permet à un membre de l’équipe de révéler une difficulté qu’il rencontre plutôt que de la masquer (par peur des représailles), ce qui fait du leader serviteur un leader averti.

%d blogueurs aiment cette page :