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
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
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
Backend
"Java n'est PAS le diminutif de JavaScript. Cela vous evitera des regards menacants de la part des devs."
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.
Lien avec le Product Board
"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."
Termes Git a connaitre
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.
OWASP Top 10
CISO
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
Tests end-to-end
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
"Eviter de mettre en prod veille de week-end ou de vacances. Car si ca pete, il faudra que quelqu'un s'y colle."
Contraintes mobile
Changelog
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.