Software Freethinker

RSS
Sep 2

Le guide Scrum, millésime 2013

On a pu voir différents retours sur le Scrum Guide 2013

Avant d’aborder le fond, ma première remarque: le document a de toute évidence été écrit avec Word sur Mac. Les auteurs ont utilisé le style par défaut sans rien changer aux styles proposés (Titre, titre 1, titre 2 et normal entre autres). J’aime bien aussi le copyright “1991-2013”, même si le premier article publié date de 1993…

Rentrons dans le fond.

La transparence

C’est un ajout par rapport aux versions précédentes. Bravo. Cela dit, c’est très centré “inspection”. J’aime bien la notion de “done partagée” (pour les items de backlog, car il y a aussi un “done” des tâches qui ne concerne que l’équipe), et pour moi la transparence passe plus par le partage d’information : tableau des tâches, backlog, etc… pas simplement à l’intérieur de l’équipe mais aussi à l’extérieur.

Le Product Owner

Cela n’a pas bougé depuis 2011. Mais je reste assez dubitatif de cette position qui créé un schisme entre l’équipe et le “responsable fonctionnel”. Je m’en étais ouvert dans ma rubrique “en finir avec” dans un post dédié aux Product Owners. Ma position n’a pas changé, et ce partage des eaux ne m’a jamais semblé agile.

La Scrum Team

Comme d’autres, je pense qu’une taille de 9 est le début de la rupture. En fonction de la dynamique de groupe, ça peut tenir ou pas, ou la rupture peut être avant. Quand je dis “rupture”, je veux dire qu’en fait l’équipe se restructurera d’elle-même en sous-groupes de manière informelle. Pas la peine de luter, ça se passera de toute façon.

De toute manière, l’art de fixer une taille est un peu osé. Une équipe de deux, ça peut marcher et avoir un sens pour certains projets, même en Scrum !

Afficher davantage

If you want to really change culture you have to start with changing structure, because culture doesn’t really change otherwise

-

Craig Larman

L’invention du mot “ordinateur”

C’est Jacques Perret qui, le 16 Avril 1955 inventa le mot « ordinateur », suite à une sollicitation d’IBM pour trouver une traduction Française au mot anglo-saxon (« computer » pour les machines scientifiques et EDS soit « electronic data system » pour les systèmes de gestion) ! Il faut en effet savoir qu’IBM a l’habitude de traduire l’intégralité de ses notices techniques sans y laisser traîner d’anglicisme.

Alors professeur à la faculté des lettres de Paris, il fut sollicité par un de ses anciens élèves pour cette traduction. Comme on le voit il proposa plusieurs termes, « ordinateur », ou plus exactement son pendant féminin « ordonnatrice » ayant sa préférence.

IBM a tout d’abord protégé le nom. Puis, rapidement adopté par les utilisateurs, la société a finalement décidé de le laisser dans le domaine public, quelques mois plus tard seulement.

Cette anecdote nous montre aussi que notre langue, que nous jugeons souvent inapte à capturer des termes liés à la technologie peut aussi faire naître des mots qui s’avèrent supérieurs à leur pendant anglo-saxon ! Il en va de même pour moi du mot « tableur », bien plus parlant que « spreadsheet »…

Afficher davantage

Note de lecture : Programmer sous Windows 95 (4ème édition), par Charles Petzold et Paul Yao

Note : 9 ; Plus qu’un livre : une institution

10 ans après la 1ère édition, cette 4ème (qui ne fut pas la dernière) a encore pris de l’embonpoint pour atteindre 1200 pages. Malgré l’entrée dans le monde 32 bits, cette institution qu’est « le Petzold » reste fidèle à la programmation via les API héritées de Win16. Donc la part belle est faite aux applications fenêtrées : fenêtres, menus, tracés graphiques, impression, boites de dialogue, presse-papiers, etc… Il traite plus succinctement des aspects systèmes et des aspects spécifiques à Win32. Il est temps d’entrée dans le cœur du sujet. On parle de 20 chapitres regroupés en 5 parties.

