XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
Présentation Conférence des TechTrends
1.
2.
3. Agenda
9h - 9h10 Introduction
Luc Legardeur, Président
L’informatique de demain sera mobile ou ne sera pas
9h10 - 9h40 Thibaud Cavin, Responsable de l’offre mobile
Le web remet en cause notre héritage informatique
9h40 - 10h10 Jean-Laurent de Morlhon, CTO
10h10 - 10h40 L’infrastructure de l’entreprise est en profonde mutation
Pablo Lopez, CTO
10h40 - 11h00 Pause café
11h - 11h30 L’agilité, c’est un peu tous les jours
Jean-Laurent de Morlhon, CTO
11h30 - 12h00 Les données valent de l’or, il est temps de les exploiter
Pablo Lopez, CTO
4. Présentation de Xebia
▶ CA 2012 : 30 Millions d’euros
▶ Naissance : Janvier 2001
▶ Présence : France, Hollande, Inde
▶ ADN : Agile
Métiers
▶ Conseil
▶ Expertise technique
▶ Réalisation
▶ Training
7. TechTrends: Un travail collectif
Les faits
▶ 5.377 heures, 672 jours, 410.000 Euros investis dans le partage
de la connaissance
▶ 50 ateliers avec les leaders de pensée de notre industrie
▶ Expérience terrain avec des nos clients sur des projets innovants
▶ 203 Articles de Blog
▶ 450 heures de synthèse et de rédaction
Le résultat
▶ 18 Auteurs
▶ 92 Pages
▶ Quatre parutions par an
8.
9. Agenda
‣ État des lieux
‣ Stratégies d’entrée dans la mobilité
‣ La mobilité en entreprise
Software development done right. 9
11. Les parts de marché en France
50 % 46 %
iOS
En France,
et Android
40 % Android iOS représentent
Symbian
Microsoft
Blackberry
68% des
33 %
Smartphones
30 %
26 %
22 %
20 % 19 %
10 % 9 % 10 %
8 %
5 % 4 %
0 %
Android iOS Symbian Blackberry Microsoft Android iOS Symbian Blackberry Microsoft
2011 2012
Software development done right. Source: comScore MobiLens (Oct. 2012) 11
12. Les tendances en France
iOS progresse à nouveau
Android baisse légèrement
Windows Phone progresse
iOS bénéficie toujours d’une
forte appartenance à
la plateforme
iOS reste la première cible
visée dans les projets (grand-
public)
Software development done right. Source: Kantar Worldpanel ComTech (Fév. 2013) 12
13. Les usages (Comportement)
Usages
Email ...Utilisent un client installé sur leur téléphone pour envoyer ou recevoir un mail 70 %
Réseaux sociaux ... Se connectent sur les réseaux sociaux (Facebook, MySpace, 62 %
... Utilisent un logiciel de messagerie instantannée (Skype, AOL, Yahoo, Bbm,
Messagerie Instantannée Messenger, G Talk, Whatsapp ) 61 %
Opérations bancaires ... Gèrent en partie leurs opérations bancaires 46 %
Blog & Tweet 27 %
Software development done right. Source: Mobile Web Watch Survey (Accenture, 2012) 13
14. Les usages (applications)
Type d’application
Informations ... Horaires / réservations train, météo, news 72 %
Jeux ... Jeux solo ou en ligne 70 %
Activités et détente ... Evènements, sorties, rendez-vous 53 %
Education ... Apprentissage de langue, dictionnaire, encyclopédie 46 %
Organisation ... Dictaphone, calendrier, rappels, notes 43 %
Finance ... Calcul de budget, comptabilité 33 %
Santé & fitness ... Entraînement, guide nutrition 32 %
Software development done right. Source: Mobile Web Watch Survey (Accenture, 2012) 14
16. Web mobile vs. Natif vs. Hybride
‣ Aujourd’hui, il existe 3 grandes solutions techniques pour réaliser un
service/produit sur mobile :
rme
latefo tifs en
l a te forme ance ✓M ulti-p ts na
Mult i-p stant anée Pe rform natifs osan
✓ ur in ✓
mpo sants ✓C omp
Mise à jo ✓ Co
✓ p artie
Web mobile Natif Hybride
Basé sur le langage Un mixte des 2 premiers
Basé sur les langages natif du système (lanceur natif) ou un
de programmation d’exploitation ou un outil permettant de
standards du web : langage managé de porter «un même code»
HTML, JavaScript, CSS, manière optimale par ce sur plusieurs OS
etc. système (Objective-C, mobiles
Java, etc.)
Software development done right. 16
17. Quelle technologie choisir et pourquoi ?
✓ Lorsque l’on veut cibler absolument 100% de ses utilisateurs (mobile et
Web Smartphone)
mobile ✓ Que l’utilisateur possède du réseau mobile, et qu’il possède le temps de la
consultation
✓ Lorsque le design est travaillé et l’application doit être réactive et performante
Natif ✓ Un fonctionnel exigeant (Mode déconnecté, animations, etc.)
Hybride ✓ Un fonctionnel limité, principalement centré sur de l’information descendante
✓ Une réactivité optimale de l’application n’est pas indispensable
Software development done right. 17
19. Consumérisation de la mobilité
45% des utilisateurs considèrent 88 % des cadres considèrent
outils personnels
que leurs comme bénéfique l’intrusion des
des technologies grand
sont plus utiles que les outils
de l’entreprise public dans l’entreprise
27% des utilisateurs se disent 49 % utilisent des cadres
d’ailleurs prêts à payer leurs d’ailleurs leur équipement
propres équipements et applications personnel
pour les utiliser au travail
BYOD Bring You Own Device
Software development done right. Source: Accenture Institute for High Performance, janvier 2012 19
20. Rationaliser la gestion de son parc mobile
MDM (« Mobile Device Management ») Afaria
SCMDM
Mobile Iron
Un MDM est un outil permettant la gestion d’une AirWatch
flotte d’appareil mobile allant de quelques terminaux Zenprise
à plusieurs milliers, ceci sur un ou plusieurs système Good technology
...
d’exploitation.
‣ Déploiement d’application à distance (Egalement liste noire, liste blanche)
‣ Déploiement de configurations à distance (Paramètres de connectivité,
politiques de sécurité, etc.)
‣ Chiffrement et compression des données échangées
‣ Intégration avec un annuaire d’entreprise
‣ Suppression des données à distance
‣ Gestion du roaming
‣ Prise de contrôle à distance
‣ Statistiques d’utilisation
‣ ....Déploiement d’applications mobiles d’entreprise
Software development done right. 20
21. Rationaliser la gestion de son parc mobile
‣ Maintenir son parc de terminaux et optimiser les coûts associés
‣ Permettre le BYOD tout en assurant une politique de sécurité
d’entreprise
‣ Faciliter le déploiement d’applications mobiles d’entreprise
Software development done right. 21
22. En synthèse
Un marché qui arrive à maturité
2 plateformes dominent : Android et iOS... 70% en France
Quelle est ma cible marketing ? Qu’est ce qui a le plus de valeur pour
moi ?
Une prise de position dans le long terme, une visibilité importante
Unservice mobile pour le grand-public, oui... Mais aussi pour mon
entreprise !
Un investissement pour le grand-public, oui... Mais aussi pour mon entreprise !
Software development done right. 22
23.
24. Agenda
‣ Le renouveau du client serveur en 2013
‣ La maturité de l'écosystème JavaScript
Software development done right. 24
26. Client Serveur en 1980
‣ Client totalement passif
‣ De multiples applications par serveur
‣ 100% de la logique applicative est coté serveur
Software development done right. 26
27. Client Serveur en 1990
‣ Client natif au système d'exploitation hôte ayant une partie de
la logique applicative
‣ De multiples applications par serveur, de très gros serveurs
‣ Déploiement infernal, montée de version problématique
Software development done right. 27
28. Client Serveur en 2000
‣ Client ayant très peu de logique applicative
‣ De multiples applications par serveur, de très gros serveurs
‣ Déploiement facile
Software development done right. 28
29. Client Serveur en 2013
‣ Client ayant au choix un peu ou beaucoup de logique
applicative
‣ Plusieurs serveurs, sans état pour une application
‣ Un backend beaucoup plus simple et résilient
‣ Déploiement facile
Software development done right. 29
31. Le navigateur en 2013
‣ Embarque une base de données relationnelle (sqlite)
‣ Peut utiliser plusieurs protocoles basés sur http
(websocket)
‣ Est capable de cacher localement de l'information
‣ Peut stocker de l'information sur le poste client
‣ Accède aux périphériques hardware du poste client
‣ Dispose de la puissance de calcul des machines de
2013
Software development done right. 31
32. Technologies du client en 2013
‣ Une pluralité de technologies variées, qui évoluent rapidement
‣ Un nouveau langage à maîtriser qui est incontournable
‣ Des composantes graphiques qui nécessitent d'intégrer de
nouveaux métiers
Software development done right. 32
35. JavaScript
‣ JavaScript date de 1995, est orienté objet à prototype
faiblement typé. Syntaxe proche de C.
‣ JavaScript est le seul langage interprétable par un
navigateur. Il est incontournable dans les applications
Web modernes.
‣ On peut utiliser des générateurs tel GWT pour
programmer en Java du JavaScript. Mais le code est plus
difficile à manipuler car on se retrouve à manipuler une
abstraction.
Software development done right. 35
36. Javascript
‣ On peut substituer à JavaScript un langage qui se
"trans-pile" en JavaScript comme CoffeeScript,
TypeScript ou Dart
‣ Disponible coté serveur avec la
plateforme Node.JS qui
drive l'innovation actuelle
‣ JavaScript devient le langage par défaut dans de
nombreux produits (comme langage d'accès et de
requêtage : MongoDB, CouchBase, Titanium, PhoneGap,
etc.)
Software development done right. 36
37. Maturité de l'écosystème tout entier
Chrome Developper Tools
Idea
Software development done right. 37
38. Framework MVC Javascript
‣ La programmation côté client murit avec l'arrivée pléthorique de
frameworks pour gérer les événements côté clients
Angular Ember Backbone
Software development done right. 38
39. En synthèse
Le navigateur Web s'est totalement transformé notamment ces dernières années
La puissance des architectures REST simplifie les développements backend
JavaScript est incontournable dans les applications Web modernes
Les frameworks MVC JavaScript cadrent grandement le développement
L'écosystème JavaScript tout entier est rentré dans l'âge de la maturité
Le Web drive la majeure partie des innovations dans le domaine de l'IT
Software development done right. 39
45. Encore plus de révolutions
Software development done right. 45
46. Nos recommandations
Serveur ✓Modularisez vos applications en utilisant un conteneur léger, comme Tomcat
d’appli ✓N’hésitez pas à introduire l’asynchronisme entre les différents modules
✓ Sortez du carcan relationnel
NoSQL ✓ Pour faciliter l’adoption, utilisez une base à “rupture douce”, comme
MongoDB
✓ Embrassez la rupture sur un projet technologiquement innovant
Cloud ✓ Dédiez y une équipe Agile / DevOps
Software development done right. 10
46
47.
48. Agenda
‣ 2013 la phase de maturité de l'agilité
‣ DevOps
‣ Software Craftsmanship
Software development done right. 48
50. L'agilité a traversé le gouffre
Software development done right. http://www.amazon.fr/Crossing-Chasm-Marketing-Disruptive-Mainstream/dp/0060517123/ 50
51. Maturité de l'agilité
‣ En 2013, l'agilité se généralise
‣ Toutes les DSI ont au moins fait un projet pilote agile
‣ Des essais sont faits dans des domaines aux contextes difficiles : ERP,
BI, logiciels embarqués, etc.
‣ On peut parler d'adoption massive
‣ Le modèle commencer se pervertir
Software development done right. 51
52. Points de repère pour une agilité mature
Maturité
Axes Processus Equipes Organisation
Focus
Être agile Réactivité Adaptif Flexible Évolutive
Time To Market Organisé en flux Motivée Alignée et Engagée
Devenir
agile Alignement Coordination de
Orienté Produit Dédiée
fonctionnel portefeuille
Amélioration
Qualité Disciplinée Auto-gestion
continue
Faire agile
Multi-
Productivité Juste nécessaire Reproductible
compétences
53. Points de repères pour une agilité mature
Maturité
Focus Objectif
Organisation Changements par
agile Réactivité
unité de temps
Valeur par unité de
Time To Market
temps
Produits
agiles
Alignement Usage par unité de
fonctionnel coût
Valeur par unité de
Qualité
coût
Projets agiles
Résultat par unité de
Productivité
coût
55. Dev & Ops
Je veux livrer souvent et voir Je veux de la stabilité de
immédiatement le résultat l'uniformisation et je veux
Quitte à revenir en arrière maitriser mes coûts
dev ops
Changement vs Stabilité
Software development done right. 55
56. Equipe agile avec Ops
Release
Manager
Capacity
Architect
BA
/
Planner
Tester
Designer BA
Developer
/
Core
Risk SM Prod.
Assessor BA Team
(EXAMPLE)
Developer Tester
Product
Tech Owner
Security
Ops
Business
Sponsor
Software development done right. 56
57. DevOps
‣ Rapproche les équipes de développement et de production
‣ Les Dev intègrent les problématiques de production au plus tôt
‣ Les Ops développent de plus en plus au détriment de tâches manuelles
‣ On évite la redondance d'outils et de tâches
‣ L'organisation de l'entreprise reste un frein à ce rapprochement
Software development done right. 57
63. Entrainement intentionel
‣ Les écoles ne forment pas de bons développeurs
‣ Un entrainement intentionnel en dehors des tâches de projets est
souhaitable
‣ L'inspiration peut venir de Katas, Coding Dojos & Code Retreat
‣ Créer une culture dans laquelle l'excellence technique est encouragée
plutôt que dénigrée
Software development done right. 63
64. En synthèse
En 2013, l'agilité est adoptée en masse
La séparation MOA/MOE est un gros point de résistance
Le produit émerge difficilement face à la notion de projet, omniprésente
L'agilité transforme les équipes de développement et rapproche Dev & Ops
Le Software Craftsmanship replace le développeur au centre du dispositif produit
L'excellence technique est tout autant recherchée qu'une bonne méthodologie de produit
Software development done right. 64
65.
66. Big Data ?
Software development done right. 66
67. Un peu de pragmatisme
Le coût du déplacement de la
donnée est supérieur à son
coût de traitement
Scalabilité
Stockage
Traitements
Coûts
Software development done right. 67
68. Des utilisations variées, dans tous les domaines
Data Information
Fraudes
Logs applicatifs
Technologies Rapports légaux
Logs réseau Big Data Recommandation
Données existantes
Sécurité
Open Data Calcul de risques
Réseaux sociaux Marketing personnel
Crawl internet Analyse fonctionnelle
BI temps réel
Quelle est la bonne
automatisée
Infrastructures
question ?
Software development done right. 11
68
69. Des outils en rupture
BigData :
Énormément de données ....nexploitées
i
X Technologies traditionnelles
Problématiques techniques :
Collecter de la donnée
Stocker de la donnée Innovation technologique
Analyser de la donnée
Nouveaux usages
Software development done right. 69
70. Système de fichiers distribué
Framework de traitement Map /
des données Reduce
Software development done right. 70
71. Hadoop - Une rupture technologique installée
Software development done right. 71
73. Nos recommandations
✓ Volumétries considérables : plusieurs centaines de Go
Hadoop ✓ Traitements complexes, de type Batch
Index ✓ Accès ‘immédiat’ à des données non structurées
distribué ✓ Besoins de requêtage complexe
✓Stockage de données non relationnelles
NoSQL ✓Différentes familles en fonction des besoins de traitement
Software development done right. 73