Bienvenue sur Développement Agile

Référence sur le développement logiciel Agile. Nous traitons de conception, de programmation, de pratiques de génie logiciel, d'essais et d'autres sujets connexes.

Suggestion de lecture sur le Javascript

Publié par Jean-Francois Gilbert le mardi 9 juin 2015 à 00:00

S'il y a un langage qui est mal compris et parfois mal aimé, c'est bien le Javascript. Il est vrai que quelques particularités du langage peuvent être surprenantes ou même discutables. Lorsqu'on a travaillé un certain nombre d'années avec des langages tels que Java ou C#, certains concepts risquent de nous laisser perplexe. Plus souvent qu'autrement, les développeurs sont mis en contact graduellement avec ce langage. On commence d'abord par ajouter des validations ou de petites fonctionnalités à un formulaire web. Trop fréquemment, on va copier un exemple sur le web ou bien on utilisera une librairie telle que JQuery. On arrive à nos fins sans trop savoir comment ça fonctionne. Mais est-ce la bonne façon de faire ? Il y a tellement d'exemples (et de contre-exemples) sur le web qu'il est difficile de départager les bonnes pratiques des mauvaises. Puis, on utilise de plus en plus le Javascript dans nos pages (MVVM, MVC) et il arrive un moment où nos connaissances du langage montrent leurs limites. La fondation n'est pas assez solide.

Avec la multiplication des frameworks pour le web, l'ascension du Javascript côté serveur, le Javascript isomorphique et même le Javascript au niveau du hardware, on ne peut plus vraiment s'en tirer sans comprendre les principes et le fonctionnement du langage. 

Dans ma longue et difficile quête du savoir en développement, j'ai décidé d'approfondir mes connaissances en Javascript par l'achat d'un livre. L'ouvrage suivant m'a donné beaucoup de "ahhhhhh, c'est comme ça que ça fonctionne !". Il s'agit du livre Professional Javascript for web developpers . J'avoue que ça ne se lit pas comme un roman de gare (certains chapitres sont un peu arides) mais personnellement, ca m'a permis de comprendre des aspects du langage que je ne maîtrisais pas pleinement. Le chapitre sur la programmation orientée-objet m'a beaucoup éclairé sur les possibilités mais aussi les pièges du Javascript.

Bref, je vous le recommande si vous souhaitez maîtriser et exploiter ce surprenant langage dont la popularité ne se dément pas.

 

L'officier dans la tranchée

Publié par Jean-Francois Gilbert le vendredi 5 juin 2015 à 00:00

Trench

