dimanche 30 octobre 2011

Des logiciels et des hommes. Part One

Des logiciels et des hommes. Ben oui. Les logiciels sont faits par des hommes et, la plupart du temps, pour des hommes.

Et d'où sortent ceux qui les font ? D'écoles où l'on ne parle que mathématiques et techniques. Et pas (ou alors peu), des hommes. Etrange, non ?

O surprise, en lisant le programme de "Agile Grenoble 2011", je découvre "It’s What You Don’t Do That Counts", une session animée par Susan Hunter. Qui est Susan Hunter ? Je ne le savais pas, mais le mot accolé à son nom m'a attiré l'oeil : Google.
Passé la première réaction (les chevilles qui enflent, je suis dans le même programme qu'elle - j'espère que j'arriverai à mettre les chaussures de ski, quand même), j'ai lu un peu plus attentivement.
Susan Hunter est Program Manager chez Google. J'ai cherché pendant quelques secondes ce qu'est un Program Manager chez eux, je n'ai pas trouvé. J'ai juste trouvé que ça a un salaire annuel moyen de plus de 100 k$.
Le programme dont elle s'occupe, c'est un petit truc, chez Google : Gmail... Il semble qu'elle bosse avec 4 équipes qui contribuent à le développer.
Pourquoi je vous parle de ça ? Parce qu'elle n'a pas fait des études d'informatique. Elle a un master en résolution de conflit. Elle aide les gens à travailler ensemble.



Bien sûr que nous avons besoin de "techniques". Les bases de données et les protocoles, c'est compliqué, par exemple (et ça ne s'arrange pas vraiment avec la fin de SQL). D'un autre coté, il y a de plus en plus d'outils qui masquent cette complexité. Ce blog, par exemple. Pas besoin de connaître HTML et CSS.
Mais nous avons un besoin criant d'autres profils ! De gens qui comprennent les problématiques du développement logiciel, mais qui comprennent surtout les hommes... les utilisateurs et les développeurs.


mercredi 12 octobre 2011

Jouer aux devinettes

Une traduction en français du premier livre de 37signals, Getting Real est disponible ici. Elle est incomplète, dommage.

37signals, c'est quoi ? Une entreprise étonnante qui a réussi, il y a "longtemps" (ils ont commencé en 1999) à réaliser des logiciels utiles et à prospérer en appliquant des méthodes qui allaient à l'encontre de ce qui se pratiquait - et se pratique encore énormément.

Le blog #hypertextual a fait un bon résumé, que je vous recommande de lire.

