Pull to refresh

Принципы Getting Real (Часть 2)

Reading time10 min
Views7.8K
В первой части статьи мы затронули первые 25 принципов, описанных в книге Getting Real от 37signals. Книга очень концентрированная, и содержит весь набор рекомендаций, необходимых для успешного старта небольшой команды. Так что пришлось укладывать всё в две статьи. Продолжаем.



26. Сохраняйте код программы простым


Когда мы пишем в два раза больше кода, — это не значит, что программа станет в два раза сложнее. Сложность программы растёт экспоненциально. Как сохранить небольшой объём кода? —Меньше функций, меньше кода, меньше отходов. Переформулируйте задачу, которая требует много кода, так, чтобы можно было решить 80% требований, затратив 20% усилий. Это очень большой выигрыш.

37signals находят решения простых задач. Вместо того, чтобы разрабатывать продукты, которые делают больше, они разрабатывают продукты, которые делают меньше.

Поощряйте контрпредложения от программистов. Пусть они вам скажут, что не так и как это сделать по-другому: быстрее и лучше. Идеальная фраза программиста: «Если делать это так, как вы предлагаете, — на это уйдёт 12 часов. Но я могу сделать это за час. Тогда программа будет делать Х, но не будет делать Y. Пусть программисты отстаивают свою точку зрения на то, как лучше написать программу.

Помните: нет кода более гибкого, чем отсутствие кода.

27. Инструменты, дающие счастье


Счастливый программист — продуктивный программист. Выбирайте инструменты, основываясь не только на стандартах и на производительности, но и на том, даёт ли инструмент программистическое счастье. Например, если вы выбрали для построения отчётов birt, — будьте готовы, что счастья не будет никогда. Посмотрите, чувствуется ли в инструменте страсть, гордость и мастерство? Маленькие детали текущей работы должны приносить радость. 37Signals нашли программистическое счастье в языке Ruby и создали фреймворк Rails.

28. Слушайте свой код


Ваш код будет сопротивляться неэлегантным решениям. Возможно, он будет говорить вам, что существует более лёгкий способ решения. Выбирайте функцию, которую легко сделать. Возможно, она будут не в точности такой, какой вы её представляли в начале, но, если она работает достаточно хорошо и оставляет время на другие дела, — оставьте её.

29. Расплачивайтесь по долгам кода и дизайна


Написали блок кода, который работает, но неопрятен? —Это долг.
Набросали дизайн по принципу «и так сойдёт»? —Это ещё один долг.
На самом деле, это нормальный подход, когда вы делаете продукт к определённой дате, чтобы сделать пользователей счастливыми. Но долги нужно закрывать, так что регулярно выделяйте время, чтобы расплатиться по накопившимся долгам. Иначе, у вас будут скапливаться тонны костыльного кода, который будет очень сложно разобрать. Вы ведь не помните, как и зачем оно так работает?

30. Откройте API. Свободно впускайте и выпускайте данные


Так вы облегчите всем жизнь. Дайте людям возможность обмениваться данными с вашим продуктом. API позволит множеству разработчиков расширять функционал вашего продукта. Не нужно недооценивать тот вклад, который могут внести другие разработчики в ваш продукт.

31. Нет функциональным спецификациям


Это только слова на бумаге. Лучше вместо спецификации написать короткий рассказ в одну страницу. Опишите, что именно должно делать приложение. Напишите простым языком и сделайте это быстро. Если вам не хватило одной страницы, — значит вы очень усложняете. Этот процесс не должен занимать более одного дня.

Как только вы напишете этот небольшой рассказ, — начните строить интерфейс. Он и будет альтернативой функциональной спецификации. На нём всё видно и всё понятно. Нарисуйте сначала несколько эскизов на бумаге, потом закодируйте в html. Двусмысленность уходит, когда все начинают видеть на экране одно и то же. Постройте инстерфейс, который люди смогут потыкать мышкой. Сделайте это до того, как вы начнёте беспокоиться о внутреннем коде.

32. Нормальные слова, вместо lorem ipsum


Стандартная рыба позволит понять, как будет выглядеть дизайн. Но настоящие слова позволят понять, должен ли дизайн выглядеть именно так. Текстовое содержание — это не просто часть визуального дизайна, но это важная и значимая информация. Текст-пустышка — это завеса между вами и действительностью.