THE PORTUGUESE ARMY ON THE WESTERN FRONT, 1917-1918, Imperial War Mueseum (http://www.iwm.org.uk/)

Récemment, j'ai eu une conversation intéressante avec un collègue à propos du rôle d'architecte organique. À son avis, l'architecte organique n'a pas besoin d'être au courant des détails d'implémentation, des dernières techniques ou frameworks. Bref, il n'a pas à "mettre les mains dans le code". Toujours selon lui, une bonne éducation à l'université, une solide compréhension de la programmation orientée-objet, des bases de données et d'UML suffisent pour faire la conception d'un système complexe. Il s'avère que je suis profondément en désaccord avec ces affirmations. Je vais illustrer mon point avec une analogie militaire.

Imaginez un instant que vous receviez les ordres d'un officier. C'est un grand stratège, mais ses derniers faits d'armes remontent à la guerre des Boers ! Il a fait ses preuves avec la cavalerie mais il ne connait rien à la guérilla urbaine et aux drones. Ou encore, il est au fait des avancées technologiques militaires mais il observe toutes les batailles terré dans son quartier général. Il vous a bien indiqué où se trouvent les ennemis et comment les vaincre, mais sa distance du champ de bataille ne lui donne pas la même perspective que vous de l'évolution du combat. De plus, il ne s'est jamais approché d'une tranchée ou tenu une arme dans ses mains.

D'un autre côté, vous avez un officier qui est avec vous dans les tranchées. Tous les jours il combat à vos côtés, sous la pluie, dans la boue, mangeant la même bouffe infecte. Il a utilisé les mêmes armes que vous, a connu la douleur et la peur.

Qui entre ces deux officiers a le plus de crédibilité aux yeux des troupes selon vous ? Qui entre ces deux officiers risque d'avoir le support de ses compagnons d'armes quand une décision difficile sera prise ?

Je sais, l'analogie n'est pas parfaite. En réalité, je crois que ça prend un mélange entre ces deux officiers. Il est important d'avoir un plan d'ensemble. Et le fait d'avoir une perspective différente de celle des développeurs peut s'avérer être un avantage. Cependant, on dit souvent que le diable est dans les détails. C'est tellement vrai en développement logiciel ! Un plan qui, de haut niveau, semble tenir la route peut être bousillé par une petite chose qui s'appelle "la réalité". Une réalité qui se présente sous la forme de problèmes d'intégration avec un système externe, de performances inadéquates, de l’apprentissage difficile d'une nouvelle technologie. Autrement dit, des problèmes qui surviennent au niveau microscopique, au niveau de l'implémentation. Un architecte organique fort techniquement sera en mesure de comprendre et solutionner ces problèmes. Ça lui donnera une valeur bien plus grande aux yeux de l'équipe et de l'organisation. 

Mots-Clés :

Lecture estivale pour Scrum Masters

Publié par Jean-Francois Gilbert le lundi 1 juin 2015 à 00:00

On dit souvent que les développeurs devraient s'évertuer à améliorer leurs techniques et approfondir leurs connaissances. C'est vrai, mais  ça l'est tout autant pour les Scrum Masters. Lire le guide Scrum ou recevoir une formation est un excellent point de départ, mais il faut comprendre que ce n'est qu'une base et qu'il reste beaucoup à apprendre. L'expérience sur le terrain comme Scrum Master vaut de l'or. Par contre, si elle n'est pas appuyée sur une solide fondation, le Scrum Master risque de ne pas exploiter au maximum les avantages que la méthode Scrum peut apporter à son équipe de développement.

Scrum, en tant que cadre de travail est relativement simple. L'agilité à l'origine de Scrum, mais qui également en découle, est un état d'esprit que les équipes ou même les Scrum Masters ne possèdent pas toujours. La méthode Scrum appliquée machinalement sans en comprendre le sens n'a que peu de chance de donner de véritables résultats.

Il existe heureusement une panoplie de ressources disponibles pour quiconque veut approfondir sa maîtrise de Scrum. L'été s'en vient et bien qu'il soit important de décrocher du boulot et de se changer les idées, c'est aussi un temps propice à l'apprentissage. Pourquoi ne pas profiter de la période estivale pour faire un peu de lecture et vous améliorer dans votre rôle de Scrum Master ?

Je me lance à moi-même ce petit défi. Pour ma part, j'ai décidé de relire un excellent bouquin paru en 2013 : Exploring Scrum : the Fundamentals. Bien qu'on retrouve le mot « fundamentals » dans le titre, les auteurs vont en profondeur et se basent sur des expériences concrètes. Le livre explore trois éléments fondamentaux du développement agile : les gens, le produit et les pratiques.

Si vous voulez des suggestions de livres sur le rôle de Scrum Master, sur Scrum ou l'agilité en générale, voici des listes qui vous inspireront peut-être :

Références agiles pour les coachs et Scrum Masters

5 books every Scrum Master should read

Top 100 agile books de Jurgen Appelo 

 

Combien de temps pour une transition agile?

Publié par Philippe Tremblay le lundi 11 mai 2015 à 11:30

Infinite Paradise

Cette question est présente dans la bouche de bien des gens jonglant avec l’idée de se lancer dans l’évolution représentée par les principes et techniques agiles.  Le nombre de réponses possibles à cette question est probablement similaire à la quantité de contextes possibles.  Ce qui donne souvent des réponses ressemblant à ces exemples...

  • « Ça dépend »
  • « Le même temps que celui requis pour entrer et sortir d’un trou noir »
  • « Combien de temps avez-vous? »

Bien que ces réponses soient valides, elles risquent fort de laisser votre interlocuteur sur sa faim.  Sa question, pertinente à souhait, mérite après tout un peu plus de considération!  En ce qui me concerne, j’aime bien la réponse qui suit.  Elle vise à donner un ordre d’envergure tout en soulignant les principaux défis ou acquis essentiels à une réussite

5 ans.

Et retranchez une année pour chacun des points suivants si vous les possédez déjà:

  • Vous avez une équipe de leadership puissante qui communique un sentiment d'urgence du changement accompagné d'une vision claire et forte
  • Excellence technique et automatisation
  • Esprit d'équipe et motivation intrinsèque chez vos membres
  • Une stratégie d'affaires (vision, planification, priorités) claire et adaptative, découlant d'une relation étroite avec vos clients

 

D'autres billets qui pourraient vous intéresser

photo: Infinite (license)

Agile comme un enfant, 2eme partie

Publié par Marc Allard le mardi 5 mai 2015 à 12:39

Enfants

La Anderson School, à New York, est une école pour les enfants surdoués. Même pour être admis à la maternelle, les jeunes candidats doivent se farcir deux tests d’intelligence et l’institution ne retient que ceux qui se classent dans le top 4 %.

Il y a quelques années, j’ai lu un reportage qui s’amorçait avec l’histoire de Thomas, un élève de cinquième année de cette école ultra-compétitive. Thomas avait éclipsé la concurrence à l’épreuve d’admission. Même dans le top 1% des candidats, il avait obtenu un des meilleurs scores. 

Le gamin savait qu’il était intelligent. Question de renforcer son estime de soi, ses parents et son entourage lui avaient répété depuis tout jeune à quel point il était «smart». Avec un tel cerveau athlétique et des éloges à répétition, on se serait imaginé que Thomas allait déborder de confiance en soi, s’attaquant sans peur à la matière scolaire qui se trouverait sur son chemin.

Mais non. Son père observait le contraire : «Thomas ne voulait pas essayer des choses où il ne réussirait pas. Certaines choses lui venaient très rapidement, mais quand ce n’était pas le cas, il abandonnait presque aussitôt, se disant "je ne suis pas bon dans ça"».

Dans mon dernier billet, je vous parlais d’un groupe d’élèves de la maternelle qui avait réussi à battre des ingénieurs chevronnés à un défi de construction d’une tour de spaghettis. J'expliquais cet étonnant résultat en pointant, à l’image du livre de la journaliste Megan McCardle, le principal responsable : la peur de l’échec (et son meilleur ami, la peur du risque). Vous avez été plusieurs à réagir et à vous demander si cette peur n’avait pas quelque chose à voir avec notre système d’éducation?

L’histoire du petit Thomas est révélatrice à cet égard. Ce n’est pas tant le système d’éducation que les éloges constants à propos de son intelligence qui l’ont rendu aussi effrayé d’échouer.

Au Québec, les enfants reçoivent, comme leurs voisins américains, de constants éloges. La plupart des parents ont le réflexe du «Bravo, mon champion» très généreux, même quand ce n’est pas mérité. C’est la même chose à la garderie, à l’école ou dans l’équipe de soccer : il n’est pas rare que tout le monde ait droit à un collant ou à une médaille, peu importe le résultat.

Or, il s’avère que ces éloges continuels nuisent plus aux enfants qu’ils ne les aident. Carol Dweck, psychologue à l’Université Stanford, aux États-Unis, a consacré l’essentiel de sa carrière à cette question. Dans une de ses expériences les plus célèbres, elle a testé l’effet de deux types d’éloge auprès de 400 élèves de 5e année d’une école primaire régulière de New York. Après avoir effectué un casse-tête plutôt facile, la moitié du groupe s’est fait complimenter sur son intelligence («you must be really smart at this») et l’autre s’est fait complimenter sur son effort («you must have worked really hard». Ensuite, l’équipe de Carol Dweck a demandé aux mêmes élèves de choisir entre deux nouveaux tests : un plus difficile, où ils auraient l’occasion d’apprendre, et un autre plus facile, comme le premier. Parmi le groupe qui s’était fait louanger pour son effort, 90% ont choisi le test difficile, et parmi le groupe louangé pour son intelligence, la majorité a choisi le test facile.

«Quand on félicite un enfant pour son intelligence, on lui dit que c’est comme ça que ça fonctionne dans la vie : aie l’air intelligent, ne risque pas de faire des erreurs», écrit Dweck dans le résumé de sa recherche

Dans son livre Mindset, traduit en français en 2010, la professeure explique qu’il y a deux façons de voir ses habiletés : avec un état d’esprit «fixe» (fixed mindset) ou un état d’esprit «de développement» ou «incrémental» (growth mindset). Thomas, qui avait un état d’esprit fixe, était convaincu qu’il y avait deux sortes de défis : ceux où il était naturellement bon, et ceux où il ne l’était pas — donc pas la peine d’essayer.  Les jeunes champions de la tour de spaghettis, eux, se disaient que chaque tour qui s’écroulait était une occasion d’apprendre à coiffer des ingénieurs. 

Je vous laisse deviner dans quel état d’esprit l’agilité peut fleurir... 

D'autres billets qui pourraient vous intéresser

Mots-Clés :

Archive