La première partie comporte 4 chapitres totalisant 270 pages. Le livre ne commence réellement qu’au chapitre 2, qui s’articule autour du redoutable HelloWin.c ! Il faut tout le talent pédagogique de Charles Petzold pour démystifier les arcanes de la boucle d’événement et des handles de fenêtre, afin de donner une logique à l’ensemble. Utiliser le Canvas de fenêtre, l’événement WM_PAINT et autres invalidation de surfaces (sans parler des scroll barres) n’est pas non plus une sinécure, mais le chapitre 3 y vient à bout de manière méthodique. Une bonne base pour aborder la terrible complexité de la GDI au chapitre 4 ! Toutefois, le sujet mérite un livre (au moins) à lui tout seul et celui-ci ne saurait couvrir complètement le sujet…

La seconde partie est consacrée à la saisie. On parle de saisie au sens large : comptez 4 chapitres et 200 pages pour des sujets couvrant bien sûr le clavier et la souris, mais aussi l’horloge et les fenêtres enfant ! On ne se douterai pas au premier abord que la gestion du clavier puisse être si complexe, impliquant des messages clavier, mais aussi de focus de fenêtre, sans compter la prise en compte de paramètres OEM ! Un sujet parfaitement traité en profondeur ici. Heureusement, la gestion de la souris traitée au chapitre 6 génère moins de tracas, même quand on essaie de pousser le sujet dans ses retranchements : souris gérée au clavier, capture de la souris (si, si), etc.. La gestion de l’horloge abordée au chapitre 7 est pour une fois réellement simple sous Windows, peut-être est-ce pour cela que l’auteur a choisi un exemple complexifiant inutilement le sujet en y mettant de la GDI ? Par fenêtre enfants, il faut entendre les contrôles, essentiellement les boutons et la façon dont ils communiquent avec la fenêtre encadrante. Ce chapitre conclue cette partie.

Afficher davantage

The will to win, the desire to succeed, the urge to reach your full potential. these are the keys that unlock the door to personal excellence.

- @ConfuciusPosts (via niptech)

Personal Maps, un Management Workout par Jurgen Appelo

Quelle maîtrise un manager enfermé dans son bureau a-t-il de son équipe ? Probablement pas grand chose ! L’espect prépondérant d’un manager est l’information. Or nous « irradions » de l’information. Or, comme pour tout rayonnement, plus grande est la distance, plus faible est ce rayonnement. Le manager doit donc chercher à être proche du travail qui est important pour lui. Ce n’est d’ailleurs pas seulement vrai des managers !

3 approches à essayer

Bougez vos pieds

C’est le Gemba du Lean, ou le Management by Walking Around, si vous préférez. Pas seulement déambuler, bien sûr, mais se connecter et être en prise avec le terrain. Et évidemment pas contrôler ce qui se passe ! Maintenant, on peut aussi trouver l’idée de devoir se déplacer pour se rendre compte pas très naturelle. Ce qui nous amène à l’option 2

Bougez votre bureau

Ce n’est plus se déplacer, mais être au centre de l’action, quoi qu’il se passe ! C’est aussi être impliqué dans ce qui se passe. Un « management by sitting around » en quelque sorte…

Bougez votre micro

Si la collaboration est améliorée avec la productivité, ce n’est pas nécessairement le cas de la productivité. Permettre de mixer télétravail et présentiel peut permettre d’avoir le meilleur des deux. Bien entendu, cela signifié mettre à disposition l’outillage de travail à distance adéquat !

Afficher davantage

Note de lecture : Analyse orientée objets, par Peter Coad et Edward Yourdon

Note : 4 ; Typique de l’approche objet des années 80

Il s’agit ici de l’approche objet typique des années 80. L’emphase est mise sur l’identification “à priori” des objets, ainsi que des attributs et des services attenants, en ne prenant que faiblement en compte le contexte de leur utilisation. Avec 180 pages pour 10 chapitres, ce n’est pas un gros volume. Un second tome, dédié à la conception le complète.

