Toyota est reconnue comme l’organisation la plus efficace de la planète en dehors du corps humain, et l’une de ses philosophies est d’éviter toute documentation. Au lieu de faire un "processus" quand quelqu'un sur la chaîne de montage a besoin de plus de boulons, ils ont simplement 5 bacs de boulons sur leur étagère et quand l'un est vide, ils le sortent et quelqu'un passe toutes les heures. de derrière. Il n'y a pas besoin de documenter quoi que ce soit, le processus le fait pour vous.
Il y avait un article récent sur Quartz qui a parlé de l'attention d'Apple aux listes de contrôle.
Il s'avère que la clé de la créativité, de la rapidité et de l'adaptabilité d'Apple est, à ses yeux, l'exact opposé du type de créativité libre qu'on pourrait attendre. C'est une liste de contrôle ... une très longue.
Ce qui m'a fait réfléchir à ma philosophie concernant les listes de contrôle. Il y a beaucoup de problèmes avec les listes de contrôle. Ils deviennent obsolètes. Ils peuvent être longs et ennuyeux et répétitifs. Comme toutes les métriques, ils peuvent se concentrer sur les mauvaises choses. Mais toutes ces choses sont vraies pour sauter des listes de vérification aussi, non? Je veux dire la troisième fois que vous avez fait la même erreur, il est probablement temps d'admettre que suivre une liste de contrôle pourrait vous avoir permis de gagner du temps.
Mais les listes de contrôle ne sont bonnes que si elles s'appliquent et elles sont souvent mises à jour, et vous êtes toujours à la merci d'un être humain qui, admettons-le, n'est pas conçu pour être parfait tout le temps.
Nous avons un standard Drupal installer nous commençons avec pour la plupart des clients qui sont sur Drupal. Cela inclut les modules, les paramètres, les utilisateurs par défaut et nos données de test par défaut. C'était une liste de contrôle, mais elle était toujours obsolète. Alors quelqu'un est entré et l'a rendu si précis que n'importe qui, même avec une connaissance limitée de Drupal, pouvait le faire, alors tous les gens de Drupal dans le magasin détestaient ça, alors nous avons éliminé tout. sur elle et seuls les développeurs seniors de Drupal pouvaient le suivre, alors nous avons commencé à le coder en dur dans Drush.
Drush signifie que toute personne ayant une expérience Drupal pourrait exécuter quelques lignes de code et que tout se passerait comme par magie. Pas plus "erreur humaine", c'est une liste de contrôle, mais au lieu d'un humain en désordre essayant de suivre une liste de contrôle, un ordinateur l'a suivi.
Le problème était que même les changements les plus simples nécessitaient un développeur et que chaque modification devait être testée et que, par conséquent, elle était tombée en panne assez rapidement.
Finalement, nous sommes tombés sur la solution évidente, qui est quelque chose de dur codé dans Drush, ce qui rend quelque peu difficile à changer.
Maintenant, nous avons simplement un site appelé "clone me" ou quelque chose comme ça et chaque fois que nous avons un nouveau client, nous le dupliquons. Changer le système impliquait un programmeur et beaucoup d’autres travaux, maintenant tout le monde avec le mot de passe de notre équipe peut aller changer quelque chose. Si un concepteur souhaite des données de test différentes, il les modifie et cela sera automatiquement dans notre prochain projet. Si un PM décide que nous avons besoin d'un autre utilisateur par défaut à des fins de formation, il en crée un et ce sera dans notre prochain projet.
"La première fois que vous faites quelque chose, faites-le simplement. La deuxième fois, faites-le et prenez des notes. La troisième fois, arrêtez-vous et voyez si c'est vraiment pareil. Si c'est le cas, il y aura probablement un 4ème et 5ème, et ainsi de suite. "- Gavin Andresen, CTO Bitcoin
Nous avons eu la chance d'avoir Gavin ici chez Gravity Switch pendant quelques années. Il a beaucoup contribué à notre culture et à notre code, mais sa sagesse quant au moment de "pirater" les choses et de les traiter est quelque chose qui a vraiment changé ma façon d'aborder la documentation.
Gavin nous a appris que le bon code est auto-documenté.