Donner le pouvoir de build à votre PO - DroidCon Paris 18 june 2013

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

Facebook

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