The state of Software Engineering
Excellence2025

Engineering maturity is becoming mission-critical

La panne mondiale de CrowdStrike. La faille de la chaîne logistique de SolarWinds. L’attaque par ransomware de Colonial Pipeline. Ce ne sont pas des incidents isolés, mais les symptômes d’une crise systémique dans la manière dont nous concevons, déployons et sécurisons les logiciels. Alors que les gros titres s’emballent sur la transformation par l’IA, la vérité est plus dérangeante : la plupart des équipes d’ingénierie sont submergées par la dette technique, les processus manuels et les vulnérabilités de sécurité qui auraient dû être résolus il y a une décennie.

Mais voici ce qui est fascinant : les entreprises qui excellent ne se contentent pas d'éviter les catastrophes, elles libèrent aussi des millions de valeur cachée. Elles livrent des fonctionnalités 60 % plus rapidement, réduisent leurs coûts de cloud de 15 % et font chuter les incidents de sécurité à un niveau quasi nul. La différence ne réside ni dans le talent ni dans le budget. Elle vient du fait de savoir précisément où se trouvent les lacunes et de les combler de manière systématique

Ce rapport révèle la réalité de la maturité en ingénierie en 2025, à partir des réponses franches de plus de 650 leaders du secteur qui ont complété l'« Engineering Excellence Maturity Assessment », un outil développé par EngineeringX®, une communauté de centaines de CTO et de VP Engineering. Ce que nous avons découvert va vous surprendre : même les organisations qui se considèrent comme "DevOps matures" manquent à des pratiques fondamentales qui séparent les leaders de l'industrie du reste du marché.

Les cinq dimensions que nous avons mesurées, l’expérience développeur, la modernisation DevOps, l’optimisation, la qualité et la résilience, et le développement logiciel sécurisé, révèlent où se trouvent les plus grandes opportunités. En examinant ces données complètes, ce rapport vise à mettre en lumière l'adoption des meilleures pratiques en matière d'excellence en ingénierie, à identifier les défis courants et à souligner des domaines d’amélioration concrets alors que les entreprises poursuivent leur chemin crucial vers l'excellence en ingénierie.

01: Developer Experience

L’expérience développeur est un élément clé de performance pour les organisations digital-first. C’est aussi un levier essentiel pour garder les équipes tech engagées et efficaces. Mettre en place une culture engineering mature passe avant tout par une excellente expérience développeur, ce qui implique de leur fournir les bons outils, les bonnes pratiques et un environnement de travail qui leur permet d’avancer vite et bien.Concrètement, cela signifie optimiser chaque point de contact dans leur quotidien : des environnements faciles à provisionner, une documentation claire et accessible, une planification sans friction, et des process de qualité bien intégrés.

Processus de planification et de définition des besoins

Une planification efficace et des besoins clairs sont les piliers d'une bonne expérience développeur. Lorsque les spécifications sont ambiguës ou qu'elles changent constamment, les ingénieurs sont confrontés à de la frustration, du travail en double et un sentiment de perte d’accomplissement. À l'inverse, un processus de planification bien défini, incluant des critères d'acceptation précis, réduit les frictions, renforce la confiance et permet aux équipes de développement de se concentrer sur la création de valeur plutôt que de déchiffrer des objectifs mal définis.

Pourtant, de nombreuses organisations rencontrent des difficultés :

1 leader de l'ingénierie sur 4 indique que

plus de 70 % des besoins n'ont pas de critères d'acceptation clairement définis.

Plus de la moitié (54 %) des leaders

de l'ingénierie ont constaté un délai moyen de plus de 20 % lié à un “scope creep” au cours des 12 derniers cycles de sprint.

Pour améliorer la maturité de votre processus de planification, donnez la priorité à la définition de critères d’acceptation clairs et cohérents pour toutes les fonctionnalités. Mettez en œuvre des outils et des pratiques qui favorisent la communication entre les équipes produit et ingénierie, réduisant ainsi l'ambiguïté et garantissant un périmètre prévisible.

Découvrabilité et Documentation