Возьмите настоящую информацию, чтобы посмотреть, как будет растягиваться таблица. Введите в форму настоящие данные для того, чтобы понять, насколько пользователям будет удобно. Когда вы проверяете форму отправки данных, — не вводите в поля что-то типа «asdf». Если вам самим лень заполнять каждый раз все эти поля, то что же будет с пользователями?

33. Очеловечьте ваш продукт


Определите тип личности вашего продукта. Он может быть строгим, шутливым, игривым, бесстрастным, требовательным и т. д. Когда вы принимаете решение о характере, — следуйте этому характеру и имейте ввиду эти черты, во время разработки продукта. Всякий раз, когда вы вносите изменения, подумайте, насколько это изменение соответствует типу характера вашего приложения.
У вашего продукта есть голос и он разговаривает с вашими клиентами 24 часа в сутки.

34. Цена и регистрация


Дайте что-нибудь бесплатно. Вокруг очень много всего и вас не заметят, если вы не дадите ничего бесплатно. У умных компаний так принято: дать что-то бесплатно/в подарок/по акции, чтобы увеличить лояльность покупателей, а, вместе с этим, и прибыль.
37signals дают бесплатно пользоваться basecamp на протяжении 60 дней. За это время пользователи чувствуют восторг, привыкают к продукту и им становится гораздо проще перейти на какой-то из платных тарифов.

35. Сделайте регистрацию и отказ безболезненными


Процесс регистрации должен быть «для чайников». Поставьте большую и ясную кнопку на каждой странице вашего маркетингового сайта. Расскажите, что это просто: от регистрации до использования 1 минута! Сама по себе регистрация всегда должна быть бесплатной, чтобы пользователь смог войти и понять, что это ему нужно. Не запрашивайте при регистрации информацию, которая вам не нужна. Просто спросите email, в большинстве случаев этого достаточно.

Бывает так, что люди хотят закрыть свой аккаунт. Это неприятно, но нормально. Не препятствуйте этому. Просто покажите ссылку: «Закрыть мой аккаунт». Дайте человеку выгрузить свои данные, чтобы не оказалось, что он из-за этих данных навечно заточён в вашей системе. Это критический фактор, который напрямую влияет на доверие пользователей к вам.

36. Избегайте долгосрочных контрактов, платы за подключение и т. д.


Одно дело, когда с нас требуют денег на год вперёд, а другое дело, когда на месяц. Это сильно влияет на продажи. Просто сделайте оплаты небольшими порциями. Basecamp списывает деньги с карточки каждый месяц.
Плата за подключение — тоже зло. Это просто фокус, чтобы собрать с клиентов побольше денег. Заслужите их деньги и они будут пользоваться вашим продуктом.

37. Плохие новости


Если у вас есть плохие новости — как можно раньше расскажите об этом. Когда вы повышаете тарифы, подсластите пилюлю вашим стареньким пользователям. Расскажите, что вы их цените, поэтому они какое-то время могут пользоваться вашим продуктом по старым ценам.
Иногда случаются фейлы. Признайтесь в этом и подарите что-нибудь. Например, я являюсь пользователем Яндекс-Диска. Когда у них случился какой-то большой косяк в одной из версий программы, команда яндекс-диска подарила пользователям, установившим эту версию по 250 Гб места. Должен сказать, что этого места в облаке для меня более чем достаточно, так что я доволен.

38. Выпуск продукта


Выпускайте продукт в голливудском стиле. Если вы выпускаете продукт без предварительной подготовки, — о нём никто никогда не узнает. Голливуд делает так:
  • Анонс
    За несколько месяцев начинайте намекать. Расскажите людям, над чем вы работаете, покажите логотип, расскажите о разработке в своём блоге. Заведите сайт, где вы будете собирать адреса почты интересующейся публики. На этой стадии вы будете окучивать знатоков и экспертов, т. е. тех, кто находится на переднем крае. Предоставьте им эксклюзивное право раннего просмотра продукта.
  • Рекламный показ отрывков
    Голливуд показывает отрывки из фильма. Вы делаете предварительный показ некоторых возможностей. Дайте несколько скриншотов, покажите основные возможности продукта. Расскажите об идеях, принципах, заложенных в программу.
  • Выпуск
    В Голливуде в этот момент люди идут в кино. В вашем случае они будут работать с вашим продуктом и пытаться его использовать. Запустите полноценный маркетинговый сайт. На нём должен быть обзор, экскурсия по продукту, скриншоты и видеоролики, манифест, примеры, отзывы, форум.
    Распространяйте проповедь как только можно. Пусть на вас ссылаются блоги, сообщайте о своём прогрессе: сколько у вас зарегистрированных пользователей, сколько обновлений/поправок вы сделали? Покажите ваше движение вперёд.
    Когда придёт день выпуска, — разошлите сообщения по вашему списку рассылки.


