Compétences attestées :
Planifier et organiser un projet de développement logiciel Réaliser une étude de faisabilité du projet de développement logiciel, en analysant l’ensemble des éléments organisationnels, techniques et financiers , afin de déterminer les moyens de réalisation du projet de développement logiciel Concevoir un système de veille technologique, en analysant l’évolution technologique du secteur et de la concurrence, en comparant un assemblage d’outils, de modèles d’architectures logicielles, de solutions informatiques, d’usages et de services existants, afin d’identifier les apports les plus adaptés au projet, et de proposer une solution logicielle optimale, opérationnelle et innovante à la demande du client Concevoir la solution informatique associée au projet, en termes de spécifications techniques et de fonctionnalités, en identifiant les niveaux de performance cible, et les risques techniques et fonctionnels, afin de répondre aux besoins du client Établir la feuille de route du projet de développement logiciel, en intégrant la méthodologie de gestion de projet (ex. Agile, DevOps), l’organigramme des tâches (tableaux Kanban), les livrables à produire, les échéances, les budgets, et l’ensemble des ressources disponibles (humaines, matérielles, etc.), les outils de pilotage et les indicateurs de performance, afin de garantir l’opérationnalité du projet informatique Mettre en place le projet de développement logiciel, selon la méthodologie définie (ex. Agile, DevOps), en suivant le plan de gestion des ressources (technologiques, budgétaires, humaines, etc.), le plan de gestion de risques, le plan de gestion du changement, dans le respect du calendrier, en intégrant les enjeux de l’informatique durable, en répondant aux besoins spécifiques des personnes présentant un handicap, afin d’optimiser la performance de l’application logicielle Mesurer la performance du projet de développement logiciel, selon des indicateurs de performance (KPI) établis, en déterminant l’état d’avancement, en veillant à ce que le projet respecte les objectifs, le calendrier et les budgets établis, les normes réglementaires (RGPD) et de qualité (ITL), afin de définir les éléments d’amélioration et de garantir son bon déroulement Superviser le déroulement du projet de développement logiciel, en analysant les indicateurs de performance, en implémentant la résolution des problèmes identifiés, en adaptant le calendrier et les ressources fixées, en communiquant avec les parties prenantes, afin d’actualiser le projet de développement logiciel, de maintenir le cycle de vie de du développement du logiciel. Concevoir et développer des solutions logicielles Élaborer l’architecture de l’application logicielle, selon les contraintes techniques, les spécifications et les fonctionnalités attendues, les composants de l’interface déterminés, en respectant les exigences de sécurité et les normes réglementaires, en utilisant un langage de modélisation (ex. BPMN, UML), des outils numériques (ex. draw.io) et une méthodologie adaptée (ex. analyse PESTEL), afin de proposer un prototype de la solution informatique qui répond aux scénarios d’utilisation retenus. Préparer l’intégrité du code, en définissant des indicateurs de référence dans une démarche de qualité, en établissant des listes de contrôle détaillées des livrables, en respectant la conformité règlementaire (normes RGPD), en s’appuyant sur des outils automatisés pour garantir le contrôle de version du code (ex. GitHub), en assurant le contrôle de la performance, afin de réduire le cycle de développement, de veiller au développement en toute sécurité et de garantir un produit final sans faille de sécurité dans le code Piloter le développement front-end d’une application ou d’un site web, en gérant les contenus graphiques, interactifs et dynamiques, en intégrant les dernières évolutions des outils et techniques de développement, avec des langages spécifiques (ex. HTML5, CSS3, JavaScript), des bibliothèques de fonctions, des frameworks (ex. ReactJS, AngularJS, Vue.js), en collaboration avec d’autres professionnels (ex. web-designer, UX/UI designer), afin de proposer une navigation fluide et une interface ergonomique et inclusive, accessible à tous les utilisateurs, y compris en situation de handicap Piloter le développement back-end d’une application ou d’un site web, concernant des solutions techniques et fonctionnelles, en gérant le serveur, des bases de données, la liaison avec le front-end (API), le back-office, en intervenant sur le choix des outils, des technologies (ex. SGBDR, versioning), des systèmes d’exploitation et des ressources réseaux, avec des langages objet (ex. Python, Java, Node.js), selon des standards techniques (ex. W3C) et des normes de sécurisation (OWASP, RGPD), en collaborant avec d’autres équipes, afin de rendre la solution informatique fonctionnelle . Coordonner le développement des solutions technologiques visant le traitement de la donnée à grande échelle, comportant la collecte (ex. avec Open Refine ou Nifi), le traitement par lots ou en temps réel (ex. Apache Spark ou Storm) et le stockage de données massives structurées ou non structurées, en utilisant des bases de données analytiques ou opérationnelles, et en utilisant l’analyse descriptive ou prédictive (ex. machine learning), afin d’extraire toute la valeur des données disponibles pour l’aide à la décision et automatisation de tâches répétitives Piloter la mise en production des solutions logicielles et leur évolution Piloter le système d’intégration continue, dans un environnement Agile et DevOps, en implémentant et en harmonisant les composants et fonctionnalités de la solution logicielle, dans un dépôt de code partagé, en déclenchant des tests automatiques, en s’appuyant sur le système de contrôle de versions (ex. Git, Subversion), sur l’automatisation des builds, par le biais d’outils spécifiques (ex. Jenkins), en respectant les contraintes réglementaires et de sécurité (RGPD), afin de résoudre des erreurs, réduire les risques, et construire une solution fiable dans un temps réduit Organiser l’élaboration du plan de tests itératifs (tests unitaires, d’intégration, de sécurité), dans un environnement Agile et DevOps, en même temps que le développement, en reprenant l’ensemble des scenarii et des problèmes techniques rencontrés, selon un plan de recensement des dysfonctionnements, de correction des bogues et de suivi de la performance, afin de garantir que la base de code fonctionne correctement, selon les attentes documentées des utilisateurs Surveiller les automatisations visant les mises à jour logicielles, dans des conditions les plus proches possibles de la réalité, sur la base du retour d’informations continu sur l’exécution et les performances globales des versions logicielles, en lui intégrant le contrôle humain, en conservant la stabilité de l’infrastructure de développement (sur site ou cloud), en veillant à ce que tous les aspects du pipeline DevOps soient conformes aux normes de sécurité, afin d’orienter la feuille de route du développement logiciel et de guider l'itération des codes générés Piloter le déploiement continu de la solution logicielle, visant la mise en production de l’application, en la rendant disponible aux utilisateurs, de manière automatisée, sans intervention manuelle, sous forme d’une seule procédure de livraison pour toutes les plateformes d’intégration continue et les environnements cibles, permettant des mises à jour fréquentes de l’application, afin de recueillir les retours des utilisateurs, et d’évaluer l’adéquation, la robustesse et la qualité de la solution logicielle proposée Piloter l’optimisation des applications et des environnements, par le biais d’opérations continues, à l’aide d’alertes et des notifications en cas d'anomalie de performance logicielle ou de l'infrastructure, dans le cadre d’un environnement unifié pour le développement et l'intégration, en utilisant une chaîne d'outils intégrés, qui permettent l'automatisation, le contrôle et le travail collaboratif et adaptatif entre les équipes projet, afin de développer rapidement des logiciels et de satisfaire les demandes des clients visant l'amélioration continue des fonctionnalités des logiciels Organiser la rédaction de la documentation technique (manuel utilisateur, guide d’utilisation), en décrivant la solution informatique et ses fonctionnalités (User stories), la structure des bases de données et le schéma général de la sécurité, de façon progressive, en intégrant des exemples, en utilisant un langage qui permet de visualiser les composantes de façon standardisée (UML, BPMN), en français et en anglais, accompagnée d’un plan de formation des utilisateurs, en l’adaptant à la diversité du public, et aux personnes présentant un handicap, afin d’améliorer l’expérience utilisateur Piloter l’équipe du projet de développement logiciel Déterminer les compétences nécessaires à l’accomplissement du projet de développement logiciel, ainsi que les interactions prévues avec les autres équipes, en concordance avec les objectifs établis pour la solution proposée au client, en accord avec le cycle de vie du développement du logiciel, en définissant les modalités afin de constituer une équipe projet performante Constituer l’équipe du projet de développement logiciel, par le biais de la formation interne et du recrutement, en collaboration avec l’équipe RH de l’entreprise, en identifiant les missions et les responsabilités associées à la solution de développement logiciel, afin d’atteindre les objectifs du projet, fixés dans le cahier de charges Coordonner l’activité de l’équipe du projet de développement logiciel, par la gestion de l’intégration des nouveaux membres, en allouant les tâches et responsabilités et en veillant à l’équilibre des charges de travail, en français et en anglais selon les besoins, afin de garantir la productivité de l’équipe Accompagner les membres de l’équipe du projet de développement logiciel, en mettant en place des stratégies pour fluidiser la communication interne dans un contexte agile, les processus de développement et pour la résolution de problèmes, par le biais des échanges et des réunions spécifiques, en utilisant une plateforme collaborative inclusive et des outils numériques afin de faciliter la collaboration et la productivité de l’équipe Planifier la formation des membres de l’équipe du projet de développement logiciel, en mettant en place des actions de développement des compétences, afin d’acquérir, de maintenir et d’actualiser les compétences de l’équipe sur les avancées technologiques et méthodologiques, et afin de maintenir la performance de l’équipe projet et d’obtenir des résultats optimaux dans l’activité Évaluer la performance de l’équipe du projet de développement logiciel, en établissant un référentiel de performance pour l’équipe et des référentiels de performance individuels, en analysant la performance collective et les performances individuels au regard de de ce référentiel, en réalisant des feedbacks réguliers et constructifs à double sens, en assurant des opportunités de développement au sein de l’équipe, et en établissant des plans de carrière en collaboration avec le service RH, afin d’optimiser la performance de l’équipe tout en assurant le bien-être des employés et en maintenant un environnement de travail positif et inclusif