Organiser les développements : suite avec Laurent

Laurent a publié un commentaire, suite à mon billet sur l’organisation des développements.

J’ai pensé que ce commentaire « méritait » d’être « remonté » au niveau billet.

Voici donc les recommandations d’Ysance pour organiser les développements :

Lorsqu’on développe à plusieurs (ou même tout seul), les outils d’organisation de travail et groupe sont cruciaux, mais ne doivent pas nuire à la productivité ( combien de fois j’ai vu des plates-formes où il fallait plusieurs minutes pour mettre à jour un fichier, compiler, tester, tout ca parce qu’il était interdit de ‘travailler sur son PC’ !). Je vais me permettre de donner/compléter (succintement) quelques pistes :

  • La plate-forme de développement : principalement sur les postes de développeurs et un SVN, mais mutualisant généralement la base de données pour éviter les désagréments d’évolution des modèles. La base de données étant sous la responsabilité d’une (et d’une seule) personne. Chaque développeur produit des tests unitaires pour ses dévleoppements.
  • Une plate-forme d’intégration continue (de type CruiseControl ou autre) : Dès qu’une mise à jour de SVN est détectée, update de la branche, recompilation, déploiement scripté de la totalité du projet, et lancement des tests unitaires. Ainsi, pas besoin d’attendre plusieurs jours avant de détecter des problèmes d’intégration. C’est un peu long à mettre en place, mais ces techniques ont largement prouvé leur efficacité sur le moyen/long terme.
  • Une plate-forme de recette : Elle sert à valider fonctionnellement les développements. Celle-ci peut aussi être déployée à l’aide des scripts d’intégration continue pour faciliter. Je demande à mes équipes de mettre en ligne généralement deux ou trois fois par semaine. Cela permet aussi de suivre l’avancement général des développements et de ne pas être surpris la veille de la livraison :-)
  • Une plate-forme de pré-production : A l’identique “techniquement” (mais en version réduite pour limiter les coûts) de la plate-forme de production. L’objectif ici est de mettre en situation réelle (chez l’hébergeur, avec firewalls, DNS…) l’application avant déploiement pour réaliser une recette technique.
  • Une plate-forme de production : Pour limite la casse, dupliquer la production sur la pré-production avant recette technique. Préparer des scripts de retour en arrière (ca c’est la théorie, mais le jour où on en a besoin, on est bien content d’en disposer). Et enfin… faire les installation en production de préférence le lundi ou le mardi, jamais le vendredi (c’est toujours bon de le rappeler) !

Ca fait beaucoup d’environnements, certes, mais si la plate-forme est bien paramétrables (URL, DNS, adresses IP de chaque service) dans des fichiers de configuration, quasimment un seul fichier (web.config, config.php, autre…) peut permettre de paramétrer l’ensemble de la plate-forme.

Tout cela ne sont que des principes d’organisation et doivent être bien entendu couplés à l’organisation de l’équipe et les méthodes de développement (développement itératif, scrum, …)

Laurent

SSD : pas encore bien mur !

A l’annonce du Mac Book Air, je me suis dit : « Celui là, je vais me l’acheter ».

Tout petit, tout léger, suffisemment puissant et surtout, avec un SSD, pour avoir un ordinateur plus rapide, avec une batterie qui tient beaucoup plus longtemps.

Après la lecture de cet article, je me dis que je vais garder mon MacBook Pro.

Il apparait en effet que les performances du MacBook Air SSD ne sont pas à la hauteur : pas plus rapide (et en tout cas beaucoup plus lent que mon MacBook Pro), une batterie qui tient 2h30 (on est loin des 5h annoncées)…

Pour me consoler, je vais m’acheter un iPhone 16 Go 😉

Stratégie Focus : oui mais…

Pour les petites boites, startup ou pas, être focus, c’est complètement fondamental.

Focus, ça veut dire que la petite équipe ne se disperse pas, et se concentre sur une offre très focalisée.

Pour aller plus loin, on peut dire qu’une bonne façon de décider de cette stratégie est d’être à l’écoute des clients.

On a alors l’immense privilège d’être focus ET orienté client 😉

Où est le problème alors ?

Le problème est que la phrase précédente (« focus ET orienté client ») est complètement creuse !

Les clients n’ont évidement pas tous les mêmes demandes. Donc, si on écoute leurs besoins, ça ne permet pas de définir une stratégie focus.

Reste donc à faire des choix, et à choisir parmis plusieurs axes de développement possible.

ça pour le coup, c’est pas creux ! Je suis complètement convaincu que pour réussir, il faut rester centrer sur peu d’activités, et évidement que par la suite ces activités marchent bien.

Mais comme on dit, 100% des boites qui réussissent ont fait le choix de centrer leur activité, alors que si on ne le fait pas, pour le coup, on est sur de se planter.

