Les équipes de développement ne sont pas immuables
L'importance de la documentation et des standards pour maintenir la cohésion et la connaissance dans une équipe de développement lors des changements de membres.
Jérémy DECOOL is a software architect at Activinnov in Lyon, France, driven by Unix and Open Source principles. He focuses on building simple, efficient, and maintainable software with a strong emphasis on technical quality, clean architecture, and user-centered design. With a pragmatic mindset, Jérémy designs modular and evolutive systems adapted to constantly changing business needs. He is particularly interested in software architecture, team organization, developer experience, and engineering culture, regularly sharing insights on topics such as onboarding, collaboration, testing practices, and technical decision-making. Committed to continuous learning, he keeps a close watch on modern development and project management practices, with the ambition of evolving toward Lead Developer and Technical Manager roles. Outside of software engineering, he is a passionate sports enthusiast.
203 articles from this blog
L'importance de la documentation et des standards pour maintenir la cohésion et la connaissance dans une équipe de développement lors des changements de membres.
L'article analyse les problèmes organisationnels en entreprise, notamment les silos entre équipes, et propose l'organisation en équipes produit pluridisciplinaires comme solution.
L'article explique pourquoi il est préférable d'expliquer un concept technique avant de le nommer, pour éviter les biais liés aux buzzwords.
Comment prioriser les développements logiciels en utilisant Domain Driven Design pour classer les fonctionnalités en Core, Support et Generic.
Analyse du dilemme stratégique "Build vs Buy" pour les solutions logicielles, expliquant quand développer en interne ou intégrer une solution existante.
L'article explique que les meilleures solutions en développement logiciel ne viennent pas toujours du code, mais d'une compréhension profonde des besoins utilisateurs.
L'article critique la tendance des développeurs à se définir par un langage ou framework, et plaide pour une approche pragmatique centrée sur le problème à résoudre.
Explication de la loi de Conway et son impact sur l'architecture logicielle et l'organisation des équipes de développement.
L'article explique le principe DevOps "You build it, You run it" et ses bénéfices pour la qualité produit et l'autonomie des équipes.
L'article explique l'importance de mesurer l'impact du travail en développement logiciel pour éviter d'avancer à l'aveugle et permettre l'amélioration continue.
Guide pour tester la conformité d'une API avec sa documentation OpenAPI en PHP, en utilisant la bibliothèque league/openapi-psr7-validator.
L'article propose une définition claire et pratique des tests unitaires en programmation, basée sur des critères précis pour éviter les ambiguïtés.
Comment utiliser l'IA (ChatGPT, Claude, Cursor, V0) pour créer et prototyper des side-projects plus rapidement et efficacement.
Les tests de mutation évaluent l'efficacité des tests en introduisant des défauts dans le code, offrant une meilleure mesure que la simple couverture de code.
L'article explique que la Clean Architecture ne se limite pas à un découpage de fichiers, mais repose sur le sens des dépendances pour isoler la logique métier.
Comment les tests d'architecture (avec Deptrac et PHPArkitect) garantissent la cohérence et la maintenabilité d'un projet PHP sur le long terme.
Présentation du concept de Screaming Architecture, une approche d'organisation du code qui révèle l'intention métier du logiciel.
L'article explique pourquoi les tests automatisés, bien qu'essentiels, ne suffisent pas à garantir le bon fonctionnement d'une application en production.
Explication du pattern Self-Validating Object pour garantir la cohérence des données via la validation directe dans les objets, avec un exemple en PHP.
Explique comment utiliser le Behavioral Contract Testing pour garantir que plusieurs implémentations d'une interface (ex: Cache) ont un comportement identique.