Skip to main content

Getting Real: The Smarter, Faster, Easier Way to Build a Web Application

37 Signals

Getting Real

Сделайте меньше чем ваши конкуренты, чтобы ударить по ним. Решайте простые проблемы и оставьте сложные, противные проблемы всем остальным. Вместо превосходства попробуйте делать недостаточно.


Главное здесь — понять, что вы не одни. Если у вас есть проблема, вероятно сотни тысяч других людей находятся в том же положении.

Если вы решаете собственную проблему, вы создаёте инструмент с душой. И это является ключевым. Это означает, что вы сделаете всё отлично. И это является лучшим вариантом.


Так что сделайте всё, что вы можете с теми деньгами, что уже у вас есть. Усиленно думайте и расставьте приоритеты.


Имея ограниченные ресурсы, вы будете вынуждены считаться с ограничениями на ранней стадии и сильнее это ощущать. И это хорошо. Ограничения заставляют делать по-новому. Ограничения также вынуждают развивать идею как можно скорее — ещё одна хорошая вещь. Месяц или два обдумывайте идею и поймите, стоит ли она того. Если «да», и вы будете быстры и жизнестойки, вам не понадобятся инвесторы. Если ваша идея еще «не созрела», вам придётся вернуться к чертежам. По крайней мере, теперь вы узнаете какие будут препятствия, не потратив на это много времени. И сможете легко отступить.


Лёгкий способ начать вовремя и уложиться в бюджет: фиксируйте время и бюджет.

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


Фиксация ожиданий — ключевой момент. Если вы фиксируете время, бюджет и возможности, вы не поставите их выше качества.

Рекомендуем сократить возможности. Лучше сделать половину продукта, но качественно, чем недоделку.


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


Один из быстрейших способов придумать проблем на свою голову — смотреть на то, что делают ваши конкуренты.


Чем меньше в вашем приложении рутины — тем лучше. Если рутинной работы немного и она управляема — вы можете наслаждаться.


Перемены — ваш лучший друг. Чем выше их цена, тем меньше их вероятность. И если ваши конкуренты могут меняться быстрее вас, вы в крайне невыгодном положении. Если цена перемен становится слишком высока — вам конец.


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


Перед тем как вы начнете проектировать или кодировать что-либо, вам нужно знать цель вашего продукта — видение.


Остерегайтесь подхода в развитии сетевого приложения, в котором все готово, но вот что-то не работает и это что-то очень важное.


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


Если вы сможете сфокусировать работу и взгляд, на том, что имеет значение, вы достигнете производительности, которую никогда не воображали.


Сделайте добавление новых функций, трудно осуществимой задачей

Секрет создания законченной половины продукта вместо недоделанной половины — снизить количество функций.

Перед тем как добавить функцию, задумайтесь, сколько это с виду простое решение может принести головной боли.


Для каждой новой функции от вас потребуется:

  1. Сказать «нет».
  2. Вынудить функцию доказать свое значение.
  3. Если снова «нет», уже конец. Если, «да», продолжайте…
  4. Сделайте эскиз экрана\/ интерфейса.
  5. Спроектируйте экран\/ интерфейс.
  6. Закодируйте. 7-15. Испытание, испытание, испытание, испытание…
  7. Проверка текста помощи, возможно, его нужно изменить.
  8. Обновите ознакомительный тур продукта (если необходимо).
  9. Обновите маркетинговую копию (если необходимо).
  10. Обновите условия обслуживания (если необходимо).
  11. Проверка, на то, какие предыдущие обещания были затронуты.
  12. Проверка, на то, как это воздействует на общую структуру.
  13. Запустите.
  14. Затаите дыхание.

Запуск программного обеспечения — лучший способ добиться инерции, поучаствовать в ралли командой, и отсеять идеи, которые не работают. Это должно быть приоритетом номер один в первый же день работы. Хорошо сделать меньше, опустить детали, и сократить процесс так, чтобы выпустить программное обеспечение быстрее.