Les équipes d'ingénierie ont besoin d'un accès immédiat à des informations précises sur les logiciels et les services sur lesquels elles travaillent. Cela leur permet de prendre des décisions éclairées et de suivre une méthodologie de développement cohérente. Cependant, elles sont aussi sous pression pour livrer rapidement, et les leaders de l'ingénierie doivent s'assurer que ces processus ne créent pas de travail supplémentaire pour les développeurs. Un catalogue logiciel complet, documentant efficacement les métadonnées, les propriétaires et le statut des services, est crucial pour réduire les frictions et permettre aux ingénieurs de se concentrer sur l'innovation.

Ce point représente un défi de taille dans l'ensemble du secteur :

Seulement 21 % des équipes d'ingénierie disposent d'un catalogue logiciel qui est mis à jour automatiquement en cas de changement.
Près d'un tiers (29 %) des équipes n'ont aucun catalogue logiciel.

Pour améliorer la maturité en matière de découvrabilité et de documentation, mettez en place un catalogue logiciel automatisé, idéalement via un Portail Développeur Interne (IDP). Cette approche centralise les métadonnées, les propriétaires et le statut des services, garantissant une précision en temps réel sans effort manuel de la part des développeurs.

Environnements de développement

Les entreprises qui visent une livraison logicielle optimale savent à quel point des environnements de développement efficaces sont cruciaux. Les retards dans leur mise en place ou les incohérences entre les configurations freinent directement la productivité, ralentissent les cycles d'itération et ajoutent des frictions inutiles au flux de travail de développement. Simplifier la manière dont les équipes accèdent à des environnements standardisés et prêts à l'emploi est essentiel pour accélérer la livraison des fonctionnalités et maintenir la vélocité des développeurs.

Malgré leur importance, la mise à disposition des environnements reste un défi persistant :

Seulement un tiers (34 %) des équipes d'ingénierie peuvent créer rapidement des environnements de développement préconfigurés dans le cloud.

67
%

67 % des leaders de l'ingénierie affirment que leurs développeurs ne peuvent pas créer et tester un environnement de développement en moins de 15 minutes.

Pour améliorer la maturité de votre processus de développement, concentrez-vous sur la mise à disposition d'outils intuitifs et en libre-service pour que les développeurs puissent créer rapidement des environnements aux configurations cohérentes. Cela les libère de la surcharge du paramétrage manuel et leur permet de se concentrer sur les tâches à forte valeur ajoutée. Une approche efficace consiste à intégrer ce provisionnement automatisé des environnements dans un Portail Développeur Interne (IDP).

Processus de développement et hygiène du code

Des processus de développement solides et une hygiène de code rigoureuse sont fondamentaux pour garantir une expérience développeur productive et satisfaisante. Lorsque les revues de code deviennent des goulots d’étranglement et que la taille des commits devient ingérable, c’est tout le cycle de développement qui ralentit, affectant à la fois l'efficacité et la capacité à maintenir des logiciels de haute qualité. S'attaquer à ces éléments de base est crucial pour accélérer l'innovation et assurer des livraisons fiables.

Les données du secteur révèlent des défis courants dans ce domaine :

61
%
des responsables de l'ingénierie déclarent que les revues de code prennent plus d'une journée dans leur organisation.
35
%
des équipes d'ingénierie ne suivent pas systématiquement la stratégie de branchement pour leurs dépôts de QA, de développement et d'infrastructure.
14
%
des responsables de l'ingénierie indiquent que leur commit de code moyen est inférieur à 30 lignes.

Pour améliorer la maturité de vos processus de développement et l'hygiène de votre code, donnez la priorité à l'efficacité des workflows de revue de code et encouragez des commits plus petits et plus fréquents. Mettez en œuvre des vérifications automatisées et des stratégies de branchement claires pour maintenir la qualité du code et accélérer l'intégration sans surcharger les développeurs.

Apprentissage et développement

Pour offrir une excellente expérience développeur, les leaders de l'ingénierie doivent s'assurer que leurs équipes disposent d'opportunités de développement personnel et d'acquisition de nouvelles compétences. Investir dans la formation continue permet aux équipes de rester à la pointe de la technologie, prévient la stagnation des compétences et a un impact significatif sur le moral et la rétention des talents.

Pourtant, de nombreuses organisations font face à un manque dans ce domaine :

19
%
Seulement 19 % des leaders de l'ingénierie déclarent avoir un programme structuré pour l'amélioration et la reconversion des compétences de leurs ingénieurs.

