Agora cms 2014 - Méthodes agiles et culture Devops au service du Web

Preview:

DESCRIPTION

Présentation des méthodes agiles et du Devops appliqué aux CMS pendant l'Agora CMS 2014

Citation preview

Méthodes agiles et culture Devops au service du Web

Qui suis-je ?

Vanessa Kovalsky David

Développeuse sur des CMS libres depuis 5 ans

Lead dev Drupal chez Webnet et scrum master sur les projets

Agilité ?

Et si on vous proposait une méthode qui vous évite d'entendre lors de la livraison : « mais c'est pas ce qu'on voulait / ce qui est dans le cahier des charges» ? (effet tunnel)

Et si votre client par son implication, vous permettait de livrer un outil encore plus proche des besoins métiers ?

http://pierre-fraser.com/2011/05/24/effet-tunnel-mediatique/

Des méthodes

• Opposition Cycle en V VS Méthode Agiles

http://commons.wikimedia.org/wiki/File:SemiIteratif.jpg

http://dc312.4shared.com/doc/9rI17IoE/preview.html

Les 4 valeurs de l'agilité

http://arnaud-jacquemin.blogspot.fr/

Les 12 principes de l'agilité

1) La plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à forte valeur ajoutée.

2) Le changement est accepté, même tardivement dans le développement, car les processus agiles exploitent le changement comme avantage concurrentiel pour le client.

3) La livraison s’applique à une application fonctionnelle, toutes les deux semaines à deux mois, avec une préférence pour la période la plus courte.

4) Le métier et les développeurs doivent collaborer régulièrement et de préférence quotidiennement au projet.

5) Le projet doit impliquer des personnes motivées. Donnez-leur l'environnement et le soutien dont elles ont besoin et faites leur confiance quant au respect des objectifs.

6) La méthode la plus efficace de transmettre l'information est une conversation en face à face.

7) L’unité de mesure de la progression du projet est un logiciel fonctionnel (ce qui exclut de comptabiliser les fonctions non formellement achevées).

8) Les processus agiles promeuvent un rythme de développement soutenable (afin d’éviter la non qualité découlant de la fatigue).

9) Les processus agiles recommandent une attention continue à l'excellence technique et à la qualité de la conception.

10) La simplicité et l'art de minimiser les tâches parasites, sont appliqués comme principes essentiels.

11) Les équipes s'auto-organisent afin de faire émerger les meilleures architectures, spécifications et conceptions.

12) À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son processus de travail en conséquence.

Pourquoi faire ?

Et les CMS ?

• Méthode à l'origine pour le développement

• Modularité des CMS permet l'utilisation des méthodes agiles

• Montée en puissance des système d'industrialisation

• Réponse adaptée aux besoins évolutifs de nos clients

https://blog.crafting-labs.fr/?post/2012/02/03/Agilit%C3%A9-dans-les-IUT

Des humains avant tout• Une équipe qui comprend et accepte le

fonctionnement agile

• Le client est capable de se disponibiliser, d'accepter les risques et de décider

• Des développeurs avec des connaissances suffisantes des cms (notament des extensions disponibles) ou une capacité à monter en compétence rapidement

Sprints / Backlog / User Story /

• Découpage en sprint court (une à deux semaines)

• Un backlog alimenté en permanence et priorisé avant le début d'un sprint

• Des users story pour permettre aux développeurs de comprendre la demande fonctionnel

http://www.agilegarden.fr/agilite-et-logiciels-libres-meme-combat/

Daily Scrum et Présentation

• Un point quotidien rapide entre développeurs pour levé les difficultés et faciliter la collaboration

• Une présentation par l'ensemble de l'équipe à la fin de chaque sprint

http://blog.soat.fr/2010/06/agile-conference-%E2%80%93-la-pnl-programmation-neuro-linguistique/

Quels outils pour quels usages

• Un mur de Post It si tout le monde est physiquement dans le même bâtiment

• Des outils numériques en cas de collaboration à distance

• => Visualiser rapidement l'avancement et les goulots d'étranglement

http://blog.garethjmsaunders.co.uk/archives/2010/04/17/agile-planning-poker/

Vous avez dit DevOps ?

Contraction de l'anglais Development et Operations (exploitation)

Né en Belgique en 2009

Concept qui consiste à appliquer les méthodes agiles d'un bout à l'autre de la chaine SI

http://en.wikipedia.org/wiki/File:Devops.svg

Devs VS Exploit

Contraintes opposés :

Besoin de stabilité, de cohérence, d'un nombre limité d'applis pour la prod pour faciliter la maintenance

Besoin de répondre rapidement aux demandes clients en ajoutant des fonctionnalités

Pourquoi de l'agilité sur toute la chaîne ?

Faciliter et fluidifier l'ajout de fonctionnalités sur les sites

Raccourcir au maximum le temps entre la demande d'un client et la livraison de la fonctionnalités correspondantes en prod

Meilleurs communication => moins de travail « inutile », donc plus de productivité et de motivation, lié à la suppression des tâches répétitives pas forcément intéressantes

http://gblogs.cisco.com/fr-datacenter/category/data-center/

Culture d'entreprise et communication

Besoin de « casser » l'organisation en silos

Nécessite une transformation en profondeur de l'entreprise pour que cela fonctionne

Le Devops s'appuie surtout sur plus de communication entre les différentes personnes

Plus de communication exclusivement homme – machine, mais de la communication + riche d'humain à humain

Compétences et objectifs communs

• Amazon « You build it, you run it ! »

• Dans une équipe DevOps, chacun sait faire (à minima) le travail des autres et donc les personnes peuvent s'entraider

La performance des équipes est mesurée sur des objectifs communs, ce qui permet une plus forte implication de chacun des acteurs pour aboutir à l'objectif

http://www.ulysceo.com/fr-metiers-nos-metiers-performance-des-equipes.html

Outillage commun

• OS, outils de travail

• Outils de déploiement automatisés

• Tests automatisés

https://www.ibm.com/developerworks/community/blogs/c914709e-8097-4537-92ef-8982fc416138/entry/we_reach_our_goal_with_devops?lang=en

Merci pour votre écoute .

Des questions ?