samedi 20 juin 2009

Agile pure et dure ou un pas vers l'agilité ? ...

Je vous entends me dire : "Il va encore nous parler encore d'une autre tendance à la mode, la saveur du moment, un buzzword, ...". Peut-être ... Toutefois, essayons de comprendre ce qui se cache sous cette méthode Agile (ou technique pour les puristes de méthodologie) qui dérange dans le monde des TI.

L'encyclopédie Wikipédia définit les méthodes Agiles comme étant des procédures de conception logicielle qui se veulent plus pragmatiques que les méthodes traditionnelles. En impliquant au maximum le demandeur (client), ces méthodes permettent une grande réactivité à ses demandes, visent la satisfaction réelle du besoin du client, et non des termes du contrat de développement. Comme dans toute chose, il n'y a pas une seule vision de ce qu'est la méthode Agile puisque qu'ils existent plusieurs implémentations : Rapid Application Development (RAD), Extreme Programming (XP), Scrum, etc. Mon intention n'est pas de vous vendre l'une ou l'autre de ces méthodes, ni de vous entretenir sur ce qu'elles sont. Mon intention est plutôt de vous exposer qu'est-ce qui fait défaut dans la réalisation des projets actuels en TI et l'urgence de modifier nos manières de faire.

Je n'invente rien, les échecs dans les projets en TI sont monnaie courante. L'échec prend différentes formes : insatisfaction du client et des utilisateurs parce ses besoins ne sont pas bien couverts, dépassement des coûts et retard dans la livraison, frustration de l'équipe de développement face à des spécifications incomplètes et un échéancier trop serré et nommez-les ! J'ai l'impression que dans mon domaine, un projet qui réussit est uniquement un projet livré dans les temps avec des profits avantageux pour une organisation. Le reste est accessoire. Cette approche nombriliste de certains chargés de projet me laisse perplexe et me fait douter de la capacité des méthodes de gestion de projet dites traditionnelles à mener à bien un projet informatique. Pourquoi ?

Un projet informatique, ce n'est pas :
  • un processus linéaire;
  • composé d'un groupe de ressources (terme largement utilisé et très péjoratif à mon avis) triées sur le volet que vous pouvez interchanger ou en ajouter à tout moment pour pallier à toute urgence;
  • une livraison d'une solution qui ne convient pas, mais livrée dans les délais en respectant les coûts;
  • une chose qui se fait toujours de la même manière et qu'on pourra toujours réaliser en utilisant les mêmes principes peu importe ce qu'il arrive.

Un projet informatique, c'est plutôt :

  • une suite d'impondérables;
  • composé d'une équipe de collaborateurs humains possèdant certaines qualités et défauts;
  • une livraison d'une solution qui s'ajuste à l'évolution des besoins du client et qui lui donne entière satisfaction;
  • une chose qui se déroule jamais de la même manière et qui demande d'être flexible.

Les méthodes Agiles visent justement à améliorer ces points et offre des techniques pour l'atteindre. Alors faut-il jeter nos bonnes vieilles méthodes ? Non !

En fait, c'est impossible pour une organisation de se convertir du jour au lendemain et de jeter tout ce qu'elle a utilisé pendant des années. Il faut faire un pas vers l'agilité, s'inspirer des techniques utilisées pour améliorer le déroulement interne d'un projet, mais aussi pour améliorer sa relation avec son client et lui livrer une solution satisfaisante.

Il faut minimalement :

  • repenser le rôle du chargé de projet;
  • restructurer nos équipes de développement;
  • donner plus de latitude à votre équipe et leur faire confiance (auto-gestion);
  • faire preuve de flexibilité et savoir s'adapter rapidement;
  • accorder une place importante aux clients et aux utilisateurs.

Je vous invite à lire et prendre connaissance de chacune des méthodes dites Agile, d'aller chercher les meilleurs éléments et de les expérimenter. Arrêtons cette guerre de tranchées entre puristes. L'important n'est pas de se définir comme une organisation agile pure et dure, mais de bien réaliser notre travail. Être agile, c'est d'abord reconnaître qu'il faut être agile dans l'application de la méthode elle-même. Faisons preuve de gros bon sens !

dimanche 14 juin 2009

Pourquoi la génération "Y" est déconcertante ?

Pour faire suite à mon précédent message, voici quelques raisons qui font que la génération Y est déconcertante pour les précédentes générations et nos organisations :

1) Ils manquent souvent de respect et de politesse envers les seniors. En effet, pour cette génération, la loyauté et le respect ça se mérite et ce n'est pas une question d'âge ou d'expérience. Ne pensez pas que seul vos années d'expérience vous permettront d'établir votre autorité et le respect que vous espérez. Vous risquez plutôt d'obtenir l'effet inverse.

2) Ils sont constamment connectés et prêts à communiquer sur tout. Par exemple, ils échangent ouvertement avec leurs connaissances des informations sur leur rénumération, ce qui rend la tâche difficile pour les employeurs qui veulent conserver cette information confidentielle. Par conséquent, les employeurs doivent être de plus en plus concurrentiels et faire preuve d'originalité pour les attirer.