Pour renforcer vos initiatives d'apprentissage et de développement, les leaders devraient se concentrer sur l'établissement de programmes clairs et de parcours d'apprentissage prédéfinis. Ces programmes, qui incluent des formations internes et des certifications externes, sont cruciaux pour une montée en compétence efficace et pour s'assurer que les ingénieurs développent constamment leurs capacités.

Améliorer l'expérience développeur grâce à une meilleure documentation, une planification rigoureuse et un provisionnement des environnements plus fluide accélère l'intégration des nouvelles recrues. En équipant les ingénieurs d'outils et de flux de travail efficaces, le temps nécessaire aux nouvelles recrues pour atteindre leur pleine productivité est considérablement réduit.Pour une entreprise de 1 000 développeurs, cela représente des économies significatives :

Formula:

02: DevOps Modernization

La modernisation DevOps ne se résume pas à l'adoption de nouveaux outils ; c'est un impératif stratégique pour transformer la manière dont les logiciels sont conçus, livrés et sécurisés. C'est le socle qui permet d'établir une pratique d'ingénierie véritablement mature.

Cette transformation englobe la simplification des processus critiques, des pipelines de build et de l'automatisation des déploiements jusqu'aux stratégies avancées et à la sécurité renforcée. L'objectif est de gagner en efficacité, de réduire les risques et d'accélérer le rythme de l'innovation. En s'attaquant à ces fondations, les organisations peuvent améliorer de manière significative leur stabilité opérationnelle et leur productivité, posant ainsi les bases d'une pratique d'ingénierie mature.

Processus de build

Des processus de build standardisés sont essentiels pour maintenir la qualité et la sécurité des logiciels tout en permettant aux développeurs d'accélérer la livraison grâce à des pratiques DevOps modernes. Ces pipelines doivent inclure des contrôles qualité automatisés pour empêcher le code défectueux d'atteindre la production et pour réduire les changements de contexte pour les développeurs. Cela contribue en bout de ligne à un cycle de livraison logicielle plus efficace et plus fiable.

Malgré cette importance, de nombreuses organisations font face à des obstacles significatifs :

Plus d'un tiers (36 %) des organisations ne disposent pas de pipelines de build standardisés.
Alors que 56 % des organisations exécutent tous leurs cas de test dans le cadre du pipeline de build, seulement 17 % d'entre elles sélectionnent intelligemment les tests en fonction des modifications de code applicables.
55 % des pipelines de build ne sont pas sécurisés par des contrôles de qualité, ou ces derniers ne sont pas appliqués de manière stricte.

Pour gagner en maturité dans votre processus de build, concentrez-vous sur l'établissement de pipelines standardisés et basés sur des modèles, qui intègrent des contrôles qualité automatisés. Ces "portes de qualité" doivent lancer intelligemment les tests pertinents et appliquer des règles strictes pour empêcher la progression de code non conforme ou défectueux, améliorant ainsi la qualité et l'efficacité des développeurs.

Processus de déploiement

Le processus de déploiement est le point de jonction essentiel entre le développement et les opérations. Il définit de manière fondamentale la vitesse et la fiabilité d'une organisation dans sa démarche de modernisation DevOps. Un pipeline de déploiement optimisé est indispensable pour livrer des logiciels de manière rapide et cohérente, en s'assurant que les nouvelles fonctionnalités et les correctifs atteignent la production de manière sécurisée et efficace. Cette section explore les différentes facettes du déploiement moderne, de l'automatisation aux stratégies de rollback et à la sécurité.

Automatisation du déploiement

Des processus de déploiement standardisés et automatisés sont la pierre angulaire d’une modernisation DevOps efficace, optimisant directement le cycle de livraison. Lorsque les étapes manuelles sont réduites au minimum, les organisations peuvent accélérer les mises en production, diminuer les erreurs humaines et libérer un temps précieux pour l'innovation. L'automatisation des étapes de déploiement permet une livraison de logiciels cohérente, reproductible et rapide, ce qui est crucial pour la vélocité du développement moderne.Standardized and automated deployment processes are cornerstones of effective DevOps modernization, directly optimizing the delivery cycle. When manual steps are minimized, organizations can accelerate releases, reduce human error, and free up valuable engineering time for innovation. Automating deployment steps allows for consistent, repeatable, and rapid software delivery, which is crucial for modern development velocity.

