GET https://www.essensei.fr/publication/choisir-la-bonne-roadmap-produit

Messages

Ordered list of dispatched messages across all your buses

"Contao\CoreBundle\Messenger\Message\SearchIndexMessage"
Caller In SearchIndexListener.php line
Bus messenger.bus.default
Message
Contao\CoreBundle\Messenger\Message\SearchIndexMessage {#12735
  -document: Contao\CoreBundle\Search\Document {#12734
    -originalDocument: null
    -jsonLds: null
    -uri: Nyholm\Psr7\Uri {#12736
      -scheme: "https"
      -userInfo: ""
      -host: "www.essensei.fr"
      -port: null
      -path: "/publication/choisir-la-bonne-roadmap-produit"
      -query: ""
      -fragment: ""
    }
    -statusCode: 200
    -headers: [
      "cache-control" => [
        "private, s-maxage=3600"
      ]
      "date" => [
        "Tue, 03 Feb 2026 03:39:30 GMT"
      ]
      "content-type" => [
        "text/html; charset=UTF-8"
      ]
      "vary" => [
        "Origin"
        "Cookie"
      ]
      "x-cache-debug" => [
        "1"
      ]
      "x-content-type-options" => [
        "nosniff"
      ]
      "referrer-policy" => [
        "no-referrer-when-downgrade, strict-origin-when-cross-origin"
      ]
      "strict-transport-security" => [
        "max-age=31536000"
      ]
      "x-cache-tags" => [
        "contao.db.tl_module.249,contao.db.tl_module.164,contao.db.tl_module.160,contao.db.tl_module.233,contao.db.tl_module.188,contao.db.tl_module.234,contao.db.tl_module.235,contao.db.tl_module.263,contao.db.tl_page.226,contao.db.tl_page.306,contao.db.tl_page.322,contao.db.tl_page.310,contao.db.tl_page.312,contao.db.tl_page.311,contao.db.tl_page.315,contao.db.tl_page.307,contao.db.tl_page.297,contao.db.tl_page.318,contao.db.tl_page.319,contao.db.tl_page.317,contao.db.tl_page.290,contao.db.tl_module.190,contao.db.tl_module.236,contao.db.tl_module.161,contao.db.tl_module.165,contao.db.tl_module.162,contao.db.tl_module.240,contao.db.tl_module.163,contao.db.tl_module.168,contao.db.tl_module.169,contao.db.tl_article.409,contao.db.tl_content.6758,contao.db.tl_content.5597,contao.db.tl_news.77,contao.db.tl_content.6734,contao.db.tl_content.6344,contao.db.tl_content.6345,contao.db.tl_content.6350,contao.db.tl_content.6351,contao.db.tl_content.6352,contao.db.tl_content.6353,contao.db.tl_content.6354,contao.db.tl_content.6356,contao.db.tl_content.6357,contao.db.tl_content.6358,contao.db.tl_content.6359,contao.db.tl_content.6360,contao.db.tl_content.6361,contao.db.tl_content.6362,contao.db.tl_content.6363,contao.db.tl_content.6364,contao.db.tl_content.6365,contao.db.tl_content.6366,contao.db.tl_content.6367,contao.db.tl_content.6374,contao.db.tl_content.6368,contao.db.tl_content.6369,contao.db.tl_content.6349,contao.db.tl_news_archive.6,contao.db.tl_news.76,contao.db.tl_news.71,contao.db.tl_module.262,contao.db.tl_article.533,contao.db.tl_content.6452,contao.db.tl_content.6453,contao.db.tl_content.6454,contao.db.tl_content.6455,contao.db.tl_content.6045,contao.db.tl_module.202,contao.db.tl_article.535,contao.db.tl_article.534,contao.db.tl_content.6457,contao.db.tl_content.6458,contao.db.tl_content.6459,contao.db.tl_module.260,contao.db.tl_content.6460,contao.db.tl_article.494,contao.db.tl_content.5989,contao.db.tl_content.5995,contao.db.tl_content.5991,contao.db.tl_news_archive.17,contao.db.tl_news_archive.15,contao.db.tl_news.84,contao.db.tl_news.88,contao.db.tl_module.276,contao.db.tl_content.5990,contao.db.tl_module.186,contao.db.tl_module.239,contao.db.tl_module.185,contao.db.tl_module.242,contao.db.tl_module.182,contao.db.tl_page.225,oveleon.cookiebar.1,contao.db.tl_page.298"
      ]
      "x-frame-options" => [
        "SAMEORIGIN"
      ]
      "x-xss-protection" => [
        "1; mode=block"
      ]
      "x-debug-token" => [
        "42e11d"
      ]
      "x-debug-token-link" => [
        "https://www.essensei.fr/_profiler/42e11d"
      ]
      "x-robots-tag" => [
        "noindex"
      ]
      "age" => [
        "0"
      ]
      "contao-private-response-reason" => [
        "response-cookies (contao_frontend_deauth_profile_token, contao_frontend_auth_profile_token)"
      ]
      "set-cookie" => [
        "contao_frontend_deauth_profile_token=42e11d; path=/; httponly; samesite=lax"
        "contao_frontend_auth_profile_token=deleted; expires=Mon, 03 Feb 2025 03:39:29 GMT; Max-Age=0; path=/; httponly"
      ]
    ]
    -body: """
      \n
      <!-- TEMPLATE START: templates/client/fe_page.html5 -->\n
      <!DOCTYPE html>\n
      <html lang="fr">\n
      <head>\n
      \n
            <meta charset="UTF-8">\n
          <title>5 types de Roadmap Produit : comment choisir ?</title>\n
          <base href="https://www.essensei.fr/">\n
      \n
                <meta name="robots" content="index,follow">\n
            <meta name="description" content="Choisir le type de roadmap produit le plus adapté à son contexte et ses objectifs est essentiel. Cet article vous guide à travers 5 formats de roadmap pour vous permettre de mieux vous repérer.">\n
            <meta name="generator" content="Contao Open Source CMS">\n
          \n
                <link rel="canonical" href="https://www.essensei.fr/publication/choisir-la-bonne-roadmap-produit">\n
          \n
          <meta name="viewport" content="width=device-width,initial-scale=1.0,shrink-to-fit=no,viewport-fit=cover">\n
              <link rel="stylesheet" href="/assets/contao/css/icons.min.css?v=e03c59c9"><link rel="stylesheet" href="/system/modules/sharebuttons/assets/base.css?v=a2617057"><link rel="stylesheet" href="/system/modules/sharebuttons/assets/light/light.css?v=a2617057"><link rel="stylesheet" href="/bundles/contaothemesnetfontawesomeinserttag/css/all.min.css?v=cf52dd22"><link rel="stylesheet" href="/bundles/contaocookiebar/styles/cookiebar_simple.css?v=140a8ec0"><link rel="stylesheet" href="/assets/colorbox/css/colorbox.min.css?v=83af8d5b"><link rel="stylesheet" href="/assets/tablesorter/css/tablesorter.min.css?v=54af7ed9"><link rel="stylesheet" href="/files/client/css/client.css?v=61dbe1b8"><link rel="stylesheet" href="/files/client/css/fixes.css?v=553d7381">        <script src="/assets/jquery/js/jquery.min.js?v=2e868dd8"></script><script src="/files/oneo/js/modernizr.min.js?v=d182cd88"></script><script src="/system/modules/sharebuttons/assets/scripts.js?v=a2617057" async></script>\n
      \t<!-- Start of HubSpot Embed Code -->\n
      \t<script>\n
      \t\tvar _hsq = window._hsq = window._hsq || [];\n
      \t\t_hsq.push(['setContentType', 'standard-page']);\n
      \t</script>\n
      \t<script type="text/javascript" id="hs-script-loader" async defer src="//js-eu1.hs-scripts.com/146564187.js"></script>\n
      \t<!-- End of HubSpot Embed Code -->\n
      \t<!-- images::apple --><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon.png" sizes="57x57"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-57x57.png" sizes="57x57"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-60x60.png" sizes="60x60"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-72x72.png" sizes="72x72"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-76x76.png" sizes="76x76"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-114x114.png" sizes="114x114"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-120x120.png" sizes="120x120"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-144x144.png" sizes="144x144"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-152x152.png" sizes="152x152"><link rel="apple-touch-icon" href="/files/images/tiles/apple-touch-icon-180x180.png" sizes="180x180"><!-- images::android --><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-36x36.png" sizes="36x36"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-48x48.png" sizes="48x48"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-72x72.png" sizes="72x72"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-144x144.png" sizes="144x144"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-512x512.png" sizes="512x512"><link rel="icon" type="image/png" href="/files/images/tiles/android-chrome-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="/files/images/tiles/homescreen-192x192.png" sizes="192x192"><!-- images::microsoft --><meta content="/files/images/tiles/small.jpg" name="msapplication-square70x70logo"><meta content="/files/images/tiles/medium.jpg" name="msapplication-square150x150logo"><meta content="/files/images/tiles/wide.jpg" name="msapplication-wide310x150logo"><meta content="/files/images/tiles/large.jpg" name="msapplication-square310x310logo"><!-- images::icon --><link rel="icon" type="image/png" href="/files/images/tiles/favicon-16x16.png" sizes="16x16"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-128x128.png" sizes="128x128"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-160x160.png" sizes="160x160"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="/files/images/tiles/favicon-196x196.png" sizes="196x196"><!-- additionals::windows --><!-- additionals::ios --><!-- additionals::android --><!-- additionals::webApp --><!-- favicon --><link rel="shortcut icon" type="image/x-icon" href="/files/images/tiles/favicon.ico" ><link rel="icon" type="image/ico" href="/files/images/tiles/favicon.ico" ><meta prefix="og: http://ogp.me/ns#" property="og:title" content="5 types de Roadmap Produit : comment choisir ?">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:type" content="article" />\n
      <meta prefix="og: http://ogp.me/ns#" property="og:image" content="https://www.essensei.fr/files/images/publications/differents_types_roadmaps/different_roadmaps_type.png">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:image:type" content="image/png">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:image:width" content="1022">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:image:height" content="773">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:url" content="https://www.essensei.fr/publication/choisir-la-bonne-roadmap-produit">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:description" content="Choisir le type de roadmap produit le plus adapté à son contexte et ses objectifs est essentiel. Cet article vous guide à travers 5 formats de roadmap pour vous permettre de mieux vous repérer.">\n
      <meta prefix="og: http://ogp.me/ns#" property="og:site_name" content="Essensei">\n
      \n
      \t\t<script src="https://cdn.jsdelivr.net/npm/sienna-accessibility@latest/dist/sienna-accessibility.umd.js" defer></script>\n
      \t<script src="https://unpkg.com/web-vitals@5.1.0/dist/web-vitals.iife.js" defer></script>  \n
      \n
      <script src="bundles/contaocookiebar/scripts/cookiebar.min.js?v=140a8ec0"></script>\n
      </head>\n
      <body id="top" class="oneo-no-sidebar oneo-fullwidth level-3 page-298">\n
      \n
        \t\n
      \t<div class="page">\n
      \t\t\t\t\t<header class="page-header">\n
      \t\t\t\t\n
      <!-- TEMPLATE START: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/ccb_opener_default.html5 -->\n
      \n
        <!-- indexer::stop -->\n
          <div class="mod_cookiebar_opener block">\n
      \n
                    \n
          \n
      <a href="javascript:;" class="ccb-trigger" title="Paramètres de Confidentialité" rel="noreferrer noopener">Confidentialité</a>\n
      \n
      \n
        </div>\n
        <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/ccb_opener_default.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="header-navigation">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="main-navigation-wrapper">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="navigation-wrapper left-navigation-wrapper">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_logo.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <div class="ce_rsce_client_logo logo">\n
      \t<a href="">\n
      \t\t\t\t\t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/files/images/common/logo.png" width="832" height="144" alt="Essensei">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t</a>\n
      </div>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_logo.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="navigation-wrapper right-navigation-wrapper">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <a href="/contact" title="Contacter notre équipe d&apos;experts" class="page-contact hs-cta-trigger-button hs-cta-trigger-button-273522371778" itemprop="url">\n
      <span itemprop="name">Prise de rendez-vous</span>\n
      </a>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <nav class="mod_navigation main-navigation block">\n
      \n
        \n
        <a href="/publication/choisir-la-bonne-roadmap-produit#skipNavigation190" class="invisible">Aller au contenu</a>\n
      \n
        \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_1">\n
                  \n
              <li class="home tagline-no-border">\n
                                                      <a\n
                              href="/"\n
                              title="Conseil &amp; formation agile pour les entreprises"\n
                               class="home tagline-no-border"                                                                    >\n
                                      Accueil                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/expertises"\n
                              title="L&#39;agilité au service de vos ambitions"\n
                                                                                                  >\n
                                      Expertises                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="page-roadmap-narrative">\n
                                                      <a\n
                              href="/roadmap-narrative"\n
                              title="Roadmap Narrative : racontez la progression de vos utilisateurs"\n
                               class="page-roadmap-narrative"                                                                    >\n
                                      Roadmap Narrative                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="submenu">\n
                                                      <a\n
                              href="/formations"\n
                              title="Formations méthodes &amp; certifications agiles | Scrum, SAFe, …"\n
                               class="submenu"                                                 aria-haspopup="true"                    >\n
                                      Formations                                    </a>\n
                                      \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_2">\n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-produit"\n
                              title="Parcours Produit"\n
                                                                                                  >\n
                                      Parcours Produit                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-manager"\n
                              title="Parcours Manager"\n
                                                                                                  >\n
                                      Parcours Manager                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-agile-a-l-echelle"\n
                              title="Parcours Agile à l&#39;échelle"\n
                                                                                                  >\n
                                      Parcours Agile à l&#39;échelle                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-delivery"\n
                              title="Parcours Delivery"\n
                                                                                                  >\n
                                      Parcours Delivery                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
                  \n
      \n
                                              \n
                  \n
              <li class="submenu trail nolink">\n
                                                      <strong>\n
                                      Ressources                                    </strong>\n
                                      \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_2">\n
                  \n
              <li class="trail">\n
                                                      <a\n
                              href="/publications"\n
                              title="Nos publications"\n
                               class="trail"                                                                    >\n
                                      Publications                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/ressources/a-telecharger"\n
                              title="Nos ressources téléchargeables"\n
                                                                                                  >\n
                                      À télécharger                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/ressources/conferences"\n
                              title="Conférences"\n
                                                                                                  >\n
                                      Conférences                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/equipe"\n
                              title="Des experts unis par la passion du métier"\n
                                                                                                  >\n
                                      Equipe                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
        <span id="skipNavigation190" class="invisible"></span>\n
      \n
      </nav>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="main-navigation-mobile">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <nav class="mod_navigation main-navigation block">\n
      \n
        \n
        <a href="/publication/choisir-la-bonne-roadmap-produit#skipNavigation190" class="invisible">Aller au contenu</a>\n
      \n
        \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_1">\n
                  \n
              <li class="home tagline-no-border">\n
                                                      <a\n
                              href="/"\n
                              title="Conseil &amp; formation agile pour les entreprises"\n
                               class="home tagline-no-border"                                                                    >\n
                                      Accueil                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/expertises"\n
                              title="L&#39;agilité au service de vos ambitions"\n
                                                                                                  >\n
                                      Expertises                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="page-roadmap-narrative">\n
                                                      <a\n
                              href="/roadmap-narrative"\n
                              title="Roadmap Narrative : racontez la progression de vos utilisateurs"\n
                               class="page-roadmap-narrative"                                                                    >\n
                                      Roadmap Narrative                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="submenu">\n
                                                      <a\n
                              href="/formations"\n
                              title="Formations méthodes &amp; certifications agiles | Scrum, SAFe, …"\n
                               class="submenu"                                                 aria-haspopup="true"                    >\n
                                      Formations                                    </a>\n
                                      \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_2">\n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-produit"\n
                              title="Parcours Produit"\n
                                                                                                  >\n
                                      Parcours Produit                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-manager"\n
                              title="Parcours Manager"\n
                                                                                                  >\n
                                      Parcours Manager                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-agile-a-l-echelle"\n
                              title="Parcours Agile à l&#39;échelle"\n
                                                                                                  >\n
                                      Parcours Agile à l&#39;échelle                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="https://www.essensei.fr/formations#parcours-delivery"\n
                              title="Parcours Delivery"\n
                                                                                                  >\n
                                      Parcours Delivery                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
                  \n
      \n
                                              \n
                  \n
              <li class="submenu trail nolink">\n
                                                      <strong>\n
                                      Ressources                                    </strong>\n
                                      \n
      <!-- TEMPLATE START: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
      <ul class="level_2">\n
                  \n
              <li class="trail">\n
                                                      <a\n
                              href="/publications"\n
                              title="Nos publications"\n
                               class="trail"                                                                    >\n
                                      Publications                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/ressources/a-telecharger"\n
                              title="Nos ressources téléchargeables"\n
                                                                                                  >\n
                                      À télécharger                                    </a>\n
                                                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/ressources/conferences"\n
                              title="Conférences"\n
                                                                                                  >\n
                                      Conférences                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
                  \n
      \n
                                              \n
                  \n
              <li class="">\n
                                                      <a\n
                              href="/equipe"\n
                              title="Des experts unis par la passion du métier"\n
                                                                                                  >\n
                                      Equipe                                    </a>\n
                                                  \n
      \n
                                              \n
          </ul>\n
      \n
      <!-- TEMPLATE END: templates/client/nav_custom_sub_nolink.html5 -->\n
      \n
        <span id="skipNavigation190" class="invisible"></span>\n
      \n
      </nav>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n
      <!-- indexer::stop -->\n
      <nav class="mod_customnav secondary-navigation block">\n
      \n
      \n
      <a href="/publication/choisir-la-bonne-roadmap-produit#skipNavigation240" class="invisible">Aller au contenu</a>\n
      \n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
      <ul class="level_1">\n
                  <li><a href="/gestion-du-handicap">Gestion du handicap</a></li>\n
            </ul>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
      <a id="skipNavigation240" class="invisible">&nbsp;</a>\n
      \n
      </nav>\n
      <!-- indexer::continue -->\n
      <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \t\t\t</header>\n
      \t\t\n
      \t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <div class="tagline">\n
      <div class="tagline-inner">\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      </div>\n
      </div>\n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_html.html5 -->\n
      \n
      \t\t<div class="content-wrapper">\n
      \n
      \t\t\t<main role="main" class="main-content">\n
      \n
      \t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \n
        <div id="article-409" class="mod_article block">\n
          \n
                \n
      <!-- TEMPLATE START: templates/client/rsce_essensei_ressources_shemaKeywords.html5 -->\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_essensei_ressources_shemaKeywords.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/news-bundle/contao/templates/modules/mod_newsreader.html5 -->\n
      \n
        <div class="mod_newsreader block">\n
      \n
                    \n
          \n
        \n
      <!-- TEMPLATE START: templates/client/news_full.html5 -->\n
      <div class="layout_full block featured">\n
         \n
            <div class="layout_full-head">\n
          <div class="content-wrapper">\n
            <div class="layout_full-head-left">\n
              <h1>Choisir la bonne roadmap produit : 5 formats pour aligner stratégie et exécution</h1>\n
                          <div class="tags">\n
                                          <div class="tag-wrapper">\n
                            <a href="/publications/tag/Produit" class="tag_produit" rel="nofollow">Produit</a>                    </div>\n
                                          <div class="tag-wrapper">\n
                            <a href="/publications/tag/WyJyb2FkbWFwIG5hcnJhdGl2ZSJd" class="tag_roadmap-narrative" rel="nofollow">roadmap narrative</a>                    </div>\n
                                          <div class="tag-wrapper">\n
                            <a href="/publications/tag/WyJTdHJhdFx1MDBlOWdpZSJd" class="tag_stratégie" rel="nofollow">Stratégie</a>                    </div>\n
                                  </div>\n
                      <div class="news-details">\n
                <div class="author"><span data-icon=""></span>Ecrit par : <a href="/equipe#pascal">Pascal Poussard</a></div>\n
                <div class="date"><span data-icon=""></span>Le <time datetime="2025-10-17T09:12:00+02:00">17 octobre 2025</time></div> \n
                <div class="time"><span data-icon=""></span>15 minutes</div>\n
              </div>\n
            </div> \n
            <div class="layout_full-head-right">\n
                          <div class="news-img centered-wrapper" style="min-height: 300px;">\n
                      <div class="centered-wrapper-background"\n
                          style="background-image: url('/assets/images/c/different_roadmaps_type-272pdgsq863snqz.png');"\n
                          data-image-url="/assets/images/c/different_roadmaps_type-272pdgsq863snqz.png">\n
                      </div>\n
                  </div>\n
                    </div>\n
          </div>\n
        </div>\n
        <div class="layout_full-content">\n
          <div class="content-wrapper">\n
            <div class="layout_full-content-left">\n
                        <div class="news-teaser-container">\n
                  <div class="content-wrapper">\n
                    <div class="news-teaser">\n
                      <p>Dans un environnement où l’agilité et l’alignement stratégique sont devenus des impératifs, choisir le bon type de roadmap produit peut tout changer. Que vous cherchiez à prioriser des fonctionnalités, coordonner des épopées (epics), piloter un portefeuille, ou provoquer un impact utilisateur fort, chaque format répond à des enjeux distincts.</p>\n
      <p>Découvrez <strong>5 types de roadmaps produit</strong>, de la plus classique à la plus centrée sur vos utilisateurs.</p>              </div>\n
                  </div>\n
                </div>\n
                      <div id="table-of-contents"></div> \n
              <div class="layout_full-content-text">\n
                            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">\n
      <?xml encoding="utf-8" ?><!-- TEMPLATE START: templates/client/rsce_essensei_ressources_shemaKeywords.html5 --><!-- TEMPLATE END: templates/client/rsce_essensei_ressources_shemaKeywords.html5 --><!-- TEMPLATE START: templates/client/rsce_client_hubspot.html5 --><!-- indexer::stop --><!-- indexer::continue --><!-- TEMPLATE END: templates/client/rsce_client_hubspot.html5 --><html><body><div class="content-text">                                    \n
          <h2>Les caract&eacute;ristiques de la roadmap produit</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p style="text-align: justify;">Une roadmap produit est une repr&eacute;sentation visuelle de<strong> la valeur et de l'&eacute;volution potentielle de votre produit</strong>. Elle porte le sens et la continuit&eacute; des objectifs poursuivis. </p>\n
      <p style="text-align: justify;">Elle connecte la strat&eacute;gie &agrave; l'ex&eacute;cution, assurant ainsi <strong>l'alignement </strong>de toutes les parties prenantes, des d&eacute;cideurs aux &eacute;quipes op&eacute;rationnelles, servant de support aux discussions de <strong>priorisation</strong>.</p>\n
      <p style="text-align: justify;">C'est aussi en premier lieu un <strong>outil de communication </strong>qui met en &eacute;vidence les r&eacute;sultats et les impacts attendus pour l&rsquo;ensemble de l&rsquo;entreprise.</p>\n
      <p style="text-align: justify;">La roadmap produit n&rsquo;est pas une strat&eacute;gie, ni une vision produit. Elle est le lien entre la strat&eacute;gie qui permet de mat&eacute;rialiser la vision et son ex&eacute;cution. </p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_testimonial.html5 -->\n
      <blockquote class="testimonial -medium ce_rsce_client_testimonial">\n
      \t<div class="testimonial-text">\n
      \t\t<p><strong>A good roadmap is not so much a project plan as a strategic communication tool, </strong><strong>a statement of intent and direction.</strong></p>\n
      <p><em><strong>Traduction </strong>: Une bonne roadmap n'est pas tant un plan de projet qu'un outil de communication strat&eacute;gique, une d&eacute;claration d'intention et d'orientation.</em></p>\t</div>\n
      \t\t\t<div class="testimonial-author">\n
      \t\t\t\t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/2/bruce-mccarthy-mfr2p8a9mz6rsvb.jpeg" width="150" height="150" alt="Photo : Bruce Mc Carthy" title="Bruce Mc Carthy">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t<small>\n
      \t\t\t\t\t\t\t\t\t<div class="author-name">Bruce McCarthy in Product Roadmaps Relaunched</div>\n
      \t\t\t\t\t\t\t\t\t\t\t</small>\n
      \t\t</div>\n
      \t</blockquote>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_testimonial.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">            \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p>Les caract&eacute;ristiques d&rsquo;une roadmap produit sont :</p>\n
      <ul>\n
      <li>Une vision produit Un cadre temporel : qui peut correspondre &agrave; un ensemble de dates fixes, mais aussi &agrave; une p&eacute;riode (trimestre, semestre, ann&eacute;e), ou m&ecirc;me des horizons vagues (Now, Next, Later)</li>\n
      <li>Des fonctionnalit&eacute;s ou des objectifs</li>\n
      <li>Un indicateur de progression ou de succ&egrave;s</li>\n
      </ul>\n
      <p>Mais mis &agrave; part ces quelques points communs, les roadmaps produit existent sous des formats fondamentalement distincts. Elles manipulent des &eacute;l&eacute;ments de granularit&eacute; vari&eacute;, permettent des d&eacute;cisions &agrave; diff&eacute;rents niveaux (entre la strat&eacute;gie et l'ex&eacute;cution) et orientent leur focus sur le produit ou sur l'utilisateur.</p>\n
      <p>Explorons plus en d&eacute;tail 5 grands types de roadmap produit.</p>\n
      <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/diff-types-de-roadmap.png" alt="Sch&eacute;ma : 5 formats de roadmaps produit positionn&eacute;es suivant le niveau de d&eacute;cision et le focus utilisateur ou produit" width="800" height="450"></p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>Roadmap orient&eacute;e Fonctionnalit&eacute;s (Features-Oriented Roadmap)</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/exfeaturesbasedroadmap.png" alt="Photo : Un tableau blanc pr&eacute;sentant une roadmap de fonctionnalit&eacute;s" width="600" height="454"></p>\n
      <p>La <strong>roadmap orient&eacute;e fonctionnalit&eacute;s</strong> est un format classique qui liste les fonctionnalit&eacute;s &agrave; d&eacute;velopper, organis&eacute;es sur une timeline (trimestres, mois). Principalement utilis&eacute;e par les &eacute;quipes produit et techniques, elle offre une vision concr&egrave;te des livrables &agrave; venir. L&rsquo;attention &eacute;tant fortement port&eacute;e sur les fonctionnalit&eacute;s, une d&eacute;rive classique est de tomber dans une <strong>usine de fonctionnalit&eacute;s</strong> (features factory) o&ugrave; tout est livr&eacute; &agrave; la cha&icirc;ne sans prise de recul.</p>\n
      <p>Cette approche s&rsquo;est d&eacute;velopp&eacute;e avec les m&eacute;thodes traditionnelles de gestion de projet (cascade, V-cycle), puis s&rsquo;est impos&eacute;e dans les ann&eacute;es 2000 avec l&rsquo;essor des outils de planification logicielle. C&rsquo;est la roadmap la plus utilis&eacute;e encore aujourd&rsquo;hui.</p>\n
      <h3>Les avantages apport&eacute;s</h3>\n
      <ul>\n
      <li><strong>La clart&eacute; op&eacute;rationnelle</strong> : Elle permet aux &eacute;quipes techniques et m&eacute;tiers de visualiser ce qui sera d&eacute;velopp&eacute;, facilitant la planification.</li>\n
      <li><strong>La simplicit&eacute;</strong> : Son format est intuitif, facile &agrave; communiquer aux parties prenantes internes (d&eacute;veloppeurs, QA, experts m&eacute;tier).</li>\n
      <li><strong>Le suivi budg&eacute;taire</strong> : C&rsquo;est la roadmap id&eacute;ale pour estimer les co&ucirc;ts et allouer les ressources par fonctionnalit&eacute;.</li>\n
      </ul>\n
      <h3>Les principaux inconv&eacute;nients</h3>\n
      <ul>\n
      <li><strong>Le manque de lien avec la strat&eacute;gie</strong> : Les fonctionnalit&eacute;s, prises isol&eacute;ment, ne refl&egrave;tent pas toujours la valeur m&eacute;tier ou les objectifs globaux.</li>\n
      <li><strong>La rigidit&eacute;</strong> : Elle reste difficile &agrave; ajuster en cours de route, surtout face &agrave; des changements de priorit&eacute;s. Elle est souvent comprise comme un engagement ferme et fig&eacute;.</li>\n
      <li><strong>Peu adapt&eacute;e &agrave; la gouvernance</strong> : trop d&eacute;taill&eacute;e et technique pour les discussions strat&eacute;giques, elle noie les d&eacute;cideurs dans un "puzzle" de t&acirc;ches sans vision claire.</li>\n
      <li><strong>Le risque de features factory</strong> : Elle se focalise trop sur la livraison plut&ocirc;t que sur l&rsquo;impact utilisateur ou business.</li>\n
      </ul>\n
      <p>Horizon temporel id&eacute;al : <strong>Court &agrave; moyen terme (3&ndash;6 mois max)</strong>. Au-del&agrave;, l&rsquo;incertitude rend ce format peu fiable, transformant la roadmap en une sp&eacute;culation plut&ocirc;t qu&rsquo;en un outil d&rsquo;ex&eacute;cution.</p>\n
      <p>Niveau de d&eacute;cision : &nbsp;Elle permet un pilotage et des d&eacute;cisions au niveau de <strong>l&rsquo;Ex&eacute;cution </strong>(avec un impact limit&eacute; sur le product management). Elle est peu adapt&eacute;e aux discussions strat&eacute;giques ou &agrave; l&rsquo;alignement avec la direction.</p>\n
      <p>Focus : Elle est orient&eacute;e <strong>produit </strong>(et non utilisateur). Elle r&eacute;pond &agrave; la question &laquo; <strong>Quoi </strong>construire ? &raquo; plut&ocirc;t que &laquo; <strong>Pourquoi </strong>le construire ? &raquo; ou &laquo; <strong>Quel probl&egrave;me</strong> r&eacute;soudre ? &raquo;.</p>\n
      <p>&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <div class="ce_rsce_client_conseil_essensei">\n
      \t\t\t<h3>\n
      \t\t\tCas d&rsquo;usage id&eacute;aux\t\t</h3>\n
      \t\t<div class="text">\n
      \t\t<ul>\n
      <li>Les <strong>projets &agrave; faible incertitude</strong> (maintenance, &eacute;volutions d&rsquo;un produit mature).</li>\n
      <li>Les<strong> environnements r&eacute;glement&eacute;</strong>s o&ugrave; les livrables doivent &ecirc;tre planifi&eacute;s &agrave; l&rsquo;avance (ex. : banques, sant&eacute;). </li>\n
      <li>&Agrave; &eacute;viter pour les produits innovants ou en phase de d&eacute;couverte, o&ugrave; l&rsquo;agilit&eacute; et l&rsquo;it&eacute;ration sont cruciales.</li>\n
      </ul>\t</div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_testimonial.html5 -->\n
      <blockquote class="testimonial -small ce_rsce_client_testimonial">\n
      \t<div class="testimonial-text">\n
      \t\t<p>Finally, it&rsquo;s all about solving problems, not implementing features. Conventional product roadmaps are all about output. Strong teams know it&rsquo;s not only about implementing a solution. They must ensure that solution solves the underlying problem. It&rsquo;s about business results.</p>\n
      <p><em><strong>Traduction </strong>: En fin de compte, l&rsquo;important est de r&eacute;soudre des probl&egrave;mes, et non de mettre en &oelig;uvre des fonctionnalit&eacute;s. Les roadmaps traditionnelles sont ax&eacute;es uniquement sur la production de fonctionnalit&eacute;s. Les &eacute;quipes performantes savent qu'il ne s'agit pas seulement de mettre en &oelig;uvre une solution. Elles doivent s'assurer que cette solution r&eacute;sout le probl&egrave;me sous-jacent. L'important, ce sont les r&eacute;sultats pour le m&eacute;tier.</em></p>\t</div>\n
      \t\t\t<div class="testimonial-author">\n
      \t\t\t\t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/r/marty_cagan-d7f6x1ck9ja0wks.jpg" width="150" height="150" alt="Photo : Marty Cagan" title="Marty Cagan">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t<small>\n
      \t\t\t\t\t\t\t\t\t<div class="author-name">Marty Cagan</div>\n
      \t\t\t\t\t\t\t\t\t\t\t</small>\n
      \t\t</div>\n
      \t</blockquote>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_testimonial.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>Roadmap orient&eacute;e Epics</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/exepicsroadmap.png" alt="Photo : Tableau blanc pr&eacute;sentant une roadmap d'epics" width="600" height="454"></p>\n
      <p>La <strong>roadmap d&rsquo;epics</strong> ne s&rsquo;int&eacute;resse pas &agrave; des fonctionnalit&eacute;s mais &agrave; des regroupements coh&eacute;rents de fonctionnalit&eacute;s, organis&eacute;s par th&egrave;mes ou par initiatives, nomm&eacute;s epics. Utilis&eacute;e principalement dans les <strong>frameworks d&rsquo;agilit&eacute; &agrave; l&rsquo;&eacute;chelle</strong> (comme SAFe ou LeSS), elle permet de visualiser les d&eacute;pendances entre &eacute;quipes et d&rsquo;aligner les investissements sur des objectifs strat&eacute;giques. Contrairement aux roadmaps de fonctionnalit&eacute;s, elle offre une<strong> vue macroscopique</strong> des initiatives, tout en restant ancr&eacute;e dans le concret.</p>\n
      <p>Apparu dans les ann&eacute;es 2000 avec l&rsquo;Extreme Programming (XP) pour regrouper des user stories, le terme "epic" a &eacute;t&eacute; r&eacute;appropri&eacute; par les frameworks &agrave; l&rsquo;&eacute;chelle pour d&eacute;signer des th&egrave;mes transverses. Aujourd&rsquo;hui, elle est un pilier des approches &agrave; l&rsquo;&eacute;chelle, o&ugrave; la coordination entre &eacute;quipes est cruciale.</p>\n
      <h3>Les avantages apport&eacute;s par la roadmap d'epics sont les suivants :</h3>\n
      <ul>\n
      <li><strong>L&rsquo;alignement inter-&eacute;quipes</strong> : Elle met en lumi&egrave;re les d&eacute;pendances entre &eacute;quipes travaillant sur une m&ecirc;me initiative, r&eacute;duisant les blocages.</li>\n
      <li><strong>Le lien avec les investissements </strong>: Elle permet d&rsquo;associer des budgets et des ressources &agrave; des blocs fonctionnels coh&eacute;rents.</li>\n
      <li><strong>La clart&eacute; strat&eacute;gique</strong> : Elle donne aux experts m&eacute;tiers une vision strat&eacute;gique des grands sujets dans le temps, sans les noyer dans les d&eacute;tails techniques.</li>\n
      </ul>\n
      <h3>Les principaux inconv&eacute;nients de la roadmap d'epics qui se r&eacute;v&egrave;lent &agrave; l&rsquo;usage sont :</h3>\n
      <ul>\n
      <li><strong>Le masquage des risques op&eacute;rationnels</strong> : La roadmap d&rsquo;epics peut donner une fausse impression de s&eacute;r&eacute;nit&eacute; en cachant les difficult&eacute;s de mise en &oelig;uvre au niveau des fonctionnalit&eacute;s et des d&eacute;pendances.</li>\n
      <li><strong>La faible adaptabilit&eacute; </strong>: Les ajustements (changement de priorit&eacute;s, d&eacute;lais) sont rares, car li&eacute;s &agrave; des r&eacute;visions strat&eacute;giques.</li>\n
      <li><strong>L&rsquo;&eacute;loignement des &eacute;quipes de r&eacute;alisation </strong>: Trop haut niveau pour guider le travail quotidien, elle n&eacute;cessite un support compl&eacute;mentaire (ex. : roadmap de fonctionnalit&eacute;s).</li>\n
      </ul>\n
      <p>Horizon temporel id&eacute;al: <strong>Moyen terme (6&ndash;12 mois)</strong>.</p>\n
      <p>Niveau de d&eacute;cision : prise de d&eacute;cision et pilotage par le <strong>Product Management</strong>. Outil cl&eacute; pour le Product Management et les POs, mais peu utile pour les &eacute;quipes de r&eacute;alisation au quotidien.</p>\n
      <p>Focus : Elle est orient&eacute;e <strong>produit</strong>. Elle r&eacute;pond &agrave; la question &laquo; <strong>Quels grands th&egrave;mes</strong> prioriser pour atteindre nos objectifs strat&eacute;giques ? &raquo;, sans toujours expliciter l&rsquo;impact utilisateur final.</p>\n
      <p>&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <div class="ce_rsce_client_conseil_essensei">\n
      \t\t\t<h3>\n
      \t\t\tCas d&rsquo;usage id&eacute;aux\t\t</h3>\n
      \t\t<div class="text">\n
      \t\t<ul>\n
      <li>Les organisations organis&eacute;es avec un<strong> framework agile &agrave; l&rsquo;&eacute;chelle</strong> (plusieurs &eacute;quipes travaillant sur un m&ecirc;me produit ou programme).</li>\n
      <li>Les <strong>initiatives transverses </strong>n&eacute;cessitant une coordination.</li>\n
      <li>Le <strong>suivi budg&eacute;taire </strong>des investissements majeurs. </li>\n
      <li>&Agrave; compl&eacute;ter par une roadmap de fonctionnalit&eacute;s ou d&rsquo;objectifs pour &eacute;viter les angles morts op&eacute;rationnels</li>\n
      </ul>\t</div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>Roadmap de Portefeuille</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/exportfolioroadmap.png" alt="Photo : Tableau blanc pr&eacute;sentant une roadmap de portefeuille" width="600" height="454"></p>\n
      <p>La <strong>roadmap de portefeuille</strong> offre une <strong>vue d&rsquo;ensemble</strong> des initiatives strat&eacute;giques d&rsquo;une organisation, alignant produits, projets et investissements sur les objectifs globaux. Elle permet de visualiser les priorit&eacute;s, les <strong>d&eacute;pendances entre programmes</strong>, et l&rsquo;allocation des ressources &agrave; haut niveau. Elle se concentre sur l&rsquo;alignement avec la vision long terme.</p>\n
      <p><br>Issue des m&eacute;thodes de <strong>gestion de portefeuille projet</strong> (PPM), cette approche s&rsquo;est impos&eacute;e avec l&rsquo;agilit&eacute; &agrave; l&rsquo;&eacute;chelle pour harmoniser les efforts de plusieurs &eacute;quipes ou d&eacute;partements. Elle r&eacute;pond au besoin de <strong>coordination strat&eacute;gique</strong> dans les grandes entreprises ou les organisations multi-produits, puisque les d&eacute;cisions doivent &ecirc;tre prises &agrave; un niveau macro.</p>\n
      <h3>Les avantages apport&eacute;s</h3>\n
      <ul>\n
      <li><strong>Un alignement strat&eacute;gique</strong> : Elle lie clairement les initiatives aux objectifs business.</li>\n
      <li><strong>La visibilit&eacute; globale</strong> : Elle permet aux dirigeants et parties prenantes de comprendre o&ugrave; et comment les ressources sont allou&eacute;es.</li>\n
      <li><strong>La gestion des d&eacute;pendances</strong> : Elle identifie les chevauchements ou conflits entre projets et permet d&rsquo;optimiser les investissements.</li>\n
      </ul>\n
      <h3>Les principaux inconv&eacute;nients</h3>\n
      <ul>\n
      <li><strong>Le manque de granularit&eacute;</strong> : Avec un niveau strat&eacute;gique trop &eacute;lev&eacute;, elle ne parvient pas &agrave; guider les &eacute;quipes op&eacute;rationnelles, qui ont besoin de roadmaps plus d&eacute;taill&eacute;es.</li>\n
      <li><strong>La rigidit&eacute; </strong>: Les ajustements sont lents, car li&eacute;s &agrave; des cycles de planification longs.</li>\n
      <li><strong>Le risque de d&eacute;connexion </strong>: Le maintien de cette roadmap peut devenir un exercice bureaucratique d&eacute;connect&eacute; si elle n&rsquo;est pas r&eacute;guli&egrave;rement mise &agrave; jour &nbsp;et confront&eacute;e aux r&eacute;alit&eacute;s du terrain.</li>\n
      </ul>\n
      <p>Horizon temporel id&eacute;al : <strong>Long terme (1&ndash;3 ans)</strong>. Id&eacute;ale pour la planification strat&eacute;gique, elle doit tout de m&ecirc;me &ecirc;tre compl&eacute;t&eacute;e par des roadmaps tactiques (&eacute;piques, fonctionnalit&eacute;s) pour l&rsquo;ex&eacute;cution.</p>\n
      <p>Niveau de d&eacute;cision : Permet un pilotage et des d&eacute;cisions <strong>strat&eacute;giques</strong>. Destin&eacute;e aux dirigeants et au Lean Portfolio Management, elle guide les arbitrages entre programmes concurrents.</p>\n
      <p>Focus : elle est orient&eacute;e <strong>entreprise et valeur business</strong>. Elle r&eacute;pond &agrave; la question &laquo; <strong>Quels programmes</strong> soutiennent notre strat&eacute;gie globale ? &raquo;, sans entrer dans les d&eacute;tails des solutions ou de l&rsquo;exp&eacute;rience utilisateur.</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <div class="ce_rsce_client_conseil_essensei">\n
      \t\t\t<h3>\n
      \t\t\tCas d&rsquo;usage id&eacute;aux\t\t</h3>\n
      \t\t<div class="text">\n
      \t\t<ul>\n
      <li>Les grandes entreprises avec <strong>plusieurs lignes de produits ou march&eacute;s</strong>.</li>\n
      <li>Les <strong>transformations </strong>majeures </li>\n
      <li><strong>L&rsquo;arbitrage </strong>entre investissements </li>\n
      <li>&Agrave; associer &agrave; d&rsquo;autres formats de roadmaps produits pour assurer la coh&eacute;rence entre vision et ex&eacute;cution.</li>\n
      </ul>\t</div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">            \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p style="text-align: center;">&nbsp;</p>\n
      <p style="text-align: center;"><a class="button" href="/formation/safe-lean-portfolio-management-6" target="_blank" rel="noopener">Notre formation certifiante SAFe LPM</a></p>\n
      <p style="text-align: center;">&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>Roadmap orient&eacute;e Objectifs (Outcome-Based Roadmap / Goal-Oriented Roadmap)</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/ex-outcome-based-roadmap.png" alt="Photo : Tableau blanc pr&eacute;sentant une Goal-Oriented Roadmap" width="600" height="454"></p>\n
      <p>La<strong> roadmap orient&eacute;e objectifs </strong>place les r&eacute;sultats business et utilisateurs au c&oelig;ur de la planification, plut&ocirc;t que les fonctionnalit&eacute;s ou les livrables. Elle d&eacute;finit des <strong>objectifs clairs et mesurables</strong>, laissant aux &eacute;quipes la libert&eacute; de choisir les meilleures solutions pour les atteindre. Ce format favorise l&rsquo;agilit&eacute;, l&rsquo;innovation et l&rsquo;alignement strat&eacute;gique. </p>\n
      <p>Inspir&eacute; par des frameworks comme les <strong>OKR </strong>et la <strong>GO Product Roadmap</strong> de <em>Roman Pichler</em>, &nbsp;ce format insiste sur l&rsquo;importance de lier la vision produit aux r&eacute;sultats concrets plut&ocirc;t qu&rsquo;aux fonctionnalit&eacute;s. Avec l&rsquo;essor de l&rsquo;agilit&eacute; et du product management moderne, cette approche est devenue un standard pour les organisations cherchant &agrave; <strong>maximiser l&rsquo;impact </strong>tout en restant flexibles. Elle s&rsquo;appuie sur des principes comme l'<em>Outcome-Driven Innovation</em> (de <em>Tony Ulwick</em>) et l'<em>Impact Mapping</em> (de<em> Gojko Adzic</em>), qui placent l&rsquo;utilisateur et la valeur au centre de la r&eacute;flexion.</p>\n
      <p>&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_testimonial.html5 -->\n
      <blockquote class="testimonial -medium ce_rsce_client_testimonial">\n
      \t<div class="testimonial-text">\n
      \t\t<p><strong>By focusing on goals, the roadmap shifts the conversation from debating features to establishing shared outcomes.</strong></p>\n
      <p><em><strong>Traduction </strong>: En mettant l'accent sur les objectifs, la roadmap fait basculer la conversation, du d&eacute;bat sur les fonctionnalit&eacute;s &agrave; la d&eacute;finition de r&eacute;sultats communs.</em></p>\t</div>\n
      \t\t\t<div class="testimonial-author">\n
      \t\t\t\t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/4/roman_pichler-yz8y5wh8q309z9c.jpg" width="150" height="150" alt="Photo : Roman Pichler" title="Roman Pichler">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t<small>\n
      \t\t\t\t\t\t\t\t\t<div class="author-name">Roman Pichler</div>\n
      \t\t\t\t\t\t\t\t\t\t\t</small>\n
      \t\t</div>\n
      \t</blockquote>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_testimonial.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">            \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <h3>Les avantages apport&eacute;s</h3>\n
      <ul>\n
      <li><strong>L&rsquo;alignement strat&eacute;gique </strong>: Elle relie directement les initiatives aux objectifs business et utilisateurs, en &eacute;vitant la features factory.</li>\n
      <li><strong>La flexibilit&eacute; et adaptabilit&eacute;</strong> : Elle permet d&rsquo;ajuster les solutions en cours de route, en fonction des feedbacks et des donn&eacute;es, sans perdre de vue le r&eacute;sultat final.</li>\n
      <li><strong>La culture de la mesure</strong> : Elle encourage le suivi rigoureux des m&eacute;triques cl&eacute;s (Key Results, KPIs, comportements utilisateurs) pour valider l&rsquo;atteinte des objectifs.</li>\n
      <li><strong>La collaboration renforc&eacute;e</strong> : Elle implique les parties prenantes (m&eacute;tier, tech, design) autour d&rsquo;objectifs communs, favorisant une approche cross-fonctionnelle.</li>\n
      </ul>\n
      <h3>Les principaux inconv&eacute;nients</h3>\n
      <ul>\n
      <li><strong>Une exigence en maturit&eacute; data</strong> : Cette roadmap n&eacute;cessite une culture analytique solide pour pouvoir d&eacute;finir et suivre des indicateurs pertinents. De plus, sans donn&eacute;es fiables, les objectifs risquent d&rsquo;&ecirc;tre bas&eacute;s sur des hypoth&egrave;ses non valid&eacute;es.</li>\n
      <li><strong>Un risque de d&eacute;connexion terrain</strong> : Si les objectifs sont d&eacute;finis en silos, ils peuvent ignorer les besoins r&eacute;els des utilisateurs ou les contraintes op&eacute;rationnelles.</li>\n
      <li><strong>Une complexit&eacute; de mise en &oelig;uvre</strong> : Elle requiert une discipline rigoureuse pour formuler des objectifs SMART et les r&eacute;viser r&eacute;guli&egrave;rement.</li>\n
      <li><strong>Un &eacute;quilibre difficile</strong> : Trouver le bon niveau d&rsquo;ambition (ni trop vague, ni trop pr&eacute;cis) est un d&eacute;fi, surtout dans les grandes organisations</li>\n
      </ul>\n
      <p>Horizon temporel id&eacute;al : <strong>Moyen &agrave; long terme (6&ndash;18 mois)</strong>. Adapt&eacute;e pour piloter des strat&eacute;gies ambitieuses, elle n&eacute;cessite des revues fr&eacute;quentes (trimestrielles) pour ajuster les tactiques.</p>\n
      <p>Niveau de d&eacute;cision : Permet un pilotage et des d&eacute;cisions <strong>strat&eacute;giques</strong>. Outil cl&eacute; pour les dirigeants, le Product Management et les Product Owners, mais elle doit &ecirc;tre d&eacute;clin&eacute;e en roadmaps tactiques pour l&rsquo;ex&eacute;cution.</p>\n
      <p>Focus : elle est orient&eacute;e <strong>Utilisateurs et impact</strong>. Elle r&eacute;pond &agrave; la question &laquo; <strong>Quels r&eacute;sultats </strong>devons-nous atteindre pour r&eacute;ussir ? &raquo;, en pla&ccedil;ant l&rsquo;accent sur l&rsquo;efficacit&eacute; plut&ocirc;t que sur les livrables. Cependant, elle peut n&eacute;gliger l&rsquo;exp&eacute;rience utilisateur si les objectifs ne sont pas centr&eacute;s client.</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <div class="ce_rsce_client_conseil_essensei">\n
      \t\t\t<h3>\n
      \t\t\tCas d&rsquo;usage id&eacute;aux\t\t</h3>\n
      \t\t<div class="text">\n
      \t\t<ul>\n
      <li>Les <strong>organisations agiles</strong> cherchant &agrave; aligner leurs &eacute;quipes sur des <strong>r&eacute;sultats </strong>concrets.</li>\n
      <li>Les <strong>produits innovants</strong> o&ugrave; les solutions ne sont pas encore d&eacute;finies.</li>\n
      <li>Les <strong>environnements comp&eacute;titifs</strong> o&ugrave; l&rsquo;adaptabilit&eacute; et la mesure de l&rsquo;impact sont critiques.</li>\n
      <li>Les entreprises avec un<strong> &eacute;cosyst&egrave;me large d&eacute;pensant le seul num&eacute;rique.</strong></li>\n
      <li>&Agrave; compl&eacute;ter avec d&rsquo;autres outils pour garantir un focus utilisateur.</li>\n
      </ul>\t</div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>Au-del&agrave; du produit, la Roadmap Narrative</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p><img style="display: block; margin-left: auto; margin-right: auto;" src="/files/images/publications/differents_types_roadmaps/ex-roadmapnarrative2.png" alt="Photo : Un tableau blanc pr&eacute;sentant une roadmap narrative" width="600" height="454"></p>\n
      <p>La<strong> Roadmap Narrative </strong>change totalement de paradigme. Elle ne parle plus de produit et choisit de prendre pleinement le parti de l'utilisateur. Elle d&eacute;crit la progression d&rsquo;un utilisateur, le b&eacute;n&eacute;ficiaire, vers son futur d&eacute;sir&eacute;. Cette progression se mat&eacute;rialise par des <strong>capacit&eacute;s </strong>qui ont un impact fort sur la vie du b&eacute;n&eacute;ficiaire et qui sont offertes au fur et &agrave; mesure. Chaque capacit&eacute; est associ&eacute;e &agrave; des m&eacute;triques et des actions de mobilisation. L&rsquo;approche Roadmap Narrative promeut &eacute;galement un <strong>produit qui s&rsquo;efface</strong> au profit de l&rsquo;utilisateur. Ainsi les capacit&eacute;s ne sont plus limit&eacute;es &agrave; des fonctionnalit&eacute;s produits (services, support, partenariats&hellip;). Les &eacute;quipes sont donc plus libres d&rsquo;imaginer les solutions adapt&eacute;es. Cette approche permet &eacute;galement de sortir du pi&egrave;ge de la features factory en orientant les discussions sur<strong> l&rsquo;impact utilisateur</strong> plut&ocirc;t que les fonctionnalit&eacute;s.</p>\n
      <p>Inspir&eacute; du livre <em>Badass : Making Users Awesome</em> de <em>Kathy Sierra </em>et<em> </em>du concept de <em>Jobs to be done</em> introduit par<em> Clayton Christensen</em>, elle d&eacute;finit de nouveaux &eacute;l&eacute;ments totalement nouveaux comme les capacit&eacute;s. La roadmap Narrative est une nouvelle approche de la roadmap r&eacute;solument centr&eacute;e sur l&rsquo;impact utilisateur en d&eacute;passant le cadre du produit. Cr&eacute;&eacute;e par <em>essensei</em> pour pallier aux insuffisances des roadmaps actuelles et r&eacute;pondre aux enjeux d'alignement et de valeur, cette nouvelle roadmap repr&eacute;sente l'avenir pour les entreprises cherchant &agrave; avoir de l&rsquo;impact.</p>\n
      <p>&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_testimonial.html5 -->\n
      <blockquote class="testimonial -medium ce_rsce_client_testimonial">\n
      \t<div class="testimonial-text">\n
      \t\t<p><strong>The secret to building great products is not creating awesome features, it's to make your users awesome.</strong></p>\n
      <p><em><strong>Traduction</strong> : Le secret pour cr&eacute;er d'excellents produits n&rsquo;est pas de cr&eacute;er des fonctionnalit&eacute;s g&eacute;niales, c&rsquo;est de rendre vos utilisateurs g&eacute;niaux.</em></p>\t</div>\n
      \t\t\t<div class="testimonial-author">\n
      \t\t\t\t\t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/e/katty_sierra-jtrzxmy9pj7hfsm.png" width="150" height="150" alt="Photo : Katty Sierra" title="Katty Sierra">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t<small>\n
      \t\t\t\t\t\t\t\t\t<div class="author-name">Kathy Sierra dans Badass : Making Users Awesome</div>\n
      \t\t\t\t\t\t\t\t\t\t\t</small>\n
      \t\t</div>\n
      \t</blockquote>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_testimonial.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">            \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <h3>Les avantages apport&eacute;s</h3>\n
      <ul>\n
      <li><strong>Une communication efficace</strong> : L&rsquo;approche narrative permet de d&eacute;crire concr&egrave;tement des impacts utilisateurs compr&eacute;hensibles par tous et permet de nourrir des conversations productives et collaboratives sur l&rsquo;impact utilisateurs plut&ocirc;t que des oppositions.</li>\n
      <li><strong>La flexibilit&eacute; et l&rsquo;adaptabilit&eacute;</strong> : Elle permet d&rsquo;ajuster et de d&eacute;finir des solutions frugales, innovantes et au-del&agrave; du produit pour d&eacute;bloquer de nouvelles capacit&eacute;s en cours de route.</li>\n
      <li><strong>Une collaboration renforc&eacute;e</strong> : L&rsquo;attention et les conversations de l&rsquo;ensemble des parties prenantes sont centr&eacute;es sur les capacit&eacute;s et l&rsquo;impact utilisateur.</li>\n
      </ul>\n
      <h3>Les principaux inconv&eacute;nients</h3>\n
      <ul>\n
      <li><strong>L'exigence d'une connaissance forte des utilisateurs</strong> : N&eacute;cessite une connaissance forte de ses utilisateurs pour d&eacute;finir la meilleure hypoth&egrave;se de futur d&eacute;sir&eacute; et des capacit&eacute;s r&eacute;ellement d&eacute;sir&eacute;es.</li>\n
      <li><strong>Une complexit&eacute; de mise en &oelig;uvre</strong> : Les narratifs &eacute;tant facilement compris et partag&eacute;s, leurs construction est souvent sous-estim&eacute;e. Une compr&eacute;hension fine des capacit&eacute;s et de l&rsquo;approche est n&eacute;cessaire pour assurer une bonne appropriation de la d&eacute;marche.</li>\n
      <li><strong>Un changement de perspective</strong> : L&rsquo;approche narrative demande un vrai changement culturel et une adh&eacute;sion &agrave; tous les niveaux de l&rsquo;entreprise.</li>\n
      </ul>\n
      <p>Horizon temporel id&eacute;al : <strong>Moyen &agrave; long terme (6&ndash;18 mois)</strong>. Adapt&eacute;e pour d&eacute;ployer des changements ayant de forts impacts sur les utilisateurs.</p>\n
      <p>Niveau de d&eacute;cision : Permet d'impliquer naturellement toutes les parties prenantes. Elle passe par un pilotage <strong>strat&eacute;gique</strong>, une gouvernance <strong>manag&eacute;riale</strong>, et une int&eacute;gration des &eacute;quipes <strong>d'ex&eacute;cution</strong>. Mais pour &ecirc;tre pleinement efficace, elle doit &ecirc;tre d&eacute;clin&eacute;e en roadmaps tactiques pour l&rsquo;ex&eacute;cution.</p>\n
      <p>Focus : elle est orient&eacute;e <strong>Utilisateurs et impact</strong>. Elle r&eacute;pond &agrave; la question &laquo; <strong>Quelles nouvelles capacit&eacute;s</strong> impactantes pouvons-nous offrir &agrave; notre utilisateur ? &raquo;, en pla&ccedil;ant l&rsquo;accent sur l&rsquo;impact et l&rsquo;appropriation plut&ocirc;t que sur la solution.</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      \n
      \n
              <div class="content-text">            \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <p style="text-align: center;">&nbsp;</p>\n
      <p style="text-align: center;"><a class="button" href="/formation/roadmap-narrative" target="_blank" rel="noopener">Notre formation sur la Roadmap Narrative</a></p>\n
      <p style="text-align: center;">&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      <div class="ce_rsce_client_conseil_essensei">\n
      \t\t\t<h3>\n
      \t\t\tCas d&rsquo;usage id&eacute;aux\t\t</h3>\n
      \t\t<div class="text">\n
      \t\t<ul>\n
      <li>Les <strong>organisations agiles</strong> et/ou utilisant les OKR cherchant &agrave; aligner leurs &eacute;quipes sur un <strong>impact utilisateur </strong>concret.</li>\n
      <li>Les <strong>produits innovants</strong> o&ugrave; l&rsquo;on souhaite changer la vie des utilisateurs.</li>\n
      <li>Les <strong>environnements comp&eacute;titifs</strong> o&ugrave; l&rsquo;adaptabilit&eacute; et la mesure de l&rsquo;impact sont critiques. </li>\n
      <li>Les entreprises et produit portant <strong>une mission</strong> qui cherchent en plus des profits &agrave; poursuivre des objectifs sociaux et environnementaux</li>\n
      <li>&Agrave; compl&eacute;ter avec une roadmap tactique pour la d&eacute;clinaison des solutions </li>\n
      </ul>\t</div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_conseil_essensei.html5 -->\n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>En r&eacute;sum&eacute;</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <ul>\n
      <li>La roadmap produit est un outil strat&eacute;gique reliant <strong>vision </strong>et <strong>ex&eacute;cution</strong>, elle aligne les parties prenantes sur des objectifs clairs et sert &agrave; la <strong>communication</strong>.</li>\n
      <li><strong>La roadmap orient&eacute;e fonctionnalit&eacute;s</strong> liste des fonctionnalit&eacute;s sur une timeline. Utile pour les &eacute;quipes techniques, elle pr&eacute;sente un risque de features factory et manque de lien avec la strat&eacute;gie. Id&eacute;ale pour des projets stables ou tr&egrave;s r&eacute;glement&eacute;s.</li>\n
      <li>La<strong> roadmap d&rsquo;epics</strong> regroupe des th&egrave;mes fonctionnels pour coordonner les &eacute;quipes &agrave; l&rsquo;&eacute;chelle (SAFe/LeSS). Elle est utile pour les d&eacute;pendances et le budget, mais se situe &agrave; un trop haut niveau pour le quotidien.</li>\n
      <li>La <strong>roadmap de portefeuille</strong> offre une vue macro des initiatives strat&eacute;giques (1&ndash;3 ans). Elle aligne les investissements sur les objectifs business, mais n&eacute;cessite des roadmaps tactiques pour l&rsquo;ex&eacute;cution.</li>\n
      <li>La <strong>roadmap orient&eacute;e objectifs</strong> (Outcome-Based) est ax&eacute;e sur les r&eacute;sultats (OKR, GO Roadmap). Flexible et collaborative, elle demande une culture de mesure solide pour &eacute;valuer l&rsquo;impact.</li>\n
      <li>La<strong> roadmap narrative</strong> d&eacute;crit la progression de l&rsquo;utilisateur vers un futur d&eacute;sir&eacute; via des capacit&eacute;s impactantes. Centr&eacute;e sur l&rsquo;utilisateur, elle f&eacute;d&egrave;re les &eacute;quipes mais exige un <strong>changement culturel.</strong></li>\n
      <li>Les roadmaps modernes permettent un alignement strat&eacute;gique, de la flexibilit&eacute;, et un focus sur l&rsquo;impact utilisateur. Elles transforment la planification en levier de croissance et d&rsquo;innovation.</li>\n
      <li><strong>Cas d&rsquo;usage par type</strong> :<br>\n
      <ul>\n
      <li>Roadmap Fonctionnalit&eacute;s : Maintenance ou projets stables.</li>\n
      <li>Roadmap d&rsquo;&Eacute;piques : Coordination multi-&eacute;quipes.</li>\n
      <li>Roadmap Portefeuille : Transformations majeures.</li>\n
      <li>Roadmap orient&eacute;e Objectifs ou R&eacute;sultats : Produits innovants / Concurrence forte</li>\n
      <li>Roadmap Narrative : Produits innovants &nbsp;/ Concurrence forte / missions sociales/environnementales.</li>\n
      </ul>\n
      </li>\n
      </ul>\n
      <p>&nbsp;</p>\n
      <p>&nbsp;</p>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      \n
      \n
      \n
              <div class="content-text">                                    \n
          <h2>R&eacute;f&eacute;rences</h2>\n
      \n
                  \n
                                  \n
          \n
                          \n
              <div class="rte">\n
                          <ul>\n
      <li><a href="https://books.google.fr/books?id=M4o7DwAAQBAJ&amp;printsec=frontcover" target="_blank" rel="noopener"><strong>Product Roadmaps Relaunched (2017)</strong></a> de C. Todd Lombardo, Bruce McCarthy, Evan Ryan, Michaels Connors</li>\n
      <li><a href="https://www.romanpichler.com/blog/product-roadmap-faqs/" target="_blank" rel="noopener"><strong>Le blog de Roman Pichler </strong></a></li>\n
      <li><a href="https://books.google.fr/books?id=fuFwBgAAQBAJ&amp;newbks=0&amp;printsec=frontcover" target="_blank" rel="noopener"><strong>Badass Making User Awesome (2015)</strong></a> , de Katty Sierra</li>\n
      <li><strong><a href="https://books.google.fr/books?id=QkY_DwAAQBAJ&amp;newbks=0&amp;printsec=frontcover" target="_blank" rel="noopener">Inspired: How to Create Tech Products Customers Love (2017) </a>,</strong> de Marty Cagan</li>\n
      <li><a href="https://books.google.fr/books?id=c_-JDwAAQBAJ&amp;newbks=0&amp;printsec=frontcover" target="_blank" rel="noopener"><strong>Escaping the build trap (2018)</strong>,</a> de Melissa Perri</li>\n
      <li style="font-weight: bold;"><strong><a href="https://cutlefish.substack.com/p/tbm-2153-vision-and-prescriptive" target="_blank" rel="noopener">Le blog de John Cutler</a></strong></li>\n
      </ul>\n
                  </div>\n
          \n
                  </div>\n
      \n
      \n
      \n
      </body></html>\n
                        </div>\n
                    </div>\n
            <div class="layout_full-content-right">\n
              <h2>Vous aimerez également découvrir</h2>\n
              \n
      <!-- TEMPLATE START: templates/client/mod_newslist.html5 -->\n
      \n
        <!-- indexer::stop -->\n
          <div class="mod_newslist news-image-teaser block">\n
      \n
                    \n
          \n
            \n
      <!-- TEMPLATE START: templates/client/news_boxed_list_item_related.html5 -->\n
      <article class="news-boxed-item  featured">\n
      \t\t\t\t<div class="news-boxed-item-image">\n
      \t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/h/photo-couverture-roadmap-mphfpjgc0at92px.jpg" width="613" height="438" alt="Photo représentant des managers produits lors d&#39;une revue de roadmap dans un contexte tendu">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/publication/le-paradoxe-de-la-roadmap-produit-entre-strategie-et-realite-operationnelle" title="Lire la publication Le paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle">Lire la publication</a></div>\n
      \t\t\t\t\t</div>\n
      \t\t<div class="news-bottom">\n
      \t\t<div class="news-content">\n
      \t\t\t\t\t\t\n
      \n
      \t\t\t<div class="news-details">\n
      \t\t\t\t<small class="news-details">\n
      \t\t\t\t\t<span data-icon=""></span><time datetime="2025-09-15T12:06:00+02:00">15 septembre 2025</time>\n
      \t\t\t\t</small>\n
      \t\t\t</div>\n
      \t\t\t<h3 class="news-boxed-title">\n
      \t\t\t\t\t\t\t\t\t<a title="Le paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle" href="/publication/le-paradoxe-de-la-roadmap-produit-entre-strategie-et-realite-operationnelle">\n
      \t\t\t\t\t\t\t\t\tLe paradoxe de la roadmap produit : entre stratégie et réalité opérationnelle\t\t\t\t\t\t\t\t\t</a>\n
      \t\t\t\t\t\t\t</h3>\n
      \n
      \t\t\t\n
      \t\t\t\t\t</div>\n
      \t</div>\n
      \t</article>\n
      \n
      <!-- TEMPLATE END: templates/client/news_boxed_list_item_related.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/news_boxed_list_item_related.html5 -->\n
      <article class="news-boxed-item ">\n
      \t\t\t\t<div class="news-boxed-item-image">\n
      \t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/6/working-backwards-illustration-principale-unsplash-ktamwcn0pzvg6hg.jpg" width="700" height="500" alt="Ensemble de flèches dirigée vers la gauche, représentant la démarche Working Backwards">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/publication/working_backwards_m%C3%A9thode_succ%C3%A8s_Amazon" title="Lire la publication Working Backwards - Et si commencer par la fin était source d’innovation pour l’entreprise et ses clients ?">Lire la publication</a></div>\n
      \t\t\t\t\t</div>\n
      \t\t<div class="news-bottom">\n
      \t\t<div class="news-content">\n
      \t\t\t\t\t\t\n
      \n
      \t\t\t<div class="news-details">\n
      \t\t\t\t<small class="news-details">\n
      \t\t\t\t\t<span data-icon=""></span><time datetime="2025-06-27T17:46:00+02:00">27 juin 2025</time>\n
      \t\t\t\t</small>\n
      \t\t\t</div>\n
      \t\t\t<h3 class="news-boxed-title">\n
      \t\t\t\t\t\t\t\t\t<a title="Working Backwards - Et si commencer par la fin était source d’innovation pour l’entreprise et ses clients ?" href="/publication/working_backwards_m%C3%A9thode_succ%C3%A8s_Amazon">\n
      \t\t\t\t\t\t\t\t\tWorking Backwards - Et si commencer par la fin était source d’innovation pour l’entreprise et ses clients ?\t\t\t\t\t\t\t\t\t</a>\n
      \t\t\t\t\t\t\t</h3>\n
      \n
      \t\t\t\n
      \t\t\t\t\t</div>\n
      \t</div>\n
      \t</article>\n
      \n
      <!-- TEMPLATE END: templates/client/news_boxed_list_item_related.html5 -->\n
            \n
      \n
        </div>\n
        <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: templates/client/mod_newslist.html5 -->\n
      \n
                    </div>\n
          </div>\n
        </div>\n
        <!-- Partager -->\n
        <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \n
            \n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \r\n
      \r\n
      <div class=" centered-wrapper ce_rsce_client_centered_wrapper_start abonnez-vous  "  >\r\n
      \r\n
      \t\t\t\t<div class="centered-wrapper-inner  insidePadding insidePadding-15px050px" style="padding:15px 0 50px;">\r\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_headline_box_custom.html5 -->\n
      \n
      <div class="headline-box -align-center ce_rsce_client_headline_box_custom text-center ">\n
      \t\t\t\t<h2\t\t\tclass="headline  "\n
      \t\t\t>\n
      \t\tAbonnez vous !</h2>\n
      \t\t\t</div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_headline_box_custom.html5 -->\n
          <script src="https://js-eu1.hsforms.net/forms/embed/146564187.js" defer></script>\n
      <div class="hs-form-frame" data-region="eu1" data-form-id="81500d83-1d17-4334-9b95-1c530b5ee940" data-portal-id="146564187"></div>\n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
      </div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
        \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
        <div class="layout_full-bottom">\n
          <div class="content-wrapper">\n
            <div class="info info-bottom max-mobile align-center">\n
              <h2 class="text-center">Qui sommes nous&nbsp;?</h2>\n
                \n
      <!-- TEMPLATE START: templates/client/rsce_formateur.html5 -->\n
      <section class="formateur ce_rsce_formateur essensei-sign">\n
      \n
          \n
                          <a class="avatar" href="/contact">\n
                          <img src="/assets/images/9/logo-square-8rfpka6we8zwbfr.png"  width="185" height="185" alt="Logo : spirale bleue du logo essensei">\n
                          </a>\n
                      <div class="details">\n
          \t<div class="description">\n
      \t        \t            <h3 class="nom"><a href="/contact">\n
      \t        \t            essensei\t        \t            </a></h3>\n
      \t        \t                                                            <div class="description-author">\n
                              <p>Coaching - Conseil - Formation</p>\n
      <p><a class="button" href="/contact">Contactez-nous</a></p>                    </div>\n
                      \t                </div>\n
                  </div>\n
      \n
      </section>\n
      \n
      \n
      <!-- TEMPLATE END: templates/client/rsce_formateur.html5 -->\n
      \n
            </div>\n
          </div>  \n
        </div>\n
      </div>\n
      \n
      \n
      <!-- TEMPLATE END: templates/client/news_full.html5 -->\n
      \n
        \n
        \n
      \n
        </div>\n
      \n
      <!-- TEMPLATE END: vendor/contao/news-bundle/contao/templates/modules/mod_newsreader.html5 -->\n
          \n
            </div>\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \n
        <div id="article-535" class="mod_article block">\n
          \n
                \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \n
            \n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \r\n
      \r\n
      <div class=" centered-wrapper ce_rsce_client_centered_wrapper_start  "  >\r\n
      \r\n
      \t\t\t\t<div class="centered-wrapper-inner  insidePadding insidePadding-15px050px" style="padding:15px 0 50px;">\r\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_headline_box_custom.html5 -->\n
      \n
      <div class="headline-box -align-center ce_rsce_client_headline_box_custom ">\n
      \t\t\t\t<h2\t\t\tclass="headline  "\n
      \t\t\t>\n
      \t\tPartager cette publication sur les réseaux</h2>\n
      \t\t\t</div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_headline_box_custom.html5 -->\n
      \n
      <!-- TEMPLATE START: system/modules/sharebuttons/templates/mod_sharebuttons.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <div class="mod_sharebuttons">\n
      \n
          \n
          \n
      <!-- TEMPLATE START: system/modules/sharebuttons/templates/sharebuttons_default.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <div class="sharebuttons">\n
        <ul class="theme light">\n
                        <li><a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.essensei.fr%2Fpublication%2Fchoisir-la-bonne-roadmap-produit&amp;t=Publication" rel="noopener noreferrer nofollow" data-escargot-ignore title="share on Facebook" onclick="return shd.open(this.href,600,300);">Facebook</a></li>\n
                                    <li><a class="twitter" href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.essensei.fr%2Fpublication%2Fchoisir-la-bonne-roadmap-produit&amp;text=Publication" rel="noopener noreferrer nofollow" data-escargot-ignore title="share on Twitter" onclick="return shd.open(this.href,500,260);">Twitter</a></li>\n
                                    <li><a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=https%3A%2F%2Fwww.essensei.fr%2Fpublication%2Fchoisir-la-bonne-roadmap-produit&amp;title=Publication" rel="noopener noreferrer nofollow" data-escargot-ignore title="share on LinkedIn" onclick="return shd.open(this.href,520,570);">LinkedIn</a></li>\n
                                    <li><a class="mail" href="mailto:?subject=Website%20recommendation:%20Publication&amp;body=https%3A%2F%2Fwww.essensei.fr%2Fpublication%2Fchoisir-la-bonne-roadmap-produit">E-mail</a></li>\n
                                          <li><a class="whatsapp" href="https://wa.me/?text=https%3A%2F%2Fwww.essensei.fr%2Fpublication%2Fchoisir-la-bonne-roadmap-produit" target="_blank" data-action="share/whatsapp/share" rel="noopener noreferrer nofollow" data-escargot-ignore title="share with Whatsapp">WhatsApp</a></li>\n
                  \n
        </ul>\n
      </div>\n
      <!-- indexer::continue -->\n
      \n
      \n
      <!-- TEMPLATE END: system/modules/sharebuttons/templates/sharebuttons_default.html5 -->\n
      </div>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: system/modules/sharebuttons/templates/mod_sharebuttons.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
      </div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
        \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
          \n
            </div>\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \n
        <div id="article-494" class="mod_article block">\n
          \n
                \n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \r\n
      \r\n
      <div class=" centered-wrapper ce_rsce_client_centered_wrapper_start  "  >\r\n
      \r\n
      \t\t\t\t<div class="centered-wrapper-inner  insidePadding insidePadding-50px0" style="padding:50px 0;">\r\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_start.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_headline_box_custom.html5 -->\n
      \n
      <div class="headline-box -align-center ce_rsce_client_headline_box_custom text-center mb-4 ">\n
      \t\t\t\t<h2\t\t\tclass="headline  "\n
      \t\t\t>\n
      \t\tPour aller plus loin</h2>\n
      \t\t\t</div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_headline_box_custom.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/mod_newslist.html5 -->\n
      \n
        <!-- indexer::stop -->\n
          <div class="mod_newslist news-image-teaser short-downloads block">\n
      \n
                    \n
          \n
            \n
      <!-- TEMPLATE START: templates/client/news_short.html5 -->\n
      \n
      <div class="layout_short arc_15 block news_category_2 category_2">\n
        <div class="archive">\n
          Téléchargements  </div>\n
        \t\t<div class="news-boxed-item-image">\n
      \t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/v/livre-blanc-reinventer-la-roadmap-web-tm4exf34whfjg27.png" width="492" height="351" alt="Image : Couverture du livre blanc essensei - Réinventer la roadmap">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/ressources/telechargement/reinventer-la-roadmap" title="Lire la publication Réinventer la Roadmap">Lire la publication</a></div>\n
      \t\t\t\t\t</div>\n
      \t    <h3 class="news-short-title">\n
            <a href="/ressources/telechargement/reinventer-la-roadmap" title="Lire l&apos;article: Réinventer la Roadmap">Réinventer la Roadmap</a>    </h3>\n
        </div>\n
      \n
      \n
      <!-- TEMPLATE END: templates/client/news_short.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/news_short.html5 -->\n
      \n
      <div class="layout_short arc_17 block featured">\n
        <div class="archive">\n
          Conférences  </div>\n
        \t\t<div class="news-boxed-item-image">\n
      \t\t\t\n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \n
      \n
      <img src="/assets/images/3/agileenseine2025_futurdelaroadmap-38ge8hpya723atb.png" width="700" height="500" alt="Photo : Photo prise sur la grande scène d&#39;agile en seine 2025 pendant la session Le futur de la roadmap">\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/picture/picture_default.html5 -->\n
      \t\t\t\t\t\t\t<div class="news-boxed-item-image-more"><a href="/ressources/conference/le-futur-de-la-roadmap-produit-quand-le-produit-s-efface-de-la-roadmap" title="Lire la publication Le futur de la roadmap produit&nbsp;: quand le produit s&#39;efface de la roadmap">Lire la publication</a></div>\n
      \t\t\t\t\t</div>\n
      \t    <h3 class="news-short-title">\n
            <a href="/ressources/conference/le-futur-de-la-roadmap-produit-quand-le-produit-s-efface-de-la-roadmap" title="Lire l&apos;article: Le futur de la roadmap produit&nbsp;: quand le produit s&#39;efface de la roadmap">Le futur de la roadmap produit&nbsp;: quand le produit s&#39;efface de la roadmap</a>    </h3>\n
        </div>\n
      \n
      \n
      <!-- TEMPLATE END: templates/client/news_short.html5 -->\n
            \n
      \n
        </div>\n
        <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: templates/client/mod_newslist.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
      </div>\n
      </div>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_centered_wrapper_stop.html5 -->\n
          \n
            </div>\n
      \n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_article.html5 -->\n
      \n
      \t\t\t\t\n
      \t\t\t</main>\n
      \n
      \t\t\t\n
      \t\t</div>\n
      \n
      \t\t\n
      \t\t\t\t\t<footer class="page-footer">\n
      \t\t\t\t\n
      <!-- TEMPLATE START: templates/client/rsce_client_footer_top.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <a href="publication/choisir-la-bonne-roadmap-produit#top" class="footer-top-link ce_rsce_client_footer_top">\n
      \tNach oben</a>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_footer_top.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_icon_links.html5 -->\n
      <ul class="icon-links ce_rsce_client_icon_links">\n
      \t\t\t<li >\n
      \t\t\t<a href="https://www.linkedin.com/company/essensei" data-icon="&#xeffd;" style="color: #fff; background-color: #0a66c2" target="_blank" rel="noopener">\n
      \t\t\t\t<span class="icon-links-label">LinkedIn</span>\n
      \t\t\t</a>\n
      \t\t</li>\n
      \t</ul>\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_icon_links.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <nav class="mod_navigation footer-navigation block">\n
      \n
        \n
        <a href="/publication/choisir-la-bonne-roadmap-produit#skipNavigation185" class="invisible">Aller au contenu</a>\n
      \n
        \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
      <ul class="level_1">\n
                  <li class="home tagline-no-border"><a href="/" class="home tagline-no-border">Accueil</a></li>\n
                      <li><a href="/expertises">Expertises</a></li>\n
                      <li class="page-roadmap-narrative"><a href="/roadmap-narrative" class="page-roadmap-narrative">Roadmap Narrative</a></li>\n
                      <li><a href="/formations">Formations</a></li>\n
                      <li class="trail nolink"><a href="/ressources" class="trail nolink">Ressources</a></li>\n
                      <li><a href="/equipe">Equipe</a></li>\n
            </ul>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
        <span id="skipNavigation185" class="invisible"></span>\n
      \n
      </nav>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/modules/mod_navigation.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/mod_customnav.html5 -->\n
      <!-- indexer::stop -->\n
      <nav class="mod_customnav footer-secondary-navigation block">\n
      \n
      \n
      <a href="/publication/choisir-la-bonne-roadmap-produit#skipNavigation242" class="invisible">Aller au contenu</a>\n
      \n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
      <ul class="level_1">\n
                  <li><a href="/mentions-legales">Mentions légales</a></li>\n
                      <li class="ccb-trigger ccb-prefill"><a href="/mentions-legales" class="ccb-trigger ccb-prefill">Paramètres de confidentialité</a></li>\n
            </ul>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/navigation/nav_default.html5 -->\n
      \n
      <a id="skipNavigation242" class="invisible">&nbsp;</a>\n
      \n
      </nav>\n
      <!-- indexer::continue -->\n
      <!-- TEMPLATE END: templates/client/mod_customnav.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/rsce_client_footer_copyright.html5 -->\n
      \n
      <!-- indexer::stop -->\n
      <div class="footer-copyright ce_rsce_client_footer_copyright">\n
      \t<span><p>© Copyright 2026. Essensei. Tous droits réservés. <a href="https://www.bioweb.fr" target="_blank" rel="noopener">Site cultivé par <img style="width: 50px; height: auto;" src="https://www.bioweb.fr/files/images/common/bioweb-logo-1-cr.png" alt="Logo BioWeb.fr"></a></p></span>\n
      </div>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: templates/client/rsce_client_footer_copyright.html5 -->\n
      \t\t\t</footer>\n
      \t\t\t</div>\n
      \n
      \t\n
      \n
        \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_accordion.html5 -->\n
      \n
      <script src="/assets/jquery-ui/js/jquery-ui.min.js?v=1.13.2"></script>\n
      <script>\n
        jQuery(function($) {\n
          $(document).accordion({\n
            // Put custom options here\n
            heightStyle: 'content',\n
            header: '.toggler',\n
            collapsible: true,\n
            create: function(event, ui) {\n
              ui.header.addClass('active');\n
              $('.toggler').attr('tabindex', 0);\n
            },\n
            activate: function(event, ui) {\n
              ui.newHeader.addClass('active');\n
              ui.oldHeader.removeClass('active');\n
              $('.toggler').attr('tabindex', 0);\n
            }\n
          });\n
        });\n
      </script>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_accordion.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_colorbox.html5 -->\n
      \n
      <script src="/assets/colorbox/js/colorbox.min.js?v=1.6.4.2"></script>\n
      <script>\n
        jQuery(function($) {\n
          $('a[data-lightbox]').map(function() {\n
            $(this).colorbox({\n
              // Put custom options here\n
              loop: false,\n
              rel: $(this).attr('data-lightbox'),\n
              maxWidth: '95%',\n
              maxHeight: '95%'\n
            });\n
          });\n
        });\n
      </script>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_colorbox.html5 -->\n
      \n
      <!-- TEMPLATE START: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n
      \n
      <script src="/assets/tablesorter/js/tablesorter.min.js?v=2.31.3.1"></script>\n
      <script>\n
        jQuery(function($) {\n
          $('.ce_table .sortable').each(function(i, table) {\n
            var attr = $(table).attr('data-sort-default'),\n
                opts = {}, s;\n
      \n
            if (attr) {\n
              s = attr.split('|');\n
              opts = { sortList: [[s[0], s[1] == 'desc' | 0]] };\n
            }\n
      \n
            $(table).tablesorter(opts);\n
          });\n
        });\n
      </script>\n
      \n
      <!-- TEMPLATE END: vendor/contao/core-bundle/contao/templates/jquery/j_tablesort.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/js_modernizr.html5 -->\n
      \n
      <!-- TEMPLATE END: templates/client/js_modernizr.html5 -->\n
      \n
      <!-- TEMPLATE START: templates/client/js_mediaelement.html5 -->\n
      \n
      <!-- TEMPLATE END: templates/client/js_mediaelement.html5 -->\n
      <script src="/files/client/js/script.js?v=b45a08b4"></script><script src="/files/client/js/shared.js?v=b45a08b4"></script>  <script type="application/ld+json">\n
      {\n
          "@context": "https:\/\/schema.org",\n
          "@graph": [\n
              {\n
                  "@type": "WebPage"\n
              },\n
              {\n
                  "@id": "#\/schema\/news\/77",\n
                  "@type": "NewsArticle",\n
                  "author": {\n
                      "@type": "Person",\n
                      "name": "Pascal Poussard"\n
                  },\n
                  "datePublished": "2025-10-17T09:12:00+02:00",\n
                  "description": "Dans un environnement où l’agilité et l’alignement stratégique sont devenus des impératifs, choisir le bon type de roadmap produit peut tout changer. Que vous cherchiez à prioriser des fonctionnalités, coordonner des épopées (epics), piloter un portefeuille, ou provoquer un impact utilisateur fort, chaque format répond à des enjeux distincts.\nDécouvrez 5 types de roadmaps produit, de la plus classique à la plus centrée sur vos utilisateurs.",\n
                  "headline": "Choisir la bonne roadmap produit : 5 formats pour aligner stratégie et exécution",\n
                  "image": {\n
                      "@id": "#\/schema\/image\/83690f58-aa0a-11f0-9bc5-1daa3561b3d5",\n
                      "@type": "ImageObject",\n
                      "contentUrl": "\/assets\/images\/c\/different_roadmaps_type-272pdgsq863snqz.png",\n
                      "name": "5 types de roadmaps Produit"\n
                  },\n
                  "text": "Les caractéristiques de la roadmap produit\nUne roadmap produit est une représentation visuelle de la valeur et de l'évolution potentielle de votre produit. Elle porte le sens et la continuité des objectifs poursuivis.\nElle connecte la stratégie à l'exécution, assurant ainsi l'alignement de toutes les parties prenantes, des décideurs aux équipes opérationnelles, servant de support aux discussions de priorisation.\nC'est aussi en premier lieu un outil de communication qui met en évidence les résultats et les impacts attendus pour l’ensemble de l’entreprise.\nLa roadmap produit n’est pas une stratégie, ni une vision produit. Elle est le lien entre la stratégie qui permet de matérialiser la vision et son exécution.\nA good roadmap is not so much a project plan as a strategic communication tool, a statement of intent and direction.\nTraduction : Une bonne roadmap n'est pas tant un plan de projet qu'un outil de communication stratégique, une déclaration d'intention et d'orientation.\nBruce McCarthy in Product Roadmaps Relaunched\nLes caractéristiques d’une roadmap produit sont :\nUne vision produit Un cadre temporel : qui peut correspondre à un ensemble de dates fixes, mais aussi à une période (trimestre, semestre, année), ou même des horizons vagues (Now, Next, Later)\nDes fonctionnalités ou des objectifs\nUn indicateur de progression ou de succès\nMais mis à part ces quelques points communs, les roadmaps produit existent sous des formats fondamentalement distincts. Elles manipulent des éléments de granularité varié, permettent des décisions à différents niveaux (entre la stratégie et l'exécution) et orientent leur focus sur le produit ou sur l'utilisateur.\nExplorons plus en détail 5 grands types de roadmap produit.\nRoadmap orientée Fonctionnalités (Features-Oriented Roadmap)\nLa roadmap orientée fonctionnalités est un format classique qui liste les fonctionnalités à développer, organisées sur une timeline (trimestres, mois). Principalement utilisée par les équipes produit et techniques, elle offre une vision concrète des livrables à venir. L’attention étant fortement portée sur les fonctionnalités, une dérive classique est de tomber dans une usine de fonctionnalités (features factory) où tout est livré à la chaîne sans prise de recul.\nCette approche s’est développée avec les méthodes traditionnelles de gestion de projet (cascade, V-cycle), puis s’est imposée dans les années 2000 avec l’essor des outils de planification logicielle. C’est la roadmap la plus utilisée encore aujourd’hui.\nLes avantages apportés\nLa clarté opérationnelle : Elle permet aux équipes techniques et métiers de visualiser ce qui sera développé, facilitant la planification.\nLa simplicité : Son format est intuitif, facile à communiquer aux parties prenantes internes (développeurs, QA, experts métier).\nLe suivi budgétaire : C’est la roadmap idéale pour estimer les coûts et allouer les ressources par fonctionnalité.\nLes principaux inconvénients\nLe manque de lien avec la stratégie : Les fonctionnalités, prises isolément, ne reflètent pas toujours la valeur métier ou les objectifs globaux.\nLa rigidité : Elle reste difficile à ajuster en cours de route, surtout face à des changements de priorités. Elle est souvent comprise comme un engagement ferme et figé.\nPeu adaptée à la gouvernance : trop détaillée et technique pour les discussions stratégiques, elle noie les décideurs dans un \"puzzle\" de tâches sans vision claire.\nLe risque de features factory : Elle se focalise trop sur la livraison plutôt que sur l’impact utilisateur ou business.\nHorizon temporel idéal : Court à moyen terme (3–6 mois max). Au-delà, l’incertitude rend ce format peu fiable, transformant la roadmap en une spéculation plutôt qu’en un outil d’exécution.\nNiveau de décision : \u{A0}Elle permet un pilotage et des décisions au niveau de l’Exécution (avec un impact limité sur le product management). Elle est peu adaptée aux discussions stratégiques ou à l’alignement avec la direction.\nFocus : Elle est orientée produit (et non utilisateur). Elle répond à la question « Quoi construire ? » plutôt que « Pourquoi le construire ? » ou « Quel problème résoudre ? ».\n\u{A0}\nCas d’usage idéaux\nLes projets à faible incertitude (maintenance, évolutions d’un produit mature).\nLes environnements réglementés où les livrables doivent être planifiés à l’avance (ex. : banques, santé).\nÀ éviter pour les produits innovants ou en phase de découverte, où l’agilité et l’itération sont cruciales.\nFinally, it’s all about solving problems, not implementing features. Conventional product roadmaps are all about output. Strong teams know it’s not only about implementing a solution. They must ensure that solution solves the underlying problem. It’s about business results.\nTraduction : En fin de compte, l’important est de résoudre des problèmes, et non de mettre en œuvre des fonctionnalités. Les roadmaps traditionnelles sont axées uniquement sur la production de fonctionnalités. Les équipes performantes savent qu'il ne s'agit pas seulement de mettre en œuvre une solution. Elles doivent s'assurer que cette solution résout le problème sous-jacent. L'important, ce sont les résultats pour le métier.\nMarty Cagan\nRoadmap orientée Epics\nLa roadmap d’epics ne s’intéresse pas à des fonctionnalités mais à des regroupements cohérents de fonctionnalités, organisés par thèmes ou par initiatives, nommés epics. Utilisée principalement dans les frameworks d’agilité à l’échelle (comme SAFe ou LeSS), elle permet de visualiser les dépendances entre équipes et d’aligner les investissements sur des objectifs stratégiques. Contrairement aux roadmaps de fonctionnalités, elle offre une vue macroscopique des initiatives, tout en restant ancrée dans le concret.\nApparu dans les années 2000 avec l’Extreme Programming (XP) pour regrouper des user stories, le terme \"epic\" a été réapproprié par les frameworks à l’échelle pour désigner des thèmes transverses. Aujourd’hui, elle est un pilier des approches à l’échelle, où la coordination entre équipes est cruciale.\nLes avantages apportés par la roadmap d'epics sont les suivants :\nL’alignement inter-équipes : Elle met en lumière les dépendances entre équipes travaillant sur une même initiative, réduisant les blocages.\nLe lien avec les investissements : Elle permet d’associer des budgets et des ressources à des blocs fonctionnels cohérents.\nLa clarté stratégique : Elle donne aux experts métiers une vision stratégique des grands sujets dans le temps, sans les noyer dans les détails techniques.\nLes principaux inconvénients de la roadmap d'epics qui se révèlent à l’usage sont :\nLe masquage des risques opérationnels : La roadmap d’epics peut donner une fausse impression de sérénité en cachant les difficultés de mise en œuvre au niveau des fonctionnalités et des dépendances.\nLa faible adaptabilité : Les ajustements (changement de priorités, délais) sont rares, car liés à des révisions stratégiques.\nL’éloignement des équipes de réalisation : Trop haut niveau pour guider le travail quotidien, elle nécessite un support complémentaire (ex. : roadmap de fonctionnalités).\nHorizon temporel idéal: Moyen terme (6–12 mois).\nNiveau de décision : prise de décision et pilotage par le Product Management. Outil clé pour le Product Management et les POs, mais peu utile pour les équipes de réalisation au quotidien.\nFocus : Elle est orientée produit. Elle répond à la question « Quels grands thèmes prioriser pour atteindre nos objectifs stratégiques ? », sans toujours expliciter l’impact utilisateur final.\n\u{A0}\nCas d’usage idéaux\nLes organisations organisées avec un framework agile à l’échelle (plusieurs équipes travaillant sur un même produit ou programme).\nLes initiatives transverses nécessitant une coordination.\nLe suivi budgétaire des investissements majeurs.\nÀ compléter par une roadmap de fonctionnalités ou d’objectifs pour éviter les angles morts opérationnels\nRoadmap de Portefeuille\nLa roadmap de portefeuille offre une vue d’ensemble des initiatives stratégiques d’une organisation, alignant produits, projets et investissements sur les objectifs globaux. Elle permet de visualiser les priorités, les dépendances entre programmes, et l’allocation des ressources à haut niveau. Elle se concentre sur l’alignement avec la vision long terme.\nIssue des méthodes de gestion de portefeuille projet (PPM), cette approche s’est imposée avec l’agilité à l’échelle pour harmoniser les efforts de plusieurs équipes ou départements. Elle répond au besoin de coordination stratégique dans les grandes entreprises ou les organisations multi-produits, puisque les décisions doivent être prises à un niveau macro.\nLes avantages apportés\nUn alignement stratégique : Elle lie clairement les initiatives aux objectifs business.\nLa visibilité globale : Elle permet aux dirigeants et parties prenantes de comprendre où et comment les ressources sont allouées.\nLa gestion des dépendances : Elle identifie les chevauchements ou conflits entre projets et permet d’optimiser les investissements.\nLes principaux inconvénients\nLe manque de granularité : Avec un niveau stratégique trop élevé, elle ne parvient pas à guider les équipes opérationnelles, qui ont besoin de roadmaps plus détaillées.\nLa rigidité : Les ajustements sont lents, car liés à des cycles de planification longs.\nLe risque de déconnexion : Le maintien de cette roadmap peut devenir un exercice bureaucratique déconnecté si elle n’est pas régulièrement mise à jour \u{A0}et confrontée aux réalités du terrain.\nHorizon temporel idéal : Long terme (1–3 ans). Idéale pour la planification stratégique, elle doit tout de même être complétée par des roadmaps tactiques (épiques, fonctionnalités) pour l’exécution.\nNiveau de décision : Permet un pilotage et des décisions stratégiques. Destinée aux dirigeants et au Lean Portfolio Management, elle guide les arbitrages entre programmes concurrents.\nFocus : elle est orientée entreprise et valeur business. Elle répond à la question « Quels programmes soutiennent notre stratégie globale ? », sans entrer dans les détails des solutions ou de l’expérience utilisateur.\nCas d’usage idéaux\nLes grandes entreprises avec plusieurs lignes de produits ou marchés.\nLes transformations majeures\nL’arbitrage entre investissements\nÀ associer à d’autres formats de roadmaps produits pour assurer la cohérence entre vision et exécution.\n\u{A0}\nNotre formation certifiante SAFe LPM\n\u{A0}\nRoadmap orientée Objectifs (Outcome-Based Roadmap \/ Goal-Oriented Roadmap)\nLa roadmap orientée objectifs place les résultats business et utilisateurs au cœur de la planification, plutôt que les fonctionnalités ou les livrables. Elle définit des objectifs clairs et mesurables, laissant aux équipes la liberté de choisir les meilleures solutions pour les atteindre. Ce format favorise l’agilité, l’innovation et l’alignement stratégique.\nInspiré par des frameworks comme les OKR et la GO Product Roadmap de Roman Pichler, \u{A0}ce format insiste sur l’importance de lier la vision produit aux résultats concrets plutôt qu’aux fonctionnalités. Avec l’essor de l’agilité et du product management moderne, cette approche est devenue un standard pour les organisations cherchant à maximiser l’impact tout en restant flexibles. Elle s’appuie sur des principes comme l'Outcome-Driven Innovation (de Tony Ulwick) et l'Impact Mapping (de Gojko Adzic), qui placent l’utilisateur et la valeur au centre de la réflexion.\n\u{A0}\nBy focusing on goals, the roadmap shifts the conversation from debating features to establishing shared outcomes.\nTraduction : En mettant l'accent sur les objectifs, la roadmap fait basculer la conversation, du débat sur les fonctionnalités à la définition de résultats communs.\nRoman Pichler\nLes avantages apportés\nL’alignement stratégique : Elle relie directement les initiatives aux objectifs business et utilisateurs, en évitant la features factory.\nLa flexibilité et adaptabilité : Elle permet d’ajuster les solutions en cours de route, en fonction des feedbacks et des données, sans perdre de vue le résultat final.\nLa culture de la mesure : Elle encourage le suivi rigoureux des métriques clés (Key Results, KPIs, comportements utilisateurs) pour valider l’atteinte des objectifs.\nLa collaboration renforcée : Elle implique les parties prenantes (métier, tech, design) autour d’objectifs communs, favorisant une approche cross-fonctionnelle.\nLes principaux inconvénients\nUne exigence en maturité data : Cette roadmap nécessite une culture analytique solide pour pouvoir définir et suivre des indicateurs pertinents. De plus, sans données fiables, les objectifs risquent d’être basés sur des hypothèses non validées.\nUn risque de déconnexion terrain : Si les objectifs sont définis en silos, ils peuvent ignorer les besoins réels des utilisateurs ou les contraintes opérationnelles.\nUne complexité de mise en œuvre : Elle requiert une discipline rigoureuse pour formuler des objectifs SMART et les réviser régulièrement.\nUn équilibre difficile : Trouver le bon niveau d’ambition (ni trop vague, ni trop précis) est un défi, surtout dans les grandes organisations\nHorizon temporel idéal : Moyen à long terme (6–18 mois). Adaptée pour piloter des stratégies ambitieuses, elle nécessite des revues fréquentes (trimestrielles) pour ajuster les tactiques.\nNiveau de décision : Permet un pilotage et des décisions stratégiques. Outil clé pour les dirigeants, le Product Management et les Product Owners, mais elle doit être déclinée en roadmaps tactiques pour l’exécution.\nFocus : elle est orientée Utilisateurs et impact. Elle répond à la question « Quels résultats devons-nous atteindre pour réussir ? », en plaçant l’accent sur l’efficacité plutôt que sur les livrables. Cependant, elle peut négliger l’expérience utilisateur si les objectifs ne sont pas centrés client.\nCas d’usage idéaux\nLes organisations agiles cherchant à aligner leurs équipes sur des résultats concrets.\nLes produits innovants où les solutions ne sont pas encore définies.\nLes environnements compétitifs où l’adaptabilité et la mesure de l’impact sont critiques.\nLes entreprises avec un écosystème large dépensant le seul numérique.\nÀ compléter avec d’autres outils pour garantir un focus utilisateur.\nAu-delà du produit, la Roadmap Narrative\nLa Roadmap Narrative change totalement de paradigme. Elle ne parle plus de produit et choisit de prendre pleinement le parti de l'utilisateur. Elle décrit la progression d’un utilisateur, le bénéficiaire, vers son futur désiré. Cette progression se matérialise par des capacités qui ont un impact fort sur la vie du bénéficiaire et qui sont offertes au fur et à mesure. Chaque capacité est associée à des métriques et des actions de mobilisation. L’approche Roadmap Narrative promeut également un produit qui s’efface au profit de l’utilisateur. Ainsi les capacités ne sont plus limitées à des fonctionnalités produits (services, support, partenariats…). Les équipes sont donc plus libres d’imaginer les solutions adaptées. Cette approche permet également de sortir du piège de la features factory en orientant les discussions sur l’impact utilisateur plutôt que les fonctionnalités.\nInspiré du livre Badass : Making Users Awesome de Kathy Sierra et du concept de Jobs to be done introduit par Clayton Christensen, elle définit de nouveaux éléments totalement nouveaux comme les capacités. La roadmap Narrative est une nouvelle approche de la roadmap résolument centrée sur l’impact utilisateur en dépassant le cadre du produit. Créée par essensei pour pallier aux insuffisances des roadmaps actuelles et répondre aux enjeux d'alignement et de valeur, cette nouvelle roadmap représente l'avenir pour les entreprises cherchant à avoir de l’impact.\n\u{A0}\nThe secret to building great products is not creating awesome features, it's to make your users awesome.\nTraduction : Le secret pour créer d'excellents produits n’est pas de créer des fonctionnalités géniales, c’est de rendre vos utilisateurs géniaux.\nKathy Sierra dans Badass : Making Users Awesome\nLes avantages apportés\nUne communication efficace : L’approche narrative permet de décrire concrètement des impacts utilisateurs compréhensibles par tous et permet de nourrir des conversations productives et collaboratives sur l’impact utilisateurs plutôt que des oppositions.\nLa flexibilité et l’adaptabilité : Elle permet d’ajuster et de définir des solutions frugales, innovantes et au-delà du produit pour débloquer de nouvelles capacités en cours de route.\nUne collaboration renforcée : L’attention et les conversations de l’ensemble des parties prenantes sont centrées sur les capacités et l’impact utilisateur.\nLes principaux inconvénients\nL'exigence d'une connaissance forte des utilisateurs : Nécessite une connaissance forte de ses utilisateurs pour définir la meilleure hypothèse de futur désiré et des capacités réellement désirées.\nUne complexité de mise en œuvre : Les narratifs étant facilement compris et partagés, leurs construction est souvent sous-estimée. Une compréhension fine des capacités et de l’approche est nécessaire pour assurer une bonne appropriation de la démarche.\nUn changement de perspective : L’approche narrative demande un vrai changement culturel et une adhésion à tous les niveaux de l’entreprise.\nHorizon temporel idéal : Moyen à long terme (6–18 mois). Adaptée pour déployer des changements ayant de forts impacts sur les utilisateurs.\nNiveau de décision : Permet d'impliquer naturellement toutes les parties prenantes. Elle passe par un pilotage stratégique, une gouvernance managériale, et une intégration des équipes d'exécution. Mais pour être pleinement efficace, elle doit être déclinée en roadmaps tactiques pour l’exécution.\nFocus : elle est orientée Utilisateurs et impact. Elle répond à la question « Quelles nouvelles capacités impactantes pouvons-nous offrir à notre utilisateur ? », en plaçant l’accent sur l’impact et l’appropriation plutôt que sur la solution.\n\u{A0}\nNotre formation sur la Roadmap Narrative\n\u{A0}\nCas d’usage idéaux\nLes organisations agiles et\/ou utilisant les OKR cherchant à aligner leurs équipes sur un impact utilisateur concret.\nLes produits innovants où l’on souhaite changer la vie des utilisateurs.\nLes environnements compétitifs où l’adaptabilité et la mesure de l’impact sont critiques.\nLes entreprises et produit portant une mission qui cherchent en plus des profits à poursuivre des objectifs sociaux et environnementaux\nÀ compléter avec une roadmap tactique pour la déclinaison des solutions\nEn résumé\nLa roadmap produit est un outil stratégique reliant vision et exécution, elle aligne les parties prenantes sur des objectifs clairs et sert à la communication.\nLa roadmap orientée fonctionnalités liste des fonctionnalités sur une timeline. Utile pour les équipes techniques, elle présente un risque de features factory et manque de lien avec la stratégie. Idéale pour des projets stables ou très réglementés.\nLa roadmap d’epics regroupe des thèmes fonctionnels pour coordonner les équipes à l’échelle (SAFe\/LeSS). Elle est utile pour les dépendances et le budget, mais se situe à un trop haut niveau pour le quotidien.\nLa roadmap de portefeuille offre une vue macro des initiatives stratégiques (1–3 ans). Elle aligne les investissements sur les objectifs business, mais nécessite des roadmaps tactiques pour l’exécution.\nLa roadmap orientée objectifs (Outcome-Based) est axée sur les résultats (OKR, GO Roadmap). Flexible et collaborative, elle demande une culture de mesure solide pour évaluer l’impact.\nLa roadmap narrative décrit la progression de l’utilisateur vers un futur désiré via des capacités impactantes. Centrée sur l’utilisateur, elle fédère les équipes mais exige un changement culturel.\nLes roadmaps modernes permettent un alignement stratégique, de la flexibilité, et un focus sur l’impact utilisateur. Elles transforment la planification en levier de croissance et d’innovation.\nCas d’usage par type :\nRoadmap Fonctionnalités : Maintenance ou projets stables.\nRoadmap d’Épiques : Coordination multi-équipes.\nRoadmap Portefeuille : Transformations majeures.\nRoadmap orientée Objectifs ou Résultats : Produits innovants \/ Concurrence forte\nRoadmap Narrative : Produits innovants \u{A0}\/ Concurrence forte \/ missions sociales\/environnementales.\n\u{A0}\n\u{A0}\nRéférences\nProduct Roadmaps Relaunched (2017) de C. Todd Lombardo, Bruce McCarthy, Evan Ryan, Michaels Connors\nLe blog de Roman Pichler\nBadass Making User Awesome (2015) , de Katty Sierra\nInspired: How to Create Tech Products Customers Love (2017) , de Marty Cagan\nEscaping the build trap (2018), de Melissa Perri\nLe blog de John Cutler",\n
                  "url": "\/publication\/choisir-la-bonne-roadmap-produit"\n
              },\n
              {\n
                  "@type": "Article",\n
                  "author": {\n
                      "@type": "Organization",\n
                      "name": "essensei",\n
                      "url": "https:\/\/essensei.fr"\n
                  },\n
                  "dateModified": "2026-01-19T17:39:11+01:00",\n
                  "datePublished": "2025-10-17T09:12:00+02:00",\n
                  "description": "Choisir le type de roadmap produit le plus adapté à son contexte et ses objectifs est essentiel. Cet article vous guide à travers 5 formats de roadmap pour vous permettre de mieux vous repérer.",\n
                  "headline": "Choisir la bonne roadmap produit : 5 formats pour aligner stratégie et exécution",\n
                  "image": "https:\/\/essensei.fr\/assets\/images\/c\/different_roadmaps_type-272pdgsq863snqz.png",\n
                  "keywords": [\n
                      "Produit",\n
                      "roadmap narrative",\n
                      "Stratégie"\n
                  ],\n
                  "mainEntityOfPage": {\n
                      "@id": "https:\/\/www.essensei.fr\/choisir-la-bonne-roadmap-produit",\n
                      "@type": "WebPage"\n
                  },\n
                  "publisher": {\n
                      "@type": "Organization",\n
                      "logo": {\n
                          "@type": "ImageObject",\n
                          "url": "https:\/\/essensei.fr\/logo.png"\n
                      },\n
                      "name": "essensei"\n
                  }\n
              }\n
          ]\n
      }\n
      </script>\n
      <script type="application/ld+json">\n
      {\n
          "@context": "https:\/\/schema.contao.org",\n
          "@graph": [\n
              {\n
                  "@type": "Page",\n
                  "fePreview": false,\n
                  "groups": [],\n
                  "noSearch": false,\n
                  "pageId": 298,\n
                  "protected": false,\n
                  "title": "5 types de Roadmap Produit : comment choisir ?"\n
              }\n
          ]\n
      }\n
      </script>\n
      \n
      <!-- TEMPLATE START: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/cookiebar_simple.html5 -->\n
      <!-- indexer::stop -->\n
      <div  class="contao-cookiebar cc-wrap cookiebar_simple cc-bottom cc-right" role="complementary" aria-describedby="cookiebar-desc" data-nosnippet>\n
          <div class="cc-inner" aria-live="assertive" role="alert">\n
              <div id="cookiebar-desc" class="cc-head">\n
                                  <p>Nous utilisons des cookies pour nous assurer que nous vous offrons la meilleure expérience sur notre site Web. Si vous continuez sans modifier vos paramètres, nous supposerons que vous acceptez de recevoir tous les cookies de ce site Web. Remarque : Vous pouvez utiliser cette case pour toute information et choisir s&#39;il doit être possible de l&#39;afficher à nouveau ou non.</p>                    </div>\n
              <div class="cc-footer highlight">\n
                                  <button class="cc-btn cc-focus success" data-accept-all>Tout accepter</button>\n
                      <button class="cc-btn cc-focus deny" data-deny-all>Tout refuser</button>\n
                      <button class="cc-btn cc-focus info" data-toggle-group aria-expanded="false" data-ft-opener aria-controls="cg">Paramètres de confidentialité</button>\n
                              <div id="cg" class="cc-groups toggle-group">\n
                                                                  <div class="cc-group">\n
                                                                  <input type="checkbox" name="group[]" id="g1" value="1" data-toggle-cookies disabled checked>\n
                                                              <label for="g1" class="group">Essential</label>\n
                                  <div class="cc-cookies">\n
                                      <p>Ceci est le texte essentiel</p>                                                                    <div class="cc-cookie">\n
                                              <input type="checkbox" name="cookie[]" id="c2" value="2" disabled checked>\n
                                              <label for="c2" class="cookie">Contao HTTPS CSRF Token</label>\n
                                              <p>Protects against cross-site request forgery attacks.</p>                                                                                    <div class="cc-cookie-info">\n
                                                                                                                                                          <div><span>Durée de conservation:</span> This cookie will only remain for the current browser session.</div>\n
                                                                                                                                                  </div>\n
                                                                                                                          </div>\n
                                                                          <div class="cc-cookie">\n
                                              <input type="checkbox" name="cookie[]" id="c3" value="3" disabled checked>\n
                                              <label for="c3" class="cookie">PHP SESSION ID</label>\n
                                              <p>Saves the current PHP session.</p>                                                                                    <div class="cc-cookie-info">\n
                                                                                                                                                          <div><span>Durée de conservation:</span> This cookie will only remain for the current browser session.</div>\n
                                                                                                                                                  </div>\n
                                                                                                                          </div>\n
                                                                  </div>\n
                              </div>\n
                                                  <div class="cc-group">\n
                                                                  <input type="checkbox" name="group[]" id="g2" value="2" data-toggle-cookies>\n
                                                              <label for="g2" class="group">Analytics</label>\n
                                  <div class="cc-cookies">\n
                                                                                                          <div class="cc-cookie">\n
                                              <input type="checkbox" name="cookie[]" id="c4" value="4">\n
                                              <label for="c4" class="cookie">Google Analytics</label>\n
                                              <p>Cookie de Google pour l&#39;analyse du site Web. Génère des données statistiques sur la façon dont le visiteur utilise le site Web.</p>                                                                                                                            <button class="cc-detail-btn-details cc-focus" data-toggle-group aria-expanded="false" aria-controls="cc4">\n
                                                      <span>Afficher plus de détails<span class="cc-invisible"> for Google Analytics</span></span>\n
                                                      <span>Masquer plus de détails<span class="cc-invisible"> for Google Analytics</span></span>\n
                                                  </button>\n
                                                  <div id="cc4" class="cc-cookie-desc toggle-group" style="display: none">\n
                                                      <p>Fournisseur : Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Irlande<br>Durée de stockage : Vous pouvez en savoir plus sur la durée de stockage du cookie ici <a href="https://policies.google.com/privacy." target="_blank" rel="noopener">https://policies.google.com/privacy.</a></p>                                            </div>\n
                                                                                  </div>\n
                                                                  </div>\n
                              </div>\n
                                                          <button class="cc-btn cc-focus save" data-save>Sauvegarder la sélection</button>\n
                  </div>\n
              </div>\n
              <div class="cc-info">\n
                                                                      <a href="https://www.essensei.fr/mentions-legales">Mentions légales</a>\n
                                          </div>\n
          </div>\n
      </div>\n
      <!-- indexer::continue -->\n
      \n
      <!-- TEMPLATE END: vendor/oveleon/contao-cookiebar/contao/templates/cookiebar/cookiebar_simple.html5 -->\n
      <script>var cookiebar = new ContaoCookiebar({configId:1,pageId:225,hideOnInit:0,blocking:0,focusTrap:1,version:5,lifetime:63072000,consentLog:0,token:'ccb_contao_token',doNotTrack:0,currentPageId:298,excludedPageIds:null,cookies:{"4":{"id":4,"type":"script","checked":true,"token":["_ga"],"resources":[{"src":"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-4QSPQ0KZCR","flags":["async"],"mode":1}],"priority":0,"scripts":[{"script":"window.addEventListener('load', function() {\n    if (!window.webVitals) {\n        console.error('Web Vitals non charg\u00e9');\n        return;\n    }\n\n    window.dataLayer = window.dataLayer || [];\n    function gtag(){ dataLayer.push(arguments); }\n    gtag('js', new Date());\n    gtag('config', 'G-4QSPQ0KZCR', {\n        anonymize_ip: true,\n        allow_ad_personalization_signals: false\n    });\n\n    function sendToGA(metric) {\n        gtag('event', metric.name, {\n            event_category: 'Web Vitals',\n            value: Math.round(metric.name === 'CLS' ? metric.delta  * 1000 : metric.delta),\n            event_label: metric.id, \n            non_interaction: true\n        });\n    }\n\n    ['onCLS','onFID','onLCP','onINP','onTTFB'].forEach(fn => {\n        if (typeof webVitals[fn] === 'function') {\n            webVitals[fn](sendToGA);\n        } else {\n            console.warn(fn + ' non disponible');\n        }\n    });\n});","position":1,"mode":1}]}},configs:[],disableTracking:0,texts:{acceptAndDisplay:'tl_cookiebar.acceptAndDisplayLabel'}});</script>\n
      \n
      <div id="sfwdt42e11d" class="sf-toolbar sf-display-none" role="region" aria-label="Symfony Web Debug Toolbar">    <!-- START of Symfony Web Debug Toolbar --><div id="sfMiniToolbar-42e11d" class="sf-minitoolbar" data-no-turbolink data-turbo="false">    <button type="button" title="Show Symfony toolbar" id="sfToolbarMiniToggler-42e11d" accesskey="D" aria-expanded="false" aria-controls="sfToolbarMainContent-42e11d">        <svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Symfony" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg>    </button></div><div id="sfToolbarClearer-42e11d" class="sf-toolbar-clearer"></div><div id="sfToolbarMainContent-42e11d" class="sf-toolbarreset notranslate clear-fix" data-no-turbolink data-turbo="false">                                                    <div class="sf-toolbar-block sf-toolbar-block-request sf-toolbar-status-normal " >    <a href="https://www.essensei.fr/_profiler/42e11d?panel=request">        <div class="sf-toolbar-icon">        <svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Symfony" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .9C5.8.9.9 5.8.9 12a11 11 0 1 0 22.2 0A11 11 0 0 0 12 .9zm6.5 6c-.6 0-.9-.3-.9-.8 0-.2 0-.4.2-.6l.2-.4c0-.3-.5-.4-.6-.4-1.8.1-2.3 2.5-2.7 4.4l-.2 1c1 .2 1.8 0 2.2-.3.6-.4-.2-.7-.1-1.2.1-.3.5-.5.7-.6.5 0 .7.5.7.9 0 .7-1 1.8-3 1.8l-.6-.1-.6 2.4c-.4 1.6-.8 3.8-2.4 5.7-1.4 1.7-2.9 1.9-3.5 1.9-1.2 0-1.9-.6-2-1.5 0-.8.7-1.3 1.2-1.3.6 0 1.1.5 1.1 1s-.2.6-.4.6c-.1.1-.3.2-.3.4 0 .1.1.3.4.3.5 0 .8-.3 1.1-.5 1.2-.9 1.6-2.7 2.2-5.7l.1-.7.7-3.2c-.8-.6-1.3-1.4-2.4-1.7-.6-.1-1.1.1-1.5.5-.4.5-.2 1.1.2 1.5l.7.6c.7.8 1.2 1.6 1 2.5-.3 1.5-2 2.6-4 1.9-1.8-.6-2-1.8-1.8-2.5.2-.6.6-.7 1.1-.6.5.2.6.7.6 1.2l-.1.3c-.2.1-.3.3-.3.4-.1.4.4.6.7.7.7.3 1.6-.2 1.8-.8a1 1 0 0 0-.4-1.1l-.7-.8c-.4-.4-1.1-1.4-.7-2.6.1-.5.4-.9.7-1.3a4 4 0 0 1 2.8-.6c1.2.4 1.8 1.1 2.6 1.8.5-1.2 1-2.4 1.8-3.5.9-.9 1.9-1.6 3.1-1.7 1.3.2 2.2.7 2.2 1.6 0 .4-.2 1.1-.9 1.1z"/></svg>        <span class="sf-toolbar-value sf-toolbar-ajax-request-counter">            Loading&hellip;        </span>    </div>    </a>        <div class="sf-toolbar-info">        <div class="sf-toolbar-info-piece">            <b>Loading the web debug toolbar&hellip;</b>        </div>        <div class="sf-toolbar-info-piece">            Attempt #<span id="sfLoadCounter-42e11d"></span>        </div>        <div class="sf-toolbar-info-piece">            <b>                <button class="sf-cancel-button" type="button" id="sfLoadCancel-42e11d" title="Cancel loading">Cancel</button>            </b>        </div>    </div></div>                                <button class="hide-button" type="button" id="sfToolbarHideButton-42e11d" title="Close Toolbar" accesskey="D" aria-expanded="true" aria-controls="sfToolbarMainContent-42e11d">        <svg xmlns="http://www.w3.org/2000/svg" data-icon-name="icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">    <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>    <line x1="18" y1="6" x2="6" y2="18"></line>    <line x1="6" y1="6" x2="18" y2="18"></line></svg>    </button></div><!-- END of Symfony Web Debug Toolbar --></div><link rel="stylesheet" nonce="feec1f653b4611f985e8490e94d2c84d" href="https://www.essensei.fr/_wdt/styles" /><script nonce="0a28230e15520c17b8b8c4ba7e5e4fff">/*<![CDATA[*/    if (typeof Sfjs === 'undefined' || typeof Sfjs.loadToolbar === 'undefined') {        Sfjs = (function() {            "use strict";            if ('classList' in document.documentElement) {                var hasClass = function (el, cssClass) { return el.classList.contains(cssClass); };                var removeClass = function(el, cssClass) { el.classList.remove(cssClass); };                var addClass = function(el, cssClass) { el.classList.add(cssClass); };                var toggleClass = function(el, cssClass) { el.classList.toggle(cssClass); };            } else {                var hasClass = function (el, cssClass) { return el.className.match(new RegExp('\\b' + cssClass + '\\b')); };                var removeClass = function(el, cssClass) { el.className = el.className.replace(new RegExp('\\b' + cssClass + '\\b'), ' '); };                var addClass = function(el, cssClass) { if (!hasClass(el, cssClass)) { el.className += " " + cssClass; } };                var toggleClass = function(el, cssClass) { hasClass(el, cssClass) ? removeClass(el, cssClass) : addClass(el, cssClass); };            }            var noop = function() {};            var profilerStorageKey = 'symfony/profiler/';            var addEventListener;            var el = document.createElement('div');            if (!('addEventListener' in el)) {                addEventListener = function (element, eventName, callback) {                    element.attachEvent('on' + eventName, callback);                };            } else {                addEventListener = function (element, eventName, callback) {                    element.addEventListener(eventName, callback, false);                };            }            var request = function(url, onSuccess, onError, payload, options, tries) {                url = new URL(url);                url.searchParams.set('XDEBUG_IGNORE', '1');                url = url.toString();                var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');                options = options || {};                options.retry = options.retry || false;                tries = tries || 1;                /* this delays for 125, 375, 625, 875, and 1000, ... */                var delay = tries < 5 ? (tries - 0.5) * 250 : 1000;                xhr.open(options.method || 'GET', url, true);                xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');                xhr.onreadystatechange = function(state) {                    if (4 !== xhr.readyState) {                        return null;                    }                    if (xhr.status == 404 && options.retry && !options.stop) {                        setTimeout(function() {                            if (options.stop) {                                return;                            }                            request(url, onSuccess, onError, payload, options, tries + 1);                        }, delay);                        return null;                    }                    if (200 === xhr.status) {                        (onSuccess || noop)(xhr);                    } else {                        (onError || noop)(xhr);                    }                };                if (options.onSend) {                    options.onSend(tries);                }                xhr.send(payload || '');            };            var getPreference = function(name) {                if (!window.localStorage) {                    return null;                }                return localStorage.getItem(profilerStorageKey + name);            };            var setPreference = function(name, value) {                if (!window.localStorage) {                    return null;                }                localStorage.setItem(profilerStorageKey + name, value);            };            var requestStack = [];            var extractHeaders = function(xhr, stackElement) {                /* Here we avoid to call xhr.getResponseHeader in order to */                /* prevent polluting the console with CORS security errors */                var allHeaders = xhr.getAllResponseHeaders();                var ret;                if (ret = allHeaders.match(/^x-debug-token:\s+(.*)$/im)) {                    stackElement.profile = ret[1];                }                if (ret = allHeaders.match(/^x-debug-token-link:\s+(.*)$/im)) {                    stackElement.profilerUrl = ret[1];                }                if (ret = allHeaders.match(/^Symfony-Debug-Toolbar-Replace:\s+(.*)$/im)) {                    stackElement.toolbarReplaceFinished = false;                    stackElement.toolbarReplace = '1' === ret[1];                }            };            var successStreak = 4;            var pendingRequests = 0;            var renderAjaxRequests = function() {                var requestCounter = document.querySelector('.sf-toolbar-ajax-request-counter');                if (!requestCounter) {                    return;                }                requestCounter.textContent = requestStack.length;                var infoSpan = document.querySelector(".sf-toolbar-ajax-info");                if (infoSpan) {                    infoSpan.textContent = requestStack.length + ' AJAX request' + (requestStack.length !== 1 ? 's' : '');                }                var ajaxToolbarPanel = document.querySelector('.sf-toolbar-block-ajax');                if (requestStack.length) {                    ajaxToolbarPanel.style.display = 'block';                } else {                    ajaxToolbarPanel.style.display = 'none';                }                if (pendingRequests > 0) {                    addClass(ajaxToolbarPanel, 'sf-ajax-request-loading');                } else if (successStreak < 4) {                    addClass(ajaxToolbarPanel, 'sf-toolbar-status-red');                    removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading');                } else {                    removeClass(ajaxToolbarPanel, 'sf-ajax-request-loading');                    removeClass(ajaxToolbarPanel, 'sf-toolbar-status-red');                }            };            var startAjaxRequest = function(index) {                var tbody = document.querySelector('.sf-toolbar-ajax-request-list');                if (!tbody) {                    return;                }                var nbOfAjaxRequest = tbody.rows.length;                if (nbOfAjaxRequest >= 100) {                    tbody.deleteRow(0);                }                var request = requestStack[index];                pendingRequests++;                var row = document.createElement('tr');                request.DOMNode = row;                var requestNumberCell = document.createElement('td');                requestNumberCell.textContent = index + 1;                row.appendChild(requestNumberCell);                var profilerCell = document.createElement('td');                profilerCell.textContent = 'n/a';                row.appendChild(profilerCell);                var methodCell = document.createElement('td');                methodCell.textContent = request.method;                row.appendChild(methodCell);                var typeCell = document.createElement('td');                typeCell.textContent = request.type;                row.appendChild(typeCell);                var statusCodeCell = document.createElement('td');                var statusCode = document.createElement('span');                statusCode.textContent = 'n/a';                statusCodeCell.appendChild(statusCode);                row.appendChild(statusCodeCell);                var pathCell = document.createElement('td');                pathCell.className = 'sf-ajax-request-url';                if ('GET' === request.method) {                    var pathLink = document.createElement('a');                    pathLink.setAttribute('href', request.url);                    pathLink.textContent = request.url;                    pathCell.appendChild(pathLink);                } else {                    pathCell.textContent = request.url;                }                pathCell.setAttribute('title', request.url);                row.appendChild(pathCell);                var durationCell = document.createElement('td');                durationCell.className = 'sf-ajax-request-duration';                durationCell.textContent = 'n/a';                row.appendChild(durationCell);                request.liveDurationHandle = setInterval(function() {                    durationCell.textContent = (new Date() - request.start) + ' ms';                }, 100);                row.className = 'sf-ajax-request sf-ajax-request-loading';                tbody.insertBefore(row, null);                var toolbarInfo = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info');                toolbarInfo.scrollTop = toolbarInfo.scrollHeight;                renderAjaxRequests();            };            var finishAjaxRequest = function(index) {                var request = requestStack[index];                clearInterval(request.liveDurationHandle);                if (!request.DOMNode) {                    return;                }                if (request.toolbarReplace && !request.toolbarReplaceFinished && request.profile) {                    /* Flag as complete because finishAjaxRequest can be called multiple times. */                    request.toolbarReplaceFinished = true;                    /* Search up through the DOM to find the toolbar's container ID. */                    for (var elem = request.DOMNode; elem && elem !== document; elem = elem.parentNode) {                        if (elem.id.match(/^sfwdt/)) {                            Sfjs.loadToolbar(elem.id.replace(/^sfwdt/, ''), request.profile);                            break;                        }                    }                }                pendingRequests--;                var row = request.DOMNode;                /* Unpack the children from the row */                var profilerCell = row.children[1];                var methodCell = row.children[2];                var statusCodeCell = row.children[4];                var statusCodeElem = statusCodeCell.children[0];                var durationCell = row.children[6];                if (request.error) {                    row.className = 'sf-ajax-request sf-ajax-request-error';                    methodCell.className = 'sf-ajax-request-error';                    successStreak = 0;                } else {                    row.className = 'sf-ajax-request sf-ajax-request-ok';                    successStreak++;                }                if (request.statusCode) {                    if (request.statusCode < 300) {                        statusCodeElem.setAttribute('class', 'sf-toolbar-status');                    } else if (request.statusCode < 400) {                        statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-yellow');                    } else {                        statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red');                    }                    statusCodeElem.textContent = request.statusCode;                } else {                    statusCodeElem.setAttribute('class', 'sf-toolbar-status sf-toolbar-status-red');                }                if (request.duration) {                    durationCell.textContent = request.duration + ' ms';                }                if (request.profilerUrl) {                    profilerCell.textContent = '';                    var profilerLink = document.createElement('a');                    profilerLink.setAttribute('href', request.profilerUrl);                    profilerLink.textContent = request.profile;                    profilerCell.appendChild(profilerLink);                }                renderAjaxRequests();            };                        if (window.fetch && window.fetch.polyfill === undefined) {                var oldFetch = window.fetch;                window.fetch = function () {                    var promise = oldFetch.apply(this, arguments);                    var url = arguments[0];                    var params = arguments[1];                    var paramType = Object.prototype.toString.call(arguments[0]);                    if (paramType === '[object Request]') {                        url = arguments[0].url;                        params = {                            method: arguments[0].method,                            credentials: arguments[0].credentials,                            headers: arguments[0].headers,                            mode: arguments[0].mode,                            redirect: arguments[0].redirect                        };                    } else {                        url = String(url);                    }                    if (!url.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) {                        var method = 'GET';                        if (params && params.method !== undefined) {                            method = params.method;                        }                        var stackElement = {                            error: false,                            url: url,                            method: method,                            type: 'fetch',                            start: new Date()                        };                        var idx = requestStack.push(stackElement) - 1;                        promise.then(function (r) {                            stackElement.duration = new Date() - stackElement.start;                            stackElement.error = r.status < 200 || r.status >= 400;                            stackElement.statusCode = r.status;                            stackElement.profile = r.headers.get('x-debug-token');                            stackElement.profilerUrl = r.headers.get('x-debug-token-link');                            stackElement.toolbarReplaceFinished = false;                            stackElement.toolbarReplace = '1' === r.headers.get('Symfony-Debug-Toolbar-Replace');                            finishAjaxRequest(idx);                        }, function (e){                            stackElement.error = true;                            finishAjaxRequest(idx);                        });                        startAjaxRequest(idx);                    }                    return promise;                };            }            if (window.XMLHttpRequest && XMLHttpRequest.prototype.addEventListener) {                var proxied = XMLHttpRequest.prototype.open;                XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {                    var self = this;                    /* prevent logging AJAX calls to static and inline files, like templates */                    var path = url;                    if (url.slice(0, 1) === '/') {                        if (0 === url.indexOf('')) {                            path = url.slice(0);                        }                    }                    else if (0 === url.indexOf('https\u003A\/\/www.essensei.fr')) {                        path = url.slice(23);                    }                    if (!path.match(new RegExp("^\/((index|app(_[\\w]+)?)\\.php\/)?_wdt"))) {                        var stackElement = {                            error: false,                            url: url,                            method: method,                            type: 'xhr',                            start: new Date()                        };                        var idx = requestStack.push(stackElement) - 1;                        this.addEventListener('readystatechange', function() {                            if (self.readyState == 4) {                                stackElement.duration = new Date() - stackElement.start;                                stackElement.error = self.status < 200 || self.status >= 400;                                stackElement.statusCode = self.status;                                extractHeaders(self, stackElement);                                finishAjaxRequest(idx);                            }                        }, false);                        startAjaxRequest(idx);                    }                    proxied.apply(this, Array.prototype.slice.call(arguments));                };            }                        return {                hasClass: hasClass,                removeClass: removeClass,                addClass: addClass,                toggleClass: toggleClass,                getPreference: getPreference,                setPreference: setPreference,                addEventListener: addEventListener,                request: request,                renderAjaxRequests: renderAjaxRequests,                getSfwdt: function(token) {                    return document.getElementById('sfwdt' + token);                },                load: function(selector, url, onSuccess, onError, options) {                    var el = document.getElementById(selector);                    if (el && el.getAttribute('data-sfurl') !== url) {                        request(                            url,                            function(xhr) {                                el.innerHTML = xhr.responseText;                                el.setAttribute('data-sfurl', url);                                removeClass(el, 'loading');                                var pending = pendingRequests;                                for (var i = 0; i < requestStack.length; i++) {                                    startAjaxRequest(i);                                    if (requestStack[i].duration) {                                        finishAjaxRequest(i);                                    }                                }                                /* Revert the pending state in case there was a start called without a finish above. */                                pendingRequests = pending;                                (onSuccess || noop)(xhr, el);                            },                            function(xhr) { (onError || noop)(xhr, el); },                            '',                            options                        );                    }                    return this;                },                showToolbar: function(token) {                    var sfwdt = this.getSfwdt(token);                    removeClass(sfwdt, 'sf-display-none');                    if (getPreference('toolbar/displayState') == 'none') {                        document.getElementById('sfToolbarMainContent-' + token).style.display = 'none';                        document.getElementById('sfToolbarClearer-' + token).style.display = 'none';                        document.getElementById('sfMiniToolbar-' + token).style.display = 'block';                    } else {                        document.getElementById('sfToolbarMainContent-' + token).style.display = 'block';                        document.getElementById('sfToolbarClearer-' + token).style.display = 'block';                        document.getElementById('sfMiniToolbar-' + token).style.display = 'none';                    }                },                hideToolbar: function(token) {                    var sfwdt = this.getSfwdt(token);                    addClass(sfwdt, 'sf-display-none');                },                initToolbar: function(token) {                    this.showToolbar(token);                    var hideButton = document.getElementById('sfToolbarHideButton-' + token);                    var hideButtonSvg = hideButton.querySelector('svg');                    hideButtonSvg.setAttribute('aria-hidden', 'true');                    hideButtonSvg.setAttribute('focusable', 'false');                    addEventListener(hideButton, 'click', function (event) {                        event.preventDefault();                        var p = this.parentNode;                        p.style.display = 'none';                        (p.previousElementSibling || p.previousSibling).style.display = 'none';                        document.getElementById('sfMiniToolbar-' + token).style.display = 'block';                        setPreference('toolbar/displayState', 'none');                    });                    var showButton = document.getElementById('sfToolbarMiniToggler-' + token);                    var showButtonSvg = showButton.querySelector('svg');                    showButtonSvg.setAttribute('aria-hidden', 'true');                    showButtonSvg.setAttribute('focusable', 'false');                    addEventListener(showButton, 'click', function (event) {                        event.preventDefault();                        var elem = this.parentNode;                        if (elem.style.display == 'none') {                            document.getElementById('sfToolbarMainContent-' + token).style.display = 'none';                            document.getElementById('sfToolbarClearer-' + token).style.display = 'none';                            elem.style.display = 'block';                        } else {                            document.getElementById('sfToolbarMainContent-' + token).style.display = 'block';                            document.getElementById('sfToolbarClearer-' + token).style.display = 'block';                            elem.style.display = 'none'                        }                        setPreference('toolbar/displayState', 'block');                    });                },                loadToolbar: function(token, newToken) {                    var that = this;                    var triesCounter = document.getElementById('sfLoadCounter-' + token);                    var options = {                        retry: true,                        onSend: function (count) {                            if (count === 3) {                                that.initToolbar(token);                            }                            if (triesCounter) {                                triesCounter.textContent = count;                            }                        },                    };                    var cancelButton = document.getElementById('sfLoadCancel-' + token);                    if (cancelButton) {                        addEventListener(cancelButton, 'click', function (event) {                            event.preventDefault();                            options.stop = true;                            that.hideToolbar(token);                        });                    }                    newToken = (newToken || token);                    this.load(                        'sfwdt' + token,                        'https\u003A\/\/www.essensei.fr\/_wdt\/xxxxxx'.replace(/xxxxxx/, newToken),                        function(xhr, el) {                            /* Do nothing in the edge case where the toolbar has already been replaced with a new one */                            if (!document.getElementById('sfToolbarMainContent-' + newToken)) {                                return;                            }                            /* Evaluate in global scope scripts embedded inside the toolbar */                            var i, scripts = [].slice.call(el.querySelectorAll('script'));                            for (i = 0; i < scripts.length; ++i) {                                if (scripts[i].firstChild) {                                    eval.call({}, scripts[i].firstChild.nodeValue);                                }                            }                            el.style.display = -1 !== xhr.responseText.indexOf('sf-toolbarreset') ? 'block' : 'none';                            if (el.style.display == 'none') {                                return;                            }                            that.initToolbar(newToken);                            /* Handle toolbar-info position */                            var toolbarBlocks = [].slice.call(el.querySelectorAll('.sf-toolbar-block'));                            for (i = 0; i < toolbarBlocks.length; ++i) {                                toolbarBlocks[i].onmouseover = function () {                                    var toolbarInfo = this.querySelectorAll('.sf-toolbar-info')[0];                                    var pageWidth = document.body.clientWidth;                                    var elementWidth = toolbarInfo.offsetWidth;                                    var leftValue = (elementWidth + this.offsetLeft) - pageWidth;                                    var rightValue = (elementWidth + (pageWidth - this.offsetLeft)) - pageWidth;                                    /* Reset right and left value, useful on window resize */                                    toolbarInfo.style.right = '';                                    toolbarInfo.style.left = '';                                    if (elementWidth > pageWidth) {                                        toolbarInfo.style.left = 0;                                    }                                    else if (leftValue > 0 && rightValue > 0) {                                        toolbarInfo.style.right = (rightValue * -1) + 'px';                                    } else if (leftValue < 0) {                                        toolbarInfo.style.left = 0;                                    } else {                                        toolbarInfo.style.right = '0px';                                    }                                };                            }                            renderAjaxRequests();                            addEventListener(document.querySelector('.sf-toolbar-ajax-clear'), 'click', function() {                                requestStack = [];                                renderAjaxRequests();                                successStreak = 4;                                document.querySelector('.sf-toolbar-ajax-request-list').innerHTML = '';                            });                            addEventListener(document.querySelector('.sf-toolbar-block-ajax'), 'mouseenter', function (event) {                                var elem = document.querySelector('.sf-toolbar-block-ajax .sf-toolbar-info');                                elem.scrollTop = elem.scrollHeight;                            });                            addEventListener(document.querySelector('.sf-toolbar-block-ajax > .sf-toolbar-icon'), 'click', function (event) {                                event.preventDefault();                                toggleClass(this.parentNode, 'hover');                            });                            var dumpInfo = document.querySelector('.sf-toolbar-block-dump .sf-toolbar-info');                            if (null !== dumpInfo) {                                addEventListener(dumpInfo, 'sfbeforedumpcollapse', function () {                                    dumpInfo.style.minHeight = dumpInfo.getBoundingClientRect().height+'px';                                });                                addEventListener(dumpInfo, 'mouseleave', function () {                                    dumpInfo.style.minHeight = '';                                });                            }                        },                        function(xhr) {                            if (xhr.status !== 0 && !options.stop) {                                var sfwdt = that.getSfwdt(token);                                sfwdt.innerHTML = '\                                <div class="sf-toolbarreset notranslate">\                                    <div class="sf-toolbar-icon"><svg width="26" height="28" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" viewBox="0 0 26 28" enable-background="new 0 0 26 28" xml:space="preserve"><path fill="#FFFFFF" d="M13 0C5.8 0 0 5.8 0 13c0 7.2 5.8 13 13 13c7.2 0 13-5.8 13-13C26 5.8 20.2 0 13 0z M20 7.5 c-0.6 0-1-0.3-1-0.9c0-0.2 0-0.4 0.2-0.6c0.1-0.3 0.2-0.3 0.2-0.4c0-0.3-0.5-0.4-0.7-0.4c-2 0.1-2.5 2.7-2.9 4.8l-0.2 1.1 c1.1 0.2 1.9 0 2.4-0.3c0.6-0.4-0.2-0.8-0.1-1.3C18 9.2 18.4 9 18.7 8.9c0.5 0 0.8 0.5 0.8 1c0 0.8-1.1 2-3.3 1.9 c-0.3 0-0.5 0-0.7-0.1L15 14.1c-0.4 1.7-0.9 4.1-2.6 6.2c-1.5 1.8-3.1 2.1-3.8 2.1c-1.3 0-2.1-0.6-2.2-1.6c0-0.9 0.8-1.4 1.3-1.4 c0.7 0 1.2 0.5 1.2 1.1c0 0.5-0.2 0.6-0.4 0.7c-0.1 0.1-0.3 0.2-0.3 0.4c0 0.1 0.1 0.3 0.4 0.3c0.5 0 0.9-0.3 1.2-0.5 c1.3-1 1.7-2.9 2.4-6.2l0.1-0.8c0.2-1.1 0.5-2.3 0.8-3.5c-0.9-0.7-1.4-1.5-2.6-1.8c-0.8-0.2-1.3 0-1.7 0.4C8.4 10 8.6 10.7 9 11.1 l0.7 0.7c0.8 0.9 1.3 1.7 1.1 2.7c-0.3 1.6-2.1 2.8-4.3 2.1c-1.9-0.6-2.2-1.9-2-2.7c0.2-0.6 0.7-0.8 1.2-0.6 c0.5 0.2 0.7 0.8 0.6 1.3c0 0.1 0 0.1-0.1 0.3C6 15 5.9 15.2 5.9 15.3c-0.1 0.4 0.4 0.7 0.8 0.8c0.8 0.3 1.7-0.2 1.9-0.9 c0.2-0.6-0.2-1.1-0.4-1.2l-0.8-0.9c-0.4-0.4-1.2-1.5-0.8-2.8c0.2-0.5 0.5-1 0.9-1.4c1-0.7 2-0.8 3-0.6c1.3 0.4 1.9 1.2 2.8 1.9 c0.5-1.3 1.1-2.6 2-3.8c0.9-1 2-1.7 3.3-1.8C20 4.8 21 5.4 21 6.3C21 6.7 20.8 7.5 20 7.5z"/></svg></div>\                                    An error occurred while loading the web debug toolbar. <a href="https\u003A\/\/www.essensei.fr\/_profiler\/' + newToken + '">Open the web profiler.</a>\                                </div>\                            ';                                sfwdt.setAttribute('class', 'sf-toolbar sf-error-toolbar');                            }                        },                        options                    );                    return this;                },                toggle: function(selector, elOn, elOff) {                    var tmp = elOn.style.display,                        el = document.getElementById(selector);                    elOn.style.display = elOff.style.display;                    elOff.style.display = tmp;                    if (el) {                        el.style.display = 'none' === tmp ? 'none' : 'block';                    }                    return this;                },            };        })();    }    Sfjs.loadToolbar('42e11d');/*]]>*/</script>\n
      </body>\n
      </html>\n
      \n
      <!-- TEMPLATE END: templates/client/fe_page.html5 -->\n
      """
  }
  -action: "delete"
}
Envelope stamps when dispatching No items
Envelope stamps after dispatch
Symfony\Component\Messenger\Stamp\BusNameStamp {#12775
  -busName: "messenger.bus.default"
}
Symfony\Component\Messenger\Stamp\SentStamp {#12805
  -senderClass: "Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineTransport"
  -senderAlias: "contao_prio_low"
}
Symfony\Component\Messenger\Stamp\TransportMessageIdStamp {#12812
  -id: "1892586"
}