J'ai un diplôme "Expert en développement logiciel"

Je sais faire les actions suivantes :

Analyser, formaliser le besoin et concevoir l'architecture de développement logiciel ou applicatif Analyse, spécification et formalisation du besoin client Elaborer une étude de faisabilité d’une conception technique ou d’un projet Conception de l'architecture logicielle et choix techniques Structuration d'une base de données sécurisée dans le respect du RGPD Piloter le développement logiciel ou applicatif Piloter le développement des composants de la solution Piloter la mise en œuvre des spécifications définies Elaborer un plan de surveillance, de reprise d'activité et industrialisation du déploiement de la solution finale Manager et encadrer les équipes d’un projet de développement logiciel ou applicatif Cadrage et planification du projet de développement logiciel Préparation des équipes projet et gestion prévisionnelle des compétences

OÙ SUIVRE CETTE CERTIFICATION ?

Détails du diplôme

Quelles sont les compétences que vous allez apprendre mais aussi comment l'examen va-t-il se passer ?

Compétences attestées :

Analyser, identifier et formaliser la demande et les données recueillies auprès du client, en mobilisant les méthodes d'entretien d'explicitation, en analysant le contexte, les contraintes et les attentes en termes de spécifications techniques et fonctionnelles afin d'expliquer les objectifs et les enjeux du projet et de faire éclore des pistes de solution Réaliser l’état des lieux des applications existantes au sein du système d’information afin de déterminer leur état de fonctionnalité. Analyser le système d’information existant en identifiant les contraintes physiques, techniques, budgétaires et réglementaires associées à la mise en œuvre de la solution pour définir l’architecture globale et éventuellement les spécifications techniques Superviser la rédaction ou rédiger les spécifications techniques et fonctionnelles afin de définir le cadre du projet de développement (contraintes, critères, solutions, coûts), de proposer une solution applicative adaptée aux besoins, et de préparer la contractualisation Élaborer et justifier l’opportunité et la faisabilité d’une conception ou d’un projet en développant une méthodologie adaptée (ex: PoC (Proof of Concept) et en testant la solution grâce à la mobilisation des technologies et des choix techniques adaptés aux spécifications afin de vérifier la validité de la conception technique ou la faisabilité d’un projet Développer un système de veille ou faire la prospective sur l’évolution du marché, plus largement, sur les nouvelles technologies, en identifiant les apports possibles pour l’entreprise et en évaluant les enjeux et implications des différentes architectures afin de garantir l’opérationnalité des outils de l’entreprise Effectuer et valider les choix techniques et technologiques (langages de programmation, frameworks, librairies, etc.) adéquats en fonction de l’architecture et des contraintes projet afin d’optimiser le développement et la performance du produit final (application ou logiciel) Concevoir une architecture logicielle avancée de qualité en utilisant un outil dédié (Miro, LucidChart, etc.), en définissant le schéma de l’architecture, le comportement et les interactions de l'application et prenant en compte les contraintes techniques afin de proposer une solution pérenne, maintenable et conforme aux besoins internes ou externes Structurer la base de données en assurant la conformité avec les spécifications fonctionnelles, techniques et légales (RGPD), en établissant les différentes tables ainsi que leurs relations pour une base relationnelle (SQL) ou une structure adaptée pour une base non relationnelle (NoSQL) Mettre en place une méthodologie de gestion de versionnage de codes adaptée au besoin de l’entreprise, en vue de centraliser et de partager le code, d'en contrôler les versions, et de permettre le travail collaboratif Piloter le développement ou développer le front-end en veillant à la pertinence du langage de programmation ( Javascript, TypeScript, etc.), et à la mobilisation des apports des experts UI/UX (en fonction des contraintes matérielles, de l’agencement de l’affiche et de la charte graphique, etc.), pour construire une interface responsive et adaptée aux besoins des utilisateurs (y compris les utilisateurs en situation de handicap Conduire le développement ou programmer un logiciel back-end de qualité, en fonction des user-stories, en vérifiant la pertinence du langage de programmation (Java/J2EE, C#/.Net, etc.), et la mobilisation des pratiques de maintenabilité et d'optimisation, afin de valider les critères d'acceptance et de se conformer au besoin du client (spécifications fonctionnelles) et aux contraintes techniques (architecture) Conduire ou prendre en charge l'Intégration du back-end et front-end au logiciel de gestion centralisé (cloud / database) en supervisant l’harmonisation de l’ensemble des composants de la solution développée, le dimensionnement du support d'hébergement, le respect du RGPD en vue de produire le prototype de la solution globale Valider les documentations produites (ex : spécifications techniques) avec les différentes parties prenantes notamment les développeurs, les utilisateurs, client(s), équipe d'exploitation, etc., pour préparer le déploiement généralisé Conduire l’élaboration ou concevoir un plan de tests itératifs de surveillance et de reprise d’activité pour identifier et signaler tous les risques de dysfonctionnement du système d'information, sécuriser les données utilisées et assurer la continuité du service Accompagner ou participer à l'automatisation des fonctions de build et de tests de performance dans une chaîne de build et d'intégration continue (Jenkins, CircleCI, Gitlab-CI, Robotframework, Gatling, etc.) ou à l'aide d'outils dédiés (TestComplete, Ranorex, Cucumber, Selenium, quality center, silktest, iMacro, etc.) afin de réduire le temps alloué aux tests et d'assurer la livraison d'une solution (logiciel ou application) de qualité et de performance Superviser ou prendre part à la réalisation du test d'acceptation en contrôlant l'installation de la solution, la création des accès et la mise en œuvre du système de traitement automatisé des alertes et des anomalies afin de vérifier la faisabilité du déploiement et l'adéquation des exigences Planifier le déploiement de la solution et réaliser le reporting en analysant le retour des parties prenantes et les indicateurs de performance pour établir une démarche d’amélioration continue et garantir la satisfaction du client et créer de nouvelles opportunités Organiser le cadre méthodologique du projet, la répartition et la programmation des activités, identifier les différents intervenants, leurs rôles, les ressources nécessaires à la réalisation du projet afin de définir la stratégie à mettre en place pour assurer le bon déroulement et la qualité des livrables Définir le budget en fonction des solutions disponibles sur le marché et de leurs coûts, en tenant compte des frais de fonctionnement et des gains non qualifiables, afin d'évaluer la rentabilité du projet envisagé et de s'assurer de sa faisabilité Réaliser une planification fine du projet en choisissant les outils de pilotage (ex : kanban, etc.), en prenant en compte toutes les contraintes en termes de ressources (matérielles, humaines, …), et en précisant les livrables intermédiaires et de sortie afin de garantir le bon déroulement du projet Assurer le respect des normes de qualité (ITL) et réglementaires (RGPD) dès le début du projet, sur la base des conditions fixées (plan d'assurance qualité) et en veillant effectivement à leur prise en compte dans la production des différents livrables afin de répondre aux exigences de qualité contractuelles Estimer les charges de travail en définissant les points de difficulté selon les développeurs (en tenant compte des personnes handicapées), et les différentes contraintes liées au développement de la solution, afin de superviser la production et d'assurer un suivi régulier Identifier les risques techniques et fonctionnels inhérents au projet afin de justifier l’opportunité et la faisabilité du projet de développement informatique Proposer une solution adaptée et déterminer les objectifs de performance de la solution en fonction du besoin et des contraintes internes et externes Analyser les besoins en compétence, en fonction de la nature du projet et du profil des membres de l’équipe, en mobilisant les techniques d'analyse de performance individuelle et collective afin d'organiser et de s'assurer de l'adéquation des ressources associées au projet Elaborer le plan de formation et organiser les actions de formation (ateliers, coaching, etc.) en prenant en compte la diversité du public (handicap), en vue de permettre la montée en compétences des collaborateurs et s’assurer du bon déroulement des projet Accompagner les membres de l’équipe tout au long du projet en s’appuyant sur les techniques de communication agiles et en veillant sur le respect des conditions fixées afin de répondre aux exigences contractuelles en matière de qualité et favoriser l’atteinte des objectifs de performance

Voies d'accès à la certification :

Voies d'accès Composition des Jurys
Après un parcours de formation sous statut d’élève ou d’étudiant
Autorisé
Le jury de délivrance de la certification sera composé du responsable pédagogique de la filière Code et deux représentants du monde professionnel extérieurs au dispositif de formation. 
En contrat d’apprentissage
Autorisé
Le jury est composé de trois membres dont deux professionnels du secteur informatique et externe à l'organisme.
Après un parcours de formation continue
Autorisé
Le jury est composé de trois membres dont deux professionnels du secteur informatique et externe à l'organisme.
En contrat de professionnalisation
Autorisé
Le jury est composé de trois membres dont deux professionnels du secteur informatique et externe à l'organisme.
Par candidature individuelle
Non autorisé
Par expérience
Autorisé
Le jury est composé de trois membres dont deux professionnels du secteur informatique et externe à l'organisme.

Segmentation de la certification

Cette certification se compose de 3 Blocs de compétences

Les modalités d'acquisition de la certification par capitalisation des blocs de compétences et/ou par équivalence sont définies par chaque certificateur accrédité qui met en œuvre les dispositifs qu’il juge adaptés. Ces modalités peuvent être modulées en fonction du chemin d’accès à la certification : formation initiale, VAE, formation continue.

RNCP36912BC01 - Analyser, formaliser le besoin et concevoir l'architecture de developpement logiciel ou applicatif

    Analyser, identifier et formaliser la demande et les données recueillies auprès du client, en mobilisant les méthodes d'entretien d'explicitation, en analysant le contexte, les contraintes et les attentes en termes de spécifications techniques et fonctionnelles afin d'expliquer les objectifs et les enjeux du projet et de faire éclore des pistes de solution Réaliser l’état des lieux des applications existantes au sein du système d’information afin de déterminer leur état de fonctionnalité. Analyser le système d’information existant en identifiant les contraintes physiques, techniques, budgétaires et réglementaires associées à la mise en œuvre de la solution pour définir l’architecture globale et éventuellement les spécifications techniques Superviser la rédaction ou rédiger les spécifications techniques et fonctionnelles afin de définir le cadre du projet de développement (contraintes, critères, solutions, coûts), de proposer une solution applicative adaptée aux besoins, et de préparer la contractualisation Élaborer et justifier l’opportunité et la faisabilité d’une conception ou d’un projet en développant une méthodologie adaptée (ex: PoC (Proof of Concept) et en testant la solution grâce à la mobilisation des technologies et des choix techniques adaptés aux spécifications afin de vérifier la validité de la conception technique ou la faisabilité d’un projet Développer un système de veille ou faire la prospective sur l’évolution du marché, plus largement, sur les nouvelles technologies, en identifiant les apports possibles pour l’entreprise et en évaluant les enjeux et implications des différentes architectures afin de garantir l’opérationnalité des outils de l’entreprise Effectuer et valider les choix techniques et technologiques (langages de programmation, frameworks, librairies, etc.) adéquats en fonction de l’architecture et des contraintes projet afin d’optimiser le développement et la performance du produit final (application ou logiciel) Concevoir une architecture logicielle avancée de qualité en utilisant un outil dédié (Miro, LucidChart, etc.), en définissant le schéma de l’architecture, le comportement et les interactions de l'application et prenant en compte les contraintes techniques afin de proposer une solution pérenne, maintenable et conforme aux besoins internes ou externes Structurer la base de données en assurant la conformité avec les spécifications fonctionnelles, techniques et légales (RGPD), en établissant les différentes tables ainsi que leurs relations pour une base relationnelle (SQL) ou une structure adaptée pour une base non relationnelle (NoSQL)

RNCP36912BC02 - Piloter le développement logiciel ou applicatif

    Mettre en place une méthodologie de gestion de versionnage de codes adaptée au besoin de l’entreprise, en vue de centraliser et de partager le code, d'en contrôler les versions, et de permettre le travail collaboratif Piloter le développement ou développer le front-end en veillant à la pertinence du langage de programmation ( Javascript, TypeScript, etc.), et à la mobilisation des apports des experts UI/UX (en fonction des contraintes matérielles, de l’agencement de l’affiche et de la charte graphique, etc.), pour construire une interface responsive et adaptée aux besoins des utilisateurs (y compris les utilisateurs en situation de handicap Conduire le développement ou programmer un logiciel back-end de qualité, en fonction des user-stories, en vérifiant la pertinence du langage de programmation (Java/J2EE, C#/.Net, etc.), et la mobilisation des pratiques de maintenabilité et d'optimisation, afin de valider les critères d'acceptance et de se conformer au besoin du client (spécifications fonctionnelles) et aux contraintes techniques (architecture) Conduire ou prendre en charge l'Intégration du back-end et front-end au logiciel de gestion centralisé (cloud / database) en supervisant l’harmonisation de l’ensemble des composants de la solution développée, le dimensionnement du support d'hébergement, le respect du RGPD en vue de produire le prototype de la solution globale Valider les documentations produites (ex : spécifications techniques) avec les différentes parties prenantes notamment les développeurs, les utilisateurs, client(s), équipe d'exploitation, etc., pour préparer le déploiement généralisé Conduire l’élaboration ou concevoir un plan de tests itératifs de surveillance et de reprise d’activité pour identifier et signaler tous les risques de dysfonctionnement du système d'information, sécuriser les données utilisées et assurer la continuité du service Accompagner ou participer à l'automatisation des fonctions de build et de tests de performance dans une chaîne de build et d'intégration continue (Jenkins, CircleCI, Gitlab-CI, Robotframework, Gatling, etc.) ou à l'aide d'outils dédiés (TestComplete, Ranorex, Cucumber, Selenium, quality center, silktest, iMacro, etc.) afin de réduire le temps alloué aux tests et d'assurer la livraison d'une solution (logiciel ou application) de qualité et de performance Superviser ou prendre part à la réalisation du test d'acceptation en contrôlant l'installation de la solution, la création des accès et la mise en œuvre du système de traitement automatisé des alertes et des anomalies afin de vérifier la faisabilité du déploiement et l'adéquation des exigences Planifier le déploiement de la solution et réaliser le reporting en analysant le retour des parties prenantes et les indicateurs de performance pour établir une démarche d’amélioration continue et garantir la satisfaction du client et créer de nouvelles opportunités

RNCP36912BC03 - Manager et encadrer les équipes d'un projet de développement logiciel ou applicatif

    Organiser le cadre méthodologique du projet, la répartition et la programmation des activités, identifier les différents intervenants, leurs rôles, les ressources nécessaires à la réalisation du projet afin de définir la stratégie à mettre en place pour assurer le bon déroulement et la qualité des livrables Définir le budget en fonction des solutions disponibles sur le marché et de leurs coûts, en tenant compte des frais de fonctionnement et des gains non qualifiables, afin d'évaluer la rentabilité du projet envisagé et de s'assurer de sa faisabilité Réaliser une planification fine du projet en choisissant les outils de pilotage (ex : kanban, etc.), en prenant en compte toutes les contraintes en termes de ressources (matérielles, humaines, …), et en précisant les livrables intermédiaires et de sortie afin de garantir le bon déroulement du projet Assurer le respect des normes de qualité (ITL) et réglementaires (RGPD) dès le début du projet, sur la base des conditions fixées (plan d'assurance qualité) et en veillant effectivement à leur prise en compte dans la production des différents livrables afin de répondre aux exigences de qualité contractuelles Estimer les charges de travail en définissant les points de difficulté selon les développeurs (en tenant compte des personnes handicapées), et les différentes contraintes liées au développement de la solution, afin de superviser la production et d'assurer un suivi régulier Identifier les risques techniques et fonctionnels inhérents au projet afin de justifier l’opportunité et la faisabilité du projet de développement informatique Proposer une solution adaptée et déterminer les objectifs de performance de la solution en fonction du besoin et des contraintes internes et externes Analyser les besoins en compétence, en fonction de la nature du projet et du profil des membres de l’équipe, en mobilisant les techniques d'analyse de performance individuelle et collective afin d'organiser et de s'assurer de l'adéquation des ressources associées au projet Elaborer le plan de formation et organiser les actions de formation (ateliers, coaching, etc.) en prenant en compte la diversité du public (handicap), en vue de permettre la montée en compétences des collaborateurs et s’assurer du bon déroulement des projet Accompagner les membres de l’équipe tout au long du projet en s’appuyant sur les techniques de communication agiles et en veillant sur le respect des conditions fixées afin de répondre aux exigences contractuelles en matière de qualité et favoriser l’atteinte des objectifs de performance

Je cherche à faire...