Malgré cet avantage évident, une part importante d’intervention manuelle persiste :

Moins d’une équipe d'ingénierie sur cinq dispose de pipelines de déploiement standardisés ou basés sur des modèles.
des déploiements de code applicatif dépendent encore d’étapes manuelles.
des changements de base de données reposent encore sur des étapes de déploiement manuelles.
des déploiements de code d'infrastructure dépendent toujours d’étapes manuelles.

To mature deployment automation, focus on standardizing and templating all deployment pipelines. Prioritize automating every possible step—from code and infrastructure to database changes—to eliminate manual intervention and achieve consistent, rapid, and reliable releases.

Deployment strategies

Modern deployment strategies such as rolling, canary, and blue/green updates, GitOps, and feature flagging are foundational to engineering maturity. Implementing these practices enables organizations to control release risk, perform phased rollouts, and ensure stability in production, all of which are crucial for effective DevOps modernization. Yet many organizations have not yet incorporated these practices into their DevOps workflows.

The adoption of these strategies remains a challenge:

of engineering teams don’t use deployment strategies like rolling update, canary, blue/green, and GitOps.
of engineering teams don’t use feature flags or don’t have a process for rolling them out and managing their lifecycle.

To mature deployment strategies, systematically adopt these modern, progressive delivery techniques. Establish clear processes for their implementation and management to reduce deployment risk, accelerate feedback loops, and decouple feature releases from code deployments.

Automated rollbacks

Many organizations manage rollbacks manually or rely on subjective evidence following deployment failures. These methods introduce delays and variability into the recovery process, directly impacting Mean Time To Recovery (MTTR) and hindering overall DevOps modernization efforts. Implementing automated rollback capabilities offers a more consistent and efficient approach to mitigating the impact of failed deployments, enabling swifter resolution and improved operational stability.

The challenges are clear:

44
%
of organizations rely on manual rollbacks for failed deployments.
43
%
of engineering teams base rollback decisions on subjective evidence rather than data.

To mature your rollback process, prioritize implementing fully automated rollback capabilities for all critical deployments. Supplement automation with data-driven decision-making frameworks, leveraging objective metrics to trigger and validate rollbacks, thus ensuring rapid and reliable recovery.

Deployment security

Engineering leaders must also ensure their deployment processes adhere to security best practices and safeguard sensitive customer and enterprise data from exposure. Modern DevOps includes rigorously controlling access to secrets and personally identifiable information (PII) throughout the software delivery pipeline, preventing vulnerabilities that could lead to breaches or compliance failures.

However, many teams fall short in this critical area:

of engineering teams don’t store secrets in a centralized secrets manager/HSM (a best practice).
engineering teams store secrets and PII in plain text in their deployment system.

To mature deployment security, prioritize adopting a centralized secrets management solution, such as a Hardware Security Module (HSM) or dedicated secrets manager, across all deployment stages. Enforce policies to prevent sensitive data from being stored in plain text and integrate security checks into pipelines to maintain compliance and protect data integrity.

Modernizing DevOps streamlines build and deployment processes, significantly reducing manual steps and freeing up valuable engineering time. With 23% of developer time currently spent on manual build and deployment activities, addressing this manual intervention unlocks substantial efficiencies. For every 1000 developers, organizations have an opportunity to realize the following savings:

Formula:

03: Optimization

Establishing a truly mature engineering practice requires relentless optimization of resource utilization, encompassing systems, costs, and the invaluable effort of your developers. This strategic focus ensures that every investment in cloud infrastructure or engineering hours yields maximum efficiency and value. Organizations can eliminate waste, enhance performance, and drive sustainable growth by continually refining how resources are consumed.

Cloud costs

Managing cloud costs is critical to effective optimization for mature engineering practices. As cloud adoption scales, gaining granular visibility into spending and automating cost reduction efforts becomes essential to maximizing resource utilization, controlling budgets, and ensuring financial efficiency across the organization.

However, many organizations struggle with this fundamental aspect of optimization:

Only 2 of 5
engineering leaders say cloud cost is tracked by their organization's projects, teams, and departments.
of engineering leaders say efforts to reduce cloud costs are automated.

