123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685 |
- <!doctype html><!-- This is a valid HTML5 document. -->
- <!-- Screen readers, SEO, extensions and so on. -->
- <html lang=fr>
- <!-- Has to be within the first 1024 bytes, hence before the <title>
- See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
- <meta charset=utf-8>
- <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
- <!-- The viewport meta is quite crowded and we are responsible for that.
- See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
- <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
- <!-- Required to make a valid HTML5 document. -->
- <title>Get a Kanban! (or Scrum board) (archive) — David Larlet</title>
- <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
- <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
- <link rel="manifest" href="/manifest.json">
- <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
- <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
- <meta name="apple-mobile-web-app-title" content="David Larlet">
- <meta name="application-name" content="David Larlet">
- <meta name="msapplication-TileColor" content="#da532c">
- <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
- <meta name="theme-color" content="#f0f0ea">
- <!-- That good ol' feed, subscribe :p. -->
- <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
-
- <meta name="robots" content="noindex, nofollow">
- <meta content="origin-when-cross-origin" name="referrer">
- <!-- Canonical URL for SEO purposes -->
- <link rel="canonical" href="http://mauveweb.co.uk/posts/2015/08/get-a-kanban.html">
-
- <style>
- /* http://meyerweb.com/eric/tools/css/reset/ */
- html, body, div, span,
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
- a, abbr, address, big, cite, code,
- del, dfn, em, img, ins,
- small, strike, strong, tt, var,
- dl, dt, dd, ol, ul, li,
- fieldset, form, label, legend,
- table, caption, tbody, tfoot, thead, tr, th, td,
- article, aside, canvas, details, embed,
- figure, figcaption, footer, header, hgroup,
- menu, nav, output, ruby, section, summary,
- time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- }
- /* HTML5 display-role reset for older browsers */
- article, aside, details, figcaption, figure,
- footer, header, hgroup, menu, nav, section { display: block; }
- body { line-height: 1; }
- blockquote, q { quotes: none; }
- blockquote:before, blockquote:after,
- q:before, q:after {
- content: '';
- content: none;
- }
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
- /* http://practicaltypography.com/equity.html */
- /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
- /* https://www.filamentgroup.com/lab/js-web-fonts.html */
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
- font-weight: 300;
- font-style: italic;
- font-display: swap;
- }
- @font-face {
- font-family: 'EquityTextB';
- src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
- url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
- font-weight: 700;
- font-style: normal;
- font-display: swap;
- }
-
- @font-face {
- font-family: 'ConcourseT3';
- src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
- url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
- font-weight: 300;
- font-style: normal;
- font-display: swap;
- }
-
-
- /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
- body {
- /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
- font-family: "EquityTextB", Palatino, serif;
- background-color: #f0f0ea;
- color: #07486c;
- font-kerning: normal;
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: subpixel-antialiased;
- text-rendering: optimizeLegibility;
- font-variant-ligatures: common-ligatures contextual;
- font-feature-settings: "kern", "liga", "clig", "calt";
- }
- pre, code, kbd, samp, var, tt {
- font-family: 'TriplicateT4c', monospace;
- }
- em {
- font-style: italic;
- color: #323a45;
- }
- strong {
- font-weight: bold;
- color: black;
- }
- nav {
- background-color: #323a45;
- color: #f0f0ea;
- display: flex;
- justify-content: space-around;
- padding: 1rem .5rem;
- }
- nav:last-child {
- border-bottom: 1vh solid #2d7474;
- }
- nav a {
- color: #f0f0ea;
- }
- nav abbr {
- border-bottom: 1px dotted white;
- }
-
- h1 {
- border-top: 1vh solid #2d7474;
- border-bottom: .2vh dotted #2d7474;
- background-color: #e3e1e1;
- color: #323a45;
- text-align: center;
- padding: 5rem 0 4rem 0;
- width: 100%;
- font-family: 'ConcourseT3';
- display: flex;
- flex-direction: column;
- }
- h1.single {
- padding-bottom: 10rem;
- }
- h1 span {
- position: absolute;
- top: 1vh;
- left: 20%;
- line-height: 0;
- }
- h1 span a {
- line-height: 1.7;
- padding: 1rem 1.2rem .6rem 1.2rem;
- border-radius: 0 0 6% 6%;
- background: #2d7474;
- font-size: 1.3rem;
- color: white;
- text-decoration: none;
- }
- h2 {
- margin: 4rem 0 1rem;
- border-top: .2vh solid #2d7474;
- padding-top: 1vh;
- }
- h3 {
- text-align: center;
- margin: 3rem 0 .75em;
- }
- hr {
- height: .4rem;
- width: .4rem;
- border-radius: .4rem;
- background: #07486c;
- margin: 2.5rem auto;
- }
- time {
- display: bloc;
- margin-left: 0 !important;
- }
- ul, ol {
- margin: 2rem;
- }
- ul {
- list-style-type: square;
- }
- a {
- text-decoration-skip-ink: auto;
- text-decoration-thickness: 0.05em;
- text-underline-offset: 0.09em;
- }
- article {
- max-width: 50rem;
- display: flex;
- flex-direction: column;
- margin: 2rem auto;
- }
- article.single {
- border-top: .2vh dotted #2d7474;
- margin: -6rem auto 1rem auto;
- background: #f0f0ea;
- padding: 2rem;
- }
- article p:last-child {
- margin-bottom: 1rem;
- }
- p {
- padding: 0 .5rem;
- margin-left: 3rem;
- }
- p + p,
- figure + p {
- margin-top: 2rem;
- }
-
- blockquote {
- background-color: #e3e1e1;
- border-left: .5vw solid #2d7474;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 1rem;
- margin: 1.5rem;
- }
- blockquote cite {
- font-style: italic;
- }
- blockquote p {
- margin-left: 0;
- }
-
- figure {
- border-top: .2vh solid #2d7474;
- background-color: #e3e1e1;
- text-align: center;
- padding: 1.5rem 0;
- margin: 1rem 0 0;
- font-size: 1.5rem;
- width: 100%;
- }
- figure img {
- max-width: 250px;
- max-height: 250px;
- border: .5vw solid #323a45;
- padding: 1px;
- }
- figcaption {
- padding: 1rem;
- line-height: 1.4;
- }
- aside {
- display: flex;
- flex-direction: column;
- background-color: #e3e1e1;
- padding: 1rem 0;
- border-bottom: .2vh solid #07486c;
- }
- aside p {
- max-width: 50rem;
- margin: 0 auto;
- }
-
- /* https://fvsch.com/code/css-locks/ */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: 1rem;
- line-height: calc( 1.5em + 0.2 * 1rem );
- }
- h1 {
- font-size: 1.9rem;
- line-height: calc( 1.2em + 0.2 * 1rem );
- }
- h2 {
- font-size: 1.6rem;
- line-height: calc( 1.3em + 0.2 * 1rem );
- }
- h3 {
- font-size: 1.35rem;
- line-height: calc( 1.4em + 0.2 * 1rem );
- }
- @media (min-width: 20em) {
- /* The (100vw - 20rem) / (50 - 20) part
- resolves to 0-1rem, depending on the
- viewport width (between 20em and 50em). */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
- margin-left: 0;
- }
- h1 {
- font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
- line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
- }
- }
- @media (min-width: 50em) {
- /* The right part of the addition *must* be a
- rem value. In this example we *could* change
- the whole declaration to font-size:2.5rem,
- but if our baseline value was not expressed
- in rem we would have to use calc. */
- p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
- font-size: calc( 1rem + .6 * 1rem );
- line-height: 1.5em;
- }
- p, li, pre, details {
- margin-left: 3rem;
- }
- h1 {
- font-size: calc( 1.9rem + 1.5 * 1rem );
- line-height: 1.2em;
- }
- h2 {
- font-size: calc( 1.5rem + 1.5 * 1rem );
- line-height: 1.3em;
- }
- h3 {
- font-size: calc( 1.35rem + 1.5 * 1rem );
- line-height: 1.4em;
- }
- figure img {
- max-width: 500px;
- max-height: 500px;
- }
- }
-
- figure.unsquared {
- margin-bottom: 1.5rem;
- }
- figure.unsquared img {
- height: inherit;
- }
-
-
-
- @media print {
- body { font-size: 100%; }
- a:after { content: " (" attr(href) ")"; }
- a, a:link, a:visited, a:after {
- text-decoration: underline;
- text-shadow: none !important;
- background-image: none !important;
- background: white;
- color: black;
- }
- abbr[title] { border-bottom: 0; }
- abbr[title]:after { content: " (" attr(title) ")"; }
- img { page-break-inside: avoid; }
- @page { margin: 2cm .5cm; }
- h1, h2, h3 { page-break-after: avoid; }
- p3 { orphans: 3; widows: 3; }
- img {
- max-width: 250px !important;
- max-height: 250px !important;
- }
- nav, aside { display: none; }
- }
-
- ul.with_columns {
- column-count: 1;
- }
- @media (min-width: 20em) {
- ul.with_columns {
- column-count: 2;
- }
- }
- @media (min-width: 50em) {
- ul.with_columns {
- column-count: 3;
- }
- }
- ul.with_two_columns {
- column-count: 1;
- }
- @media (min-width: 20em) {
- ul.with_two_columns {
- column-count: 1;
- }
- }
- @media (min-width: 50em) {
- ul.with_two_columns {
- column-count: 2;
- }
- }
-
- .gallery {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-around;
- }
- .gallery figure img {
- margin-left: 1rem;
- margin-right: 1rem;
- }
- .gallery figure figcaption {
- font-family: 'ConcourseT3'
- }
-
- footer {
- font-family: 'ConcourseT3';
- display: flex;
- flex-direction: column;
- border-top: 3px solid white;
- padding: 4rem 0;
- background-color: #07486c;
- color: white;
- }
- footer > * {
- max-width: 50rem;
- margin: 0 auto;
- }
- footer a {
- color: #f1c40f;
- }
- footer .avatar {
- width: 200px;
- height: 200px;
- border-radius: 50%;
- float: left;
- -webkit-shape-outside: circle();
- shape-outside: circle();
- margin-right: 2rem;
- padding: 2px 5px 5px 2px;
- background: white;
- border-left: 1px solid #f1c40f;
- border-top: 1px solid #f1c40f;
- border-right: 5px solid #f1c40f;
- border-bottom: 5px solid #f1c40f;
- }
- </style>
-
- <h1>
- <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
- Get a Kanban! (or Scrum board) (archive)
- <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
- </h1>
- <section>
- <article>
- <h3><a href="http://mauveweb.co.uk/posts/2015/08/get-a-kanban.html">Source originale du contenu</a></h3>
- <div>
- <p>I continue to be staggered at the effectiveness, as a process management
- technique, of simply sticking cards representing tasks onto a whiteboard.
- Whatever your industry or project management methodology, the ability it offers
- to visualise the <em>flow of work</em> is immensely powerful. It lets us plan the
- current work and the near future to maximise our productivity.</p>
- <img alt="/2015/kanban-example.png" class="align-center" src="http://mauveweb.co.uk/2015/kanban-example.png"/><p>It's valuable whether you're working on your own or working as a team. When
- working as a team, it can be used to schedule work among team members. When on
- your own, it merely helps with clarity of thought (we'll look at why a little
- later).</p>
- <p>Yet this is largely unknown outside of software development. All sorts of
- industries would benefit from this approach, from farming to law.</p>
- <div class="section" id="terminology">
- <h2>Terminology</h2>
- <p>There's lots of variation in the terminology around kanbans, so let me lay out
- the terms as I use them.</p>
- <p>The idea of a <strong>kanban</strong> originates in manufacturing in Japan. The word itself
- means <em>sign board</em> and refers to the board itself. Specific processes built
- around a kanban are called <strong>kanban methodologies</strong>. Scrum calls the kanban a
- "Scrum Board" and naturally there are all manner of other terms and practices
- for using a similar approach in other methodologies too.</p>
- <p>Onto the kanban we need to stick cards representing <strong>tasks</strong> - small pieces of
- work that are easy to pick up and get done. Sometimes tasks will relate to
- bigger projects. Some call these bigger projects <strong>epics</strong>, and may use
- additional cards to represent the relationship of tasks to epics.</p>
- <p>A <strong>backlog</strong> is the totality of the work yet to do (and again, terms differ;
- some practices may exclude work that is already scheduled).</p>
- </div>
- <div class="section" id="how-to-run-a-kanban">
- <h2>How to run a kanban</h2>
- <p>First of all, get yourself a real, physical whiteboard. If you can get a
- magnetic whiteboard, you can stick task cards to it with magnets, which is nice
- and clean. But otherwise your tasks can be cards stuck to the board with
- blu-tak, or post-it notes. I favour index cards of a weighty paper density,
- about the size of your hand when flat. This lets you write large, clear letters
- on them, which are easier to see from a distance, and they are somewhat
- resistant to being scuffed as you stack them into a deck and riffle through it.</p>
- <p>Next, you need to come up with your backlog. If you're in the middle of a piece
- of work, you can start by braindumping the current state. Otherwise, get into a
- quiet room, with the appropriate people if necessary, and a stack of index
- cards, and write out cards, or break them down, or tear them up, until you have
- a set of concrete tasks that will get you to your goal. Make sure everyone
- agrees the cards are correct.</p>
- <p>The cards can include all kinds of extra information that will help you plan
- the work. For example, you might include deadlines or an estimate (in hours,
- days or your own unit - I like "ideal hours").</p>
- <img alt="/2015/kanban-task-metadata.png" class="align-center" src="http://mauveweb.co.uk/2015/kanban-task-metadata.png"/><p>Sometimes tasks are easy to describe on a card but if you were to pick up the
- card as something to work on, it wouldn't be immediately obvious where to
- start. These should be broken down into smaller pieces of work during this
- planning phase. This allows you to see with better granularity how much of the
- large piece of work is done. I like tasks that are of an appropriate size for
- each person to do several of them in a week. However, it's OK to break down
- the card into smaller tasks later if the task is probably going to be something
- to tackle further in the future.</p>
- <p>Now, divide the whiteboard into columns. You will need at least two: something
- like backlog, and <strong>in progress</strong>. But you could have many more. Kanban is
- about flow. Tasks flow through the columns. The flow represents the phases of
- working on a task. You might start by quoting for work and finish by billing
- for it. Or you might start by making sure you have all the raw materials
- required and finish by taking inventory of materials used.</p>
- <img alt="/2015/kanban-flow.png" class="align-center" src="http://mauveweb.co.uk/2015/kanban-flow.png"/><p>None of these practices are set in stone - you can select them and reselect
- them as your practices evolve. For example, you could focus on longer-range
- planning:</p>
- <img alt="/2015/kanban-schedule.png" class="align-center" src="http://mauveweb.co.uk/2015/kanban-schedule.png"/><p>So with your whiteboard drawn, you can put your tasks on the board. Naturally
- many of your cards may not fit, so you can keep your backlog stack somewhere
- else. Choosing what to put on the board becomes important.</p>
- <p>Now, just move the cards to reflect the current state. When a task is done, you
- update the board and choose the next most valuable task to move forward. You
- might put initials by a card to indicate who is working on it.</p>
- <p>Visit the kanban regularly, as a team. Stop and replan frequently - anything
- from a couple of times a week up to a couple of times a day - especially when
- new information becomes available. This might involve pulling cards from the
- backlog onto the board, writing new cards, tearing up cards that have become
- redundant, and rearranging the board to reprioritise. Make sure the right
- people are present every time if possible.</p>
- <p>Less frequently you might make a bigger planning effort: pick up all the cards
- from your backlog pile or column, and sit down again with the relevant people
- to replan these and reassess all their priorities. Some of the cards may be
- redundant and some new work may have been identified.</p>
- <p>The value of the kanban will then naturally begin to flow:</p>
- <ul class="simple">
- <li>Higher productivity as you see how what you're working on fits into a whole</li>
- <li>A greater ability to reschedule - for example, to park work in progress to
- tackle something urgent</li>
- <li>Team collaboration around tasks that seem to be problematic</li>
- <li>Estimates of when something might get done or which deadines are at risk</li>
- </ul>
- </div>
- <div class="section" id="tips">
- <h2>Tips</h2>
- <p>A physical whiteboard seems to be very important. A lot of the practices don't
- seem to evolve properly if you use some sort of digital version of a kanban.
- There are lots of reasons for this. One obvious one is that physical
- whiteboards offer the ability to annotate the kanban with little hints,
- initials, or whatever. Another one is that an online whiteboard doesn't beg to
- be looked at; a physical whiteboard up in your workplace is something to notice
- frequently, as well as offer a designated place to get away from a screen and
- plan work.</p>
- <p>Naturally, having a physical whiteboard is only possible if your team is not
- geographically distributed. Geographically distributed teams are challenging
- for a whole host of reasons, and this is just one. A digital version of a
- kanban may be a good approach in those cases. Or perhaps frequent photos of a
- physical whiteboard elsewhere in the world can help to keep things in sync.</p>
- <p>Readability from a distance helps get value from your kanban. Write in capital
- letters because these are more readable from a distance. Use a broad felt pen.
- Use differently coloured index cards or magnets to convey additional
- information.</p>
- <p>It's somewhat important to ensure that the kanban captures all streams of work.
- There's a tendency to think "This isn't part of the project we're planning;
- let's not get distracted by it". But that reduces the value of the kanban in
- tracking what is actually happening in your workflow. Obviously, different
- streams of work can be put in a different place on the kanban, or use
- differently coloured cards.</p>
- <p>You can also track obstacles to delivering work on the board. I like to reserve
- red cards to indicate obstacles. Removing those obstacles may require work!</p>
- </div>
- <div class="section" id="why-kanbans-work">
- <h2>Why Kanbans work</h2>
- <p>Kanbans are certainly a form of process visualisation. Enabling you to
- visualise how tasks are flowing will let you spot problems in the process, such
- as too much work building up that only a certain team member can do. You can
- design workarounds to a problem like this also right there on the kanban.</p>
- <p>Stepping back from this, the reason I've found having a kanban useful even for
- solo work may be related to the psychological idea of <a class="reference external" href="https://en.wikipedia.org/wiki/Transactive_memory#Extensions_to_other_domains">transactive memory</a>,
- where we use our memory not as a primary store of information, but as an index
- over other stores of information, such as those in other people's heads, or on
- paper. The model of thought is then very much like a database transaction - we
- might "read" a number of facts from different sources into working memory,
- generate some new insight, and "write" that insight back to an external source.</p>
- <p>By committing our understanding of our backlog of work to index cards, we can
- free our memories to focus on the task at hand. And when that task is done, we
- waste no time in switching back to a view of our workflow that can tell us
- immediately "what's next". Or say we encounter new information that we suspect
- affects something in the backlog - being able to go straight back to that card
- and recover exactly how we defined the task turns out to be useful: it allows
- us to quickly assess the impact of new information to our existing ideas and
- plans.</p>
- <p>The final reason I believe kanbans work so well is that both the kanban and the
- stack of cards that represent your backlog are artifacts that are constructed
- collaboratively in a group. Taking some concrete artifact out of a meeting as a
- record of what was said cuts down a lot on misremembered conclusions
- afterwards. Some people try to take "action points" out of meetings for the
- same reason, and then quote them back to everyone by e-mail afterwards. This
- doesn't seem to work as well - I often find myself thinking "I don't recall
- agreeing that!" One reason for this is that the record of the action points is
- not written down for all to see and approve/veto, but a personal list written
- by the person taking the minutes.</p>
- <p>Writing tasks out on index cards in front of people, and reading them out
- repeatedly or handing them around (or laying them out on the table for people
- to move around and reorganise - related in principle to <a class="reference external" href="http://mauveweb.co.uk/posts/2014/01/crc-cards.html">CRC Cards</a>), means
- that everyone gets a chance to internalise or reject the wording on the card.</p>
- <p>Similarly, the organisation of kanban is not only a concrete artifact that is
- modified with other people standing around: it is ever-present to consult and
- correct. Nobody can have an excuse to leave the kanban in an incorrect state.
- Thus the kanban is a reliable source of truth.</p>
- <p>So whatever your industry, whatever your process methodology, set yourself up
- a kanban and give it a try. Happy kanbanning!</p>
- </div>
- </div>
- </article>
- </section>
-
-
- <nav id="jumpto">
- <p>
- <a href="/david/blog/">Accueil du blog</a> |
- <a href="http://mauveweb.co.uk/posts/2015/08/get-a-kanban.html">Source originale</a> |
- <a href="/david/stream/2019/">Accueil du flux</a>
- </p>
- </nav>
-
- <footer>
- <div>
- <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
- <p>
- Bonjour/Hi!
- Je suis <a href="/david/" title="Profil public">David Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
- Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
- </p>
- <p>
- Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
- </p>
-
- <p>
- Voici quelques articles choisis :
- <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
- <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
- <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
- <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
- <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
- <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
- <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
- <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
- <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
- <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
- <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
- <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
- <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
- <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
- <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
- et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
- </p>
- <p>
- On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
- </p>
- <p>
- Je ne traque pas ta navigation mais mon
- <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
- conserve des logs d’accès.
- </p>
- </div>
- </footer>
- <script type="text/javascript">
- ;(_ => {
- const jumper = document.getElementById('jumper')
- jumper.addEventListener('click', e => {
- e.preventDefault()
- const anchor = e.target.getAttribute('href')
- const targetEl = document.getElementById(anchor.substring(1))
- targetEl.scrollIntoView({behavior: 'smooth'})
- })
- })()
- </script>
|