5.1 Un peu d'histoire
Quand les années 90 ont marqué le début de la Révolution Internet, personne ne savait vraiment comment bien développer des services en ligne. Toutes leurs features devenaient immédiatement accessibles aux utilisateurs, ce qui était très différent de l'approche classique du développement de logiciels.
Le plus grand moteur de recherche de l'époque, Yahoo, a décidé de suivre une nouvelle voie en empruntant une approche d'Hollywood : leurs managers s'appelaient même Producteurs :) Pas étonnant que cela n'ait pas marché pour eux. 🤦♂️
Yahoo — le plus grand perdant en termes d'achats de sociétés. Ils ont eu plusieurs reprises la possibilité d'acheter Google et Facebook. Et à leur déclin, Microsoft voulait les racheter pour 40 milliards, mais ils ont encore refusé. Quelques années plus tard, ils ont été achetés pour 3 milliards. Alors que dans les années 90, à leur apogée, ils valaient 200 milliards, et s'ils avaient acheté Google, ils vaudraient aujourd'hui quelques trillions.Ne sois pas comme Yahoo.
Depuis la Révolution Internet, des dizaines de méthodes de développement de logiciel ont été testées, et maintenant la situation s'est stabilisée. Il existe des rôles standards avec des responsabilités standards, des processus standards et des logiciels standards.
Au cours de l'apprentissage, tu apprendras tout ce que tu as besoin de savoir pour travailler dans les entreprises IT modernes, avec des outils de développement modernes.
5.2 L'équipe Produit
Une équipe de développement typique est composée de :
- Personnes qui décident quelles fonctions et features le produit doit avoir
- Product Owner
- Business Analytic
- Développeurs qui réalisent tout ça
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Personnes qui assurent la qualité du produit
- QA Automation
- DevOps
Le Product Owner joue un rôle clé dans le développement de logiciels. Il gère le produit et s'assure que l'équipe de développement se concentre sur l'accomplissement des tâches les plus importantes. Il définit la vision du produit, crée et priorise la liste de tâches (backlog). Cela aide à garantir que chaque étape du développement répond au mieux aux objectifs commerciaux et aux exigences des utilisateurs.
Le UX Designer est responsable de la création d'une interface produit pratique et efficace, ce qui inclut la recherche des besoins des utilisateurs, la création de prototypes et le test des interfaces. Ce travail est orienté vers l'amélioration de l'interaction utilisateur avec le produit, pour le rendre aussi compréhensible et convivial que possible.
Les spécialistes DevOps optimisent les processus de développement de logiciels et leur gestion opérationnelle pour accélérer et simplifier la mise à jour du produit. Leur travail comprend l'automatisation des tests, le déploiement et la surveillance des systèmes, ainsi que la configuration de l'infrastructure et l'assurance de l'intégration continue et de la livraison (CI/CD).
5.3 L'équipe de développement
Le développement est directement effectué par les programmeurs. On peut grossièrement les diviser en 5 catégories :
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
Les rôles et leur contenu peuvent varier en fonction de la taille de l'équipe et de la spécificité du produit, mais la situation est globalement la suivante :
Le Software Architect : responsable de la conception des architectures complexes des systèmes logiciels. Il développe l'infrastructure technique, définit la structure et les méthodes d'interaction des différents composants du produit logiciel, assurant leur évolutivité, performance et sécurité.
Le Backend Developer : se spécialise dans le développement de la partie serveur des applications. Ses tâches 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.
Le Frontend Developer : développe l'interface utilisateur des applications web. Ce rôle nécessite la connaissance de HTML, CSS et JavaScript, ainsi que des frameworks et bibliothèques pour créer des interfaces interactives et réactives qui garantissent une bonne interaction utilisateur avec le produit.
Le Mobile Developer : s'occupe du développement des applications pour appareils mobiles. Il crée des applications pour différents systèmes d'exploitation (par exemple, iOS et Android), en prenant en compte les spécificités de la plateforme, la performance des appareils et l'expérience utilisateur.
Le DBA (Database Administrator) : est responsable de la gestion des bases de données, garantissant leur disponibilité, sécurité et optimisation. Il effectue des tâches de configuration, de surveillance et de maintenance des bases de données, ainsi que le développement de stratégies de sauvegarde et de récupération des données.
GO TO FULL VERSION