Tuesday, June 3, 2025

The DevSecOps Manifesto, Le Manifesto DevSecOps

We have agreed and hold these ideals as our own:

We strive to do the right thing at the right time. And the wrong ones too.

We want to improve: our work, our customer satisfaction and indeed our lives.
We live by the ideal of: work smarter and not harder
We are collectively responsible for our success. Which means we are collectively responsible for everything.
We do not need unanimity to have an agreement. We seek a consensus, but not at all costs.
It is better to make steady slow progress than being late for the sake of perfection.
_____________________________________________
 
There is no point in blame for failure. Failure is expected and it is part of the process.
We put safeguards that so that each step taken is a step forward. Measured and secured.
We agree that we must find an or some objective metrics to measure our success.
The determination of these measures will be ours but also accepted by our customers or representatives.
We think that transparency and visibility of our progress, are necessary allies.
 
_____________________________________________
 
We are slave to constraints and cannot and will not encourage bottlenecks
We try to understand our coworkers as best we can, roles, ambitions, expertise and all.
We design our work and processes to avoid single points of failure.
We believe that security is quality and there is no quality without security.
We accept that security is everybody's responsibility as we are responsible for everything.
 
_____________________________________________
 
This is our guide, this is our convention. If these ideals change it will be because we agree.

 

Nous avons convenu que nous tenons à ces idéaux comme étant les nôtres:

Nous avons la volonté de faire les bonnes choses au bon moment. Les mauvaises aussi.
Nous voulons nous améliorer: notre travail, la satisfaction de nos clients et en effet nos vies.
Nous croyons que bien travailler ne veut pas dire travailler plus.
Nous sommes tous responsables de notre succès. Ce qui veut aussi dire que nous sommes tous responsable de l'ensemble de notre œuvre.
Nous n'avons pas besoin de l'unanimité pour arriver à un accord. Nous désirons un consensus, mais pas à tout prix.
Il es plus important d'avancer un peu assurément, que de tarder pour le bénéfice de la perfection.

_____________________________________________

Il ne vaut rien de blâmer. L'échec fait partie du processus et est prévu.
Nous sécurisons nos processus pour qu'ils soient robustes et adoptés en fonction du progrès mesuré.
À cette fin nous convenons d'être mesurés de façon objective et quantitative.
Les métriques qui nous mesurent seront personnalisés à nous, mais acceptés par nos clients ou représentants.
La transparence et la visibilité de notre progrès, sont des alliés indispensables.

_____________________________________________

 Nous sommes tous esclaves des contraintes. Nous ne sommes ni tenus ou n'encourageons pas de forcer les goulots d'étranglement.

Nous voulons bien comprendre nos collègues, leur rôles, leurs ambitions, leurs expertises et tout.
Notre travail et nos processus sont réfléchis afin d'éviter les points de défaillance uniques.
Il n'y a pas de qualité sans la sécurité. Un produit de qualité a, la sécurité à sa base.
Nous sommes tous responsable de la sécurité. Étant dit préalablement que nous étions tous responsable de tout.

 _____________________________________________

Ceci est notre guide et notre convention. Si ces idéaux changent, ils l'auront fait par accord commun.


Monday, June 2, 2025

SecDevOps ou pas SecDevOps? C'est même pas une question!

SecDevOps + Zero-Trust : guide coquin pour les équipes qui « font déjà du DevOps »… ou pas !

TL;DR  On ne cherche pas à remplacer DevOps; on l'enveloppe dans une armure fluo qui bloque ou révèle le risque, tout en laissant la gang à l’intérieur danser comme si c'etait 1999.


Qu’est-ce que SecDevOps, au juste ?

  • DevOps : faire circuler la valeur vite, apprendre, recommencer (« vraiment TLDR »).
  • SecDevOps : même chose, mais on branche des capteurs de risques dans la plomberie pour que le danger avertit avant de mordre. (Encore plus de shift-left !)
  • Zero-Trust : « Ne jamais faire confiance, toujours vérifier »… appliqué aux paquets, jetons, conteneurs, bref tout SAUF l’intention de vos collègues. Réseaux parano: humains optimistes.

Ensemble, ça donne un modèle de capacités qui se branche sur Scrum, Kanban, GitOps, SAFe, peu importe le beat que votre organisation suit, sans exiger une nouvelle religion.


Les quatre principes (gentiment) irrévérencieux

  1. Tout ce qui bouge est journalisé, scanné ou sinon gueulé. Commits, conteneurs, changements IAM, on s’en fiche de qui a appuyé sur Enter.
  2. Les garde-fous valent mieux que les gates (non, pas celles de Bill !). Une image de base endurcie évite bien des « oups »; un gros bouton rouge « ÉCHEC » un vendredi 16 h, ça fait grincer des dents.
  3. Zero-Trust du système, confiance totale envers les humains (au boulot). On fait tourner les jetons aux heures, mais on fait tourner le blâme hors du post-mortem.
  4. La visibilité = l’amour (gardez quand même vos vêtements). Si un risque peut se cacher, un succès aussi. Les tableaux de bord montrent le flux et les lacunes côte à côte. Les équipes avec une vraie sécurité psychologique et de bons métriques DORA surclassent leurs pairs.

Ça remplace DevOps ?

Ben non, c’est DevOps PLUS.
Imaginez DevOps comme un téléphone intelligent ; SecDevOps est l’étui blindé extra-robuste. Vos apps préférées tournent toujours, mais l’appareil survit aux chutes, aux cafés renversés et au hacker occasionnel.

Constat terrainQuoi faire
Vous avez déjà un CI/CDGreffez les contrôles de sécurité dans les mêmes étapes. Gardez la culture du "green bar", ajoutez juste une touche de violet pour les passes à la sécurité.
Les Ops craignent la surchargeAutomatisez d’abord, annoncez ensuite. Si le scanner réussit en silence 99 % du temps, personne ne crie.
La Sécurité redoute le « Far West »Offrez-leur des tableaux de bord en lecture seule et un droit de veto sur les exceptions, les changements non-documentés, pas sur chaque déploiement.

Zero-Trust sans casser l’ambiance

