Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

28
Allouche Mathieu ALM OUTILLAGE

description

 

Transcript of Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

Page 1: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

Allouche Mathieu

ALMOUTILLAGE

Page 2: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

QUI SUIS-JE ?Founder Shoot4ME solution d’outsourcing photo

Ingénieur et architecte logiciels de formation 15 ans d’expériences

Spécialiste des l’environnement e-CRM, e-Marketing, datamining

Quelques références : C-Discount, Plantes & Jardins, Cultura, MailPerformance…

Page 3: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PLANNING

Cours - 9 septembre 9h00 – 12h00

TD 1 – Test d’outils collaboratifs SaaS - 2h 12 septembre 8h30 – 10h30

TD 2 – Mise en œuvre d’une solution open source - 1h30

12 septembre 10h30 – 12h00

TD 3 - Mise en œuvre d’une solution grand éditeur - env 3h

15 septembre 13h30 – 17h00

Page 4: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

SOMMAIRE

o Définition, enjeux, couverture du cours ALM vs PLM

o Panorama cycle de vie d’une application Focus sur les livrables

Focus sécurité : Processus SDL (Security Development Lifecycle) & SD3+C

Points retours experiences et trucs à savoir

o Couverture de l’outillage ALM

o Positionnement des acteurs du marché

o Les évolutions / tendances ALM 2.0

o Littératures

Page 5: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PRÉREQUIS

Connexion à internet

Un compte avec suffisamment de droits pour installer des logiciels

TD 1 :

Une connexion à Internet et 1 navigateur

TD 2 :

Eclipse

TD 3 :

Visual Studio 2013 Ultimate

Compte Microsoft Live actif

Page 6: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

ALM & PLM / DÉFINITION

PLM : Product Lifecycle Management.  « Gestion du cycle de vie du produit »

ALM : Application Lifecycle Management. « Gestion du cycle de vie d’un logiciel »

Dans les deux cas, cela regroupe toutes les activités dont le but est de créer et maintenir le produit / logiciel jusqu’à sa fin de vie.

Nous allons étudier comment l’ALM régie aujourd’hui la vie d’une application.

Page 7: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

POURQUOI FAIRE ?

Page 8: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PANORAMA CYCLE DE VIE

Def. Exig.

Conception / Analyse Implementation Vérification

Lancement Support

Exigences

Spé concept

Développement CorrectionsTests Déploiements MaintenanceSpé fonc

Approche fonctionnelle

Page 9: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PANORAMA CYCLE DE VIE

Def. Exig.

Conception / AnalyseImplementatio

nVérification

Lancement Support

Approche volumique

Page 10: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PANORAMA CYCLE DE VIEApproche sécuritaire

Les sources : ici et livre blanc

Page 11: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

FOCUS PROCESSUS SDL / SD3+C :

Secure by Design (sécurisation par conception)

Secure by Default (sécurisation par défaut)

Secure in Deployment (sécurisation dans le déploiement)

Communications

Exigences, Codage, Test, Build, Intégration continue…

(Security Development Lifecycle)

Page 12: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

LES LIVRABLES

Page 13: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

COUVERTURE DE L’OUTILLAGE ALM

Page 15: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

GESTION DE PLANNING

Apparue avant l’ALM, les outils de gestion de planning permettent de connaitre l’avancement du projet, le temps restant, et combien de ressources sont nécessaires pour la suite du projet.

La gestion du planning doit s’intégrer à toute les étapes de L’ALM, et être mise à jour régulièrement.

Outils : MS Project, GanttProject, Open workbench

Evolutions collaboratives : Trello, Asana, Clarizen

Page 16: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

GESTION DES TACHES ET DES TICKETS En relation étroite avec la gestion de planning, le ticketing est une technique parallèle, très utilisée pour séparer et minimiser les impacts des tâches de support sur l’avancement du projet.

Le ticketing permet de mesurer avec précision les impacts, la nature et l’origine des incidents de type bug ou dysfonctionnement. Le ticketing peut être technique et/ou fonctionnel.

Outils : Nagios/GLPI, Trac, GestSup, Project’OR…