Quelques extraits, pour vous donner envie (j'espère) :
L’accent est mis sur la productivité et la confiance : I have no idea how many hours my employees work — I just know they get the work done (J. Fried).
Et bien évidemment la simplicité, cette sophistication ultime selon Léonard de Vinci : “Simple requires deep thought, discipline, and patience – things that many companies lack”(Matt Linderman)
Le Leadership c’est aussi une communication saine et maitrisée. 37Signals a ainsi banni une série de four-letter-words de son vocabulaire. Ces mots simples et passe-partout qui ont souvent des effets désastreux : must, need, just, cant, easy, only, fast.

Pour Fried, le planning ne sert à rien. Il ne s’agit que de vagues suppositions qui ne servent qu’à rassurer un management avide de contrôle.
A quoi bon perdre du temps à prévoir l’avenir quand la Reality is a terrible collaboratorOù serons-nous dans 10 ans ? In the business (Fried).
L’incontournable Peter Drucker distingue le leadership du management en ces termes Management is doing the things right, while Leadership is doing the right thing.
37Signals a démontré avec panache que les Digital Natives savent gérer leurs affaires en intégrant complètement les contraintes et caractéristiques du monde du XXième siècle. Pour un effet de levier ahurissant : 12 personnes (sur 4 jours) pour une société qui propose des services informatiques à des centaines de milliers d’utilisateurs. Le tout en prenant le contrepied parfait des principes au coeur des organisations telle que nous les connaissions au siècle dernier.


Une dernière précision : aujourd'hui, ils sont toujours moins de 20 personnes. Leur chiffre d'affaires en 2010 : entre 10 et 15 millions de dollars. Les employés sont à Chicago et ailleurs, en télétravail. Et ils travaillent 4 jours par semaine.

L'année dernière, ils ont sorti un deuxième livre : Rework. La bonne nouvelle : il existe en français !



Planning is guessing
("jouer aux devinettes")

lundi 3 octobre 2011

La fin des listes et des dossiers ?

Par manque d'imagination ? Ou tout bonnement parce qu'à l'époque c'était le plus simple, l'informatique a pendant longtemps essayé de ne pas trop changer nos habitudes, en conservant la logique que nous utilisions déjà, mais en nous simplifiant son application.

Documents feuilletés page par page, fichiers rangés dans des dossiers, dossiers posés sur un bureau, par exemple. Ou encore courrier électronique envoyé dans une boîte aux lettres.

Pierre Bellanger en parle pas trop mal aux Ernest :


Pierre Bellanger - Communiquer avec Internet par les_ernest

Et puis, tout a commencé à aller de travers. Documents partagés, flux RSS, réseaux sociaux, architectures réparties, cloud, bases de données dénormalisées, etc. Houlala mais c'est la pagaille !

Nous persistons à vouloir classer, ranger, archiver, planifier. Alors que toute l'info est là, disponible en quelques millisecondes, il suffit de demander. Il est plus long de naviguer dans une arborescence de répertoires que de taper un mot dans un champ de recherche.

Nous sommes (surtout les vieux comme moi), enfermés dans nos schémas mentaux. Et ils ne sont plus valables. Enfin si, on peut les garder, mais ils nous limitent.

D'après Michel Serres, la génération mutante pensera différemment.

Pourquoi je vous parle de tout ça ? Parce qu'ayant pendant plus de vingt ans contribué à développer des logiciels, je pense qu'aujourd'hui ceux-ci doivent évoluer. Je dis "je pense", mais c'est faux. La bonne formulation, c'est : je m'aperçois que les logiciels évoluent, et leurs usages aussi.

Fini les listes. Le fameux rêve du bouton "J'ai de la chance" de Google. Nous devons concevoir des logiciels qui présentent l'information utile, aux bonnes personnes, au bon moment. Et pas toute l'information. Car celle-ci est désormais infinie.

Un exemple ? Shazam... Avant on pouvait chercher une chanson par genre, ou par auteur. Maintenant on ne cherche plus rien. Quelques notes et hop, c'est là. Un clic - pardon, un pouce - et je peux écouter et réécouter autant de fois que je veux. Et faire écouter, partager.

Allez, au boulot...

Elastic Leadership

Un blog à lire : celui de Roy Osherove

Un extrait : "Team leadership is the next big thing that software developers need to conquer, or non of this unit testing, TDD, Agile or Lean thing is going to catch on, except in very small circles, that, by chance, happen to have the right people leading their teams."



dimanche 2 octobre 2011

Pour aller vite, avancez pas à pas

Bon, vous avez été convaincus par mon précédent billet ;-) et maintenant vous vous dites : comment fait-on pour aller vite et, en plus, sans bâcler ?

Aller vite, ça n'est pas produire des milliers de lignes de code, ou de meubles ou de photos ou de chapitres d'un roman en un temps record.

Aller vite, c'est fournir le plus vite possible "au monde" votre idée, sous une forme utilisable. Et pour cela, il ne faut pas attendre d'avoir terminé pour présenter votre oeuvre. Car la plupart des projets sont longs, voire très longs, voire sans fin...

Il faut donc avancer pas à pas. Lentement, donc. En ajoutant petit à petit des éléments à votre projet. Qui - comme vous le savez déja car vous me lisez régulièrement et attentivement ;-) - va évoluer en cours de route.

Dans le développement logiciel - mais ça fonctionne pour tout - on appelle ça faire des itérations. Mais souvent on considère juste qu'une itération c'est une période de temps dans laquelle on va réaliser quelque chose. Une sorte de rythme que l'on se donne.



Ca peut être cela, mais ça peut être beaucoup plus. Une itération, c'est d'abord un objectif ! A la fin d'une itération, on doit obtenir un produit qui apporte quelque chose, sur  lequel "le monde" peut réagir. Car tout est là : pour que votre idée de départ se transforme en une bonne idée et un bon logiciel, un bon meuble, un bon je-ne-sais-quoi, il faut qu'il suscite des réactions !

Au plus vite vous obtenez du retour, des commentaires, des remarques, des critiques, au plus vite vous avancez dans la bonne direction. Au plus vite vous confrontez votre idée au monde réel et aux vrais problèmes, au plus vite vous pouvez corriger le tir.

Une itération c'est un petit projet en soi, il y a un peu de tout dedans : de l'étude, de la production, des tests, de la mise en place, de la communication, une présentation "au public", des critiques, etc. Et quand elle est terminée, on s'arrête ! Vraiment. Et on se change les idées. On travaille sur autre chose. Le temps de laisser aux autres du temps pour réagir. Le temps de recharger ses batteries, de laisser reposer tout ça.

Et on y retourne, avec un regard neuf et fort du regard des autres. On se fixe un nouvel objectif et en avant pour une nouvelle étape. Pas d'objectif, pas d'étape. Vous allez produire dans le vide. Un objectif est essentiel pour la focalisation et la motivation.




Pour aller vite, avancez pas à pas. Aucune chance d'arriver au bout, sinon.