Проект "Эффективный человек": Как построить веб-сервис за четыре дня и $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 за первый месяц работы (для простого сервиса).
Создание команды
Быстрая разработка веб-сервиса - это не только замечательная идея, если вы хотите быстро выйти на рынок, но и прекрасный способ выработать высокий командный дух.
Не нужно пытаться сразу построить новый бренд и получить прибыль. В действительности, может понадобиться некоторое время для работы над функциональностью вашего сервиса.
Есть ряд серьезных аргументов, чтобы полностью отключиться от своей обычной работы и сделать нечто совершенно новое и творческое:
Самое лучше из того, что вы можете предоставить себе и своей команде - это время для творческой работы. Отключите ваши телефоны, забудьте на время об электронной почте и сфокусируйтесь на на вашей идее - и произойдет чудо.
Вы создадите определенный ажиотаж вокруг вашей компании или продукции.
Вы вернетесь к вашим текущим проектам, переполненные новыми идеями и энергией.
Это подтолкнет вашу команду к получению новых навыков. Например, Уилл, наш руководитель по связям со спонсорами, в течение всей этой недели занимался пиаром нашего проекта, а это была совершенно новая для него сфера деятельности.
Работайте с умом
Вот несколько советов о том, что нужно иметь в виду, если вы собираетесь быстро создать сервис:
Ограничьте совещания 10 минутами утром и 10 минутами для подведения итогов в конце каждого дня. Длительные заседания являются лучшим способом убить производительность и разрушить творческий настрой, так что будьте кратки.
Обед и компьютеры не совместимы. Сходите вместе на обед или сыграйте во что-нибудь. Энтузиазм и творчество быстро улетучиваются, если у вас нет перерыва в течение дня.
Максимально упростите свой сайт и приложение. Сначала запустите его просто с ‘Home’, ‘Help’ и ‘About’.
Опирайтесь на мощный инструментарий, такой как Rails, Symfony, Django или Objective-J. Частью нашего эксперимента была работа с Django и сравнение его с Rails и Symfony (PHP framework). Мы обнаружили, что Django существенно медленнее Rails или Symfony, и поэтому не может быть хорошим выбором для будущих проектов.
Начните с логотипа и цветовой гаммы сайта для вашего дизайнера. Не нужно чрезмерно анализировать внешний вид, так как этот процесс может продолжаться бесконечно. Разработайте логотип - и двигайтесь вперед. Именно поэтому вам нужно иметь хороших дизайнеров и доверять им во всем, что они делают.
Будьте технологическими агностиками. Если ваши разработчики говорят, они должны использовать определенный язык и библиотеки, и они в этом твердо уверены - доверьтесь им и двигайтесь вперед. Опять же, это - о необходимости нанимать умных людей и давать им свободу действий.
Договоритесь, как ваши дизайнеры и разработчики будут работать вместе. Наш дизайнер создавал статический HTML и затем передавал его разработчикам для использования в качестве основы для создания шаблонов. Эти шаблоны затем сохранялись в хранилище Git, и вся команда работала с этим одним хранилищем.
Не достаточно иметь просто дизайнеров и разработчиков. Необходимо выделить сотрудников, которые будут сосредоточены исключительно на распространения информации о вашем приложении и работе, освещая их в средствах массовой информации. Мы не смогли бы так быстро продвинуть наш Matt, если бы в нащей команде не было людей, делающих эту работу полный рабочий день. Не стоит, однако, для этого нанимать PR-агентство, так как никто, кроме членов вашей команды, не сможет по-настоящему убедительно донести вашу идею.
Корректно организуйте вашу среду раработки.
Создание среды для разработки
Если вы хотите работать быстро и творчески, вы должны создать обстановку, которая поощряет и облегчает этот процесс. Если вы не имеете общей основы, ваша команда будет постоянно сражаться вокруг разделяющих ее вопросов, вместо того, чтобы сосредоточиться на разработке. Вам требуется:
Легкий в использовании браузер для работы с исходным кодом и хранилищем. Мы использовали Codebase.
Надежная серверная инфраструктура. Почему бы не использовать Flexiscale, Grid-Service, Mosso или EC2 - пусть эти умные ребята побеспокоиться о сохранности и загрузке сервера.
Развертывание системы “за один клик”. Это означает, что развертывание кода из вашего хранилища должно происходить по нажатию одной кнопки. Если это не так, велика вероятность осложнений и простоев. Если вы используете Rails, то Capistrano является просто незаменимым инструментом.
Принтеры, доски для рисования и место для совещаний. Людям просто необходимо физическое пространство для мозгового штурма. Мы покрыли стены нашей комнаты специальной краской, так что членам нашей команды было где излагать свои идеи.
Кофе, вода, музыка и нормальная еда.
Если вы действительно так и сделаете, процесс разработки станет гораздо более приятным и быстрым.