Настройки — зло, потому что они раздувают программное обеспечение и требуют больше кода.


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


Сокращайте время разработки, разбивая месяцы на недели.


Поэтому можно установить правило: сделать половину рабочего дня единым временем для работы. В это время не отвлекаться на телефонные звонки, чтение почты, ненужное общение с коллегами и т.д.


Если все-таки вы не можете избежать встречи (что должно быть очень редким событием), воспользуйтесь простыми правилами:

  • Встреча должна быть не более 30 минут. Установите таймер, после 30 минут прерывайте встречу.
  • Пригласите как можно меньше участников.
  • Никогда не участвуйте во встрече без ясной повестки дня.

Закон Брукса Привлечение людей к просроченному проекту задержит его ещё больше. — Fred Brooks


Всегда, когда это возможно, назначайте потенциальному новому члену команды тестовое задание.

Проекты с открытым кодом — находка для того, кто ищет техперсонал.

Вашей команде нужны те, кто обожает программирование и умеет довести начатое до конца.

Берите того, у кого есть энтузиазм. Того, кому вы доверите остаться самому и доделать работу.

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


Создавайте дизайн интерфейса до того как начнете программировать

Делайте дизайн для обычного, пустого, и ошибочного состояния страницы.


Каждая буква имеет значение

Дизайн интерфейсов — это копирайтинг.

Лучшие интерфейсы написаны.


Вы должны говорить тем же языком, что и ваша аудитория.


Хорошая документация — это хороший дизайн.


Не создавайте отдельного интерфейса для настроек, просто встройте его функции в основной.


каждый раз, когда вы увеличиваете объем кода, сложность программы возрастает экспоненциально.


  • Меньшим объемом программы легче управлять.
  • Меньший объем программы — меньше кода, а это значит
  • Меньше скучной работы по сопровождению (и более счастливый персонал).
  • Меньший объем программы снижает стоимость изменений — так что вы можете быстрее адаптироваться к обстоятельствам. Вы можете менять свои решения без того, чтобы менять мегабайты кода.
  • Меньше кода — меньше ошибок.
  • Меньше кода — меньше техподдержки.

Нет кода более гибкого, чем отсутствие кода!


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


Вставьте настоящий текст вместо lorem ipsum

Как можно скорее используйте настоящие и подходящие слова.


Делайте, как ваши клиенты — и вы станете их лучше понимать. Когда вы лучше их понимаете и чувствуете то, что чувствуют они, вы построите лучший интерфейс.


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

Не придумывайте всякие «фокусы» чтобы получить побольше денег. Зарабатывайте их.

Лучшее средство для продвижения продукта — сам продукт. Если вы создали приложение, которое действительно нужно клиентам, об этом непременно узнают.


Обзор: Расскажите о приложении и его достоинствах.

Экскурсия: Покажите пользователям различные свойства.

Скриншоты и видеоролики: Покажите, как выглядит программа и как ею пользоваться.

Манифест: Объясните философию программы и идеи, лежащие в ее основе.

Примеры: Приведите примеры из жизни, иллюстрирующие возможности программы.

Отзывы: Отзывы пользователей, обзоры, пресса и т.д.

Форум: Предложите место, где члены сообщества пользователей смогут помогать друг другу.

Цены и регистрация: Заполучите пользователей как можно быстрее.

Блог: Блоги освежают ваш сайт: помещайте туда новости, советы и т.д.


Изучайте свои логи, чтобы следить за дискуссиями Вам полезно знать, кто о вас говорит. Проверьте свои логи и узнайте, что откуда берется.


Дайте вашему приложению легко запоминающееся название


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


Заметим еще по поводу новостей, плохих и хороших. Когда появляются плохие новости, выпустите их сразу. Хорошие новости, с другой стороны, выпускайте медленно. Если вы можете продлить прекрасные чувства, сделайте это.


Разделите ваши ошибки по приоритетам (и даже проигнорируйте некоторые из них)