39. Заведите блог


Реклама стоит дорого. Блог стоит только ваше потраченное время и обычно оно окупается. Лично я тут же вспомнил про блог Фёдор Овчинникова sila-uma.ru в котором предприниматель описывает все свои шаги в бизнесе. Читать этот блог занимательно и интересно.
Начните с создания блога, который не только хвалит ваш продукт, но и даёт какие-то полезные советы, решения, ссылки и т. д. 37 signals тоже ведут свой блог, на который заходят тысячи посетителей в неделю.

40. Продвижение через обучение


Делитесь знаниями с другими. Таким образом вы получаете аудиторию. Обучение — это путь к тому, чтобы ваше имя и название вашего продукта появилось перед множеством людей. Вместо того, чтобы навязывать ваш продукт, вы получаете внимание за предоставление образовательной услуги. Размещайте на вашем сайте советы и решения, которыми читателям захочется поделиться с другими. Выступайте на конференциях и оставайтесь, чтобы в конце поговорить с участниками. Проводите семинары, пишите статьи и книги.

41. Пища функциональности


Добавление новых функций — хороший способ усилить разговоры о вашем приложении. Basecamp добавляет RSS и о нём начинают говорить. В Basecamp активно используют ajax (когда он выпускался, ajax был новой технологией) и о 37signals начинают говорить, как об одном из ключевых игроков ajax, наравне с microsoft, google, yahoo и amazon. Интеграция с iCal привлекает пользователей Mac.

42. Следите за упоминаниями


Если о вас говорят, — это хорошо. Следите за тем, что конкретно о вас говорят и своевременно реагируйте. Если о вас начинают активно говорить на каком-то форуме, — включитесь в беседу и ответьте на заданные вопросы. Я вспомнил интересный случай, когда на рутрекере в ветке, посвящённой Intellij Idea представитель JetBrains отвечал на какие-то вопросы. Очень мило с их стороны и это реально производит хорошее впечатление.

Цените любые отзывы, в т.ч. и отрицательные. Можно отвечать что-то типа «мы ценим ваше мнение, но мы сделали это таким-то способом, потому что...» или так: «вы затронули важную проблему и мы над ней работаем».

43. Продажи внутри приложения


Предложите переход на расширенные возможности в самом приложении. Сейчас это кажется очевидным, но Getting Real вышла в 2006 году и тогда сервисов, предлагающих такой подход было немного. Суть в том, что у вас должно быть несколько тарифных планов для разных категорий пользователей. Кому-то достаточно бесплатной версии (как мне с CRM bittrix24), а кому-то нужен полный функционал. Дайте людям возможность докупать функции. Часто так делают на shared-хостингах: это возможность докупить дискового пространства или дополнительную MySQL-базу.

44. Лёгкое название


Не делайте мудрёное название. Оно должно быть простым и легко запоминаемым. Что легче произнести в бытовом разговоре: Basecamp или Active Collab? Whiteboard или CollaborEdit?
Выберите короткое, яркое название и вперёд. Не увлекайтесь фокус-группами и прочими ненужными штуками.

Не переживайте, если доменное имя занято. Подберите что-нибудь близкое.

45. Почувствуйте боль поддержки


Сокрушите стены между разработкой и поддержкой. В 37signals поддержкой занимаются сами разработчики. Это позволяет напрямую общаться с клиентами и понимать, что происходит с продуктом. У них ответы на большинство запросов приходят в течение нескольких часов. Не передавайте техподдержки колл-центру или сторонней организации, но осуществляйте её сами.

46. Нулевое обучение


Сделайте встроенную в продукт систему помощи. Чтобы пользоваться Яндексом или Гуглом вам не нужны справочники. Почему бы вам не сделать ваш продукт таким же простым в использовании? Начните с простой программы. Чем меньше сложность, — тем меньше усилий для заблудших пользователей. Хорошая система помощи и списки FAQ — это очень хороший способ помочь.

47. Первые пользователи


