View
141
Download
1
Category
Preview:
DESCRIPTION
http://www.paug.fr
Citation preview
1
Tél : +33 (0)1 58 56 10 00Fax : +33 (0)1 58 56 10 01www.octo.com© OCTO 2012
50, avenue des Champs-Elysées75008 Paris - FRANCE
18/06/2013
Donnez le pouvoir de build à votre PODroidcon Paris 2013
2
DEVELOPPEUR
MOBILE
iOSAndroidBlackberry Bada Windows Phone7
Te c h Lead
Mathieumha@octo.com
@mhausherr
3
Retour d’expérience sur un projet d’entreprise
7000 téléphones Android
Jusqu’à 17 développeurs
5 versions majeures de l’application en 1 an
4
Répondre aux vrais besoins utilisateursRencontre directe avec les utilisateurs finaux
Des besoins qui évoluent rapidementRépondre aux changements
Applications métier utilisées quotidiennement par des professionnelsHaut niveau de qualité requis
Emprunte à plusieurs méthodes :Extreme programming (TDD, pair programming, revue de code, refactoring)
SCRUM (rôles, rituels, scrumboard, …)
Pourquoi l’agilité?
5
Qui est le Product Owner?
Il porte la vision du produit
Il priorise et re-priorise son backlog
Il connait son client
Il est un acteur dans la rédaction des spécifications
Il peut refuser une fonctionnalitéC’est lui qui décide que c'est bien DONE
Il fait partie de l’équipe
6
La proximité et la confiance ne font pas tout
Pour valider les fonctionnalités développées, le PO doit pouvoir tester les applications quand il le souhaite
Délicat de solliciter l’équipe à chaque fois
Nos Douleurs
Désolé de te déranger pour la 11e fois ce matin, tu peux me refaire un APK stp…?
7
Être certain de vos commitsTous les commits compilent
Ne pas faire de régressionTester sur de vrais devices avant de commiter
Tester automatiquementTest unitaires
Robolectric
Test d’interfacesOn a testé Robotium
Les prérequis
8
Monter une Usine de Développement
Standard du monde Java
Utilisation de JenkinsScript de compilation en ANT plutôt que Maven ou Gradle
Comment aller plus loin?Tout le monde sur le projet utilise cet outil
9
Notre interface
10
Créer un build avec des paramètres
11
Besoin
Interagir avec un environnement serveur complexe
Dev / Qualif / Preprod /Prod
Formation des utilisateurs
Solution
Fichier de config dans res/raw généré par Ant
Config Serveur / Mode formation
12
Config Serveur / Mode formation
13
Config Serveur / Mode formation
14
Besoin
Simplifier au maximum la distribution
On le faisait déjà à la main
Solution
APK en pièce jointe d’un email
Keep It Simple and Stupid
Envoi par Mail
15
Envoi par Mail
16
Besoin
Modifier cette configuration en live
Solution
Menu Développeur
17
Menu Développeur
18
Besoin
Reconstruire la version livrée:
Aux métiers
Aux utilisateursPilotes
Tout le monde
Solution
Se baser sur les tags SVN
Version du code
19
Version du code
20
Possibilité pour le PO de builder seul et à n’importe quel moment
Libère du temps à l’équipe de devMoins dérangés, plus concentrés
Qualité du code développé augmente
Plus grande réactivité pour valider les User Stories développéesLes anomalies sont détectées/corrigées au fur et à mesure
Qualité du produit augmente
Paramètres de build donnent du confort (envoi de mail, choix de l’environnement, ….)
Gain de temps pour le PO
Réactivité face au client, livraisons fréquentes et tracéesAméliore la relation métier / DSI
~500 Builds depuis un an
Résultats
21
Impact sur la méthodologie
22
Impact sur la méthodologie
Développement
23
Impact sur la méthodologie
Validation par le PO
24
Impact sur la méthodologie
Tâches techniques:
validation par les devs
25
Impact sur la méthodologie
Graphisme
26
En un clic l’utilisateur a sa nouvelle version sur son téléphone
Interconnexion avec le store d’entreprise
… Mais on n’est pas encore prêtLe test manuel reste rassurant et indispensable
Et si on allait jusqu’au job de livraison?
27
Chaque commit est envoyé en prod
Les géants du web le fontGithub
On n’en est pas là …Sur mobile c’est plus compliqué
Besoin de validation Métier
Même dans une grande structure institutionnelle on arrive à s’en approcher
Ou même au Continuous delivery?
28
Recommended