Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
> > > Réussir son projet de Développement Logiciel

Réussir son projet de Développement Logiciel

Techniques, méthodes, choix et perspectives.

Les projets de développements de logiciels n’ont jamais été aussi complexes et les logiciels eux-mêmes sont de plus critiques pour faire du business. Conception, développement, tests fonctionnels, tests de sécurité, déploiement, production, exploitation, maintenance, etc. Que ce soit réalisé en interne, avec des prestataires ou directement sur le Cloud, les techniques traditionnelles sont révolues. De nouvelles ont fait leur preuves et commencent à se répandre.

Objectifs

Conception, développement, tests fonctionnels, tests de sécurité, déploiement, production, exploitation, maintenance, etc. Que ce soit réalisé en interne, avec des prestataires ou directement sur le Cloud, les techniques traditionnelles sont révolues. De nouvelles ont fait leur preuves et commencent à se répandre.

Public

  • DSI et leurs collaborateurs directs,
  • décideurs informatiques,
  • urbanistes et architectes,
  • consultants,
  • ingénieurs et chefs de projets,
  • maîtrises d’ouvrage.

Prérequis

  • Connaissances de base en systèmes d'information.

Programme de la formation

A quoi ressemble un projet de Développement logiciel en 2019 ?  

L’exigence de qualité et de performance

  • Un trafic et un flux de données toujours plus important.
  • Des applications haute disponibilité.
  • Les nouvelles attentes des utilisateurs.

L’explosion de la complexité technique

  • Toujours plus de possibilité technique.
  • La multiplication des terminaux utilisateurs.
  • Choisir entre Open Source, SAAS, Cloud, On-Premise, etc.

La difficulté à former des équipes de développement

  • Le problème du recrutement des bons profils.
  • Naviguer entre les choix techniques et la gestion d’équipe.
  • La mise en place des bonnes pratiques de développement.

Démarche projet et Agilité  

Évaluer la complexité d’un projet

  • Complexité essentielle et complexité accidentelle.
  • Quand a t-on besoin d’un POC ?
  • Le cas des projets exploratoires.

Méthodes agiles

  • Le tour des méthodes agiles reconnues (Scrum, Kanban, etc.).
  • Ai-je besoin d’appliquer une méthode agile à mon équipe ?
  • Comment tirer le maximum de valeur de manière itérative.

Chiffrage et délais

  • Les clés pour évaluer le coût d’un projet.
  • Que faire lorsque le projet « dérape » ?
  • Faire atterrir un projet de Développement logiciel.

Productivité et usine de développement  

Productivité et efficacité

  • Qu’est ce qu’un environnement de développement efficace ?
  • L’impact des choix techniques.
  • Les bonnes métriques pour évaluer la productivité de développement.

Intégration continue

  • La chaîne de construction automatique du logiciel.
  • Gestion de la cohérence du poste du développeur jusqu’à la mise en production.
  • Quels rapports automatisés pour suivre la qualité du logiciel ?

Gestion à long terme

  • Les pièges techniques à éviter pour assurer une productivité continue.
  • Comment contrôler la complexité accidentelle avec le temps ?
  • Analyser et ajuster le processus de développement.

Faire les bons choix techniques  

Langages de programmation

  • Comprendre les différents langages de programmations et leur concepts.
  • Quel Langage adapté pour quel usages ?
  • Gérer la prolifération des Langages d’un projet, dans une équipe, une entreprise.

Architecture de service et modularité

  • Comment découper un projet logiciel en composants ?
  • Dois-je mettre en place une architecture Microservice ?
  • L’impact de l’organisation de l’entreprise sur la modularisation des projets logiciels.

Partage et réutilisation de code

  • Avantages et inconvénients de la réutilisation de code.
  • Les bonnes pratiques pour partager du code entre plusieurs projets, organisations.
  • L’impact sur la chaîne de construction du logiciel.

Stratégie de test et gestion de la qualité  

Pratiques de tests automatisés

  • Les techniques de tests reconnues (tests unitaires, intégration, de bout en bout, etc.).
  • Naviguer entre le coût et la valeur des tests automatisés. Quoi et quand tester ?
  • L’impact sur le code du logiciel. Comment écrire un logiciel « testable » ?

Gestion des erreurs et des bugs

  • Les bonnes pratiques de gestion d’erreur dans un logiciel.
  • Quel cycle de vie pour la gestion des bugs ?
  • L’impact de la gestion des bugs dans le cycle de développement du logiciel.

Assurer la maintenance à long terme

  • Les clés pour un logiciel « maintenable » et capable d’évoluer.
  • Comment minimiser l’impact des changements organisationnels sur le Développement logiciel ?
  • Le lien avec la documentation, la qualité de code, la stratégie de test.

Le cas du développement des interfaces utilisateurs  

Spécificités des interfaces utilisateurs

  • Conception UI et UX.
  • Le cycle de développement d’une interface utilisateur.
  • L’impact sur la stratégie de test.

Développement Web vs Développement natif

  • Ce qui est possible aujourd’hui en Application Web.
  • Les clés pour choisir un toolkit de développement IHM.
  • L’impact sur la productivité.

Les applications mobiles

  • L’Application mobile est-t-elle particulière ?
  • Réutilisation de code entre plateformes différentes.
  • Les problématiques spécifiques liées à la plateforme mobile.

Mise en production, opérations et gestion des incidents  

Déploiement continu

  • Les stratégies de déploiement d’un logiciel. Dois-je aller vers un déploiement continu ?
  • Adapter la chaîne de construction logiciel pour le déploiement automatique.
  • Gestion des environnements de préproduction et de qualification.

Suivi de la production et détection des problèmes

  • Quels tableaux de bord mettre en place pour gérer la production d’une Application ?
  • Planification des ressources matérielles nécessaires.
  • Déploiement dans le Cloud vs On-Premise.

Gestion de la disponibilité

  • Détection automatique des incidents et mise en place de systèmes d’alerte.
  • L’impact des choix techniques. Quelle architecture pour une application haute disponibilité ?
  • Stratégies d’astreinte et liens avec le DevOps.

Management d’une équipe de développement  

Gestion des différents rôles

  • Profils « Front », « Back » et « Full-Stack ».
  • La tendance DevOps et l’impact sur l’équipe de développement.
  • Comment se situe le rôle du chef de projet aujourd’hui ?

Recrutement et formation

  • Attirer les bons profils dans votre équipe. Que cherche un développeur aujourd’hui ?
  • Quelle méthode d’évaluation pour les recrutements ?
  • Les clés pour la gestion des compétences dans l’équipe.

Clés pour le management

  • Spécificités de la gestion d’une équipe de développeurs.
  • Gestion de carrière en développement. Comment faire évoluer un développeur sénior ?
  • Motivation et impact sur la productivité de l’équipe.

Synthèse et perspectives  

Les chantiers à mener

  • La liste des points les plus importants à considérer aujourd’hui.
  • Les priorités pour les nouveaux projets.
  • Les pistes pour rétablir la trajectoire des projets qui « dérapent » aujourd’hui.

L’évolution des tendances de développement

  • Quels changements à prévoir dans les cinq prochaines années ?
  • L’impact sur vos projets logiciels aujourd’hui.
  • Organiser vos projets de Développement logiciel pour être prêt au changement.

Ressources indispensables

  • Les livres et articles à lire absolument.
  • Comment se tenir à jour avec les nouvelles tendances ?