Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
développement et cycle de
vie d’un projet informatique
Pour essayer d’éviter ceci :
2
Les étapes du cycle de vie
3
Deux grandes approches
◼ Méthodes prédictives (GL traditionnel)
❑ Le logiciel est figé : on planifie au début du projet
◼ Méthodes adaptatives (agiles)
❑ Intègrent le changement
❑ La planification est réévaluée au cours du développement
4
Cycle de vie : les étapes du logiciel
Analyse Compréhension du problème et des besoins
(spécification des besoins)
Description de ce que le système doit faire
: Le que faire
conception préliminaire
(spécifications)
Le comment faire : algorithmes...
conception détaillée
Développement des sources et tests des portions
Codage et tests unitaires
Assemblage planifié des portions,
conformité par rapport aux besoins
Intégration et validation
Vérification de réponse aux
Recette spécifications, performances…
conception
Codage
Tests
6
Modèle en V
Spécification du système Modèle utilisateur Livraison du système
et des besoins
Construction
Modèle d'implantation
7
Modèle itératif
◼ Développement logiciel : processus graduel d’élimination des
risques
◼ Chaque nouvel incrément :
❑ a pour objectif la maîtrise d'une partie des risques
❑ apporte une preuve tangible de faisabilité ou d'adéquation
A chaque itération :
1. Spécification
2. Conception
3. Implémentation
4. Tests
8
Prototypage, RAD (Rapid Application Development)
∞ Mais :
− Prototyper n’est pas spécifier
− Les décisions rapides sont rarement de bonnes décisions
− Le prototype évolutif donne-t-il le produit demandé ?
− Les générateurs de code produisent-ils du code assez efficace ?
9
Modèle incrémental
Combine des éléments des modèles linéaires et du prototypage
Produit opérationnel :
incréments livrables
→Le premier incrément est
souvent le noyau
→ Les incréments aident à
gérer les risques techniques
(matériel non disponible)
10
Méthode du processus unifié (UP)
11
Rational Unified Process (RUP)
définition planification des activités, développement recettage et
du problème affectation des ressources, analyse du logiciel déploiement
12
Méthode du processus unifié (UP et RUP)
∞ Avantages :
− Souci permanent de la qualité
− Gestion des risques permanente
− Gestion des demandes de changement
∞ Inconvénients :
− Coûteux à personnaliser
− Très axé processus au détriment du développement
13
Problèmes liés au développement de logiciels
∞ Méthodes traditionnelles :
14
Exercice 1
15
Exercice 2
16
Réponse
17
Réponse
18
La philosophie AGILE
◼ Motivations principales :
❑ changements imprévisibles et rapides (besoins,
technologies, …)
❑ mal gérés par les méthodes « traditionnelles »
∞ Valeurs essentielles :
− Individus et interactions vs processus et outils
− Logiciel qui marche vs documentation exhaustive
− Collaboration avec le client vs négociation de contrat
− Réponse aux besoins vs respect des plans
19
Méthodes agiles : différentes méthodes
XP (eXtreme Programming)
ASD (Adaptative Software Development)
FDD (Feature Driven Development),
DSDM (Dynamic Systems Development Method)
AM (Agile Modeling),
→ Méthodes regroupées par l’Agile Alliance
20
Méthodes agiles en pratique
◼ Concepts de base :
❑ Le code marche constamment (documentation
compréhensible)
❑ Travail de groupe avec forte communication
❑ Réponse au changement (nouvelles fonctionnalités
...)
∞ En pratique :
− Itérations très courtes (10 j à 1 mois) avec résultat
opérationnel
• Corriger au plus tôt les erreurs commises → retards limités
21
Méthodes agiles en pratique (2)
22
◼ Les méthodes de développement dites
« méthodes agiles » visent à réduire le cycle
de vie du logiciel (donc accélérer son
développement) en développant une version
minimale, puis en intégrant les fonctionnalités
par un processus itératif basé sur une écoute
client et des tests tout au long du cycle de
développement.
23
Méthodes agiles
◼ L'origine des méthodes agiles est liée à
l'instabilité de l'environnement technologique et
au fait que le client est souvent dans l'incapacité
de définir ses besoins de manière exhaustive dès
le début du projet.
◼ Le terme « agile » fait ainsi référence à la capacité
d'adaptation aux changements de contexte et aux
modifications de spécifications intervenant
pendant le processus de développement.
24
Méthodes agiles
Grâce aux méthodes agiles, le client est
pilote à part entière de son projet et obtient
très vite une première mise en production de
son logiciel. Ainsi, il est possible d'associer
les utilisateurs dès le début du projet.
25
Définition de Scrum
26
Utilisateurs de Scrum
•Microsoft •Intuit
•Yahoo •Nielsen Media
•Google •First American Real Estate
•Electronic Arts •BMC Software
•High Moon Studios •Ipswitch
•Lockheed Martin •John Deere
•Philips •Lexis Nexis
•Siemens •Sabre
•Nokia •Salesforce.com
•Capital One •Time Warner
•BBC •Turner Broadcasting
•Oce
27
Caractéristiques de Scrum
28
Sprints
• Les projets Scrum progressent par une série
de sprints
• La durée d’un sprint est de 2 à 4 semaines
• Une durée constante apporte un meilleur
rythme
• Le produit (partiel) est conçu, codé et testé
pendant le sprint
29
Les étapes
30
Le cadre Scrum
Rôles
•Product Owner
•ScrumMaster
•Equipe
(développpeur, …)
Cérémonies
•Planification du sprint
•Revue du sprint
•Rétrospective
•Scrum quotidien
31
32
Le cadre Scrum
Rôles
•Product Owner
•ScrumMaster
•Equipe (développpeur, …)
33
Product Owner
Propriétaire du produit
• Est le représentant des clients et des
utilisateurs
• Définit les fonctionnalités du produit
• Choisit la date et le contenu du prototype
• Définit les priorités dans le backlog en
fonction de la valeur « métier »
• Ajuste les fonctionnalités et les priorités à
chaque sprint si nécessaire
• Accepte ou rejette les résultats
34
ScrumMaster
• Il est responsable de la méthode (le
management du projet)
• Responsable de faire appliquer par
l’équipe les valeurs et les pratiques de
Scrum
• Élimine les obstacles
• S'assure que l'équipe est complètement
fonctionnelle et productive
• Facilite une coopération poussée entre
tous les rôles et fonctions
• Protège l'équipe des perturbations
extérieures
35
Développeurs
• De 5 à 10 personnes
• Regroupant tous les rôles
• Architecte, concepteur, développeur, spécialiste IHM, testeur,
etc.
◼ Travaille à plein temps sur le projet, de
préférence
• L’équipe s’organise par elle-même
• La composition de l’équipe ne doit pas
changer pendant un Sprint
36
Le cadre Scrum
Cérémonial/Events
•Planification du sprint
•Revue du sprint
•Rétrospective
•Scrum quotidien
37
Planification du sprint
Périmètre
• Analyser et évaluer le backlog de But du
produit sprint
• Définir le but du sprint
Plan
• Décider comment s'y prendre
(conception)
• Créer la liste des tâches à partir Liste des
des éléments du backlog de tâches
produit
• Estimer les tâches en heures
38
Backlog : Liste des fonctionnalités qui devront être mises en œuvre par le logiciel.
Revue de sprint
• À la fin du sprint, tout le monde se réunit pour
effectuer la revue de sprint,
• Dure au maximum 4 heures.
• L'objectif est de valider le logiciel qui a été produit
pendant le sprint.
• L'équipe commence par énoncer les fonctionnalités
réalisées.
• Elle effectue ensuite une démonstration du logiciel
produit.
À la fin du sprint, tout le monde se réunit pour effectuer la revue de sprint, qui dure au
ce sprint.
39
Retrospective du sprint sprint
40
Scrum quotidien
• Au quotidien, une réunion, (Daily Scrum), permet
aux développeurs de faire un point de coordination
sur les tâches en cours et sur les difficultés
rencontrées :
• Tous les jours
• 15 minutes
• Debout
• Pas fait pour résoudre les problèmes
• Tout le monde est invité
• Seuls les membres de l'équipe peuvent parler
41
Chacun répond à 3 questions
1
Qu’est ce que tu as fait hier ?
2
Que vas-tu faire aujourd'hui ?
3
Y a t-il un obstacle qui te freine ?
42
Scrum – Organisation 1/5
Source : www.scrumalliance.org
Source : www.scrumalliance.org
2. Backlog de sprint
◼ Extrait du backlog produit
Source : www.scrumalliance.org
3. Sprint
◼ Développement des fonctionnalités du backlog de sprint
Source : www.scrumalliance.org
4. Mêlée quotidienne
◼ Point de contrôle quotidien de l’équipe
Source : www.scrumalliance.org
48
Scrum
49