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