Evolutions collaboratives ou externalisées : Zendesk (orienté service)

Page 17: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

CONTRÔLE DE CODE SOURCE Permettent la gestion et le versioning des sources.

AUCUN projet ne devrait exister sans contrôle code source.

Vocabulaire à connaitre : Centralisé, décentralisé, commit, shelve, extract, unpanding change, branching, label, merge

Les acteurs : Source Safe, Git, svn, TFS, Mercurial, …

La majorité des logiciels de gestion ALM intègre un gestionnaire de dépôts vers git, svn ou TFS.

Page 18: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

+ PETIT FRÈRE : CODE REVIEW La revue de code permet d’identifier des bugs avant de les rencontrer au moyen d’une relecture du code source par un développeur expérimenté.

Vocabulaire à connaitre : Revue de code bloquante, code non-bloquante, formelle, informelle, pair programming, examinateur, Super-review

Les acteurs : Jupiter (éclipse), Code collaborator, Crussible, Bugzilla, Crew (Git), Review board

Page 19: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

GESTION DES CONVENTIONS DE CODE ET DE DOCUMENTS Objectif : faciliter la relecteur, la compréhension et la maintenance du code.

Technique : Utilisation d’outil d’analyse statique de code

Quelques outils : FxCop, SonarJ, Checkstyle

Version collaborative : kalistick

Liste assez exhaustive : ici

Page 20: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

GESTION DES TESTS FONCTIONNELS, SÉCURITÉ, PERFORMANCES Objectif : gain de temps et satisfaction client. Agir à la source est une économie indéniable.

Vocabulaires : Tests unitaires, tests fonctionnels, tests de charges, profilage, outils d’analyse statique, dynamique, fuzz testing (boite noire), surface d’attaque (boite blanche)…

Quand ? Pendant le développement, à l’archivage, à la compilation et au déploiement

MS Test manager, Quality center, kalistick, J-Unit, dotCover, JaCoCo, clover, .Net Inspector…

Méthodes préventives

Page 21: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

GESTION DES COMPILATIONS, DÉPLOIEMENTS ET INTÉGRATIONS CONTINUES Objectif : gain de temps et satisfaction client. Agir à la source est une économie indéniable.

Vocabulaire : environnement de test, de pré-production, production. Règles d’isolation, de sécurité, procédures de déploiement.

Outils : Maven, Jenkins

Méthodes préventives

Page 22: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

REPORTING

Réalisation, publication et diffusion de rapports d’activité :

Reporting des activités (tickets, commits, temps passée, …)

Analyse de performance et de productivité.

Partage des rapports en ligne sur des tableaux de bords attrayants.

Les outils : Sharepoint, Birt, JasperReports.

Page 23: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

PRODUCTION DE DOCUMENTATIONQuoi : Documentation développeur, support, utilisateur, marketing, commerciale…

Sur quoi : dans le code, sur des wiki, faq, des documents…Comment : CMS versionné

Workflow de relecture et de validation, ajout de metadonnées, espace de partage, gestion de templates, gestion des modifications, gestion des ACL (Access Control List), gestion des notifications

Liaison avec documents, reporting et ticketing (tâches, bugs, élément de travail…)

Les outils : JavaDoc, SandCastle, GhostDoc, Wiki, Sharepoint…

Page 24: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

LES ÉVOLUTIONS / TENDANCES ALM 2.0

Collaboratif + Solution en ligne + Réseau social

Page 25: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

SOLUTIONS GRAND-ÉDITEUR

Les plus : solutions complétement intégrées et évolutives

Les moins : configuration & cout

Outils éditeurs : IBM Rational, MKS, HP, Serena, Altassian, Rally Software, Urbancode, Microsoft Team Foundation Server Collabnet…

Outils sur-mesure : SAP, Bull, Cap Gemini…

Page 26: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

POSITIONNEMENT DES ACTEURS DU MARCHÉ

Page 28: Outillage ALM - Comment l’ALM régie aujourd’hui la vie d’une application

A RETROUVER SUR INTERNET :

Slideshare : http://urls.fr/rec