Coding : Kit de survie pour les futurs entrepreneurs (Session 2)
-
Upload
stephanie-hertrich -
Category
Technology
-
view
1.092 -
download
3
description
Transcript of 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
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 ?
Agenda
L’équipe technique Sous-traiter le développement La méthodologie En pratique
L’équipe technique
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
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
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.
Ex : le développeur web
Source : www.alticreation.com
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 !
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
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 ! ($$)
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 !
Sous-traiter le développement
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…
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
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
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• …
La méthodologie
De quoi parle-t-on ?
Le besoin
L’application
L’utilisateur final
Le processus de dev
Le besoin L’application• Equipe technique• Outils, machines• Délais• Budget• Contraintes métier• Méthodologie
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
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
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• …
Vue globale du processus
Source : Microsoft.com
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 »
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
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
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)
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
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
Vue globale du processus
Source : Microsoft.com
Mise en pratique !
• A nous de jouer !
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
En pratique…
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
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
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 »…