Mémo Getting Real

Source : 'Getting Real' par Basecamp
La façon la plus intelligente, la plus rapide et la plus simple de créer une application web réussie.

Introduction : Qu'est-ce que 'Getting Real' ?

Vous n'avez pas besoin de beaucoup d'argent, d'une équipe énorme ou d'un long cycle de développement pour construire une bonne application. Ce sont les ingrédients d'applications lentes, sombres et immuables. 'Getting Real' prend l'approche inverse.

Les lignes directrices

  • Construisez moins : moins de fonctionnalités, moins d'options/préférences, moins de personnes et de structure d'entreprise, moins de réunions et moins de promesses.
  • Focus sur un problème : quel est votre problème ? Si vous avez ce problème, il est probable que des centaines de milliers d'autres personnes aussi. Voilà votre marché.
  • Financez-vous : l'argent extérieur est le plan B & les contraintes forcent la créativité.
  • Soyez flexible : fixer le temps et le budget, mais soyez flexible dans la réalisation (priorisez ce qui est vraiment important, fixez les attentes & soyez flexible)
  • Ayez un ennemi : parfois la meilleure façon de savoir ce que votre application devrait être est de savoir ce qu'elle ne devrait pas être.

Restez léger

  • Moins de masse : le changement doit être facile et peu coûteux. Réagissez et évoluez, concentrez-vous sur les bonnes idées et laissez tomber les mauvaises, écoutez et répondez à vos clients, intégrez les nouvelles technologies maintenant plutôt que plus tard.
    → Optez pour : une réflexion en temps et en heure, des membres d'équipe multitâches, tirer parti des contraintes, moins d'applications, moins de code, moins de fonctionnalités, une équipe de petite taille, la simplicité, des interfaces réduites, des produits open source, des formats de données ouverts, une culture ouverte
  • Réduisez le coût du changement : restez flexible en réduisant les obstacles au changement.
  • Accepter les contraintes : les contraintes sont le moteur de l'innovation et du focus des forces. Au lieu d'essayer de les contourner, utilisez-les à votre avantage.
  • Soyez vous-même : différenciez-vous des grandes entreprises en étant personnel et amical

Priorités

  • Quelle est la grande idée ? Définissez explicitement la vision en un point de votre application. Vous devez connaître le but de votre produit - la vision.
  • Ignorez les détails au début : le succès n'est pas la seule chose que vous trouverez dans les détails. Vous trouverez aussi la stagnation, les désaccords, les réunions et les retards.
  • C'est un problème quand c'est un problème : ne perdez pas de temps sur des problèmes que vous n'avez pas encore.
  • Recrutez les bons clients : trouvez le marché principal pour votre application et concentrez-vous sur celui-ci. Si vous essayez de plaire à tout le monde, vous ne plairez à personne.
  • Grandissez plus tard : vous n'avez pas encore de problème d'échelle.
  • Faites des applications à opinions : votre application doit prendre parti

Choix des fonctionnalités

  • Construire un demi-produit, pas un produit mal fait.
  • Beaucoup de choses n'ont pas d'importance, il faut se concentrer sur l'essentiel. "Pourquoi n'avez-vous pas fait ceci ou pourquoi n'avez-vous pas fait cela ?" → "Parce que ça n'a pas d'importance."
  • Dites non : le secret pour faire un demi-produit au lieu d'un mauvais produit est de dire non.
  • Coûts cachés : exposer le prix des nouvelles fonctionnalités.
  • Pouvez-vous y faire face ? Construisez quelque chose que vous pouvez gérer.
  • Solutions humaines : construisez des applications pour des concepts généraux et encouragez les gens à créer leurs propres solutions. N'imposez pas de conventions aux gens. Généralisez vos applications pour que chacun puisse trouver sa propre solution.
  • Oubliez les demandes de fonctionnalités, laissez vos clients vous rappeler ce qui est important.
  • Demandez aux gens ce qu'ils ne veulent pas;

Méthodologie

  • Mettez en place quelque chose de concret et de rapide.
  • Travaillez par itérations.
  • De l'idée à l'implémentation : passez du brainstorming aux esquisses, du HTML au code.
  • Évitez les préférences : décidez des détails pour que vos clients n'aient pas à le faire (les préférences sont un moyen d'éviter de prendre des décisions difficiles)
  • Acceptez que les décisions soient temporaires : acceptez que des erreurs se produisent et réalisez que ce n'est pas grave tant que vous pouvez les corriger rapidement.
  • Obtenez vraies données & feedback : testez votre application dans le monde réel, rien ne remplace l'utilisation de votre application par de vraies personnes.
  • Réduisez votre temps : fragmentez-le. Continuez à décomposer les échéances en petites tâches et procédez étape par étape.

