CodeGym /Cours /JAVA 25 SELF /Développement d’un produit informatique

Développement d’un produit informatique

JAVA 25 SELF
Niveau 6 , Leçon 6
Disponible

1. Un peu d’histoire

Au début de la révolution Internet dans les années 1990, personne ne savait vraiment comment concevoir des services en ligne. Toutes leurs fonctionnalités étaient immédiatement mises à disposition des utilisateurs, ce qui distinguait fortement cette approche du développement logiciel classique.

Le plus grand moteur de recherche de l’époque, Yahoo, a décidé d’emprunter une voie nouvelle et d’adopter une approche venue d’Hollywood — leurs managers s’appelaient même des producteurs :) Sans surprise, cela n’a pas fonctionné pour eux 🤷‍♂️

C’est intéressant. Yahoo — le plus grand perdant en matière de rachats. À l’époque, on leur a proposé à plusieurs reprises d’acheter Google et Facebook. Finalement, sur le déclin, Microsoft a tenté de les acquérir pour 40 milliards, mais ils ont encore refusé. Quelques années plus tard, ils ont été rachetés pour seulement 3 milliards. Dans les années 1990, au sommet de sa popularité, Yahoo était valorisée 200 milliards de dollars, et s’ils avaient acheté Google, leur valeur pourrait aujourd’hui atteindre plusieurs milliers de milliards. Ne fais pas comme Yahoo. 🙈

Depuis la révolution Internet, des dizaines d’approches de développement logiciel ont été testées, et la situation s’est désormais stabilisée. Il existe des rôles standard avec des responsabilités standard, des processus standard et des logiciels standards.

Au fil de la formation, vous apprendrez tout ce que vous devez savoir pour travailler dans des entreprises informatiques modernes, avec des outils de développement modernes. 🎓

2. Équipe produit

Une équipe de développement typique se compose de :

  • Personnes qui décident des fonctions et des fonctionnalités que le produit doit avoir
    • Product Owner
    • Business Analyst
  • Personnes qui décident de l’apparence du produit
    • UI Designer
    • UX Designer
  • Développeurs qui réalisent tout cela
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Personnes responsables du bon fonctionnement et de la qualité du produit
    • QA Automation
    • DevOps

IT team

Product Owner joue un rôle clé dans le développement logiciel, en pilotant le produit et en veillant à ce que l’équipe de développement se concentre sur les tâches les plus importantes. Il définit la vision du produit, établit et priorise le backlog, ce qui aide à garantir que chaque étape du développement correspond au mieux aux objectifs métiers et aux besoins des utilisateurs.

UX Designer s’attache à concevoir une interface et une expérience produit conviviales et efficaces, ce qui inclut l’étude des besoins des utilisateurs, la création de prototypes et les tests d’interface. Ce travail vise à améliorer l’interaction de l’utilisateur avec le produit afin de la rendre la plus claire et la plus simple possible.

Les spécialistes DevOps s’occupent d’optimiser les processus de développement logiciel et l’exploitation, afin d’accélérer et de simplifier la livraison des mises à jour du produit. Leur travail inclut l’automatisation des tests, du déploiement et de la supervision des systèmes, ainsi que la configuration de l’infrastructure et la mise en place de l’intégration et de la livraison continues (CI/CD).

3. Équipe de développement

Le développement à proprement parler est réalisé par des programmeurs. On peut grossièrement les répartir en 5 catégories :

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Les rôles et leur périmètre peuvent varier selon la taille de l’équipe et la nature du produit, mais globalement, c’est à peu près comme suit :

  • 🏗️ Software Architect : responsable de la conception d’architectures logicielles complexes. L’Architect conçoit l’infrastructure technique, définit la structure et les modes d’interaction des différents composants du produit logiciel, en garantissant leur scalabilité, leurs performances et leur sécurité.
  • ⚙️ Backend Developer : spécialisé dans le développement de la partie serveur des applications. Les missions du Backend Developer incluent l’implémentation de la logique, l’intégration des bases de données et des systèmes de gestion des données, le traitement des requêtes des utilisateurs et le maintien de l’interaction avec la partie frontend.
  • 🖥️ Frontend Developer : développe l’interface utilisateur des applications web. Ce rôle requiert la maîtrise de HTML, CSS et JavaScript, ainsi que de frameworks et bibliothèques pour créer des interfaces interactives et responsives, offrant une bonne expérience utilisateur avec le produit.
  • 📱 Mobile Developer : se consacre au développement d’applications pour appareils mobiles. Le Mobile Developer crée des applications pour différents systèmes d’exploitation (par exemple iOS et Android), en tenant compte des spécificités des plateformes, des performances des appareils et de l’expérience utilisateur.
  • 🗄️ DBA (Database Administrator) : responsable de la gestion des bases de données, en garantissant leur disponibilité, leur sécurité et leur optimisation. Le DBA s’occupe de la configuration, de la supervision et de la maintenance des bases de données, ainsi que de l’élaboration de stratégies de sauvegarde et de restauration des données.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION