37
Stéphanie Hertrich – Microsoft Florent Santin – Infinite Square Concevoir une application : Les étapes et la mise en œuvre « Coding » Kit de survie pour les futurs entrepreneurs

Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Embed Size (px)

DESCRIPTION

Série de 3 sessions: "Kit de survie pour les futurs entrepreneurs" Une série de trois cours pour comprendre les différentes problématiques, dédiée notamment aux futurs entrepreneurs ou aux personnes ayant un projet de développement d'application. On verra de quoi est composée une application, les différentes technologies, les aspects d’ergonomie, comment sous-traiter le développement, des retours d’expérience, etc. Session 2: Concevoir une application, les étapes et la mise en œuvre Par Stéphanie Hertrich Evangéliste Développement (Microsoft) et Florent Santin, Développeur et Entrepreneur (Infinite Square). Cette session passera en revue les étapes du processus de conception d'une application. Définition du besoin, spécifications, code, tests : quel est le cycle de vie d'une application ? Quelle méthodologie et quels outils employer ? Les équipes : embaucher ou externaliser son développement ? Savoir communiquer avec son équipe technique. De l'importance du designer. Les questions à se poser pour faire les bons choix.

Citation preview

Page 1: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Stéphanie Hertrich – MicrosoftFlorent Santin – Infinite Square

Concevoir une application :Les étapes et la mise en œuvre

« Coding » Kit de survie pour les futurs entrepreneurs

Page 2: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

A faireA ne pas

faire

Présentation du kit de survie• Vous avez un projet en lien avec les technologies de

développement ?• Vous ne savez pas en quoi consiste un développement

d’app/de site et encore moins quels éléments sont mis en œuvre ?

• Quand on vous parle technique, vous ne comprenez qu’un mot sur 2 ?

Kit de survie = booster en 3 parties- Architecture des applications et

technologies de développement

- Concevoir une application, les étapes et la mise en œuvre

- Retours d’expérience

Quoi ?Pourquoi ?

Qui ?Où ?

Quand ?

Comment ?

Page 3: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Agenda

L’équipe technique Sous-traiter le développement La méthodologie En pratique

Page 4: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

L’équipe technique

Page 5: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• En fonction de la taille d’un projet, une équipe de projet peut être composée d’une multitude d’acteurs :

• Au moins toujours 2 individus à faire communiquer• Les rôles de chacun peuvent être multiples en

fonction de la taille de l’équipe

Page 6: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• Fonctionnel:• C’est lui qui connait le « métier »• Rarement technique• Besoin de visibilité sur le projet• Impact financier / commercial

• Chef de projet:• Coordinateur global de l’équipe• Analyse des exigences, assignation de tâches• Peut être technique et / ou fonctionnel

Page 7: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• Architecte / Lead développeur:• Définition de l’architecture applicative• Mise en place et contrôle des normes de

développement

• Développeur:• Le cœur du projet!• Production de code• Respect de la qualité et des bonnes pratiques de

développement• Attention ! Beaucoup de compétences différentes

existent en développement.

Page 8: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Ex : le développeur web

Source : www.alticreation.com

Page 9: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• Designer :• Storyboard• Conception des maquettes• Définition de l’ergonomie• Créations graphiques• Charte graphique• Intégration ?• …• Attention, là aussi, beaucoup de compétences

différentes !

Page 10: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• DBA (DataBase Administrator) :• Externe ou interne à l’équipe• Profil développeur ou administrateur système

• Administrateur système :• Souvent externe à l’équipe• Relation de fournisseur de service externe

Page 11: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les différents acteurs

• Testeur fonctionnel• Non technique• En charge de la validation des exigences• Ecrit et/ou joue les séquences de test pour validation

• Utilisateur final• Click, click, click• Peut remonter des bogues, des feedbacks, des

demandes d’évolutions…• A ne surtout pas négliger ! ($$)

Page 12: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Savoir s’entourer

