Formation AME Les évolutions que connaissent les différents domaines de l énergie (Recherche et développement, réglementation, processus de maitrise de la demande d énergie, techniques d exploitation des énergies renouvelables et technologies associées, etc.) appellent de nouvelles connaissances et compétences à acquérir. L Agence Martiniquaise de l Energie (AME) a vocation à accompagner la transition énergétique de la Martinique. Elle a entre autres pour mission de former les martiniquais aux métiers de l Energie au sens large et d accompagner la formation dans ce domaine. Dans de nombreux domaines innovants, le développement logiciel est en train d évoluer du statut d outil à celui de pièce incontournable, et la recherche scientifique n échappe pas à cette tendance. Ainsi, dans sa mission de recherche sur les énergies renouvelables, l AME propose la formation «Développement Logiciel Agile», pensée par Xavier René-Corail, en partenariat avec MartiniqueTech. Développement Logiciel Agile Vous participez généralement à des projets logiciels longs de deux ans, et quand vient enfin l heure de lancer votre produit sur le marché, celui-ci a évolué, un autre acteur a bouleversé les comportements ou un concurrent vous a pris de court. Votre client change d avis comme de chaussettes... il ne sait pas ce qu il veut, il rajoute des demandes au dernier moment, les priorités changent au gré du vent (ou alors tout est important). Pour l analyste, le client ne sait pas ce qu il veut. Pour le développeur, les spécifications sont parcellaires, l analyste n a pas fait son travail. Pour celui qui va faire la recette, le développeur semble être payé pour faire des bugs. Le chef de projet, dans tout cela, est censé gérer tous ces risques Personne ne peut tout anticiper. Il existe une autre voie : être préparé aux inéluctables changements et les transformer en opportunités plutôt que de n y voir que des risques. A peine sorti, votre logiciel connait ses premiers incidents en production. Heureusement, vous avez pensé à tout, et vous avez une équipe de maintenance prête à sauter sur le front et corriger les bugs. Car vous savez que c est une fatalité, qu il y aura toujours des bugs. Malgré cela, l équipe de maintenance semble avoir du mal à comprendre le code écrit par les autres. Les corrections amènent de nouveaux bugs! Tout ceci crée un cercle vicieux dans lequel vous passez plus de temps à corriger qu à innover et répondre aux nouvelles demandes. Votre idéal serait de concilier logiciel durable, et rythme d innovation soutenu.
Objectifs L objectif de cette formation est de faire découvrir aux participants comment effectuer du développement logiciel de façon efficace et durable, en étant agiles face au changement. A la fin de cette formation, vous saurez : - Ce que veut dire être agile, dans le développement logiciel - Pourquoi il faut être agile dans le contexte actuel - Reconnaître des situations dangereuses pour la durabilité de votre produit, et prendre les mesures pour y remédier - Comment appliquer les principes de l Agilité dans tous les domaines du développement logiciel - Mais vous serez aussi capables d étendre ces principes au-delà du développement logiciel, à d autres produits et d autres projets. Le jour suivant cette formation, vous pourrez appliquer les techniques visitées. Plus important, sachant ce que veut dire être Agile, vous serez capables de pratiquer efficacement d autres méthodes et techniques, apprises hors de cette formation, et de les adapter à votre cas, à vos spécificités, à votre métier. Car cette formation se veut pragmatique, et non dogmatique. A la fin de cette formation, vous en saurez aussi un peu plus sur le développement logiciel en général et sur le travail de vos collègues, afin de pouvoir être agile en équipe. Et si vous n êtes pas dans le domaine du développement logiciel, vous serez capables de vous inspirer de ses techniques pour les adapter à votre métier. Public Toute personne impliquée dans le développement logiciel. La formation sera particulièrement intéressante pour les personnes occupant les fonctions suivantes : - Développeur, Architecte - Analyste fonctionnel, Chef de produit - Assurance Qualité - Chef de projet - Toute personne ne faisant pas de développement logiciel, mais qui voudrait s inspirer des méthodes des Start-up pour réussir des projets innovants.
Déroulement Deux jours de formation. La formation alternera : - Théorie et histoire du développement logiciel (1/3), - Etudes de cas et exercices pratiques (1/3), - Jeux et simulations (1/3). Elle s attachera à parcourir toutes les facettes du développement logiciel, afin que chacun puisse apprendre à être agile dans son poste, mais aussi afin que tous comprennent les bénéfices de l Agilité sur toute la chaîne et sur toute l équipe (Analyste fonctionnel, Développeur, Testeur, Chef de Projet...). Elle s appuiera sur des cas pratiques proposés par les participants. Prérequis Aucun prérequis n est nécessaire. La dernière demi-journée sera consacré au développement proprement dit, mais reste accessible (et est même conseillée) aux non développeurs qui voudraient découvrir les notions de design collaboratif.
Programme JOUR 1 Etre Agile - Définition : feedback permanent, accueillir le changement - Historique : Le Manifeste Agile - Les nouveaux drivers de l agilité Spécifications produit - Que veut vraiment le client? Comment maximiser sa satisfaction? Exercice (Réécrivons votre spécification) - Ecrire une User Story Exercice (Réécrivons votre spécification en User Story) - Spécification Collaborative Organiser vos spécifications en couches Planification - Planifiez en couches - «Plan to change, Change the plan» Déploiement continu : principe et stratégies La taille idéale des user stories Le modèle QUPER Exercice («Hamburger») - Des User stories particulières : «Earning vs. Learning»
JOUR 2 Gestion de projet - Une obsession : l amélioration continue - Kaizen «Fail fast»,«it hurts? Do it more» Rétrospectives - Le pouvoir aux individus! Alignement & Autonomie (... et budget) Les individus, oui, mais dans une équipe - Exemples : Framework SCRUM, mouvement DEVOPS - Exercices Chaises musicales / «who dropped the ball?» Design et Développement - La métaphore de la dette technique - Le test comme pierre angulaire du code Agile - La collaboration comme outil «Test Driven» pour garantir l évolutivité Architecture collaborative «Pair programming» «Code review» Exercice : architecture collaborative (ne requiert pas de compétence de DEV)