L'organisation

  • Unité : ne se divisez pas en silos. Si la spécialisation a ses avantages, elle crée aussi une situation où les employés ne voient plus le contexte entier de l'application web.
  • Temps seul : les gens ont besoin d'un temps ininterrompu pour faire les choses.
  • Les réunions sont toxiques : avez-vous vraiment besoin d'une réunion ? Les réunions ont généralement lieu lorsqu'un concept n'est pas assez clair. Si vous devez organiser une réunion, respectez ces règles simples : 30 min, le moins de personnes possible, avoir un ordre du jour clair.
  • Recherchez et célébrez les petites victoires : la chose la plus importante dans le développement d'application est la motivation et les petites victoires que vous pouvez célébrer sont de grands facteurs de motivation.

L'équipe

  • Embauchez moins et plus tard : il n'est pas nécessaire de devenir grand tôt (ni plus tard).
  • Travailler d'abord avec les employés potentiels sur une base d'essai.
  • Jugez les recrues techniques sur leurs contributions open source.
  • Privilégier les généralistes qui apprennent vite plutôt que les spécialistes invétérés.
  • Vous ne pouvez pas simuler l'enthousiasme : choisissez heureux et moyen plutôt que talentueux et frustré.
  • Embauchez de bons rédacteurs : une écriture claire mène à une pensée claire.

Design d'interface

  • L'interface en premier : concevez l'interface avant de commencer la programmation. Un croquis sur papier ne coûte pas cher et est facile à modifier. Designer d'abord vous permet de rester flexible.
  • Design de l'épicentre : commencez par le cœur de la page et construire vers l'extérieur. Au début, ignorez les extrémités (navigation, pied de page, couleurs...), concevez d'abord le contenu le plus important.
  • Les 3 états : créez les designs des états normaux, blancs et d'erreur.
  • La page blanche : atteignez les attentes grâce à une première expérience réfléchie. L'application vide est la première impression de votre application.
  • Soyez sur la défensive : quel que soit le soin avec lequel vous concevez votre application, quel que soit le nombre de tests que vous effectuez, les clients rencontreront toujours des problèmes. Concevez votre application pour les cas où les choses tournent mal.
  • Contexte plutôt que cohérence : il est normal d'être incohérent si votre design est plus logique de cette façon. Donnez aux gens juste ce qui compte.
  • La rédaction est du design d'interface : une bonne rédaction est une bonne conception. Il est rare que les mots n'accompagnent pas le design.
  • Interface unique : ne concevez pas d'écrans séparés pour traiter les fonctions d'administrations. Intégrez plutôt ces fonctions (modifier, ajouter, supprimer) dans l'interface normale de l'application.

Le code

  • Moins d'application : gardez votre code aussi simple que possible. N'écrivez que le code dont vous avez besoin et pas plus.
  • Optimisez pour le bonheur : choisir des outils qui permettent à votre équipe de rester enthousiaste et motivée.
  • Gérez les dettes : vous devez reconnaître la dette et la rembourser à un moment donné en nettoyant le code brouillon ou en refaisant le design de cette page moyenne.
  • Ouvrez les portes : donnez aux gens l'accès à leurs informations via des flux RSS. Proposez des apis qui permettent aux développeurs tiers de développer votre outil. Ce faisant, vous rendez la vie plus facile aux clients et élargissez les possibilités de votre application.

Les textes

  • Une spécification fonctionnelle n'a rien de fonctionnel : ces documents ne vous permettent pas d'évoluer, de changer et de réévaluer.
  • Ne faites pas de documents morts : évitez l'excès de paperasserie partout. À moins qu'un document ne se transforme en quelque chose de réel, ne le produisez pas.
  • Racontez-moi une histoire courte : pour expliquer un nouveau concept, écrivez une brève histoire à son sujet (encore mieux avec les écrans et le contexte).
  • Utilisez de vrais textes : insérez un texte réel au lieu du lorem ipsum. Vous avez besoin d'une vrai rédaction pour savoir à quoi ressemble votre application.
  • Personnifiez votre produit : considérez votre produit comme une personne. Quel type de personne voulez-vous qu'il soit ? Gardez ces traits de personnalité à l'esprit lors de la création du produit.

