TPC
    TPC
    ProductTech

    Les notions Tech pour les Product People

    Les 6 sujets techniques essentiels pour les Product Managers, PMMs et Product Designers. Architecture, développement, CI/CD, sécurité, tests et gestion de configuration.

    5 min de lecture

    Le niveau de technicité attendu dépend du type de produit et de l'équipe. Sur un produit API-first ou une équipe backend, les attentes sont plus elevees car les utilisateurs sont des développeurs. Sur un produit e-commerce, la connaissance métier prime sur la tech. Avoir un minimum de compréhension sur ces 6 sujets reste une bonne attitude dans tous les cas.

    1. Architecture logicielle

    L'architecture logicielle designe la structure générale d'un logiciel et comment ses différentes parties sont concues et assemblees.

    Monolithique vs Micro-services

    Un PM n'a pas a prendre de decisions d'architecture. En revanche, comprendre la différence entre client et serveur est indispensable. Cote serveur, savoir si le produit est en architecture monolithique ou en micro-services change beaucoup de choses.

    1. Architecture monolithique

    Systeme unique de déploiement. Coordination nécessaire entre équipes lors des mises en prod. Mises en prod plus importantes, donc plus de risque de bugs. Approche classique pour demarrer un produit web car plus facile à maintenir sur de petites codebases.

    2. Architecture micro-services

    Chaque domaine du produit est independant et autonome. Les mises en prod se font par service, par équipe. Parfois les deux architectures cohabitent. Le monolith devient un legacy a prendre en compte dans la roadmap.

    Echange de données : API et endpoints

    Savoir ce qu'est une API et un endpoint est essentiel. C'est la glue entre les différents composants logiciels. C'est ce qui permet aux systèmes de communiquer entre eux.

    Outils recommandés : API REST, GraphQL, Microservices, Monolith.

    2. Technologies de développement

    Il existe de nombreux langages de programmation et frameworks pour développer des produits logiciels.

    Frontend

    Bonne culture générale tech : HTML definit la structure du contenu de la page. CSS definit le style. JavaScript permet les interactions sur la page et la communication avec l'API via les requetes HTTP.

    Backend

    Beaucoup de langages et de frameworks différents. Pas la peine de connaitre les subtilites entre les langages. Savoir lesquels sont utilises sur son scope suffit.

    "Java n'est PAS le diminutif de JavaScript. Cela vous evitera des regards menacants de la part des devs."

    TPC Community, Product x Tech

    Codes HTTP a connaitre

    1. Code 200 : OK

    S'il y a quand même un bug, il s'agit peut-etre d'un problème d'interface ou de format de donnee. Une fois le problème trouve, ajouter un test pour eviter la regression.

    Debugging

    Outils : HTTP.

    2. Code 400 : erreur client

    Allez voir vos devs front ou mobile.

    Debugging

    Outils : HTTP.

    3. Code 500 : erreur serveur

    Allez voir vos devs backend.

    Debugging

    Outils : HTTP.

    Outils recommandés : HTML, CSS, JavaScript, Python, Java, Ruby, Go.

    3. Integration continue et déploiement (CI/CD)

    L'intégration continue et le déploiement sont des approches pour automatiser la construction, le test et le déploiement de logiciels.

    La CI (intégration continue) et la CD (déploiement continu) permettent de produire et livrer du code régulièrement et sans risque.

    Lien avec le Product Board

    Les différentes étapes de validation du process CI/CD correspondent aux colonnes de votre Product Board. Quand une user story passe en review, le développeur a ecrit le code et attend le retour d'autres devs.

    "Si les tickets restent longtemps bloques a l'étape review, c'est probablement qu'il n'y a pas assez de reviews faites par les autres devs. En tant que PM, comprendre ce qui bloque et en parler."

    TPC Community, Product x Engineering

    Termes Git a connaitre

    Connaitre les principaux termes de Git : branches, PR (Pull Request), commit. Savoir quels sont les différents environnements de développement et comprendre a quoi ils servent.
    Les profils DevOps sont specialises dans ces questions. Sollicitez-les pour comprendre les process en place.

    Outils recommandés : Git, GitHub, GitLab, CI/CD, Jenkins, CircleCI.

    4. Securite de l'information

    La sécurité de l'information est cruciale pour proteger les produits logiciels et les données des utilisateurs contre les cyberattaques et les fuites.

    Connaitre toutes les mesures de sécurité : non. Mais prendre le temps de les comprendre, mesurer le risque de ne pas les incorporer et les inclure dans la roadmap : oui.

    OWASP Top 10

    La communauté OWASP met a jour ses 10 recommandations de sécurité a mettre en place dans un logiciel. C'est un bon pretexte pour demander a votre équipe technique où vous en etes par rapport a ces recommandations.

    CISO

    Le métier de CISO (Chief Information Security Officer) est de plus en plus repandu. Ce sont les personnes responsables de traiter et d'evangeliser sur ces sujets dans les organisations.

    Outils recommandés : OWASP, SSL/TLS, OAuth, RGPD.

    5. Tests et validation

    Les tests et la validation sont des approches pour s'assurer que les produits logiciels fonctionnent de manière fiable et conforme aux specifications.

    Pyramide de test

    Comprendre la pyramide de test de Mike Cohn. Etre au courant des requirements et bonnes pratiques en place dans l'organisation, comme le test coverage.
    Écrire des tests est indispensable pour eviter les regressions et assurer la maintenabilite du code. Prendre en compte ce temps dans vos tickets.

    Tests end-to-end

    Reflechir avec les devs sur les parcours critiques sur lesquels mettre des tests end-to-end. C'est le PM qui a la connaissance du business et des usages pour definir quels parcours sont critiques.

    Outils recommandés : Unit Tests, Integration Tests, E2E Tests, Test Coverage.

    6. Gestion de la configuration

    La gestion de la configuration consiste a suivre et gérer les modifications apportees aux produits logiciels au fil du temps.

    Cycles de release

    Connaitre les cycles de release de chaque codebase. Mises en prod a la volee ou creneaux dédiés. Ces choix peuvent etre différents entre les devs back, mobile et front.

    "Eviter de mettre en prod veille de week-end ou de vacances. Car si ca pete, il faudra que quelqu'un s'y colle."

    TPC Community, Product x Engineering

    Contraintes mobile

    Cote mobile, prendre en compte les temps de validation par les stores. Bien connaitre ces plannings pour maîtriser le delivery et limiter les frustrations.

    Changelog

    Suivre les changelogs : la liste de ce qui est effectivement mis en prod. Permet de verifier ce qui est envoye et ce qui ne l'est pas.

    Outils recommandés : Git, Changelog, Feature Flags, Release Train.

    7. Conclusion

    Pas de panique. Personne ne s'attend a ce que les Product People maitrisent tout dans le detail.

    Comprendre les implications dans son équipe au quotidien est déjà une excellente posture. La meilleure approche : aller voir les experts et leur demander comment ça marche.

    Vous recrutez ce profil ?

    TPC vous accompagne pour trouver des profils adaptés à vos besoins.

    Découvrez aussi notre pôle Product et son accompagnement dédié.