Le premier chapitre est un très classique argumentaire de l’intérêt de l’objet par rapport à la décomposition fonctionnelle en rappelant les grands traits de l’objet : héritage et encapsulation principalement.

Les chapitres 2 et 3 s’articulent autour de l’identification des objets. On notera aussi passage l’évocation de Smalltalk par les auteurs. Les méthodes suggérées sont plutôt empiriques, et surtout on reste sur l’idée d’identifier les objets « à priori », symptomatique du courant de pensée de cette époque.

Le chapitre 4 consacré à l’identification des structures est en fait consacré à l’héritage. Il répond à la question : qu’est-ce qui est et qu’est-ce qui n’est pas un héritage. Question dont la réponse est : ce qui obéit à la relation « est un ». On n’avait pas besoin de 30 pages pour cela ! La notion de « sujet » qui est l’objet du chapitre 5 correspond plus ou moins à celle de package. Elle est curieusement mêlée avec l’idée d’une classe parent qui porterai le même nom… On est décidément dans la mouvance « montrez-moi votre arbre d’héritage !

Attributs et relations sont abordés au chapitre 6. J’ai trouvé que c’était le plus intéressant arrivé à ce point de la lecture, car il répond au moins à des questions de structuration concrètes.

Afficher davantage

Tous les animaux sont utiles à l’homme, parce qu’ils nous aiment, nous gardent et qu’on les bouffe.

-

Pierre Desproges

image

Amsterdam

Amsterdam

Note de lecture : The C++ Answer Book, par Tony L. Hansen

Note : 6 ; Un compagnon de route au Stroustrup.

Il s’agit, comme son titre l’annonce d’un livre d’exercices corrigés. Aujourd’hui c’est un texte fort ancien. Ancien peut-être, mais volumineux, certainement. On en prend pour 520 pages sur 8 chapitres seulement, sans compter les annexes ! Voyons ce qu’il a dans le ventre.
On passera rapidement sur le 1er chapitre qui est introductif (5 pages) pour nous tourner vers le 2nd qui traite des déclarations et des constantes. Les exercices sont tous très simples, c’est aussi l’occasion d’évoquer des éléments connexes à la questions en plus de répondre à celle-ci.

Si le chapitre 2 ne comptait qu’une trentaine de pages, c’est près de cinquante que nous offre le chapitre 3 dédié aux expressions. On y a droit inévitablement aux ordres d’évaluation de expressions, mais aussi aux comportements « limite » du langage, y compris à ceux causant des problèmes de portabilité. Une partie significative du chapitre est dédié à la manipulation de chaine de caractères, à l’ancienne façon « C ». Le niveau de difficulté augmente significativement, il était au maximum à 1.5 au chapitre 1, il monte ici à 2.5 selon l’échelle exponentielle de l’auteur ! La dimension algorithmique des exercices n’est pas triviale. De quoi se rafraichir les neurones !

Au chapitre 4, on évoque les fonctions et les fichiers. Du moins c’est ce que dit le titre. 60 pages sont consacrées à cette partie qui, en fait a surtout trait à la manipulation de structures : listes, graphes ou tableaux bi-dimensionnels avec les inévitables tris et manipulation. On parle en fait assez peu de fichiers et si on évoque les différences entre C et C++, cela reste du code à affinité C. Bien sûr, le niveau de difficulté augmente sensiblement et culmine à 3.

Le chapitre 5 marque notre véritable entrée dans le C++ car il y est question de classes ! Transition en douceur, car les premiers exercices font suite au chapitre précédent et l’on commence par faire des classes avec des struct ! D’un point de vue utilisation du langage, les 80 pages de ce chapitre restent dans la simplicité. Finalement on travaille surtout à encapsuler la complexité algorithmique dans des classes, ce qui n’est pas si mal. D’un point de vue conception, l’exercice le plus complexe est l’implémentation d’un interpréteur d’expressions à l’aide d’un pattern composite (l’un de mes exercices préféré).

Afficher davantage

Innover, ce n’est pas avoir une nouvelle idée mais arrêter d’avoir une vieille idée.

-

Edwin Herbert Land