Вы сможете конкурировать с большими компаниями тогда и только тогда, когда вы будете уделять внимание каждому пользователю. Первые пользователи — это те, кто укажет вам на ошибки в программе и на те нужды, которым ваша программа не удовлетворяет. А ещё они расскажут о вашей программе другим.
Когда пользователи сообщают об ошибках, — обязательно ответьте им как можно быстрее. Они рассчитывают на то, что вы прислушаетесь к ним и что вы о них заботитесь.

Общайтесь с людьми на форуме. Сначала вы будете отвечать на все вопросы сами, однако вскоре вы заметите, как более опытные пользователи начнут давать советы менее опытным. Вам всё меньше нужно будет вмешиваться в процесс, однако всегда нужно быть рядом и быть готовым оказать помощь.

48. Настройка через месяц


Быстрые обновления показывают движение и то, что вы прислушиваетесь к запросам пользователей. Это говорит о том, что у вас есть ещё порох в пороховницах и ягоды в ягодицах. Быстрое обновление подкрепляет положительные впечатления, связанные с продуктом и даёт дополнительную пищу для обсуждения в блогах.

Покажите, что ваш продукт живой. Продолжайте вести блог продукта после его выхода в свет. Не переставайте писать. Включите туда частые вопросы, лайфхаки, эффективные способы работы с программой, необычные приёмы, советы и решения, новые функции, обновления, исправления.

49. Не бета, а лучше


Не используйте слово «бета». Это уже намозолило всем глаза. Когда вы говорите, что вы выпустили бета-версию, вы фактически признаётесь в том, что продукт сырой. Звучит это примерно так: «Вот, держите. Это наш новый продукт и он в стадии бета-тестирования. Если найдутся какие-то ошибки, — мы тут не виноваты, потому что это, как-никак, бета». Нормально давать возможность бета-тестирования узкому кругу людей по приглашениям. Однако, делать бету общедоступной нельзя. Гораздо лучше использовать другой подход: хороший продукт с минимальным функционалом в первой версии.

50. Делите ошибки по приоритетам


Определять приоритеты дел — это одно из важнейших качеств в жизни и это касается не только программирования, но и любых других дел. Узнайте, что действительно важно и действуйте. Когда к вам приходит отчёт об ошибке, — не спешите тут же исправлять. Возможно у вас есть дела поважнее. Когда дело касается небольших косяков с вёрсткой в старых браузерах — это не такая уж и большая беда. Если же дело касается пользовательских данных, — это должно быть исправлено немедленно и восприниматься как ахтунг.

51. Переждите шторм


Если вы что-то изменили, — переждите этот момент и не обращайте какое-то время на реакцию пользователей. Например, многие помнят, что происходило, когда Вконтакте ввели микроблоги.

Это нормально. Многие люди будут ругаться, пока не привыкнут. Однако, те, кого обычно всё устраивает просто молчат. Это нормальное поведение и вы всегда будете в ситуации, что отрицательных отзывов будет больше, чем положительных. Не делайте откатов на основании подобных отзывов и просто продолжайте свою линию, если вы в ней уверены. Расслабьтесь и не двигайтесь какое-то время.

52. Не отставайте от конкурентов


Подпишитесь на новости о конкурентах и всегда знайте, что они делают. Читайте RSS, форумы. Вы всегда должны знать, что делают конкуренты, какие функции они внедряют и что думают по этому поводу их пользователи.

53. Двигайтесь по течению


Всегда будьте готовы для новых путей и изменения направлений. Если что-то изменилось, — не бойтесь изменяться сами. Если вы разрабатываете сетевое приложение, вы очень легко можете его поменять. Примите тот факт, что ваша первоначальная идея могла быть не самой лучшей и, если это обнаружится, — вы всегда можете изменить направление.

Воплощение


Очень многие люди (хотя, и их становится всё меньше) умеют читать и читают. Но очень немногие люди делают что-то на основании прочитанного. Попробуйте воплотить ваши идеи в жизнь.

Прочитав Getting Real я решил стартовать проект, о котором я начал думать год назад. Помимо этого, я буду стараться применить в этом проекте большинство вышеизложенных идей.

Пишите, пожалуйста, в комментариях о своём опыте применения GettingReal, о ваших продуктовых блогах и граблях в применении. Спасибо.
Tags:
Hubs:
Total votes 6: ↑6 and ↓0+6
Comments1

Articles