Pilier Zero-Trust Traduction « humaine-friendly » Garde-fou pas gossant
Vérifier explicitement « On te fait confiance… mais on double-vérifie le système. » Toutes les requêtes API se ré-authentifient en douce; les échecs s’affichent à côté du compte de tests unitaires.
Moindre privilège « Un plus petit rayon d’explosion = moins d’appels à 3 h du mat. » Rôles « PIM » de 2 heures; l’audit se publie dans #sec-télémétrie.
Présumer l’intrusion « Curiosité plutôt que blâme. » Jeux de guerre trimestriels : fuite de faux secrets, beignes pour les gagnants, pas de recherches de coupables.

Starter kit (sprint d’une journée: avec zéro échantillon de code, promis !)

  1. Activez les scanners intégrés. GitHub Advanced Security, SAST GitLab, analyseurs Azure DevOps, SonarQube… prenez ce que votre dépôt offre déjà gratuitement.
  2. Montez un « Risk Radiator ». Un panneau Grafana interne qui fusionne déploiements, vulnérabilités et incidents en une vue bien bruyante et fière.
  3. Activez les rôles Just-In-Time. Utilisez la fonction JIT/PIM de votre cloud pour que n’importe quel·le coéquipier·ère obtienne un accès temporaire sans passer par le service desk.
  4. Planifiez une journée Purple-Team.* Un après-midi, simulez une fuite de jeton et exercez-vous à la trouver et à la corriger ensemble. Top-là: obligatoire.
*Bleu + Rouge = Purple (Violette) au cas ou c'est pas clair...

Métriques qui comptent (et qui gardent tout le monde honnête)

FluxSécuritéCulture
Gestion du changementMTTR-V (correction des vulns)Nb d’humains uniques ayant fermé un billet sécurité
Fréquence de déploiement% de sessions privilégiées qui expirent autoNb de « kudos » pour détection de risque précoce
Points d’histoire livrésNouvelles mesures de sécurité mises en placeAmélioration continue documentée

Si un indicateur monte les équipes l’une contre l’autre, digérez le et jetez-le. S’il déclenche la collaboration, gardez-le.


Dernier mot

SecDevOps + Zero-Trust complète DevOps comme la ceinture de sécurité complète la voiture sport : la balade reste délirante, les accidents font moins mal, et personne ne prétend que la ceinture « remplace » le moteur.

Lancez-vous avec un scanner de vulnérabilités, un tableau de métriques et PIMez vous. Laissez les données parler, laissez les humains rire, et observez la vélocité sécuritaire devenir la nouvelle norme.

Allez hop! Ajoutez cette étincelle violette à vos pipelines, votre futur vous vous dira merci.

Vous voulez en parler? Pour en savoir plus? Contactez-nous, dans la section des commentaires ci-dessous.

To SecDevOps or not to. It isn't even a question.

SecDevOps + Zero-Trust: a Cheeky Field Guide for Teams That Already “Do DevOps”...or dont...

TL;DR — We’re not trying to replace DevOps, we’re giving it a shiny exoskeleton that blocks or exposes risk and still lets the people inside, boogie like it's 1999.

 

What is SecDevOps, Really?

  • DevOps: make value flow fast, learn, repeat. really TLDR.

  • SecDevOps: do the same thing but wire risk-sensors into the plumbing so danger lights up before it bites. (Shift left... again)

  • Zero-Trust: “Never trust, always verify”… applied to packets and tokens, code, containers, everything, EXCEPT colleagues’ motives. In other words, paranoid networks, optimistic humans. (NIST, csrc.nist.gov)

Put them together and you get a capability model that snaps onto Scrum, Kanban, GitOps, SAFe, whatever rhythm your org already claps to, without demanding a brand-new religion.


The Four Cheeky Principles

  1. Everything That Moves Is Logged, Scanned, or Yelled At
    Commits, containers, IAM changes, doesn’t matter who hit Enter.

  2. Guardrails Beat Gates (no, no, not Bill!)
    A pre-hardened base image prevents oopsies; a red “BLOCKED” button at 4 p.m. Friday enrages engineers.

  3. Zero-Trust the System, Full-Trust the Humans, at work.
    We rotate tokens every hour but rotate blame out of the post-mortem.

  4. Visibility = Love (Keep your clothes on, though)
    If a risk can hide, so can a win. Dashboards show flow and flaws side-by-side. Elite teams with strong psych-safety and good metrics outperform their peers on every DORA KPI. (InfoQ, Kodus)


Does This Replace DevOps?

Nope, ­it’s DevOps Plus.
Think of DevOps as the smartphone; SecDevOps is the ruggedized case and screen protector. Your favourite apps still run, but the device survives drops, spills, and the occasional hacker.

Reality Check What to Do
You already have CI/CD Bolt security checks into the same pipeline stages. Keep the green bar culture, just add a “purple sparkle” for security passes. (explanation forthcoming)
Ops teams worry about extra toil Automate first, announce second. If the scanner’s silent-success rate is 99 %, nobody screams.
Security fears a “Wild West” Give them read-only dashboards and veto power on exceptions and undocumented changes, not on every deploy.

How Zero-Trust Fits Without Killing the Vibe

Zero-Trust Pillar Human-Friendly Translation Non-Annoying Guardrail
Verify Explicitly “We trust you, we double-check the system.” All API calls re-auth transparently; failure shows up next to the unit-test count.
Least Privilege “Smaller blast-radius = fewer 3 a.m. calls.” 2-hour click-to-elevate roles; audit trail posts to #sec-telemetry.
Assume Breach “Curiosity over blame.” Quarterly game-days inject fake secrets; winners get doughnuts, not finger-pointing.


Starter Kit (One-Day Sprint, No Code Samples: Promise!)

  1. Turn On Built-In Scanners
    GitHub Advanced Security, GitLab SAST, Azure DevOps Analyzers, SonarQube, or whatever your repo already gives you for free.

  2. Spin Up a “Risk Radiator”
    Internal Grafana panel that glues deployment, vulnerability, and incident metrics into one loud, proud place. Keep granular data about projects for diagnostics, but display the aggregate.

  3. Enable Just-In-Time Roles
    Use your cloud’s JIT/“break-glass”/PIM feature so any teammate can get short-lived access without service-desk limbo.

  4. Schedule a Purple-Team* Game-Day
    One afternoon, fake a token leak and practise finding & fixing it together. High-fives mandatory.