Donc, faire des choix.

Autant c’est facile avant la création, quand on est sur du papier, autant, quand la boite a démarré, c’est beaucoup plus difficile…

Faire des choix, ajuster la stratégie de la boite, ça peut passer par des décisions difficiles : ça peut vouloir dire arrêter une activité, qui apporte une partie des revenus, ça peut vouloir dire réduire les effectifs, …

Je dois vous le dire : à mon sens, c’est la principale qualité d’un patron : la capacité à développer une vision (vers quel marché se développer) et à la mettre en musique, en insufflant l’élan nécessaire pour que les équipes suivent.

Rechute…

Demain, je retourne à « mes premiers amours » : PROGRAMMER !

Je vais à une formation Flex, organisée par Baao et sponsorisé par Adobe.

J’ai commencé ma vie professionnelle en développant des applications… en programmant quoi.

Je dois vous avouer : même si j’adore mon métier (à la frontière du marketing et de la technique), j’éprouve un grand plaisir à reprendre la programmation.

Pour tout dire, je me sens comme un gamin, qui « fait des légos en cachette alors qu’il a pleins de devoirs ». Vous voyez ce que je veux dire ?

Légo !

Organiser les développements

Quand on développe un site marchand, il est très important de bien organiser les développements.

En particulier, il faut très rapidement aller vers plusieurs plate-formes informatiques :

La plate-forme de développement

C’est sur cette plate-forme que les développeurs… développent.

Après avoir testé le bout de service qu’ils développent en local, sur leur machine, ils peuvent migrer le nouveau programme sur la plate-forme de développement et faire des tests, avec les programmes des autres.

La plate-forme de production

C’est la plate-forme en ligne, celle qui est visible par les clients, les Internautes.

La plate-forme de pré-production

C’est un sas, entre le développement et la production.

Cette plate-forme est tout à fait fondamentale, car elle permet de garantir que les nouveaux développements n’impliquent pas de régression.

Quand l’équipe estime que la version courante de développement est stable, on fait une migration, vers la pré-production, pour tout tester, dans tous les sens. Si les tests passent, on peut alors migrer, de la plate-forme de « pré-prod » vers la prod.

Simple, non ?

e-marketing – partager le territoire

Le e-marketing est un outil puissant au service du e-commerce.

Avec des campagnes adwords, on peut amener du trafic qualifié, directement vers les bonnes pages sur le site marchand.

Avec des programmes d’affiliation bien gérés, des tas de clients vont voir les produits sur des sites partenaires, et venir gentillement finir l’acte d’achat sur le site marchand.

Avec une approche pro du référencement naturel, et donc une sélection rigoureuse des espaces sémantiques, des bons mots, les clients arriveront toujours plus nombreux sur le site marchand, à partir de leur moteur de recherche favoris.

Avec des campagnes d’emailing bien travaillées (tant sur le fond que sur la forme, tout en double opt-in bien sûr), les clients vont affluer, toujours plus nombreux, soit sur des pages d’atterissage, soit directement sur des pages produits.

Enfin, pour être bien « 2.0 », une campagne « viral » pourra être lancée, qui si elle prend, se répendra comme la poudre, de mails en mails, de blogs en blogs.

Le monde est beau, le monde est simple…

Mais…

Car il y a un mais, le e-marketing n’appartient pas au seul e-commerce.

La marque peut souhaiter communiquer sur… la marque.

Les équipes marketing des produits peuvent souhaiter lancer des programmes de communication, sur les produits.

Enfin, les marchands physiques peuvent souhaiter utiliser Internet pour rabattre les clients vers les magasins physiques.

Et oui, il faut donc partager le monde !

D’autres façon de vendre : l’exemple telebid

La plupart des sites marchands se ressemblent finalement : un catalogue de produits, un processus achat et zou, l’affaire est bouclée.

Il y a pourtant d’autres façon de vendre sur Internet !
Regardez par exemple les ventes privées ou les ventes aux enchères (eBay ou PriceMinister).

Mais il y a encore bien des pistes à explorer !

Mais connaissez vous Telebid ?

Page d'accueil de Telebid

Telebid propose un mécanisme d’enchère qui peut faire penser à eBay, mais c’est en fait très différent.

D’abord, notons que les produits vendues sont mis en vente par Telebid, ce sont donc des produits neufs.

Ensuite, le mécanisme d’enchère est plus subtil :

Le temps de l’enchère est affiché en temps réel, pour chaque produit.

Si un Internaute pose une enchère, il se passe plusieurs choses :

  • Le prix du produit monte, bien entendu ;
  • Le temps restant pour l’enchère est prolongé ;
  • Celui qui pose l’enchère doit payer pour poser cette enchère, qu’il gagne ou pas.