To mature cloud cost optimization, implement automated tools that provide granular, real-time cost visibility down to projects, teams, and workloads. Prioritize automating cost reduction efforts through intelligent resource management and continuous optimization recommendations.

Metrics and insights

Achieving true optimization in engineering requires a robust approach to metrics and insights. Without a clear understanding of performance data, engineering leaders cannot identify bottlenecks, measure the impact of changes, or make informed decisions to enhance efficiency and resource utilization. Establishing a culture of data-driven analysis is fundamental to maturing DevOps practices and driving continuous improvement.
However, many organizations are still maturing in this area:

of engineering leaders say metrics are analyzed by their team daily or weekly.
Nearly half of engineering leaders say SLOs and error budgets are not defined or calculated for any of their services.

To mature your metrics and insights, establish clear, actionable key performance indicators (KPIs) for your software delivery lifecycle. Implement automated tools for continuous data collection and analysis, and integrate this intelligence to drive decisions, define SLOs, and gate deployments for consistent performance optimization.

Optimizing cloud costs, with granular visibility and automated reduction efforts, unlocks significant financial benefits. This calculation illustrates the substantial savings organizations can achieve by adopting cloud optimization best practices, aligning with the 10-15% reduction in cloud spend seen by leading FinOps organizations. Organizations that use the cloud have an opportunity to realize the following savings:

Formula:

04: Quality & Resilience

At the heart of a mature engineering practice lies the unwavering commitment to software quality and operational resilience. This means rigorously testing applications, proactively building systems that withstand extreme conditions, and establishing robust processes to manage and learn from every incident. By prioritizing these foundational elements, organizations can ensure their software is not only reliable but also capable of enduring real-world challenges, ultimately building trust and driving business continuity.

Quality testing

Robust quality testing is paramount for establishing true software quality and resilience. Ensuring that code is thoroughly validated across environments, from unit tests to functional automation, is critical for catching defects early and preventing issues from reaching production. Without comprehensive testing, organizations risk compromising reliability and eroding user trust, directly impacting their ability to deliver high-quality, resilient systems.

Despite its importance, there are notable gaps in quality testing practices:

of engineering leaders say their test or staging environments do not match the production environment.
A quarter (25%) of engineering leaders say less than
30
%
of their features have test plans.

Only 1 in 5 (20%) engineering teams have more than 90% unit test coverage for their services.

Just 10% of engineering leaders say functional testing is fully automated.
Just 10% of engineering leaders say functional testing is fully automated.

To mature quality testing, prioritize achieving high test and production environment parity. Invest in automating functional and unit tests, define clear test plans for all features, and integrate continuous verification into your deployment pipelines to ensure automated quality gates and faster feedback loops.

Resilience testing

Modern engineering practices integrate chaos testing into their DevOps lifecycle for a truly resilient and high-quality system. This advanced practice allows teams to stress test their software in extreme conditions, such as seasonal spikes or emergency scenarios, ensuring it can handle unusual demand and maintain stability when unforeseen events occur. This proactive approach is fundamental to building robust, fault-tolerant systems.

However, the adoption of chaos testing remains limited:

66
%
of engineering teams do not use chaos testing, while only
13
%
have integrated it into the SDLC.

Integrate dedicated chaos testing practices and tools into your SDLC to mature resilience testing. Proactively simulate failures and extreme conditions in controlled environments to identify weaknesses, validate system behavior under stress, and ensure your applications can gracefully recover from unexpected events.

Incident management

However mature their practices, experience has proven that engineering teams must always be prepared for the unexpected. If something can go wrong, then it will. As such, it’s essential to equip them with the tools and processes to resolve incidents quickly and learn from them. This preparedness is fundamental to maintaining system quality and resilience, minimizing downtime, and fostering continuous improvement.

Despite this necessity, gaps persist in incident management:

More than half of engineering teams do not have key tools to support incident management.
1 in 10 engineering teams don’t have a formal incident management process.
Only a quarter of engineering leaders say blameless post-mortems are conducted for all of their incidents.

To mature incident management, establish a formal process with clear roles and responsibilities, supported by integrated tools for rapid detection, communication, and resolution. Crucially, cultivate a culture of blameless post-mortems to learn from every incident and systematically enhance system resilience.

