Download - Kaizen ou l'amélioration continue
Kaizen ou l’Amélioration Continue
Philippe Gamache
Développeur Web (+20 ans) PHP (+15 ans) et Symfony (~10 ans)
Co-Auteur : Sécurité PHP 5 et MySQL
Formateur PHP, Symfony et sécurité
Audit en performance, sécurité et qualité du code
C’est quoi?
Nom d'une méthode de gestion de la qualité.
Processus d'amélioration continue basé sur des actions concrètes, simples et peu onéreuses.
État d'esprit qui nécessite l'implication de tous les acteurs.
Objectifs du Kaizen
Simplification des flux
Amélioration de la qualité
Amélioration des délais
Amélioration de la productivité
Amélioration des conditions de travail
Méthodologies principales
5S; ORDRE (Ordonner, Ranger, Dépoussiérer (Découvrir des anomalies), Rendre évident, Être rigoureux)
Six Sigma
Juste-à-temps
Kanban
Lean management
Maintenance productive totale (TPM)
Roue de Deming (PDCA)
Poka-yoke
Qui ? Quoi ? Où ? Quand ? Comment ? Combien ? Pourquoi ? (8w)
Qualité totale (TQM)
SMED
Amélioration de la qualité, délais et productivité
Cycle de développement
Tests unitaires
Développement piloté par les tests (TDD)
Conception pilotée par le comportement (BDD)
Conception pilotée par le domaine (DDD)
Réunissage de code
Intégration continue
Méthodes agiles
L'acquisition de compétences est un processus continu...
Amélioration continue de vos équipesou Formation Continue
Félicitations
Hypothèse
Un bon développeur apprend toujours et se ré-évalue en vue de s’améliorer.
Réalité
Ce n’est pas toujours le cas. Nous devons forcer la main de certaines personnes.
Les groupes d’utilisateurs
Pourquoi?
Souvent la première ressource;
Important d’encouragé vos équipes à les visiter;
Différents niveaux techniques;
Nouvelles sur les technologies.
Plus d’informations…
Certains sont mensuels, hebdomadaires, …
Certains sont le soir, d’autres le matin ou le midi;
Sur semaine ou la fin de semaine;
En groupe ou en ligne;
Certains sont filmés et disponibles en direct ou à la demande.
Différents sujets Langages : js-montreal, Nomade PHP, PHP Québec, W3Québec; Cadres d’application et librairies : Association Drupal Montréal, Joomla! User Group Montréal, JQuery Meetups, Symfony Montreal; Logiciels : Atlassian User Group, Wordpress, PHPBB, Montreal - InDesign User Group, Montreal Linux Users Group, Montreal - Photoshop User Group; Technologies: 2600 Montréal, Linux Québec, Montréal Android, Montreal Business Intelligence User Group, Montreal NewTech, OpenStack Montreal, OWASP (sécurité applicative); Groupe spéciaux: Association québécoise des informaticien(ne)s indépendants (AQIII), devLAB Montréal, Fédération Québécoise des Communautés et des Industries du Libre (FQCIL), IGDA Montreal, IGDA Montreal, Laboratoires Foulab, Montreal Girl Geek Dinners, Montreal IT Professionals Community.
Conférences
Sous d’autres noms…Camps
Congrès
Conventions
Déjeuner-causerie
Dîner-conférence
HackDays
Réunion
Séminaires
Professionnels
Groupe d’usagers
Pourquoi et comment?
Important! dans la formation de vos équipes;
Par après, partager les présentations à l’interne;
Le retour est plus grand que le risque de perdre un employé.
Conférences locales
25th World Wide Web Conference
Agile Tour
C2 Montréal
Colloque-rsi
Confoo
DrupalCamp Montréal
GoSecure
Hackfest
SQIL
Web à Québec
Conférences PHPChina PHP Conference
Dutch PHP Conference
Forum PHP
International PHP Conference
Lone Star PHP
Midwest PHP
Northeast PHP Conference
Pacific Northwest PHP
PHP Barcelona Conference
PHPBenelux
PHPConf.Asia
PhpConference Brasil
PHPConf Taiwan
PHP Craft Johannesburg
phpDay
PHP Tour Luxembourg
php[world]
True North PHP
SunshinePHP
ZendCon
Conférences Framework
CakeFest
CakePHP Conference
Drupal Camp
DrupalCon
Drupal Day
Laracon
PHP Frameworks Day
Symfony CMF
SymfonyCon
SymfonyDay
SymfonyLive
ZendCon
Zend Framework Day
Conférences Frontend
Async
ConnectJS
dotCSS
jDays
JSConf
SmashingConf
O'Reilly Design Conference 2016
UX Camps
UX Summit
World IA Day
Conférences autres
CoderDojo
DevConf
GOTO
SOLIDay
OSCON
O'Reilly Design Conference 2016
OWASP AppSec
OWASP Day
Privacy & Security Forum
XP Days
Formations spécialisées
Quand et pourquoi?Lors d’un grand changement;
Changement de cadre d’application;
Passage à Agile;
Grande sortie d’un langage (ie. PHP 7);
Amélioration de votre équipe;
Quand les formations courtes ne sont pas suffisantes.
Qui?
Formation hors lieux pour une petite équipe;
Formation sur les lieux par un spécialiste (3 personnes ou plus);
Formation sur les lieux par un des développeurs séniors (attention à la préparation ~1-2 semaines par jour).
Lunch and Learn
C’est quoi?
Présentation durant l’heure du repas;
Durant les heures d’ouvrage et payé;
Avec un présentateur, professeur, expert, quelqu’un qui a un intérêt;
Avec des vidéos ou des présentations enregistrées ou en direct en ligne.
HebdomadairesPour une petite équipe (< 10 personnes);
Diviser les grosseurs équipes en plus petits groupes;
Toujours la même journée de la semaine;
60 à 90 minutes, mais réserver la salle pour 30 minutes de plus;
Les gens apportent leur repas, mais il est recommandé d’en offrir environ une fois par mois.
Qui, quand et comment?
Encourager tous les membres de l’équipe a faire au moins un ou deux présentations par année;
Faire un horaire des présentations en avance;
Avoir une ou deux présentations prêtes;
On y présente quoi?
Tout ce qui affecte une équipe directement;
C’est le temps de revoir les présentations vues dans les conférences;
Nouvelles technologies ou veille technologique;
Sujet très précis;
Retours sur la base.
ExemplesNouvelles Technologies:
PHP 7
Symfony 3
Sujets précis:
RabbitMQ
Cryptographie
Retours à la base:
Les vecteurs
Les chaînes de caractères
Les flux
Mensuels
Une fois par mois pour plusieurs petites équipes ou une grande équipe;
Durée de 3 à 4h avec un arrêt pour le repas;
Toujours le faire la même journée, par exemple le dernier ou premier vendredi du mois;
Offrir le repas est de bonne forme.
On y présente quoi?
Des formations qui incluent toute la compagnie;
Des formations qui incluent toutes les équipement de développement;
Mieux comprendre les autres équipes: marketing, ressources humaines, assurance qualité…
Exemples
Passage à Agile
La théorie sur les tests unitaires
Théorie de la qualité de code
Qui?
Formateurs externes;
Experts sur le sujet;
Membre d’une autre équipe;
Et des vidéos, présentation en direct ou à la demande en ligne.
Dojo
C’est quoi?
Rencontre pour travailler sur un défi:
• Problème algorithmique à résoudre;
• besoin à implémenter;
Se concentre sur un sujet particulier;
Permettre d'apprendre de façon collective.
L’intérêt
Apprendre de nouvelles techniques;
• Grâce aux connaissances des autres;
• Progressant ensemble face à un problème.
Tester et parfaire des techniques de façon sûre;
Partager avec les autres membres son savoir.
Besoin de trois éléments
Envie d'apprendre de nouvelles techniques, de nouveaux concepts de programmation;
Envie de partager avec les autres ses connaissances;
Bénéficier d'une amélioration continue de ses compétences.
Caractéristiques
Tous les niveaux de compétences en programmation sont acceptés.
Seule une personne volontaire peut participer à un Coding Dojo.
Ce n'est pas une compétition.
Caractéristiques
L'erreur est humaine.
Il n'y a pas de jugement.
Le Coding Dojo doit être un moment convivial.
Tout le monde doit participer.
Caractéristiques
Chacun doit pouvoir s'améliorer à son rythme.
Le but n'est pas de terminer l'exercice mais bien d'apprendre.
Il permet un apprentissage continu/régulier.
Il permet un apprentissage par petits pas.
Les types de dojo
Kata préparé
Randori Kata
Kata préparé
Un présentateur montre comment résoudre le défi à partir de zéro, en utilisant le développement piloté par les tests et en faisant les étapes pas à pas.
Chaque étape doit être comprise par toutes les personnes présentes.
Les gens devraient interrompre seulement s’ils ne comprennent pas ce qui se passe.
Randori KataLe défi est résolu par une paire de programmeur (pilote et copilote).
Tout le monde présent est invité à aider.
Chaque paire a un certain temps (5 ou 7 minutes) pour faire avancer, en utilisant le développement piloté par les tests et en faisant les étapes pas à pas.
À la fin du temps requis, le pilote retourne parmi le reste du groupe, le co-pilote devient pilote, une personne du groupe devient co-pilote.
Comparé au Lunch and Learn
Plus participatif;
Meilleur apprentissage;
Peut être utilisé de façon dépendante ou non;
Apprentissage d’équipe.
BesoinsUne table (au moins).
Des chaises pour l'ensemble des participants
Un video projecteur.
Un ordinateur portable.
Un tableau à papier ou tableau blanc.
Des post-its.
Des stylos.
Un appareil photo (optionnel)
Une Caméra (optionnelle)
Plus d’information
http://codingdojo.org
http://codingdojo.org/cgi-bin/index.pl?KataCatalogue
Revue de code
C’est quoi?
Examen systématique du code source;
Trouver des bugs ou des vulnérabilités potentielles;
Corriger des erreurs de conception;
On fait déjà la revue
Sur une partie du code;
Collecte et présentation des modifications apportées aux fichiers sources qui nécessitent une relecture.
L’intérêtAméliorer la qualité du code;
Améliorer la sécurité du logiciel;
favoriser la collaboration, le travail en équipe;
Appliquer un standard;
Détecter et corriger les défauts (bogues mais aussi lisibilité) au plus tôt dans le cycle de vie du code pour économiser les coûts;
Formation des développeurs.
Hebdomadaires
Pour une petite équipe (< 10 personnes);
Diviser les grosseurs équipes en plus petits groupes;
Toujours la même journée de la semaine;
90 minutes, mais réserver la salle la salle pour 30 minutes de plus.
Bimensuel
Pour une petite équipe (< 10 personnes);
Diviser les grosseurs équipes en plus petits groupes;
Alterner les personnes dans chacun des groupes;
Toujours la même journée de la semaine;
180 minutes, mais réserver la salle pour 30 minutes de plus.
Besoins
Une table (au moins).
Des chaises pour l'ensemble des participants
Un video projecteur.
Un ordinateur portable.
Statistiques et métriques (vitesse de relecture, taux de détection des défauts…)
Caractéristiques
Tous les niveaux de compétences en programmation sont acceptés.
Ce n'est pas une compétition.
L'erreur est humaine.
Il n'y a pas de jugement.
Tout le monde doit participer.
Caractéristiques
Chacun doit pouvoir s'améliorer à son rythme.
Le but n'est pas de terminer la revue mais bien d'apprendre.
Il permet un apprentissage continu/régulier.
Il permet un apprentissage par petits pas.
Philippe Gamache
@philoupedia
https://joind.in/16496