Le système me semble particulièrement malin :

  • L’interface, qui affiche en permanance le temps restant pour enchérir, est très stimulante, un peu comme avec l’application AIR d’eBay ;
  • Le temps des enchères est prolongé, aussi longtemps que des acheteurs veulent enchérir… ça permet de faire monter les prix plus loin ;
  • Telebid gagne de l’argent, avec l’acheteur certe mais également sur l’ensemble des options d’enchères… Cela doit représenter une marge très importante ;
  • Telebid met en avant, sur son site, des ventes qui se sont révélées très intéressantes pour l’acheteur, c’est super vendeur !

Exemple :

Exemple de super afaire sur Telebid

Une DS neuve pour 10 £ ! Motivant, non ?
(vu sur le blog de LetsBuyIt)

Mon avis sur l’affaire de la Société Générale : de la fragilité des systèmes d’information

Un traider serait donc la cause de 5 Milliards de perte pour la SG…

Pour arriver à ce niveau de perte, il aurait spéculer sur 50 Milliards d’euros !

Au début, je ne pensais pas que c’était possible, je penchais donc pour une maneuvre pour charger un bouc émissaire de tous les mauvais placements… Puis mes différentes lectures (ici par exemple) m’ont fait douté : oui, il semblerait que cela soit possible !

Pourtant, la SG dépense des sommes colossales pour son système d’information, dont pas mal de millions d’euros pour la sécurité et le contrôle.

Que peut on en conclure ?

A mon sens, ce qui est marquant, c’est la non maîtrise de ces systèmes d’information.

La pyramide

Pour arriver à un tel résultat, il faut que le système ne soit pas compris par les personnes qui l’analysent.

Et le prix que l’on paye une armée de consultants n’est pas un outil de mesure de qualité…

D’où mon image : la pyramide est inversée, le système est gros et lourd, mais quelques grains de sable peuvent tout faire tomber.

Update de 20h35

En relisant mon billet, je me suis dit que j’étais pas assez explicite.

Petit complément donc.

Un système d’information, c’est du code qui s’exécute. Ce n’est pas une abstraction.

Pour analyser un système, il faut analyser le code. C’est donc pas un travaille ou on manipule des abstractions…

J’ai travaillé dans les banques dans ma jeunesse. Les documents d’analyses ne correspondent pas à ce que font les programmes… Quand il y a des documents d’analyse ! Je me souviens d’une très grosse banque, qui avait un programme très important, au coeur du système. Le programme avait été écrit avec PAC, un générateur de programmes Cobol. Quand je suis arrivé, le programme PAC était perdu, il n’y avait aucun document d’analyse… Donc, la seule façon de comprendre les règles métiers, c’était d’analyser le code généré par PAC… C’est une illustration de la pyramide inversée. Dans un tel contexte, tout peut arriver !

2ème forum emarketing : c’est demain !

Logo du salon emarketing

Demain et après demain, je serais sur le salon emarketing.

Moment important pour écouter, découvrir de nouvelles solutions, vous rencontrer peut être (le plus simple est de m’envoyer un sms).

Vu mon actualité, je vais clairement m’intéresser aux présentation qui parlent d’interfaces riches… Mais impossible de tout aller voir !

Alors comment choisir : « céder à la facilité » et aller voir les amis, les boites que je connais, ou explorer, et chercher les nouveautés ?

Je vais probablement faire un mix de tout ça, au feeling !

Multi-écran : avantage… Windows !

Cela fait maintenant quelques années qu’on peut utiliser plusieurs moniteurs sur son ordinateur.

C’est particulièrement utile sur un ordinateur portable, avec un écran interne par définition limité, et un grand écran que l’on branche quand on est en poste fixe.

Sur Windows comme sur Mac, les systèmes doivent s’adapter à cette fonction, et c’est fait avec plus ou moins de bonheur.

En fait, je trouve qu’aujourd’hui, ce n’est satisfaisant ni sur Mac, ni sur PC.

Il y a toujours des applications qui pilotent mal cette fonction, et qui ouvrent des fenêtres un coup sur un écran, un coup sur l’autre écran…

Mais comment le système d’exploitation s’en sort-il ?

Et bien je trouve que le Mac ne s’en sort pas très bien…

Une différence entre Mac et Windows, c’est le système de menu.

Sur Windows, chaque fenêtre possède sa propre barre de menus.

Sur Mac, il n’y a qu’une seule barre de menu, en haut du moniteur principal. Cette barre change, en fonction de l’application active.

Et voilà, tout est dit : si j’ai deux moniteurs, et que je suis sur une application qui est sur mon moniteur secondaire, pour utiliser le menu, je dois aller chercher ça sur l’autre moniteur.

Allez, Steve, toi qui est le roi des interfaces bien foutues, fait quelque chose !