Prioritizing software quality and operational resilience is key to minimizing disruptions and maintaining business continuity. Proactive testing, resilient systems, and strong incident management significantly reduce outage impact. For every 1000 developers, organizations have an opportunity to realize the following savings:

Formula:

05: Secure Software Development

Establishing a truly mature engineering practice requires security to be an intrinsic part of every development phase, not an afterthought. Secure software development involves integrating robust security and governance policies early, maintaining comprehensive visibility into software components through tools like SBOMs, and ensuring developers are trained in best practices. This holistic approach builds resilience against threats, minimizes vulnerabilities, and safeguards critical assets throughout the software lifecycle.

Integrated security and governance

Mature engineering practices recognize that shift-left is not about pushing additional work onto developers, but empowering them to build secure software by default. To succeed in secure software development, engineering leaders must reduce the toil of secure software delivery by integrating security and governance seamlessly into every lifecycle stage. This proactive approach ensures compliance and minimizes vulnerabilities from inception to deployment.

However, organizations often face significant gaps in this critical area:

of engineering leaders say that most (more than two-thirds) of their build pipelines are not gated with security scans.
of engineering leaders say it takes more than 7 days on average to resolve high-severity security issues.
Nearly 1 in 10 engineering leaders say high and critical severity bugs are not fixed prior to release.

To mature integrated security and governance, establish clear security best practices. Automate security scanning and policy enforcement within the CI/CD pipeline, and ensure that high-severity issues are identified, prioritized, and remediated swiftly before release.

Software Bill of Materials (SBOMs)

Understanding the precise composition of your software is no longer optional for robust, secure software development and a mature engineering practice. A Software Bill of Materials (SBOM) provides critical transparency into every application component, dependency, and vulnerability. This granular visibility is essential for proactive risk management and building more secure systems.

However, the adoption of SBOM generation is still limited:

Only 11% of engineering leaders say a software bill of materials (SBOM) is generated for all artifacts
Over half of engineering teams (57%) generate SBOMs for

less than 30%

of artifacts, including not at all.

To mature your SBOM practice, establish processes for automated SBOM generation for all software artifacts across the development lifecycle. Integrate SBOMs with vulnerability management tools to enhance risk identification and ensure compliance with evolving industry standards and regulatory mandates.

Security training

For a truly mature engineering practice, security training for developers is indispensable. Even with advanced tools and automated checks, human awareness of security best practices remains a critical line of defense. Equipping engineers with up-to-date knowledge on secure coding, common vulnerabilities, and threat landscapes empowers them to build secure software from the ground up, reducing risks and improving overall software quality.

However, the consistency of such training varies:

While over half of developers

(56%) are trained annually or semi-annually on security best practices, nearly a quarter (23%) are never trained.

To mature security training, establish a continuous and formalized curriculum for developers covering current security best practices, secure coding principles, and common vulnerabilities. Regular training, workshops, and access to security resources can significantly elevate the security posture of your development teams.

Integrating security early and automating scans reduces developer toil. While security toil is just the tip of the iceberg for integrated security, its reduction offers significant productivity gains. This calculation focuses solely on these productivity gains, not the vast savings possible from preventing breaches or brand damage. For every 1000 developers, organizations have an opportunity to realize the following productivity savings:

Formula:

Your Next Steps

Today’s engineering teams carry a significant burden of responsibility as they strive to balance rapid innovation alongside improved software security and resilience. Mature engineering practices, underpinned by end-to-end pipeline automation, are essential to their ability to build, test, and deploy their software faster and with greater confidence.

However, the findings of this report highlight that many organizations remain in the early stages of their journey to engineering excellence across key dimensions. While there is a widespread adoption of best practices, adherence to them is often inconsistent, used in only isolated use cases or pipeline stages. This fragmented approach leads to inefficiencies and a lack of consistency in how organizations approach Developer Experience, DevOps Modernization, Optimization, Quality & Resilience, and Secure Software Development.

To accelerate their journey toward engineering excellence, leaders must move beyond traditional, siloed approaches and embrace a more unified approach to software delivery. Adopting a platform-centric strategy that seamlessly integrates the tools and capabilities developers need across these critical areas will set engineering leaders on the surest path to success.

We invite you to take the Engineering Excellence Assessment to assess your organization's progress in these vital aspects of engineering maturity and more.