Proposition de
forge Agile
by ekito
v1.0 avril 2012
Laurent Meurisse
Nicolas Deverge
3
Thèmes abordés
➡ interactions
➡ artefacts
➡ outils
➡ outils (iOS)
➡ traçabilité
➡ collaboration sociale
➡ livraison continue
4
Pourquoi une Forge Agile
➡ les outils de collaboration, d'industrialisation, de
développement et d’industrialisation doivent être
spécifiques sur un projet agile.
➡ L'implémentation de cette forge est ici présentée avec le
socle Atlassian  dont nous estimons mature, intégré et
innovant. D'autres implémentations sont possibles.
interactions
5
Interactions
Spécification
Planifier,
assigner, Task
Coding
Document
Qualité du code,
Revue de code
Intégration &
Déploiement
Continue
Tester
Test d'acceptance
Automatique
Métier Dévelopement
Intégration
continue
Tests Unitaires
Automatiques
1
2 3
4
5
7
8
9 6
6
1.Spécification
➡ Règles métiers, Exigences Non fonctionnelles, IHM
2.Plannifier, Assigner
➡ Création du backlog, valorisation/estimation,
planification/assignation, roadmap
➡ Workflow de développement
➡ Suivi projet
3.Coding
➡ Développement de l’application
Interactions
7
4.Intégration et déploiement continu
➡ Packaging, Build automatique
➡ Déploiement sur plateformes
5.Tests unitaires automatiques
➡ A chaque commit : exécution des tests unitaires.
6.Tests d’acceptance automatique
➡ Exécute l’acceptance métier
➡ Réalisée par l’un des outils (greenpepper, fitnesse,
cucumber, jBehave...)
Interactions
8
7.Qualité du Code, Revue du Code
➡ Mesure de la qualité du code
➡ Mesure de la couverture des test (pour chaque
nouvelle release)
➡ Revue et commentaire du code et création de tâches
de refactoring
8.Tests utilisateurs exploratoires
➡ Pour chaque story du backlog, l’utilisateur teste
l’application de manière exploratoire.
Interactions
9
9.Documentation
➡ Ecriture de la documentation technique et
fonctionnelle (sous forme de wiki) représentant le
référentiel du produit
Interactions
10
artefacts
11
Artefacts
Spécification
Planifier,
assigner, Task
Coding
Document
Qualité du code,
Revue de code
Intégration &
Déploiement
Continue
Tester
Code (Git/SVN)
Référentiel
Métier & Technique
Backlog
Repository
Tests d'acceptance
Tests Unitaires &
Acceptance
Automatiques
12
outils
13
Outils
Specifications
Planifier,
assigner
Coding
Documentation
Qualité du code,
Revue de code
Intégration &
Déploiement
Continue
Tester
Test d'acceptance
Automatique
Tests Unitaires
Automatiques
14
➡ exemple d’implémentation avec la suite Atlassian et
d’autres outils indépendants.
Atlassian Confluence
➡ Wiki, blog, travail collaboratif
Atlassian Greenhopper/Jira
➡ Périmètre fonctionnel (backlog)
➡ Planification, roadmap
➡ Suivi de la réalisation
➡ Bug tracking
Atlassian Fisheyes
➡ Consultation du code source
➡ Multi repository
➡ Delta & merge de code
Outils
15
Atlassian IDE Connector
➡ Intégration de l'IDE Eclipse avec la suite Atlassian
Atlassian Bamboo
➡ Intégration Continue
Fitnesse, GreenPepper, Cuncumber
➡ Acceptance automatique de la couche métier
➡ Les spécifications exécutables servent de test.
Selenium
➡ Acceptance automatique de l’interface utilisateur web
Sonar
➡ Mesure de la qualité de code (automatique)
Outils
16
Crucible
➡ Revue de code collaborative
Clover
➡ Couverture des tests unitaires (et focus sur les ajouts
de code à chaque release)
Bonfire
➡ Tests utilisateurs via un explorateur
Outils
17
outils
(iOS)
18
Outils
19
➡ exemple d’implémentation pour des applications iOS
Backlog,
Planifier
Coding
Intégration &
Déploiement
Continue
Tester
Test d'acceptance
Automatique
Tests Unitaires
Automatiques
UIAutomation
OCUnit GHUnit
Franck
GTM
Sketches
storyboarding
prototypage
application
traçabilité
20
Traçabilité
➡ intégration & connexion API entre les applications de
bout en bout
21
collaboration
sociale
22
23
Spécification
Planifier,
assigner, Task
Coding
Document
Qualité du code,
Revue de code
Intégration &
Déploiement
Continue
Tester
Test d'acceptance
Automatique
Métier Dévelopement
Tests Unitaires
Automatiques
intéractions
entre individus
collaboration
sociale Partager au réseau de l'inidividu
Flux d'activité
tagging social (mentions)
compétence individu
timeline individu
➡ la forge devient une plateforme sociale et collaborative
de bout en bout
livraison
continue
24
25
Livraison Continue
SERVEUR OPS
SERVEUR STAGING
Déploiement Continue
Intégration Continue
RUN
SERVEUR D'ACCEPTANCE
Test d'acceptance
Automatique
Tester
TESTS
Demo
DEMO
Code (Git/SVN) Repository
➡ intégration, déploiement en continue sur les plateformes
d’acceptance, de staging et de prod
Proposition forge agile 1.0