*Red+Blue = Purple, in case you needed the explanation

Metrics That Matter (and Keep Everyone Honest)

Flow Safety Culture
Lead Time for Change MTTR-V (vuln fix) # of unique humans who closed a security ticket
Deployment Frequency % privileged sessions auto-expire # shout-outs for spotting a risk early
Story points delivered New safety measures put into place continuous improvement

If a stat can pit teams against each other, digest it and dump it. If it sparks joint problem-solving, keep it.


Final Nudge

SecDevOps + Zero-Trust complements DevOps the way seatbelts complement sports cars: the ride stays thrilling, the crashes hurt less, and nobody argues that belts “replace” engines.

Start with one scanner, one metric board, and one JIT role.
Let the data speak, let the humans laugh, and watch safe velocity become the new normal.

Now go forth and add that purple sparkle to your pipelines: your future self already thanks you.

Want to talk about it? To know more? Hit us up, in the comment section below.

Sunday, June 1, 2025

Faire "Agile" de la bonne façon : les points et le contrat.

Au-delà des chiffres: Comprendre les Story Points comme un contrat tacite dans Azure DevOps: Adopter l'observabilité & SecDevOps

Introduction: Mise en contexte

Soyons honnêtes: l'idée des "story points" peut sembler un peu… eh bien, absurde au premier abord. C'est comme essayer de mesurer le ressenti d'une bonne tasse de café avec une règle. Mais les story points ne visent pas une mesure précise. Ils sont un outil de communication, de collaboration et, surtout, de compréhension de la complexité relative des tâches. Mais, si on les fait correctement, il ne s'agit pas de mesurer le temps ; il s'agit de tenir une promesse. Une promesse tacite, en fait, celle qu'on fait d'un coup d'œil complice et d'un haussement d'épaules un peu embarrassé. Il s'agit d'estimer l'effort, pas le temps. Utiliser les story points nous permet de prioriser efficacement et de suivre notre vélocité: en gros, à quelle vitesse nous avançons. C'est une approche étonnamment utile et c'est une pierre angulaire du DevSecOps.

L'écosystème interconnecté: Observabilité & SecDevOps

Imaginez un orchestre chaotique: où chacun joue un instrument différent, à n'importe quel cadence et où personne ne sait ce que font les autres. C'est à ça que ressemble le développement d'application sans un bon système. Azure DevOps, en revanche, ressemble à une symphonie magnifiquement orchestrée. Azure Boards (pour la planification), Azure Repos (pour le code), Azure Pipelines (pour les compilations et les déploiements) et Azure Artifacts (pour la gestion des packages): ils communiquent tous ensemble. Les changements dans le plan sont immédiatement reflétés dans le code, les compilations et les déploiements. Cela crée une boucle de rétroaction: un élément essentiel pour l'observabilité.

Voyez les choses de cette façon: un petit bug introduit pendant une compilation est immédiatement signalé, et l'équipe peut rapidement annuler les modifications. C'est un principe fondamental du SecDevOps: la sécurité proactive, la surveillance continue et la réponse rapide. Sans cette intégration, vous êtes essentiellement à l'aveugle. C'est comme essayer de réparer une fuite de canalisation, mais cette fois-ci avec une lampe de poche. La visibilité en temps réel est essentielle !

Observabilité et SecDevOps: Maintenir le contrat vivant

Sans observabilité, la capacité à comprendre ce qui se passe à l'intérieur de votre système, ce contrat tacite est fragile. Vous devez savoir pourquoi les choses se produisent. La surveillance, la journalisation et le traçage sont vos alliés. Les pratiques SecDevOps ne consistent pas seulement à ajouter de la sécurité ; elles visent à construire la résilience et la compréhension. C'est autant une question de manière de travailler que de ce que nous livrons !