3) Ils n'accordent pas vraiment une grande importance à la structure hiérarchique de l'entreprise. Ils sont plutôt tournés vers une structure horizontale : le travail d'équipe et la collaboration. Par ailleurs, il faut les intégrer au processus décisionnel de l'entreprise et les prendre au sérieux. Les jeunes "Y" veulent être inspirés par leur supérieur, il cherche le respect mutuel.

4) Ils recherchent des défis et du succès et de la gratification à court terme. Conséquemment, l'entreprise qui ne réussit pas à les motiver rapidement et entretenir cette motivation sera confrontée à des employés, qui dès leur mission accomplie, voudront quitter l'organisation pour d'autres défis. Il faut donc constamment leur offrir des défis, reconnaître le travail accompli et leurs efforts (rétroaction constante). Il faut d'ailleurs leur offrir rapidement des possibilités de progression. En fait, les "Y" sont ambitieux et veulent avancer rapidement.

5) Ils ont souvent des projets personnels en dehors de leur travail. Pourquoi ? En fait, ils recherchent ce que leur travail ne leur offre pas : ils sont en effet créatifs et veulent être à la fine pointe de la technologie. Pour eux, c'est un moyen de s'accomplir. C'est aux organisations d'exploiter cette caractéristique, certaines l'ont compris.

Enfin, les problèmes générationnels sont vieux comme le monde et sachez une chose, vous n'êtes pas éternels et la génération Y fait son entrée sur le marché du travail. Il y a donc réactions possibles : soit vous profitez de cette nouvelle génération, vous acceptez ses qualités et ses défauts, soit vous pensez être immortels et vous faites fi de ce changement. Si vous optez pour cette dernière option, vos jours sont comptés à la tête de votre organisation ... :)

samedi 6 juin 2009

TI : Le choc des générations !

Saviez-vous que pour l'une des premières fois au pays, quatre générations se retrouvent sur le marché du travail ? Vous le saviez sans doute ... Cette réalité cause bien des problèmes aux employeurs et les oblige à faire preuve d'originalité afin d'établir de nouvelles stratégies afin d'attirer la jeune génération tout en conservant l'expertise et l'intérêts des autres générations.

Pour ma part, je fais partie de la jeune génération (la fameuse "Y"). Force est d'admettre que cette génération est celle qui est née avec l'informatique et la plus à l'aise avec les nouvelles technologies. En effet, nous sommes plus habitués et à l'aise d'intégrer rapidement les nouvelles technologies dans notre quotidien que les générations précédentes. En fait, à l'heure actuelle, notre génération cause bien des maux de tête aux gestionnaires TI.

Pourquoi ? Surtout à cause d'une incompréhension mutuelle, du moins, je crois. Pour ma part, je ne peux que parler pour ma génération. Plusieurs croient que nous sommes trop exigeants au niveau de nos attentes salariales. En fait, nous cherchons la flexibilité, un environnement stimulant et moderne, une possibilité de progression au mérite et un plan solide de développement de carrière. Actuellement, nous avons la chance de magasiner nos emplois comme nous magasinons une automobile. Par conséquent, c'est aux employeurs de s'adapter, nous ne ferons pas des compromis parce qu'ils ne sont pas habitués à ce genre d'agissement des ressources qu'ils embauchent. En fait, c'est à eux à s'adapter à la loi du marché et d'offrir mieux qu'une rénumération et quelques avantages sociaux standards.

Quand je parle d'environnement stimulant et moderne, c'est à tous les plans. Il faut donner à un jeune employé, des outils de travail modernes. Il n'est pas rare de nous voir mieux équipés que nos employeurs TI. Il faut aussi moderniser nos manières de faire. Le développement de systèmes a été longtemps une affaire de gestion serrée des processus. Plusieurs méthodologies ont vu le jour surtout axées sur la gestion du temps, des coûts et de la qualité. Cependant, ces méthologies sont peu axées sur la satisfaction du client. Plusieurs échecs de grands chantiers informatiques peuvent témoigner de la faiblesse de ses méthodes.

Pour ma part, je ne crois pas que nous devrions tout jeter à terre et oublier les expériences du passé en pensant que nous ferons mieux. Néanmoins, il est grand temps pour les grandes firmes TI de s'intéresser et de s'investir dans les nouvelles tendances : agile, Web 2.0, logiciels libres, cloud computing, etc.

Nous sommes dans un domaine qui connaît une croissance et une évolution incroyable. Toute résistance au changement dans ce domaine de la part d'une organisation ne fait que la rendre de moins en moins compétitive.

Nos organisations n'ont pas à avoir peur de la nouvelle génération, nous avons des défauts comme les générations précédentes, mais nous avons plusieurs qualités qu'elles ne possèdent pas et c'est aux organisations de s'en servir comme effet de levier. Par ailleurs, l'une des plus grandes lacunes que je constate, c'est la non prise en compte de l'opinion des juniors. C'est malheureusement terminé les décisions unilatérales, il faut favoriser un dialogue bidirectionnel : les jeunes sont habitués à commenter, challenger et collaborer.

Enfin, comme j'ai mentionné, ma génération n'est pas parfaite, mais elle a quelque chose à apporter à nos organisations. Les employeurs qui ne feront pas l'effort de les intégrer vont sans doute le regretter et plus tôt qu'ils ne le croient ...

Qu'en pensez-vous ? Comment vous voyez cela dans votre quotidien ? Comment doit-on s'y prendre ?

Gens de toute génération, à vous la parole !