Transcript
Page 1: CocoaHeads Rennes #2 : Pratiques de développement itératif

30 mai 2011

Olivier Tabone

Pratiques de développement itératif

lundi 30 mai 2011

Page 2: CocoaHeads Rennes #2 : Pratiques de développement itératif

30 mai 2011

Olivier Tabone

[Code, Test, Ship, Learn]+

lundi 30 mai 2011

Page 3: CocoaHeads Rennes #2 : Pratiques de développement itératif

€ssence, SkiGuide, et les autres

Ripple Motion

Editeur d’applis mobiles

iPhone et iPad

B2B, B2C

crée en 2008, 10 personnes

principes “Agiles” pour viser juste et vite

lundi 30 mai 2011

Page 4: CocoaHeads Rennes #2 : Pratiques de développement itératif

Modélisation simple

Ship

Learn

Design

Test + Code

gaspillages amélioration continue

cycle = 2 semaines

1

2

3

4

amélioration du cycle ?en faire +

faire mieux

lundi 30 mai 2011

Page 5: CocoaHeads Rennes #2 : Pratiques de développement itératif

Code

500 lignes écrites / jour / dev

Comment les rendre utiles à l’utilisateur ?

Test + Code

lundi 30 mai 2011

Page 6: CocoaHeads Rennes #2 : Pratiques de développement itératif

Code

•Project Templates Test + Code

lundi 30 mai 2011

Page 7: CocoaHeads Rennes #2 : Pratiques de développement itératif

Code

• Factorisation de codecode once, use many times

Appli

Framework applicatif

Libs “Features”

Libs “Base”

500 lignes

1500 lignes

20 000 lignes

50 000 lignes

Test + Code

lundi 30 mai 2011

Page 8: CocoaHeads Rennes #2 : Pratiques de développement itératif

Code

•Gestion dépendances des libs2 ans 1/2 d’attente... pour quelques jours de boulot

facilite la réutilisation des libs

Test + Code

lundi 30 mai 2011

Page 9: CocoaHeads Rennes #2 : Pratiques de développement itératif

GHUnit

Arithmétique des tests

x nb de libs / applis

=

Hudson

10 x 150 = harnais de non régression

Test + Code

lundi 30 mai 2011

Page 10: CocoaHeads Rennes #2 : Pratiques de développement itératif

Anticipez les régression

App

Lib 1

Lib 2

...

Production

Staging

Development

conf “Prod”

conf “Intégration”

Appliconfiguration

outil CIEnvironment

distant

tourne “la nuit”

Test + Code

lundi 30 mai 2011

Page 11: CocoaHeads Rennes #2 : Pratiques de développement itératif

Ship Early, ship often

•Distribution “Over the air”

push

beta testeurs

cycle: 1-2 jours

feedback

Ship

lundi 30 mai 2011

Page 12: CocoaHeads Rennes #2 : Pratiques de développement itératif

Get ready

• charge serveur difficile à évaluer

delai : 1 - 3 semaines, l’appli sort en général le samedi soir...

Ship

lundi 30 mai 2011

Page 13: CocoaHeads Rennes #2 : Pratiques de développement itératif

Learn

•Monitoring des applis

monitoring externe

interne (Analytics-like)

Learn

lundi 30 mai 2011

Page 14: CocoaHeads Rennes #2 : Pratiques de développement itératif

Learn

•WWDC

•Coding Dojo, Retrospectives, Code reviews, ... et autres pratiques Agiles

Learn

lundi 30 mai 2011

Page 15: CocoaHeads Rennes #2 : Pratiques de développement itératif

$

Q&A

Ship

Learn

Design

Test + Code

gaspillages amélioration continuelundi 30 mai 2011

Page 16: CocoaHeads Rennes #2 : Pratiques de développement itératif

Q&A

Merci

lundi 30 mai 2011