Proposition forge agile 1.0

  • 2.
    Proposition de forge Agile byekito v1.0 avril 2012 Laurent Meurisse Nicolas Deverge
  • 3.
    3 Thèmes abordés ➡ interactions ➡artefacts ➡ outils ➡ outils (iOS) ➡ traçabilité ➡ collaboration sociale ➡ livraison continue
  • 4.
    4 Pourquoi une ForgeAgile ➡ les outils de collaboration, d'industrialisation, de développement et d’industrialisation doivent être spécifiques sur un projet agile. ➡ L'implémentation de cette forge est ici présentée avec le socle Atlassian  dont nous estimons mature, intégré et innovant. D'autres implémentations sont possibles.
  • 5.
  • 6.
    Interactions Spécification Planifier, assigner, Task Coding Document Qualité ducode, Revue de code Intégration & Déploiement Continue Tester Test d'acceptance Automatique Métier Dévelopement Intégration continue Tests Unitaires Automatiques 1 2 3 4 5 7 8 9 6 6
  • 7.
    1.Spécification ➡ Règles métiers,Exigences Non fonctionnelles, IHM 2.Plannifier, Assigner ➡ Création du backlog, valorisation/estimation, planification/assignation, roadmap ➡ Workflow de développement ➡ Suivi projet 3.Coding ➡ Développement de l’application Interactions 7
  • 8.
    4.Intégration et déploiementcontinu ➡ Packaging, Build automatique ➡ Déploiement sur plateformes 5.Tests unitaires automatiques ➡ A chaque commit : exécution des tests unitaires. 6.Tests d’acceptance automatique ➡ Exécute l’acceptance métier ➡ Réalisée par l’un des outils (greenpepper, fitnesse, cucumber, jBehave...) Interactions 8
  • 9.
    7.Qualité du Code,Revue du Code ➡ Mesure de la qualité du code ➡ Mesure de la couverture des test (pour chaque nouvelle release) ➡ Revue et commentaire du code et création de tâches de refactoring 8.Tests utilisateurs exploratoires ➡ Pour chaque story du backlog, l’utilisateur teste l’application de manière exploratoire. Interactions 9
  • 10.
    9.Documentation ➡ Ecriture dela documentation technique et fonctionnelle (sous forme de wiki) représentant le référentiel du produit Interactions 10
  • 11.
  • 12.
    Artefacts Spécification Planifier, assigner, Task Coding Document Qualité ducode, Revue de code Intégration & Déploiement Continue Tester Code (Git/SVN) Référentiel Métier & Technique Backlog Repository Tests d'acceptance Tests Unitaires & Acceptance Automatiques 12
  • 13.
  • 14.
    Outils Specifications Planifier, assigner Coding Documentation Qualité du code, Revuede code Intégration & Déploiement Continue Tester Test d'acceptance Automatique Tests Unitaires Automatiques 14 ➡ exemple d’implémentation avec la suite Atlassian et d’autres outils indépendants.
  • 15.
    Atlassian Confluence ➡ Wiki,blog, travail collaboratif Atlassian Greenhopper/Jira ➡ Périmètre fonctionnel (backlog) ➡ Planification, roadmap ➡ Suivi de la réalisation ➡ Bug tracking Atlassian Fisheyes ➡ Consultation du code source ➡ Multi repository ➡ Delta & merge de code Outils 15
  • 16.
    Atlassian IDE Connector ➡Intégration de l'IDE Eclipse avec la suite Atlassian Atlassian Bamboo ➡ Intégration Continue Fitnesse, GreenPepper, Cuncumber ➡ Acceptance automatique de la couche métier ➡ Les spécifications exécutables servent de test. Selenium ➡ Acceptance automatique de l’interface utilisateur web Sonar ➡ Mesure de la qualité de code (automatique) Outils 16
  • 17.
    Crucible ➡ Revue decode collaborative Clover ➡ Couverture des tests unitaires (et focus sur les ajouts de code à chaque release) Bonfire ➡ Tests utilisateurs via un explorateur Outils 17
  • 18.
  • 19.
    Outils 19 ➡ exemple d’implémentationpour des applications iOS Backlog, Planifier Coding Intégration & Déploiement Continue Tester Test d'acceptance Automatique Tests Unitaires Automatiques UIAutomation OCUnit GHUnit Franck GTM Sketches storyboarding prototypage application
  • 20.
  • 21.
    Traçabilité ➡ intégration &connexion API entre les applications de bout en bout 21
  • 22.
  • 23.
    23 Spécification Planifier, assigner, Task Coding Document Qualité ducode, Revue de code Intégration & Déploiement Continue Tester Test d'acceptance Automatique Métier Dévelopement Tests Unitaires Automatiques intéractions entre individus collaboration sociale Partager au réseau de l'inidividu Flux d'activité tagging social (mentions) compétence individu timeline individu ➡ la forge devient une plateforme sociale et collaborative de bout en bout
  • 24.
  • 25.
    25 Livraison Continue SERVEUR OPS SERVEURSTAGING Déploiement Continue Intégration Continue RUN SERVEUR D'ACCEPTANCE Test d'acceptance Automatique Tester TESTS Demo DEMO Code (Git/SVN) Repository ➡ intégration, déploiement en continue sur les plateformes d’acceptance, de staging et de prod