Tips pour le recrutement• Ne négligez pas le designer• Ne négligez pas l’architecte/responsable technique• S’assurer des bonnes compétences technologique des développeurs vis-à-vis de vos attentes• Ne pas hésiter à faire effectuer des tests techniques !

Page 13: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Sous-traiter le développement

Page 14: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Sous-traiter le développement• En France, il existe beaucoup de sociétés de services en informatique (SSII).• Il faut distinguer deux catégories :• Les généralistes :

• Souvent très grosses sociétés• Interviennent en « délégation de ressources »

• Les spécialistes :• Souvent de petites sociétés• « Pure players » sur une technologie• Mission courtes, audit, aide à l’architecture, conseil,

formation des équipes de développement…

Page 15: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Sous-traiter le développement• Deux modes d’engagements :• Régie :

• Un développeur vient renforcer votre équipe temporairement• Facturation au temps passé• Rapide à mettre en place, intégration dans le flux de

travail quotidien

• Forfait :• Fonctionnement en mode projet• Engagement de résultat par l’équipe de développement• Nécessite par contre de faire des spécifications

détaillées avant la contractualisation

Page 16: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Sous-traiter le développement• Les avantages :• Renfort temporaire et rapide de développeurs• Beaucoup plus simple de trouver « la bonne

personne » que le recrutement traditionnel• Pas d’engagement sur la durée (coûts fixes liés à

l’embauche)

• Les inconvénients :• La compétence technique n’est pas chez vous !!!• Risque de méconnaissance du métier• Souvent moins d’implication d’un prestataire que

d’un développeur interne• Moins bonne maitrise des départs

Page 17: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Sous-traiter le développement• En résumé :• Internaliser le plus possible les rôles clés de votre

équipe :• Architecte ou développeur sénior• Au moins 1 développeur

• Faire appel à des sociétés de service pour les phases clés :• Démarrage de projet• Utilisation d’une nouvelle technologie• Audit de performance et de qualité• Formation des équipes de développement• Accompagnement temporaire pour répondre à un impératif

de livraison• …

Page 18: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

La méthodologie

Page 19: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

De quoi parle-t-on ?

Le besoin

L’application

L’utilisateur final

Page 20: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Le processus de dev

Le besoin L’application• Equipe technique• Outils, machines• Délais• Budget• Contraintes métier• Méthodologie

Page 21: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Méthodologie « à l’ancienne »• Cascade, cycle en V

Le besoin L’application

Prb : - Le besoin change en permanence, alors que les specs sont

figées- Demande bcp de production de documents- Le client ne peut tester l’application qu’une fois qu’elle est

terminée- On passe bcp d’énergie à essayer de faire rentrer la vraie vie

dans les cases de la méthodologie

SpécificationsCahier de tests

Page 22: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

La méthodologie AgileCa ressemble à la vraie vieVs la théorie du cycle en V où tout doit être défini dès le départ et ne plus changer (de tte façon : le client change d’avis, vous prendrez du retard, vous aurez des contraintes inattendues, …)

Le client est impliqué donc engagé sur le résultatLe client donne son avis tout le long, ce qui permet de ne pas avoir de surprise à la livraison : le produit est effectivement celui qu’il a demandé.

Flexibilité et pas de perte de temps inutileAvec des docs et process qui de tte manière devraient être modifiés continuellement au fil des contraintes : rien de pire que des docs pas à jour ou jamais lues.

S’adapter plutôt que de suivre un plan

Livrer des logiciels qui fonctionnent plutôt qu'une documentation exhaustive

Collaborer avec les clients plutôt que de négocier un contrat

Privilégier les individus et leurs intéractions plutôt que les processus et les outils

Page 23: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Les différents intervenants de l’équipe projet

:

• Product Owner• Le représentant du « métier »

• Scrum Master• Equipe de réalisation• Développeurs• Designeurs• Testeurs• …

Page 24: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Vue globale du processus

Source : Microsoft.com

