Articles de gaël :
Pyxis Suisse vous invite à changer le monde
Préparez vos agendas ! A Genève, la semaine du 23 avril avril sera riche en évènements de premier ordre. Tout d’abord le 24 avril avec la venue de François Beauregard au salon eCom 2012 à Palexpo. Après plus de 10 ans à titre de praticien, il viendra nous présenter un point de vue intégral face à l’Agilité et à la gestion de nos organisations. A travers des constats et des postulats importants, il présentera les fondations ainsi que les pratiques managériales concrètes permettant de construire une organisation Agile.
Apprendre et comprendre Scrum
Promouvoir l’Agilité en Suisse
Cela fait maintenant un peu plus de 2 mois que les bureaux de Pyxis en Suisse sont ouverts. Depuis notre arrivée, nous nous sommes attelés à prendre le poul du marché Agile local et à rencontrer les sociétés et personnes qui font vivre l’Agilité en Suisse. Nous avons participé à plusieurs évènements dédiés comme les XPDay, la Soft-Shake, les Scrum Beers, l’Agile Tour de Sierre et bientôt celui de Lausanne ou encore la tribune du MBA de l’École supérieure de Management de Genève.
De la théorie à la pratique
Cela fait maintenant 4 mois que je travaille à Pyxis et les bancs de l’Université me semblent déjà bien loin. Pas forcément en terme de temps, mais plutôt d’un point de vue pratique. Lors de mes études en management et communication j’ai trouvé la transition entre la théorie et la pratique évidente et facile mais en ce qui concerne cette transition dans le domaine de l’informatique, c’est une autre paire de manche.
Qu’est ce qu’on nous apprend au département informatique de l’université? Des langages de programmation majoritairement, des mathématiques, de l’algorithmie, des notions de sécurité ainsi qu’une approche du montage vidéo et des outils de DAO. Évidemment c’est un passage obligé et comme la plupart de ces concepts étaient nouveaux pour moi, j’ai pris beaucoup de plaisir à me plonger dans ce milieu qui m’avait toujours attiré. Je buvais donc les paroles des professeurs qui me disait que Java était un langage émergent, que l’abondance de commentaires dans du code était synonyme de qualité et que de prévoir la conception d’un projet sur le long terme évitait les surprises désagréables.
Étape numéro 2 : j’arrive à Pyxis. Tiens, c’est bizarre les gens autour de moi parlent de concepts légèrement opposés à ce que j’ai appris précédemment. “Java? C’est dépassé, trop lourd et pas assez élégant! Oriente toi plutôt vers Ruby, d’ailleurs apprend le on en a besoin pour le store d’Urban Turtle
“. D’accord, c’est parti pour la programmation artistique alors. “Des commentaires dans ton code? Ca veut dire que ce que tu écris n’est pas clair, epic fail!” Oui c’est vrai en fait, ça parait logique. On va faire des micros classes et fonctions et du code ultra explicite. “Préparer et prévoir des projets sur le long terme? Va falloir que tu t’intéresses de près à Scrum!” En effet, le concept est fascinant. “D’ailleurs le TDD tu connais?” A moins que tu parles de Tranches De Dinde fumées non pas vraiment, mais je vais m’y intéresser!
Actuellement je baigne dans ces nouveaux dogmes, et en apprends tous les jours sur ces sujets passionnants. Notamment grâce aux cours de ScrumMaster et ScrumProfessional Developer offert par Pyxis qui m’ont permis de beaucoup progresser. Néanmoins, appliquer et intégrer tous ces schémas demandent du temps et du travail et il aurait été souhaitable qu’ils fassent partie d’une manière ou d’une autre des formations informatiques proposées à l’Université. Dans un domaine autant versatile que le développement logiciel, je pense qu’il est nécessaire d’adapter les formations proposées à la réalité du marché et que les responsables de programmes devraient se remettre en question régulièrement pour fournir à leurs étudiants un bagage complet correspondant aux attentes des entreprises les plus avant-gardistes comme Pyxis.
Gaël Luisier
Ayez le Scrum Robuste!
Scrum n’imposant rien sur le plan technique, une dérive couramment constatée est un manque de rigueur par rapport aux pratiques d’ingénieries utilisées par les équipes de développement. Par exemple, l’omission de tests automatisés lors de l’évolution de projets informatiques rend généralement de plus en plus difficile l’atteinte de l’objectif de livraison de qualité “production” au fil des itérations. Martin Fowler a nommé ce phénomène le Scrum Flasque.
Le cours “Professional Scrum Developer” offert à Pyxis vise à contrer ce problème en replaçant l’emphase sur les bonnes pratiques de développement essentielles à l’atteinte des objectifs de Scrum.
Le développement piloté par les tests (TDD)
Nous avons pu mettre en pratique le TDD dans toutes les facettes de l’application, aussi bien pour le développement en tests unitaires qu’en tests clients (bout en bout). Ceci nous a permis de nous rendre compte qu’il est possible de couvrir la quasi totalité du code par des tests automatisés. En conséquence, le code obtenu est robuste, explicite et diminue le stress du développeur qui sait que ses changements seront plus faciles à implémenter dans le futur.
Choix technologiques
Certains choix technologiques peuvent rendre difficile, voir impossible l’application des bonnes pratiques et donc l’objectif de Scrum Robuste: la livraison itérative de logiciel de qualité. Il est par conséquent essentiel de choisir un ensemble d’outils (langages, cadres d’applications, environnements de développement) qui supporte convenablement ces pratiques. Un exemple parmi tant d’autres, le cas d’utilisation étudié durant la formation utilisait une librairie de rendu visuel légère et testable. Ceci nous a permis de facilement tester les vues de manières unitaires, ce qui est malheureusement rarement possible…
Elimination des mauvaises odeurs de code
Les mauvaises odeurs de code (aka Code Smells), comme par exemple les duplications ou les classes géantes, sont des causes fréquentes de difficulté à maintenir une base de code et d’une réduction de la vélocité des équipes. Le cours nous a permis dans le cadre de la pratique du TDD, de veiller à enrayer en continu, par le “refactoring”, ces mauvaises odeurs.
En conclusion, il faut garder à l’esprit que Scrum ne suffit pas en soit à livrer du logiciel de qualité. Scrum doit nécessairement être entouré de bonnes pratiques de développement, telles que celles enseignées durant la formation pour éviter de sombrer dans la flaccidité.
Allez-y, soyez robustes du Scrum!
Marc-André Thibodeau et Gaël Luisier




