Cycles de développement

Transcription

Cycles de développement
​Conduitedeprojet
Cyclesdedéveloppement(logiciel)
2015-09
NETCAT/@netcat
GestiondeprojetvsCycledevie
Notionetbut
Butdelagestiondeprojet:
Maîtriserlesrisques
Maîtriserlesdélais,lescoûts
Maîtriserlaqualité
Qu'est-cequ'uncycledevie?
Découpageenunensembledeprocessus
Unprocessus:objectif,étapes,entrée/sortie
Cycled'unprojet
Toutprojetestconstituédesixphasesdistinctes
1. Analyseetspécification(initiating)
2. Conception(planning)
3. Réalisation(implementing)
4. Test(monitoring)
5. Miseenproduction(closure)
6. Maintenance(adapting)
Les6phasesd'unprojet(1/3)
I.Analyseetspécification
Descriptiondudossierqualité
Réalisationducahierdeschargesfonctionnel
II.Conception
Définitiondel'architecturedulogiciel(globale)
Découpageenmodules(détaillée)
Réalisationducahierdeschargestechnique
Les6phasesd'unprojet(2/3)
III.Réalisation
Développementlogiciel
Codagedesmodules
Écrituredestestsunitaires
IV.Tests
Intégration
Qualificationtechniqueetfonctionnelle
Les6phasesd'unprojet(3/3)
V.Miseenproduction
Validationenenvironnementréel
Correctiondesanomaliesrésiduelles
Vérificationdurespectducontratdeservice
VI.Maintenanceetadaptation
Effortauxdifférentesphases
Typesdemodèles
Ilexiste3façonsd'avancersurunprojet
Modèlesséquentiels
Unseultrajet
Uneséquence
Chaquephasecorrespond
Modèlesincrémentaux
Modèlesitératifs
Modèleencascade
Modèleencascade:Origines
Méthodologieséquentielle
Modèleclassique(Bohem1988)
Baseetréférencedesautresmodèles
héritédel'industrieduBTP
Salogiqueestquelesconséquencesd'une
modificationamontonunimpactmajeursurles
coûtsenaval
Modèleencascade:Caractéristiques
Lesphasesdumodèleencascadeontpour
caractéristique:
Estdéfinieaupréalables(développement
modulaire)
Doitêtrefiniepourquelasuivantecommence
setermineàdateprécise
Setermineseulementlorsqueleslivrablessont
jugéssatisfaisantslorsd'uneétapedevalidationvérification
N.B:Àl'origine,iln'yavaitpasderetourarrière,maisaprèsaprèsévolutiondu
modèle,uneétapeneremetencausequel'étapeprécédente
Modèleencascade:illustration
CycleenV
CycleenV:origine
Modèleséquentiel
Evolutiondumodèleencascade
Plusréactifquelemodèleencascade
Limiteleretourauxétapesprécédentes
Metenévidencelanécessitéd'anticiper
danslesétapesdescendantesonales
"attendus"desfuturesétapesmontantes
Standarddel'industriedudéveloppementlogiciel
etdelagestiondeprojetdepuislesannées1980
CycleenV:illustration
CycleenV:danslavraievie
CycleenV:avantages
Permetdedisciplinerleprocessusde
développement
Faitapparaitredespointsdecontrôle
Notiondevalidationforte
Basedescyclessuivants
CycleenV:inconvénients
Rigiditédesphaseslinéaires
Industriemanufacturière!=créativité
Projetmonolithique:unproduitgloballivréen
bloc
Estimationducoutdifficileàfaire
Difficultéd'intégreretd'anticiperle
développement
Prototypage
Prototypageexpérimental(1/2)
Utiliséauniveaudelaconceptionpour:
S'assurerdelafaisabilitédepartiescritiques
Validerdesoptionsdeconception
Souventjetéaprèsdéveloppement
Prototypageexpérimental(2/2)
Prototypageévolutif
Lapremièreversionduprototype:embryon
Développementparincrément
Chaqueprototypefaitl'objetd'uncycle
spécification-conception-implantation-test
Miseenplacedelanotiondecycleincrémental
Modèleenspirale
Modèleenspirale:présentation(1/2)
Basésurleprototypageévolutif
Basésurlagestiondesrisques
ReprendslesétapesducycleenV
Démarche:
Identifierlesrisquesetcommencerparlesplus
importants
Chaquecyclepeutestbasésurunedémarche
enVouencascade
Modèleenspirale:bilan(2/2)
Avantages:
Meilleuremaîtrisedesrisques
Lesutilisateursacceptentprogressivementle
produit
Meilleureréactivité
Inconvénients:
Lenombred’incrémentsdoitêtreassezimportant
Marchesileprojetestgéréeninterne
(client=fournisseur)
XP:ExtremeProgramming
Définition
Naissance:année2000
Modèleitératif
Uneméthodeappelé«agile»
Miseenavantdurôledudéveloppeur
Réductiondeladocumentation
Renforcementdulienclient/intégrateur
Lesvaleurs
Lacommunication:
Clientintégrédansleprojet
Groupesoudé
Feedback(commentaire)
Travailenbinôme
Retourduclient
Lasimplicité:
Supprimercequiestinutile
Lecourage
Jeterlecodemauvais
Leclientdoitdonnerdespriorités
Lefonctionnement
Pratiquesdeprogrammation:
Uneconceptionsimple,Refactoring,Tests
unitaires,Testsfonctionnels
Lesacteurs:
Coach,manager,tracker,développeur,testeur,
client
Règles:
programmationenbinôme,responsabilité
collectiveducode,intégrationcontinue
Lesavantages
Qualité
Maintenabilité,
Efficacité
Adaptabilité
Transparence
Clientintégré
Respectdesobjectifs
Ambiancedetravail
Lesinconvénients
Langages:adaptéspourdeslangagesobjets
Projetdepetitsenvergures
Equiperéduite,etdevantêtretrèscompétenteet
soudée
Travailenbinôme
Clientsomniprésents
Abased'XP...
Lanotiondebesoinremplacéparlanotionde
service
DécoupageenLotsetenîlots
ReprisedesvaleursetdelaméthodologieXPpour
chacundeceslots.
Découpageduprojetenîlotsindépendants
Projetagileaveclotissement
Quechoisir?
Nécessitéd'uneméthodedegestion
Iln'yapasdebonnesoudemauvaisesméthodes
Chaqueprojetasesspécificitésquiconduisentà
définirlaméthodelaplusadaptée(oulamoins
mauvaise),quirésultesouventdudosagesubtilde
plusieursméthodes.
Questionspourchoisir?
Sommesnousd’accordsurlebesoin?
Quelestledegrédemodification?
Quelestledegréd’implicationduclient?
Quelestledegrédemaîtriseduclient?
Quelestledélai?Lebudget?Laqualité?
Choisirlescyclesséquentiels?
Leprojetestimportant,peud’implicationdu
client,vieillestechnologiesmaîtrisées:
LecycleenVesttrèsapproprié
Silatechnologien’estpastotalementmaîtriséeon
peutrajouterunephasedeprototypage
maquettage
Silestestssontréduits→simplecascade
Choisirlescyclesorientésitérations?
FIXME!
Étapesparallèles
Letransverse
Gestiondesenvironnements
Donnéesdetests
Administrationdesserveurs
Miseenplaceduréseauinformatique
Installation/Masterisationduparcinformatique
Lecontrôlequalité
Capacityplanning
Suividusystèmedéveloppéouencoursde
développement
Laformation
Formationdesfutursutilisateursdel’application
Miseenplaced’unenvironnementdeformation
Adaptationduprojetparrapportauxpremières
remontés
Formationdesfutursadministrateursde
l’application
Prisedeconnaissancedel’application
Formationauxnouveauxoutilspouvantêtremis
enplace
etc.
Questions
Retourausommaire