Page 25: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Etape 1 : • Quoi : Définition des User Stories• Qui : Product Owner, Scrum Master• Quand : Au démarrage du projet, puis tout le

temps !

En tant qu’utilisateur du site web, je dois pouvoir me connecter avec un compte Facebook

En tant qu’administrateur du site, je dois pouvoir ajouter des actualités

En tant qu’administrateur du site, je dois pouvoir ajouter des actualités

En tant qu’utilisateur du site web, je dois pouvoir lire une actualité depuis mon navigateur

En tant qu’utilisateur du site web, je dois pouvoir lire une actualité depuis mon Smartphone

Ceci est un « Product Backlog »

Page 26: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Etape 2 : • Quoi : Organisation du backlog

Product Owner :• Qu’est ce qui est

le plus important pour moi ?

• De quoi j’ai besoin en premier ?

Equipe de dev• Qu’est ce qui est

le plus compliqué à réaliser

124222013

Page 27: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Etape 3 : • Quoi : Organiser du cycle projet• Quand : Au démarrage du projet• Qui : Product Owner, Scrum Master

Organisation en sprints Périodes courtes de développement Durée régulière Pas de planification à l’avance

Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 1 …

Release 1 Release 2

Page 28: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Etape 4 : • Quoi : Planification d’une itération – l’équipe de

réalisation s’engage !• Quand : A chaque début d’itération• Qui : Product Owner, Scrum Master

124222013

Itération 1 (45)

Page 29: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Etape 5 : • Quoi : Livraison de l’itération• Quand : A chaque fin d’itération• Qui : Tout le monde

• Démo du travail réalisé• Récolte de feedbacks

• Livraison des User Stories développées• A chacun de tester

• Mise à jour du backlog• Cloture / ajout de User Stories

• Préparation de l’itération suivante

Page 30: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Comment ça se passe ? Ex Scrum• Coté développement : • L’équipe découpe chaque User Story en tâches techniques• Les développeurs sont « interchangeables »• L’équipe prend un engagement de livraison sur une itération

• Plusieurs « rituels » :• Daily meeting• Démo• Retro

Page 31: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Vue globale du processus

Source : Microsoft.com

Page 32: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Mise en pratique !

• A nous de jouer !

Page 33: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Quelques principes simples à retenir

• Cibler les fonctionnalités qui ont le plus de valeur

• Ne comptez pas sur l’équipe technique pour exprimer et définir le besoin à votre place

• Impliquez le client/utilisateur dès le début du processus

• C’est moins cher de se tromper tôt que tard

Page 34: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

En pratique…

Page 35: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Qui fait quoi ?

Client Marketing Architecte DéveloppeurTesteurDesigner

Exprimer le besoin

Choisir les technologies

de devt

Définir une architecture applicative

Définir une méthodoCoder

Tester

Créer des jeux de test

Storyboard

Chef de projet

Définir le planning

Page 36: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

Les bugs : même pas peur…Il y a des bugs et c’est NORMAL.C’est pour cela qu’il FAUT des tests.

Pendant la conception• Tests Unitaires : pendant le codage• Tests Fonctionnels : guidés par l’usage• …

Post-production• Tests de non régression : suite à un bug identifié : un test qui

vérifie sa correction et garantit ainsi qu’il n’arrivera plus dans les prochaines versions

• Field tests, bêtas : auprès de clients finaux

Page 37: Coding : Kit de survie pour les futurs entrepreneurs (Session 2)

De quoi j’ai besoin ?Matériel• De (bonnes) machines pour développer• De serveur/cloud pour archiver les sources• De devices pour tester en vrai• D’un hébergement pour le back-end (support de la montée en

charge, redondance, sécurité,…)

Logiciel• D’outils de maquettage (PPT, Balsamiq, …)• D’un environnement de dev (là où on code !)• D’un contrôleur de sources• De composants tiers tous faits qui vous feront gagner du

temps et de l’argent (ne réinventez pas la roue)

De « gens »…