Alors, qu'est-ce qu'une User Story ? (Et pourquoi c'est un accord secret)

Une user story, au fond, est un petit extrait de conversation. Ce n'est pas un document de spécification détaillé. Ce n'est pas un plan. C'est un point de départ. Une bonne user story ressemble à ceci: "En tant que [rôle utilisateur], je veux [objectif] afin que [bénéfice]." Exemple: "En tant que client, je veux pouvoir réinitialiser mon mot de passe afin de pouvoir accéder à mon compte si je l'oublie." Simple, non ?
Mais voilà le truc: ce ne sont pas seulement les mots. C'est l'accord implicite qui suit. C'est là que le côté "tacite" entre en jeu. C'est comme accepter de se voir pour un café: vous n'écrivez pas l'itinéraire exact, la température ou la marque de café préférée. Vous acceptez simplement de vous retrouver. Puis, vous vous débrouillez. Une user story bien rédigée est la base de cet accord.

L'art de moins de stress, plus de promesses

La documentation agile, et je ne parle pas d'un dossier de 100 pages, je parle de tout ce que l'on place simplement dans nos tableaux de travail, vise en réalité à réduire la pression sur l'équipe. Soyons réalistes, courir sans cesse après cette "spécification parfaite" ne fait qu'engendrer de l'anxiété. C'est un jeu de raffinement sans fin, et honnêtement, c'est épuisant. En adoptant une approche légère, on déplace l'accent de la documentation méticuleuse de chaque détail vers la simple capture d'assez d'informations pour que tout le monde reste aligné. Il s'agit d'une compréhension partagée, pas d'un contrat rigide.

Les éléments qui "verrouillent" la spécification (et pourquoi vous ne devriez pas les ignorer)

Décomposons ce qui fait réellement qu'une user story "tient". C'est plus que le format de base. Voici ce qui doit être présent pour que tout le monde soit sur la même longueur d'onde et pour créer cet accord puissant et silencieux :

  • Critères d'acceptation: Ce sont les règles de l'accord. Ce sont les éléments qui doivent être vrais pour que la story soit considérée comme "terminée". Ils ne sont pas optionnels. Exemple: "Étant donné que j'ai saisi une adresse e-mail valide, lorsque je clique sur ‘Réinitialiser le mot de passe', alors je devrais recevoir un e-mail avec un lien pour réinitialiser mon mot de passe."
  • Définition de Terminé (DoD): C'est la liste de contrôle plus large: scans de sécurité, revues de code, tests d'intégration, etc. C'est ce qui assure que la story est véritablement complète et fiable.
  • Valeur d'affaires": C'est la partie "… afin que …". C'est pourquoi nous faisons cela. C'est le lien avec l'objectif "business". Sans cela, vous construisez seulement des belles choses creuses sans but.
  • Considérations techniques: Parfois, l'équipe doit discuter des implications techniques. Ce n'est pas nécessairement une partie de la user story, mais il est important de le reconnaître.

Story Points: Engagements, pas échéances

Oubliez l'idée de mapper les story points aux heures. C'est une recette pour la frustration. Les story points sont des estimations relatives: parlons-nous d'une "petite modification" ou d'une "refonte majeure" ? Considérez-les comme un moyen de communiquer la complexité relative et le risque. Encore une fois, nous n'essayons pas de quantifier l'effort (c'est un piège !). Nous essayons d'établir une mesure relative de complexité et de risque. Une story estimée à environ 8 points est à peu près aussi complexe qu'une story à 13 points. L'important n'est pas le chiffre lui-même, mais la compréhension partagée qu'il représente.

La règle des 13 points: Quand décomposer

Voici un petit secret: tout ce qui est estimé à 13 ou plus devrait probablement être décomposé. Sérieusement. C'est un signal d'alarme rouge flamboyant qui vous dit que vous vous apprêtez à vous lancer dans quelque chose de potentiellement épineux. Les stories volumineuses sont souvent le symptôme d'un glissement de périmètre ou d'un manque de clarté.

Voyez les choses ainsi: si vous estimez une story à 13 points, vous dites essentiellement "Je ne suis pas tout à fait sûr de ce dans quoi je m'embarque." Et c'est tout à fait correct ! Mais cela doit être traité. Ne vous contentez pas de la confier à un développeur et d'espérer le meilleur.

La séquence de Fibonacci: Pourquoi une échelle relative ?

Vous avez probablement entendu l'histoire de Ron Jeffries et de la séquence de Fibonacci. Il essayait d'estimer l'effort sur un projet, et il s'est rendu compte que les tâches se répartissent souvent en catégories distinctes: certaines sont minuscules, d'autres énormes. La séquence (1, 2, 3, 5, 8, 13…) est une façon naturelle de représenter cela. C'est comme dire "D'accord, cette tâche est à peu près de la taille d'un petit chien, celle-ci est de la taille d'un Labrador…"

La valeur d'un point: Échelle, pas absolus

Ne tombez pas dans le piège de penser qu'un "3" signifie toujours la même chose. Lors du Sprint 1, un "3" peut être une entreprise énorme: réécrire une partie conséquente de l'application. Mais au Sprint 5, c'est probablement une tâche standard. La valeur d'un point se solidifie avec le temps à mesure que l'équipe acquiert de l'expérience et une compréhension partagée. Il s'agit de suivre la vélocité: la tendance de la rapidité avec laquelle vous avancez, pas d'un objectif rigide. Considérez cela ainsi: un marathonien expérimenté connaît mieux son rythme qu'un débutant.

Rigueur et flexibilité: Trouver l'équilibre

Bien qu'il soit important d'être réfléchi dans nos estimations, ne vous enfoncez pas dans les détails. La rigueur et la flexibilité doivent être équilibrées. Utilisez des techniques comme les rétrospectives de sprint et le planning poker pour affiner vos estimations au fil du temps. Adoptez l'auto-organisation et l'adaptation. N'oubliez pas que l'objectif est de communiquer efficacement et de délivrer de la valeur.

Azure Boards, Repos, Pipelines, Artifacts: Construire les "dents"

C'est là que la magie opère. Lorsque vous connectez vos Azure Boards, vos Git Repos, vos Pipelines et vos Artifacts, vous intégrez les dents dans ce contrat tacite.

  • Azure Boards: Fournit le cadre pour la story, le backlog et la planification du sprint.
  • Repos: La source de vérité pour le code.
  • Pipelines: Automatisent le processus de compilation, de test et de déploiement, garantissant une livraison cohérente.
  • Artifacts: Le livrable empaqueté, prêt à être déployé.

Cet écosystème intégré transforme une promesse vague en un résultat concret et vérifiable. Les pratiques de sécurité et DevOps (SecDevOps) sont cruciales ici. Pensez aux scans de sécurité automatisés dans vos pipelines, aux évaluations de vulnérabilité et à la surveillance continue.

Conclusion

En résumé: Les story points ne servent pas à mesurer le temps. Ils visent à instaurer la confiance, à favoriser la collaboration et à transformer des intentions vagues en résultats concrets. En connectant vos outils et en adoptant SecDevOps, vous pouvez transformer votre processus agile d'une série de suppositions en un pipeline de livraison fiable et reproductible.

Et en fin de compte, les story points sont un outil de communication et de collaboration, pas un système de mesure rigide. Adoptez l'approche du "contrat tacite": mettez l'accent sur la compréhension partagée et laissez les chiffres vous guider. Ne vous focalisez pas sur les chiffres ; concentrez-vous sur la livraison de la valeur.

Prêt à transformer vos pratiques DevSecOps ? Laissez-nous un commentaire ci-dessous pour planifier une consultation et découvrir comment nous pouvons vous aider à construire une équipe plus efficace et collaborative.

Prochainement: SecDevOps et Ingénierie de Plateforme.

Doing Agile the right way: Points and the contract.

Beyond the Numbers: Understanding Story Points as a Tacit Contract in Azure DevOps: Embracing Observability & SecDevOps

Introduction: Setting the Stage

Let's be honest: the idea of "story points" can feel a bit…well, absurd at first. It’s like trying to measure the feeling of a good cup of coffee with a ruler. But story points aren’t about precise measurement. They're a tool for communication, collaboration, and crucially, understanding the relative complexity of tasks. But, if we're doing them right, they're not about measuring time; they're about making a promise. A tacit one, mind you, the kind you make with a knowing glance and a slightly uncomfortable shrug. They’re about estimating the effort, not the time. Using story points allows us to prioritize effectively and track our velocity: essentially, how quickly we're moving forward. It’s a surprisingly useful approach, and it’s a cornerstone of DevSecOps.

The Interconnected Ecosystem: Observability & SecDevOps

Imagine a chaotic orchestra where everyone is playing different instruments, and no one knows what the others are doing. That’s what development can be without a good system. Azure DevOps, however, is like a beautifully orchestrated symphony. Azure Boards (for planning), Azure Repos (for code), Azure Pipelines (for builds and deployments), and Azure Artifacts (for managing packages): they all talk to each other. Changes in the plan are immediately reflected in the code, builds, and deployments. This creates a feedback loop: a crucial element for observability.

Think of it this way: a small bug introduced during a build is immediately flagged, and the team can quickly roll back the changes. This is a fundamental principle of SecDevOps: proactive security, continuous monitoring, and rapid response. Without this integration, you’re basically flying blind. It’s like trying to fix a leaky pipe, but this time with a flashlight. Real-time visibility is key!

Observability and SecDevOps: Keeping the Contract Alive

Without observability, the ability to understand what's going on inside your system, that tacit contract is fragile. You need to know why things are happening. Monitoring, logging, and tracing are your friends. SecDevOps practices aren't just about adding security; they're about building resilience and understanding. As much about how we work than what we deliver!

So, what's a User Story Anyway? (And Why It's a Secret Agreement)

A user story, at its heart, is a little snippet of a conversation. It's not a detailed specification document. It's not a blueprint. It's a starting point. A good one looks something like this: "As a [user role], I want [goal] so that [benefit]." Example: "As a customer, I want to be able to reset my password, so that I can access my account if I forget it." Simple, right?
But here's the thing: it's not just the words. It's the implicit agreement that follows. That's where the "tacit" part comes in. It's like agreeing to meet for coffee, you don't write down the exact route, the temperature, or the preferred brand of coffee. You just agree to meet. And then, you figure it out. A well-crafted user story is the basis of that agreement.

The Art of Less Stress, More Promise

Agile documentation, and I'm not talking about a 100-page binder, I mean oll the stuff we just put in our workboards, is actually about reducing the pressure on the team. Let's be real, constantly chasing the elusive "perfect spec just breeds anxiety. It's a game of endless refinement, and honestly, it's exhausting. By focusing on a lightweight approach, you shift the emphasis from meticulously documenting every single detail to simply capturing enough information to keep everyone aligned. It's about shared understanding, not a rigid contract.

The Parts That "Lock In" the Specification (and Why You Shouldn't Ignore Them)

Let's break down what makes a user story actually stick. It's more than just the basic format. Here's what needs to be there to ensure everyone is on the same page, and to create that powerful, unspoken contract:

  • Acceptance Criteria: These are the rules of the agreement. They're the things that have to be true for the story to be considered "done.” They're not optional. Example: "Given I've entered a valid email address, when I click ‘Reset Password,' then I should receive an email with a link to reset my password.”
  • Definition of Done (DoD): This is the broader checklist, security scans, code reviews, integration tests, etc. It's what ensures the story is truly complete and reliable.
  • Business Value: This is the "so that..." part. It's why we're doing this. It's the link to the business goal. Without it, you're just building shiny objects.
  • Technical Considerations: Sometimes, the team needs to discuss technical implications. This isn't necessarily part of the user story, but it's important to acknowledge it.

Story Points: Commitments, Not Timelines

Forget about trying to map story points to hours. That's a recipe for frustration. Story points are relative estimates, are we talking a "small tweak” or a "major overhaul”? Think of them as a way to communicate relative complexity and risk. Again, we’re not trying to quantify effort (that’s a trap!). We’re trying to establish a relative measure of complexity and risk. A story that’s roughly equivalent to 8 points is roughly as complex as a story that’s 13 points. The point isn’t the number itself, it’s the shared understanding it represents.

The 13-Point Rule: When to Break It Down

Here's a little secret: anything estimated at 13 or above should probably be broken down. Seriously. It's a red flag. A big, flashing warning sign that you're about to embark on something potentially hairy. Large stories are often a symptom of scope creep or a lack of clarity.

Think of it this way: If you're estimating a story at 13, you're essentially saying, "I'm not entirely sure what I'm getting into here." That's okay! But it needs to be addressed. Don't just throw it at a developer and hope for the best.

The Fibonacci Sequence: Why Relative Scale?

You’ve probably heard the story of Ron Jeffries and the Fibonacci sequence. He was trying to estimate the effort on a project, and he realized that tasks often fall into distinct categories: some are tiny, some are huge. The sequence (1, 2, 3, 5, 8, 13…) is a natural way to represent this. It’s like saying, "Okay, this task is roughly the size of a small dog, this one is the size of a golden retriever…" 

The Value of a Point: Scale, Not Absolutes

Don’t fall into the trap of thinking that a "3" always means the same thing. In Sprint 1, a "3" might be a huge undertaking: rewriting a significant portion of the application. But by Sprint 5, it’s likely to be a standard task. The value of a point solidifies over time as the team gains experience and shared understanding. It's about tracking velocity: the trend of how quickly you’re moving forward, not a rigid target. Think of it like this: a seasoned marathon runner knows their pace better than a beginner.

Rigor and Flexibility: Finding the Balance

While it's important to be thoughtful about our estimates, don’t get bogged down in the details. Rigor and flexibility must be balanced. Use techniques like sprint retrospectives and planning poker to refine your estimates over time. Embrace self-organization and adaptation. Remember, the goal is to communicate effectively and deliver value.

Azure Boards, Repos, Pipelines, Artifacts: Building the "Teeth”

This is where the magic happens. When you connect your Azure Boards, your Git Repos, your Pipelines, and your Artifacts, you're building the teeth into that tacit contract.

  • Azure Boards: Provides the framework for the story, the backlog, and the sprint planning.
  • Repos: The source of truth for the code.
  • Pipelines: Automate the build, test, and deployment process, ensuring consistent delivery.
  • Artifacts: The packaged deliverable, ready to be deployed.

This integrated ecosystem turns a vague promise into a concrete, verifiable outcome. Security and DevOps (SecDevOps) practices are crucial here. Think automated security scans in your pipelines, vulnerability assessments, and continuous monitoring.

Conclusion

TLDR; Story points aren't about measuring time. They're about building trust, fostering collaboration, and turning vague intentions into concrete outcomes. By connecting your tools and embracing SecDevOps, you can transform your agile process from a series of guesses into a reliable, repeatable delivery pipeline.

And ultimately, story points are a tool for communication and collaboration, not a rigid measurement system. Embrace the "tacit contract" approach: focus on shared understanding, and let the numbers guide you. Don’t get hung up on the numbers; focus on delivering value.

Ready to transform your DevSecOps practices? Leave us a comment below, to schedule a consultation and learn how we can help you build a more effective and collaborative team.

Coming up next: SecDevOps and Platform Engineering.


Wednesday, May 21, 2025

"Agentic SecDevOps" ou le SecDevOps Agentique, est-il fait pour vous?

Qu’est-ce que c’est?

Comme il est de mon habitude, prenons un moment pour examiner les « parties constitutives nues et essentielles » de ce qu'est Agentic DevOps, et voyons comment nous les alignons sur l'état d'esprit de SecDevOps.

 

« Agentic DevOps » de Microsoft, concepts clés :

  • « Agentic DevOps » positionne les agents d’IA (comme GitHub Copilot) comme des collaborateurs actifs dans le cycle de vie du développement et des opérations, non seulement des assistants, mais des participants.
  • Ces « agents » sont intégrés dans les flux de travail des développeurs
    • Suggérer du code
    • Générer des tests unitaires
    • Assistance avec les configurations YAML CI/CD
    • Potentiellement même en surveillant les plateformes, aidant à trier les incidents.
  • L’intégration Azure/Devops et GitHub vise à créer une boucle transparente où l’IA connecte les pipelines de développement, de test, de déploiement et d’observabilité.
  • Le modèle encourage l’automatisation axée sur l’intention, vous décrivez ce que vous voulez accomplir et l’agent aide à échafauder ou à mettre en œuvre la solution.

Agentic DevOps : l’IA c'est un joueur d'équipe?

Nous l’avons tous déjà vu : les démos où GitHub Copilot semble terminer votre code avant même que vous ayez fini de taper votre pensée. Et maintenant, avec la vision Agentic DevOps de Microsoft, il ne s’agit pas seulement d’écrire du code plus rapidement, il s’agit de changer complètement la façon dont nous développons, testons, déployons et exécutons des logiciels.

Je l’utilise personnellement, tout le temps. C'est assez étonnant de voir comment il peut « couper dans le gras » de l'écriture de code qui serait autrement évident, voire fastidieux. C’est-à-dire que certaines des routines que nous écrivons sont simplement des algorithmes « fréquemment utilisés » et « bien connus ». Juste avec des paramètres différents ou d'utres variables. 


Vous pouvez également demander aux LLM de rédiger des applications entières. Et il fait parfois un travail raisonnable. Ce « parfois » cependant... Qui sait quand il fera ou ne fera pas les choses correctement? Plus il faut produire de code, plus il est probable qu'il contienne un bogue majeur.

Pour être honnête, on peut dire la même chose du code que nous écrivons nous-mêmes. Mais ce qui est prévisible, c’est notre faillibilité. En fait, nous l’incluons dans nos processus, sachant qu'on est faillible, on se valide. Nous pourrions être tentés de supprimer cela de nos processus si nous faisons appel à la IA pour le faire.

Donc, plus elle est fiable, plus nous nous y fierons. Maintenant, est-ce un atout ou un nouveau risque?

Est-ce la révolution dont nous avons besoin, ou simplement une autre couche de complexité déguisée en automatisation?

En tant que personne qui travaille à l’intersection de la sécurité, des opérations et de la culture DevOps depuis un certain temps déjà, j’observe cette tendance avec enthousiasme et prudence.

Déballons le tout.

Le bon : pourquoi c’est important

  1. Accélération des tâches répétitives
    Vous écrivez un YAML passe-partout? Structurer ce script de déploiement de Bicep? Copilot réduit déjà des heures de ces tâches. Ce n’est pas anodin, cela permet aux équipes de se concentrer sur la conception réelle, le risque et la valeur pour l’utilisateur.

  2. Renseignement sur les incidents
    L'intégration de l'observabilité, des logs et des données d'incident dans la portée de Copilot pourrait signifier que les agents d'IA peuvent aider à identifier plus rapidement les causes profondes, peut-être même à qualifier les problèmes pour déclencher des correctifs automatisés.

  3. Joindre les silos
    Une plateforme partagée où le code, le déploiement et la surveillance sont tous augmentés par l’IA pourrait réduire les frictions entre les développeurs, les opérations et la sécurité, si elle est adoptée correctement. Cela pourrait entraîner une reconnaissance du besoin constant d’évaluation par les pairs en tant que processus, au lieu de le considérer comme une critique systématique.

  4. Synergie d’ingénierie de plateforme
    Cette vision s’aligne bien sur les plateformes de développement internes (IDP), les IA pourraient aider les développeurs à développer plus facilement les constructions, l’infrastructure et les pipelines en libre-service, si les garde-fous sont correctement appliqués.

Les mises en garde (quelques-unes) : Du point de vue de SecDevOps

  1. L’automatisation sans compréhension est dangereuse
    Si vous ne comprenez pas code YAML que Copilot vient d’écrire, vous ne pouvez pas le sécuriser. La confiance aveugle dans les Systèmes Agentiques crée des angles morts, en particulier dans la configuration, la gestion des secrets et les autorisations. Ne parlons même pas du Vibe coding, sinon je m'énèrve. Comprendre le code est essentiel pour maintenir un écosystème Zero Trust.

  2. Sécurité par suggestion != Secure by Design
    Les agents de l’IA peuvent suggérer des pratiques exemplaires, mais c’est toujours aux humains de valider, d’appliquer les politiques et de penser de manière critique. Le décalage à gauche (shift left) devient superficiel si nous le déplaçons simplement sur les épaules de Copilot. Cela ne couvre peut-être pas toutes vos bases non plus. Les gens doivent donc faire mieux que de combler les lacunes que l’IA pourrait créer, mais plutôt faire la liste complète des exigences dès le départ.

  3. Dérive des agents et conformité aux politiques
    Qui vérifie ce que l’agent a changé? Est-il versionné? Exploité? Évalué par des humains? Dans un monde axé sur la conformité, la traçabilité et l’explicabilité ne sont pas négociables: La Confiance Zéro (Zero Trust) doit s’appliquer et s’appliquera toujours, et Copilot sera le premier à être vérifié à chaque tournant.

  4. Burnout par pseudo-accélération
    Il y a un risque réel que l’accélération perçue masque la charge cognitive réelle. Les équipes peuvent se sentir obligées de suivre la cadence l’agent, ou compense pour la masse d'informations produite, sans avoir le temps de comprendre, de remanier ou de respirer. Le volume de ce que les outils d’IA peuvent produire pourrait être écrasant, alors continuons à utiliser le sens de la « meilleure valeur » que DevOps propose toujours.

  5. Les gens sont toujours la Plateforme
    La pérennité n'est pas seulement pour l'écologie: Il s'agit de former des équipes qui durent. Si nous déchargeons trop de la réflexion sur les outils, nous risquons d’aliéner les gens de leur métier. Et vice versa : si les outils sont disponibles et que nous en interdisons tout simplement l'utilisation, cela peut aussi causer une aliénation envers nos penseurs ou enthousiastes progressistes.

  6. Gouvernance avec reconnaissance de modèles
    Il peut être tentant de demander à l’IA de rechercher des modèles qui enfreindrait nos règles de gouvernance. Mais compter sur elle pour le déceler, est à nos risques et périls. Bien que les faux positifs puissent désensibiliser les équipes quant à des incidents potentiels réels, les résultats « aiguilles dans une botte de foin », où l’IA détecte enfin quelque chose de pertinent, pourraient nécessiter plus d’efforts pour repérer et analyser qu'il en vaille la peine. Cette approche doit être soigneusement évaluée en ce qui concerne la valeur finale de « l’IA dans la gouvernance ».

  7. Les Agents de l'IA, sont des entités étrangères 
    Jusqu' à présent, du point de vue de la proposition de Microsoft, nous pouvons en déduire que nous devons leur confier notre code et nos agents et leurs instructions spécifiques. C'est leur modèle d'affaires, donc je ne les blâme pas pour cela. Non seulement le volume de cas d’utilisation renforce leur offre de produits et de services, mais il peut également exposer notre propriété intellectuelle et même des failles de sécurité. Vous devriez donc envisager l’auto-hébergement d’une partie ou de la totalité des composants de votre ALM, lors de l’intégration d’Agentic SecDevOps chez vous.  Après tout, l'hébergement de modèles d'IA comme phi4-reasoning est tout à fait faisable au niveau de l'entreprise. Théoriquement, Microsoft n'a pas du tout, à figurer dans la boucle. 

Où cela s’aligne sur nos valeurs

Le modèle DevOps culturel dont nous avons parlé, la propriété partagée, l’empathie interfonctionnelle, la pérennité, peut fonctionner à merveille avec Agentic DevOps si nous :

  • Utilisons l’IA pour augmenter , et non pour remplacer, les pratiques d’équipe.
  • Insistons sur « l’explicabilité », la traçabilité et la validation à chaque étape.
  • Enseignons aux équipes comment remettre en question les résultats de Copilot, pas seulement les accepter.
  • Préservons le contrat social : l’automatisation sert les gens, et non l’inverse.

 Alors... est-ce l’avenir?

Peut-être. Pour ma part, j’ai hâte d’y arriver. Mais seulement si nous intégrons des principes axés sur l’humain dans la façon dont nous l’adoptons. L’IA et les LLM sont d’excellents outils pour générer des idées et tester certaines des nôtres, mais la pensée critique est reste le domaine des personnes réelles.

Oui, l’IA façonnera certes, la manière dont nous créons et exploiterons les solutions technologiques. Mais que cela donne du pouvoir ou éclipse les gens, c’est toujours à nous de décider. Une chose est certaine, si l'AI ne travaille pas pour nous, nous travaillerons pour elle. Je ne dis pas cela à la manière totalement dystopique d'un mauvais film de science-fiction, mais dans le sens où il peut être plus difficile d'y adapter ce que nous faisons, si nous ne concevons pas ses mises en garde dans nos méthodes, dès le départ.

À mon avis, Agentic SecDevOps utilisera ces outils comme si nous avions des juniors très enthousiastes  qui ont une variété (beaucoup de) d’opinions à partager. Mais ces opinions nécessitent un examen critique. Et par le volume des propositions qu’elles peuvent se permettre, elles ne peuvent être ignorées : nous devons les considérer.

Maintenant, demandez-vous à vous et à votre équipe : 

  •  Allons-nous utiliser cela pour construire plus rapidement et mieux bâtir? 
  • Ou allons-nous nous conformer à une politique qui dit que nous devons l'utiliser, parce qu'elle a été considérée comme « le nouveau paradigme »?

L’une de ces voies mène à la résilience. L’autre mène à l’épuisement professionnel. Et peut-être aussi un désengagement complet de l’équipe.

Choisissons judicieusement.

Qu'en pensez vous?


Is Agentic SecDevOps for you?

What is it?

As usual. let's take a moment to look at the "bare essential constituant parts" of what Agentic DevOps is, and let's see how we align them to the SecDevOps mindset.

Microsoft’s "Agentic DevOps", Key Concepts:

  • "Agentic DevOps" positions AI agents (like GitHub Copilot) as active collaborators in the development and operations lifecycle, not just assistants, but participants.
  • These "agents" are embedded in developer workflows 
    • suggesting code
    • generating unit tests
    • assisting with CI/CD YAML configs
    • even watching platforms, helping triage incidents.
  • Azure/Devops and GitHub integration aims to create a seamless loop where AI connects dev, test, deployment, and observability pipelines.
  • The model encourages intent-driven automation, you describe what you want to achieve, and the agent helps scaffold or implement the solution.


Agentic DevOps: Is AI Ready to Be a Team Player?

We’ve all seen it by now: the demos where GitHub Copilot seems to finish your code before you even finish typing your thought. And now, with Microsoft’s Agentic DevOps vision, it’s not just about writing code faster, it’s about changing how we develop, test, deploy, and run software altogether.

I use it personally, all the time. It's quite stunning how it can "trim the fat" off writing code that would otherwise be obvious if not tedious. That is to say, some of the routines we write are simply "frequently used" and "well known" algorithms. Just different parameters or variables. 

You can ask LLMs to write whole applications too. And it sometimes does a reasonable job. That "sometimes" though...who knows when it will, or won't do things properly? The more code it is required to produce the more likely it's going to contain a major bug.

To be fair, the same can be said about the code we write ourselves. But what is predictable is our fallibility. We include this in our processes as a matter of fact. We might be tempted to trim this out of our processes if we involve an AI to do it.

So, the more reliable it is, the more we will rely on it. Now, is that an asset or a new risk?

Is it the revolution we need, or just another layer of complexity dressed up as automation?

As someone who’s worked at the intersection of security, operations, and DevOps culture for a while now, I’ve been watching this trend with both excitement and caution.

Let’s unpack it.


The Good: Why This Matters

  1. Acceleration of Repetitive Tasks
    Writing boilerplate YAML? Structuring that Bicep deployment script? Copilot is already shaving hours off those tasks. That’s not trivial, it frees teams to focus on actual design, risk, and user value.

  2. Incident Intelligence
    The integration of observability, logs, and incident data into Copilot's scope could mean AI agents can help identify root causes faster, maybe even qualify the issues for triggering automated remediations.

  3. Bridging Silos
    A shared platform where code, deployment, and monitoring are all AI-augmented could reduce friction between devs and ops, if adopted correctly. It could bring a consistent need for peer reviewing as a process, instead of having the process viewed as systematic criticism.

  4. Platform Engineering Synergy
    This vision aligns well with Internal Developer Platforms (IDPs), the AIs could help developers self-serve builds, infra, and pipelines more easily, if guardrails are properly enforced.


The Caveats (a few): From a SecDevOps Perspective

  1. Automation Without Understanding Is Dangerous
    If you don’t understand the YAML Copilot just wrote, you can’t secure it. Blind trust in agentic systems creates blind spots, especially in config, secrets handling, and permissions. Don't even get me started on Vibe coding. Understanding code is critical to maintain a Zero Trust ecosystem.

  2. Security by Suggestion != Secure by Design
    AI agents might suggest best practices, but it’s still up to humans to validate, enforce policies, and think critically. Shift-left becomes shallow if we just shift it onto Copilot’s shoulders. It may not cover all you bases either. So people must do better than fill in the gaps that AI might create, but instead, make the full list of requirements upfront.

  3. Agent Drift and Policy Compliance
    Who’s auditing what the agent changed? Is it versioned? Logged? Reviewed by humans? In a compliance-driven world, traceability and "explainability" are non-negotiable. Zero trust must and will still apply, and Copilot will be the first to be verified at every turn.

  4. Burnout via Pseudo-Acceleration
    There’s a real risk of perceived acceleration masking actual cognitive load. Teams might feel pressured to "keep up with the agent" without having time to understand, refactor, or breathe. The sheer volume of what the AI tools can output could be overwhelming, so lets keep using the sense of "best value" that DevOps always proposes.

  5. People are still the Platform
    Sustainability isn't just ecological, it's about building teams that last. If we offload too much thinking to tools, we risk alienating people from their craft. And vice-versa: if the tools are available and we simply forbid it's use, it can also cause alienation towards our progressive thinkers or enthusiasts.

  6. Governance with pattern recognition
    It may be tempting to have the AI look out for patterns that break our governance rules. But relying on it to do so, is at our own peril. As much as false positives could desensitize out teams as to real potential incidents, "needles in a haystack" outcomes, where AI does finally detect something pertinent, might require more effort to parse that it is worth. This approach must be carefully evaluated as far as the final value of "AI in governance".

  7. Agents are foreign entities
    So far, from the perspective of Microsoft's proposition, we can infer that we must entrust our code and agents and their specific instructions to their care. That's their business model so I don't blame them for it. Not only does the volume of use cases, reinforce their product and service offering, but it may also expose intellectual property and even security flaws. So you might want to consider "self hosting" part of or all of the components of your ALM, when integrating Agentic SecDevOps. After all, hosting AI models like phi4-reasoning is completely feasible at enterprise level. Theoretically, Microsoft doesn't have to figure in the loop, at all. Let's keep that in mind.


Where It Does Align with Our Values

The cultural DevOps model we’ve talked about, shared ownership, cross-functional empathy, sustainability, can work beautifully with Agentic DevOps if we:

  • Use AI to augment, not replace, team practices.
  • Insist on "explainability", traceability, and validation at every step.
  • Teach teams how to challenge Copilot’s output, not just accept it.
  • Preserve the social contract: automation serves the people, not the other way around.


So… Is This the Future?

Maybe. I for one, am looking forward to it. But only if we embed human-first principles into how we adopt it. AI and LLMs are great tools to generate ideas and test some of our own but critical thinking is still the realm of real people.

Yes, AI will shape how we build and run software. But whether it empowers or overshadows people, that’s still up to us. One thing is for certain, if is not working for us, we will be working for it. I don't mean this in the totally dystopian fashion of a bad sci-fi movie, but in the sense it may be more trouble adapting what we do, to it, if we don't design its caveats in our methods, from the get-go.

In my view, Agentic SecDevOps is using these tools like we have some very enthusiastic juniors that have a (quite a few) variety of opinions to share. But those opinions need critical scrutiny. And by the sheer volume of the propositions they can afford, they cannot be ignored: we must consider them.

Théâtre de la sécurité infonuagique: pourquoi les "meilleures pratiques" d'Azure ne vous sécurisent pas réellement (Avec blogueur invité Joshua Copeland)

Seule, une "checklist" ne vaut rien. Joshua Copeland et Jean-Paul Lizotte Image générée par l'IA. Tout le monde aime...