Отправляет email-рассылки с помощью сервиса Sendsay

Проект "Эффективный человек"

  Все выпуски  

Проект "Эффективный человек": Как построить веб-сервис за четыре дня и $10 000


Фриланс и коворкинг… Эти понятия сегодня общеупотребимы и не требуют перевода: это умные и талантливые люди, собравшиеся одновременно в одном месте. Результатом такого единения может служить данное описание - ход чрезвычайно быстрой и насыщенной работы над одним веб-проектом.

"Время, которое сегодня необходимо затратить на проектирование, создание и развертывание веб-приложения, стремительно сокращается, особенно при использовании в таких инструментов как Django, Rails и Symfony. Чтобы подтвердить это, мы приняли решение собраться с силами и попытаться запустить веб-сервис за 32 рабочих часа. Через четыре напряженных дня родился Matt".
Ryan Carson

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

Как мы это сделали

Наша команда из девяти человек была представлена:

  • двумя разработчиками
  • одним дизайнером / front-end разработчиком
  • двумя блоггерами
  • одним копирайтером
  • тремя PR-специалистами

Хочу заметить, что минимально необходитое количество разработчиков для такого рода проектов - три человека:

  • один разработчик
  • один дизайнер / front-end разработчик
  • один блоггер / PR-специалист

Cервис написан на Python с использованием Django и размещен на хостинге WebFaction. Мы использовали Twitter API, Git и Codebase для управления версиями.

Сколько это стоило?

В основном, это стоило нам зарплаты за неделю (около $10000). Были и некоторые другие мелкие расходы, которые я здесь бы не учитывал, включая затраты на аренду, электроэнергию, кофе и налоги. К тому же, мы получили бесплатный хостинг благодаря дружеским связям с компанией-хостером, но если нужно было бы заплатить и за все это, не думаю, что сумма получилась бы больше, чем на $400 за первый месяц работы (для простого сервиса).

Создание команды

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

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

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

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

Работайте с умом

Вот несколько советов о том, что нужно иметь в виду, если вы собираетесь быстро создать сервис:

  1. Ограничьте совещания 10 минутами утром и 10 минутами для подведения итогов в конце каждого дня. Длительные заседания являются лучшим способом убить производительность и разрушить творческий настрой, так что будьте кратки.
  2. Обед и компьютеры не совместимы. Сходите вместе на обед или сыграйте во что-нибудь. Энтузиазм и творчество быстро улетучиваются, если у вас нет перерыва в течение дня.
  3. Максимально упростите свой сайт и приложение. Сначала запустите его просто с ‘Home’, ‘Help’ и ‘About’.
  4. Опирайтесь на мощный инструментарий, такой как Rails, Symfony, Django или Objective-J. Частью нашего эксперимента была работа с Django и сравнение его с Rails и Symfony (PHP framework). Мы обнаружили, что Django существенно медленнее Rails или Symfony, и поэтому не может быть хорошим выбором для будущих проектов.
  5. Начните с логотипа и цветовой гаммы сайта для вашего дизайнера. Не нужно чрезмерно анализировать внешний вид, так как этот процесс может продолжаться бесконечно. Разработайте логотип - и двигайтесь вперед. Именно поэтому вам нужно иметь хороших дизайнеров и доверять им во всем, что они делают.
  6. Будьте технологическими агностиками. Если ваши разработчики говорят, они должны использовать определенный язык и библиотеки, и они в этом твердо уверены - доверьтесь им и двигайтесь вперед. Опять же, это - о необходимости нанимать умных людей и давать им свободу действий.
  7. Договоритесь, как ваши дизайнеры и разработчики будут работать вместе. Наш дизайнер создавал статический HTML и затем передавал его разработчикам для использования в качестве основы для создания шаблонов. Эти шаблоны затем сохранялись в хранилище Git, и вся команда работала с этим одним хранилищем.
  8. Не достаточно иметь просто дизайнеров и разработчиков. Необходимо выделить сотрудников, которые будут сосредоточены исключительно на распространения информации о вашем приложении и работе, освещая их в средствах массовой информации. Мы не смогли бы так быстро продвинуть наш Matt, если бы в нащей команде не было людей, делающих эту работу полный рабочий день. Не стоит, однако, для этого нанимать PR-агентство, так как никто, кроме членов вашей команды, не сможет по-настоящему убедительно донести вашу идею.
  9. Корректно организуйте вашу среду раработки.

Создание среды для разработки

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

  • Хорошее управление версиями. Я предлагаю Git.
  • Легкий в использовании браузер для работы с исходным кодом и хранилищем. Мы использовали Codebase.
  • Надежная серверная инфраструктура. Почему бы не использовать Flexiscale, Grid-Service, Mosso или EC2 - пусть эти умные ребята побеспокоиться о сохранности и загрузке сервера.
  • Развертывание системы “за один клик”. Это означает, что развертывание кода из вашего хранилища должно происходить по нажатию одной кнопки. Если это не так, велика вероятность осложнений и простоев. Если вы используете Rails, то Capistrano является просто незаменимым инструментом.
  • Принтеры, доски для рисования и место для совещаний. Людям просто необходимо физическое пространство для мозгового штурма. Мы покрыли стены нашей комнаты специальной краской, так что членам нашей команды было где излагать свои идеи.
  • Кофе, вода, музыка и нормальная еда.

Если вы действительно так и сделаете, процесс разработки станет гораздо более приятным и быстрым.

Автор - Ryan Carson
Перевод - Вячеслав Вдовиченко


В избранное