image

En Finir avec le Planning meeting ?

Je vous avais laissé sur la remise en cause des estimations. Natrellement, le sujet suivant ce dvait être le planning meeting. Nous allons nous y attaquer aujourd’hui !

Autopsie du planning meeting

Le planning meeting de Scrum, c’est une composante importante de la démarche, du moins dans le Scrum Su (). De là découle tout ce qui sera fait durant le sprint. Aussi intéressons-nous à ce qui le constitue.
Tel que décrit initialement, le planing meeting comporte 2 parties, c’est donc en fait 2 meetings en un seul [1] :

  • Une présentation des fonctionnalités souhaitées pour le prochain sprint
  • Une planification de l’execution de ces fonctionnalités pour la durée du sprint

Les textes ultérieurs ont ajouté un peu de détail, comme la présentation de l’objectif de sprint et la détermination de la capacité de travail [2]

image

Au fait, quelle est la durée de ce meeting ? Ken Schwaber nous parle d’une durée de 8 heures pour un sprint de 30 jours ! Personnellement, un tel marathon dépasse mes forces et de très loin. Heureusement, bien que les créateurs de Scrum clament la même durée de Sprint depuis 20 ans, je ne connais personne planifiant des sprints aussi long. Mais même ramené au pro-rata à 2 semaines, une durée de 4 heures me semble excessive !

Hélas, il n’y a pas que la durée qui ne va pas. Ce serait même plutôt le moindre de nos soucis. Commençons donc notre travail de dépeçage.

Afficher davantage

Note de lecture : High-Speed Windows Applications, par Bruce E. Krell

Note : 2 ; Beaucoup de lourdeurs et de formalisme, mais peu d’idées intéressantes.

Ce livre traite de la gestion multitâche sous Windows 3.1, donc en s’appuyant sur les messages Windows. On en prend pour plutôt cher : un peu plus de 330 pages hors annexes. Celles-ci sont elle-même volumineuses : 130 pages ! L’approche pédagogique est pour le moins sujette à caution, le formalisme est lourd et guindé. Le titre de section de la page 7 est assez symptomatique : « Turn off your PC ! ». Mais voyons ce que ce volume a dans le ventre. En l’occurrence, ses entrailles sont divisées en 10 chapitres.

Le premier chapitre se compose d’une douzaine de pages pour décrire l’approche générale de la méthode (car en fait, c’est une méthode). On a vite compris que l’on va s’appuyer sur les message Windows centré sur la logique utilisateur.

Le chapitre 2 est aussi une introduction, mais cette fois au SDK. C’est très descriptif et donc assez abstrait. Je ne pense pas que j’aurais pu aborder la programmation Windows avec ça (merci Charles Petzold !). Les exemples de code des fameux « WinMain » et « WndProc » n’aident guère.

Ca y est, au chapitre 3, l’auteur peut commencer à développer sa notation et son approche complètement démente. J’ai l’impression de me retrouver en plein SADT : l’horreur !

Les chapitres 4 et 5 sont dévolus à l’application au « Windows High Speed Application ». On a toujours cette emphase méthodologique qui obscurcit terriblement le propos. J’ai l’impression qu’il y a une idée d’architecture derrière. Mais le fil est ténu et masqué par la prose idéologique. Pardon, méthodologique. On parle bien de « master control task » et « master scheduler task », mais impossible de comprendre à quoi ils ressemblent.

Afficher davantage

Your quote here.

-

Bjarne Stroustrup in The C++ Language (about templates)

image

Agile Playground #15

Un conflit d’agenda m’a fait raté le 14ème rendez-vous, c’était donc une bonne surprise de voir un Agile Playground programmé en cette première quinzaine de Juillet, alors que je croyais nos rendez-vous interrompus jusqu’en Septembre !

image

Au programme de cette soirée, un ice-breaker sans prétention mais amusant proposé par Frank Beulé et une traditionnelle expérimentation de jeu.

Afficher davantage

agiletourSpeakingAt
Agile Grenoble 2013 Speaker
Software Freethinker followers