Découverte et inscription

  • Échantillons gratuits : donnez quelque chose gratuitement pour que les gens découvrent le produit, l'interface.
  • Inscriptions & départs faciles : faites de l'inscription et de la désinscription un processus simple. Assurez-vous que les personnes qui décident de partir puissent récupérer leurs données.
  • Abolissez les contrats avec engagements, frais d'inscription, etc. Ne trouvez pas de moyens "détournés" pour obtenir plus d'argent, gagnez-le.
  • Faire passer la pilule : besoin d'annoncer de mauvaises nouvelles comme une augmentation des prix ? Faites en sorte que cela soit le moins douloureux possible en prévenant les gens suffisamment à l'avance.

Promotion

  • Lancement Hollywoodien : passez du teaser (poster sur le développement et collecter des emails) à la prévisualisation (coulisses, idées et principes derrière l'application, tickets d'or) au lancement (lancer votre site marketing complet et votre communication).
  • Un site de promo puissant : vue d'ensemble, tour des fonctionnalités, manifesto, études de cas, témoignages / critiques / presse, forum, tarification et inscription, blog.
  • La tendance des blogs : le blogging peut être plus efficace que la publicité (et il est moins cher).
  • Promouvoir par l'éducation : partagez vos connaissances avec le monde (conseils et astuces, conférences, ateliers, interviews, articles, livres contenant des informations utiles).
  • Fonctionnalités : les nouveautés ou les fonctionnalités intéressantes sont un excellent moyen de générer un buzz pour votre application.
  • Suivez vos logs : vous devez savoir qui parle de vous. Vérifiez d'où vient le buzz.
  • Mise à niveau en ligne: proposez des possibilités de mise à niveau au sein de l'application.
  • Un nom attractif : donnez à votre application un nom facile à retenir.

Support

  • Abattez les murs entre le support et le développement.
  • Zéro formation : utilisez l'aide en ligne et les FAQ pour que votre produit ne nécessite pas de manuel ou de formation.
  • Répondez rapidement : les clients apprécient lorsque vous répondez rapidement à leurs questions.
  • L'amour vache : soyez prêt à dire non à vos clients. Lorsqu'il s'agit de demandes de fonctionnalités, le client n'a pas toujours raison.
  • Forum en ligne : utilisez les forums ou les chats pour permettre aux clients de s'entraider.
  • Expliquez vos erreurs : si quelque chose ne va pas, dites-le aux gens. Soyez aussi ouvert, honnête et transparent que possible.

Post-lancement

  • Publier une mise à jour majeure 1 mois après le lancement : une mise à jour rapide montre que vous êtes à l'écoute et réaffirme les bons sentiments initiaux. Elle vous donne des sujets de discussion et aux autres un sujet sur lequel bloguer.
  • Continuez à publier des articles : montrez que votre produit est vivant en tenant un blog de développement de produit en continu après le lancement (FAQ, how-tos, trucs et astuces, nouvelles fonctionnalités, mises à jour et corrections, buzz/presse...)
  • Mieux, pas bêta : une phase bêta interminable indique aux clients que vous n'êtes pas vraiment engagé dans le déploiement d'un produit fini (les bêtas privées sont bien, les bêtas publiques sont à bannir).
  • Priorisez vos bugs : vous n'avez pas à les corriger tous instantanément. S'il n'est pas résolu immédiatement, expliquez pourquoi. Ne cherchez pas à blâmer quelqu'un. Les bugs, ça arrive.
  • Surmonter la tempête : attendre que les réactions agressives aux changements s'estompent avant d'agir.
  • Suivez la concurrence : abonnez-vous aux flux d'informations sur vos concurrents.
  • Méfiez-vous de la complexité : plus mature ne signifie pas forcément plus compliqué.
  • Suivre le courant : soyez ouvert à de nouvelles voies et à des changements de direction.

Conclusion

Tout le monde peut lire un livre et trouver une idée. Le succès réside dans une bonne exécution.
Pour les applications, cela signifie faire beaucoup de choses bien : une bonne rédaction, tenir ses promesses, une conception d'interface propre, un code propre, une bonne promotion.
L'ingrédient le plus important : les personnes impliquées. Vous avez besoin de gens passionnés, qui se soucient de leur métier, qui sont fiers de leur travail, qui s'occupent des détails, qui veulent construire quelque chose de bien et ne se contentent pas de moins. Au final, ce sont les membres de votre équipe qui feront ou briseront votre projet.