A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Collaboration productive : comment établir un flux de travail qui fonctionne pour toutes les disciplines (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script>
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://numerique.canada.ca/2018/08/21/collaboration-productive/">
  55. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>Collaboration productive : comment établir un flux de travail qui fonctionne pour toutes les disciplines</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  63. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  64. </svg> Accueil</a> •
  65. <a href="https://numerique.canada.ca/2018/08/21/collaboration-productive/" title="Lien vers le contenu original">Source originale</a>
  66. </p>
  67. </nav>
  68. <hr>
  69. <p>Au Service numérique canadien (SNC), nous formons nos équipes de produits pour qu’elles se composent de gestionnaires de produits, de chercheurs, de concepteurs, de développeurs, d’experts en politiques et de spécialistes en communication. Mais le fait de réunir une équipe multidisciplinaire ne signifie pas que la partie la plus difficile est terminée. Toutes les personnes que vous avez rassemblées au sein de votre équipe proviennent de disciplines différentes et chacune a ses propres façons de travailler. Il peut s’agir (sans s’y limiter) du rythme, des outils, des heures, des moments de la journée, des conditions environnementales, des méthodes de communication et des moyens que chaque personne préfère pour donner et recevoir de la rétroaction. Avec tant de variables différentes, il est facile de se sentir rapidement dépassé.</p>
  70. <p>Il y a deux façons principales de régler ce problème :</p>
  71. <ol>
  72. <li>Attribuer aux chefs et aux gestionnaires la tâche difficile d’établir un consensus, en déterminant comment ils pensent que leur équipe <em>devrait</em> fonctionner et en espérant que tout le monde réagira favorablement; OU</li>
  73. <li>Laisser les équipes tracer leur propre voie, c’est-à-dire déterminer elles-mêmes ces différences au fur et à mesure qu’elles s’habituent à travailler ensemble, et espérer qu’elles parviendront à un consensus productif par elles-mêmes.</li>
  74. </ol>
  75. <p>Ces stratégies ne sont pas toujours très productives lorsqu’il y a tant de styles de travail uniques en jeu. Elles ont tendance à créer plus de problèmes qu’elles n’en résolvent et à produire des équipes qui sont réactives plutôt que <strong>proactives</strong>.</p>
  76. <p>Comment pouvons-nous relever certains de ces défis lorsque des équipes sont formées? Et comment pouvons-nous continuer à renforcer les équipes à mesure que le projet avance?</p>
  77. <h2 id="concevoir-le-processus-d-équipe-dans-une-optique-multidisciplinaire">Concevoir le processus d’équipe dans une optique multidisciplinaire</h2>
  78. <p>La culture joue un rôle important dans toute équipe, peu importe sa taille et sa structure. Mais nous ne pouvons pas nous attendre à ce que la culture d’équipe règle tous nos problèmes. Il n’y a pas de solution universelle. Il faut plutôt concevoir une approche multidisciplinaire du <strong>processus d’équipe</strong> et créer un flux de travail organisé qui répond aux besoins de tous les membres de l’équipe et dans lequel ils se sentent déjà à l’aise de fonctionner et de contribuer. C’est certainement plus facile à dire qu’à faire, alors voici un aperçu de la façon dont notre équipe de produit de citoyenneté a procédé pour s’améliorer.</p>
  79. <p>Nous avons travaillé ensemble à l’élaboration de notre propre approche multidisciplinaire unique au cours des six derniers mois (<em>et nous y travaillons encore!</em>). Notre gestionnaire de produits a fait un excellent travail pour ce qui est de nous aligner sur les façons dont nous aimons travailler, en créant de l’espace pour discuter ouvertement de ces détails.</p>
  80. <p>Au cours de notre première séance d’orientation en équipe, nous avons utilisé un outil appelé <a href="https://medium.com/@cassierobinson/a-user-manual-for-me-d3a851fbc694">A User Manual for Me</a> (Manuel de l’utilisateur pour moi) créé par Cassie Robinson.</p>
  81. <p><img width="100%" alt="L'outil Manuel de l'utilisateur pour moi qui offre huit cases où les préférences de travail peuvent être indiquées dont les heures auxquels j'aime travailler et les meilleures façons de communiquer avec moi." src="https://numerique.canada.ca/img/cds/blog-manual-fr.png"></p>
  82. <p>Chaque personne devait remplir cet outil, puis le partager avec l’équipe. Cela nous a permis de discuter de nos styles de travail, un sujet qui ne ressort pas toujours naturellement dans nos conversations. Depuis, nous avons utilisé des variantes de cet outil parmi d’autres équipes de produits du SNC et avons créé une <a href="https://docs.google.com/presentation/d/1KNNLKtFYoLOdTZ5Ez0ZBXwDGcZNB7AcfKr-4iMNF5L0/edit#slide=id.g3fd0daa6c4_0_0">version numérique bilingue</a> pour que les membres de nos équipes élargies puissent la mettre à jour fréquemment.</p>
  83. <p>Nous avons également utilisé un outil du guide de travail d’équipe d’Atlassian appelé <a href="https://www.atlassian.com/team-playbook/plays/roles-and-responsibilities">Roles and Responsibilities</a> (Rôles et responsabilités) pour définir et préciser les compétences, les contributions et les besoins de chaque personne.</p>
  84. <p><img width="100%" alt="L'outil des Rôles et responsabilités pour mieux comprendre les contributions de tous les membres de l'équipe." src="https://numerique.canada.ca/img/cds/blog-roles-fr.png"></p>
  85. <p>Télécharger une copie de l’outil <a href="https://drive.google.com/a/cds-snc.ca/file/d/1DKI3I9_pTFAjRnVK_tlCYsGJ_jVQub0q/view?usp=sharing">Rôles et responsabilités</a> en français.</p>
  86. <p>Nous avons utilisé cet outil en y ajoutant une petite variante. Premièrement, nous l’avons rempli en pensant strictement à nous-mêmes. Plutôt que d’arrêter l’exercice là, chacun d’entre nous s’est associé à un autre membre de l’équipe pour remplir de nouveau cette feuille, cette fois en nous concentrant sur la façon dont nous percevions le rôle de l’autre personne, sans lui en parler d’abord. Par la suite, nous avons fait une mise en commun, et à tour de rôle, chaque personne a lu ce qu’elle avait écrit pour elle-même, partagé ce qu’elle avait écrit au sujet des autres et participé à une discussion sur nos perceptions par rapport à la réalité. Ce processus nous a permis de nous mettre tous sur la même longueur d’onde quant à notre contribution à l’équipe et aux façons dont nous pouvons nous appuyer les uns sur les autres et apprendre les uns des autres.</p>
  87. <h2 id="les-outils-que-nous-utilisons-pour-travailler-ensemble">Les outils que nous utilisons pour travailler ensemble</h2>
  88. <p>Armés d’une orientation stratégique et d’une meilleure compréhension de la façon dont chaque membre de l’équipe travaille, nous étions mieux placés pour créer <em>ensemble</em> un flux de travail inclusif.</p>
  89. <p>Comme notre équipe de produits travaillait de façon itérative, en effectuant beaucoup de tests avec des utilisateurs toutes les deux semaines, nous devions apporter rapidement des changements au produit sur lequel nous travaillions. Cela s’accompagnait du besoin de traduire toutes les connaissances que nous obtenions grâce à la recherche en interventions de conception qui pouvaient être mises en œuvre par nos développeurs en temps opportun avant notre prochaine série de tests. En travaillant de cette façon, nous nous sommes rendu compte que nous avions besoin de voir les tâches des autres, pour établir des liens entre les chercheurs, les concepteurs, les développeurs et tous les autres membres de l’équipe.</p>
  90. <p><img src="https://numerique.canada.ca/img/cds/translating-FR-02.svg" alt="TRADUCTION. DE LA RECHERCHE AUX CONNAISSANCES AUX PROBLÈMES AUX INTERVENTIONS DE CONCEPTIONAUX PROBLÈMES SUR GITHUB À LA MISE EN OEUVRE DU DÉVELOPPEMENT."></p>
  91. <p>En tant qu’équipe, nous avons utilisé <a href="https://trello.com/">Trello</a> pour gérer notre backlog de produit et pour savoir qui travaillait sur quoi pendant chaque sprint. De plus, nous avons créé un tableau de bord secondaire, appelé notre tableau de bord décisionnel, qui nous a permis de documenter les problèmes vécus par les utilisateurs lors de chaque série de tests. En tant qu’équipe, nous avons examiné ces problèmes et examiné la façon dont nous pouvions les aborder au moyen de diverses interventions de conception et de développement. Nous avons créé des cartes détaillées qui décrivaient les changements nécessaires et nous y avons joint les cartes de « problème » originales auxquelles elles se rapportaient. De cette façon, nous pouvons retracer chaque décision à une connaissance obtenue grâce à la recherche. Une fois qu’une carte est prête à être ramassée par un développeur, nous la transférons à notre colonne « en cours » et la reproduisons à notre tableau général de Trello pour l’intégrer officiellement dans un sprint.</p>
  92. <p><img width="100%" alt="Le tableau de bord décisionnel comprend cinq listes dont les problèmes, les recommandations pour le service, les interventions de conception, le travail en cours et le travail complété." src="https://numerique.canada.ca/img/cds/blog-ircc-dashboard.png"></p>
  93. <p>Les développeurs participent tout au long du processus de conception aux réunions, aux activités de recherche et au tableau de bord décisionnel. Afin d’aider l’ensemble de notre équipe à suivre tous les changements nécessaires, nous ouvrons aussi des problèmes directement dans GitHub en décrivant tous les détails que les développeurs doivent connaître. <a href="https://github.com/cds-snc/ircc-rescheduler">GitHub</a> nous permet de communiquer avec les développeurs d’une manière qui est familière et productive compte tenu de leur flux de travail existant. GitHub permet également aux membres du public de soulever des questions et des problèmes qu’ils vivent lorsqu’ils vérifient les itérations des services que nous créons. Cette approche a été particulièrement utile pour notre travail sur les produits d’IRCC, à mesure que nous avons approfondi nos connaissances.</p>
  94. <p><img width="100%" alt="L'interface de GitHub montre les changements apportés avec les problèmes maintenant fermés." src="https://numerique.canada.ca/img/cds/blog-eman-screenshot.png"></p>
  95. <p>Alors que nous nous efforçons de travailler ouvertement, il ne s’agit pas seulement de la façon dont nous fonctionnons à l’externe avec le public. C’est un cadre que nous pouvons appliquer à l’interne à toutes les équipes de produits. Grâce à ces méthodes de travail, il est plus facile pour les membres de notre équipe de produits de communiquer et de suivre ce que les autres font. À mesure que le SNC prend de l’expansion et forme des équipes plus importantes qui comprennent des membres des ministères partenaires, il est plus important que jamais de créer des processus partagés qui répondent aux besoins uniques des équipes multidisciplinaires et de leurs membres. <strong>Il n’est pas nécessaire que les grandes équipes soient synonymes de défis plus importants.</strong></p>
  96. <p>Il s’agit d’un aperçu de notre processus. C’est encore un travail en cours, et la patience, la souplesse et l’itération continue sont des ingrédients clés. Nous continuerons de vous faire part de la façon dont nous adaptons nos flux de travail dans l’espoir que cela vous aidera à améliorer les vôtres également.</p>
  97. <p>Si vous êtes à la recherche de conseils ou si vous avez des conseils que vous aimeriez partager, <a href="mailto:Eman.El-Fayomi@tbs-sct.gc.ca">nous aimerions avoir de vos nouvelles!</a></p>
  98. </article>
  99. <hr>
  100. <footer>
  101. <p>
  102. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  103. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  104. </svg> Accueil</a> •
  105. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  106. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  107. </svg> RSS</a> •
  108. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  109. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  110. </svg> Pro</a> •
  111. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  112. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  113. </svg> Email</a> •
  114. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  115. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  116. </svg> Légal</abbr>
  117. </p>
  118. <template id="theme-selector">
  119. <form>
  120. <fieldset>
  121. <legend><svg class="icon icon-brightness-contrast">
  122. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  123. </svg> Thème</legend>
  124. <label>
  125. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  126. </label>
  127. <label>
  128. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  129. </label>
  130. <label>
  131. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  132. </label>
  133. </fieldset>
  134. </form>
  135. </template>
  136. </footer>
  137. <script>
  138. function loadThemeForm(templateName) {
  139. const themeSelectorTemplate = document.querySelector(templateName)
  140. const form = themeSelectorTemplate.content.firstElementChild
  141. themeSelectorTemplate.replaceWith(form)
  142. form.addEventListener('change', (e) => {
  143. const chosenColorScheme = e.target.value
  144. localStorage.setItem('theme', chosenColorScheme)
  145. toggleTheme(chosenColorScheme)
  146. })
  147. const selectedTheme = localStorage.getItem('theme')
  148. if (selectedTheme && selectedTheme !== 'undefined') {
  149. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  150. }
  151. }
  152. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  153. window.addEventListener('load', () => {
  154. let hasDarkRules = false
  155. for (const styleSheet of Array.from(document.styleSheets)) {
  156. let mediaRules = []
  157. for (const cssRule of styleSheet.cssRules) {
  158. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  159. continue
  160. }
  161. // WARNING: Safari does not have/supports `conditionText`.
  162. if (cssRule.conditionText) {
  163. if (cssRule.conditionText !== prefersColorSchemeDark) {
  164. continue
  165. }
  166. } else {
  167. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  168. continue
  169. }
  170. }
  171. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  172. }
  173. // WARNING: do not try to insert a Rule to a styleSheet you are
  174. // currently iterating on, otherwise the browser will be stuck
  175. // in a infinite loop…
  176. for (const mediaRule of mediaRules) {
  177. styleSheet.insertRule(mediaRule.cssText)
  178. hasDarkRules = true
  179. }
  180. }
  181. if (hasDarkRules) {
  182. loadThemeForm('#theme-selector')
  183. }
  184. })
  185. </script>
  186. </body>
  187. </html>