Нулевой Прототип Или Проекты «Для Себя»



Нулевой прототип или проекты «для себя»

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

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

Рубик .



Проекты для дяди

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

Заказчик хочет новую социальную сеть? Пожалуйста.

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

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

Однажды я наткнулся на проект, который снаружи выглядел как обычный каталог веб-сайтов.

На создание аналогичного каталога уйдет неделя.

Но на самом деле объем этого проекта составил более ста тысяч (!) строк.

Чего только не было: CRM, конструктора сайтов и сложной статистики.

У всех этих компонентов системы было одно общее – они были отключены за ненадобностью.



Проекты для себя

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

В остальном это не проект, а набор исходников.

Однажды, когда я был молод, я решил написать хостинг для блогов.

Я писал его три месяца и реализовал кучу функций.

Когда я закончил его, я впервые попытался запустить его на виртуальном сервере.

Эта «экономика» была настолько медленной, что после часа попыток я понял, что для размещения всего нескольких блогов мне придется арендовать выделенный сервер или переписывать все с нуля.

Оба варианта были нереалистичны.

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

В результате 3 месяца моей жизни пошли насмарку.

Этого можно было бы избежать и свести к минимуму потери времени, если бы я использовал технику нулевого прототипа, о которой я расскажу позже.

Создавая проект «под себя», очень важно понимать, будет ли проект востребован.

Понять это можно только методом проб и ошибок.

Чем быстрее вы попробуете, тем быстрее сделаете выводы, в каком направлении стоит развивать проект и стоит ли оно того.

Вы можете ускорить процесс, выполнив следующие шаги.



Идея

Прежде всего, у вас должна быть идея проекта.

Забудьте о домене, имени, дизайне.

Это пока не имеет значения.

Важно то, как вы представляете свой проект. Моя идея заключалась в том, чтобы «создать социальный блог о Ruby».

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



Цель

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

Например, я определил цель своего проекта как «дать возможность разработчикам Ruby обмениваться полезной информацией».



Функции

На следующем этапе пропишите все функции, которые вы хотели бы видеть в своем проекте.

Не стесняйтесь, чем больше, тем лучше.

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



Мы вырезаем особенности

И теперь все становится интереснее.

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

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

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

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

Пришлось даже отказаться от авторизации и, следовательно, от редактирования постов.

В результате у меня осталось:

  • добавление поста (добавить может любой желающий, без авторизации);
  • список должностей;
  • просмотреть пост.
На этом особенности заканчиваются.



Нулевой прототип

После того как мы вырезали фичи, приступаем к созданию нулевого прототипа.

Нулевой прототип должен быть создан за один день.

К вечеру все должно заработать.

Коряво, через задницу, но работает. Вы можете потратить еще один день на приведение в порядок внешнего вида вашего проекта.

Ваш нулевой прототип готов, и вы можете (и должны) начать его использовать.

Как только будет создан нулевой прототип, могут возникнуть интересные вещи.

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

Понятно, что поначалу, пока проект не взлетит, писать их придется мне одному.

Гарантирую, что в любом проекте вы узнаете интересные вещи, о которых даже не подозревали.

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

Но цель осталась прежней.

После корректировки идеи мне пришлось проходить все этапы заново.

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



Опытный образец

Когда вы определились, какую конкретную идею вы будете реализовывать, приступайте к созданию прототипа.

Прототип должен быть законченным и готовым к использованию.

Вы добавляете в прототип только самые важные функции, без которых реальным пользователям невозможно использовать ваш проект. Реализация прототипа должна занять у вас одну, максимум две (если проект сложный) недели.

Возможностями в моем прототипе были: авторизация, работа с постами, работа с комментариями.



До запуска

Когда ваш прототип готов, пришло время развернуть его на сервере.

Могут возникнуть всевозможные неожиданности, которые необходимо максимально устранить.

После успешного развертывания попросите друзей протестировать ваше приложение.

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

Критические ошибки необходимо исправить.

В моем случае был серьезный баг с авторизацией.



Запуск

Здесь начинается настоящая жизнь вашего проекта.

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

Если нет, вооружитесь новой идеей и возвращайтесь к первому шагу ;) я ваш проект уже запущен и даже открыл код .

Теперь твоя очередь.

ОБНОВЛЯТЬ: Позвольте мне объяснить еще раз.

Есть нулевой прототип .

Делается за один день, исключительно для использования разработчиком и для проверки идеи.

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

Нулевой прототип, только для вас и ваших друзей.

Соответственно, моя ошибка не в том, что я не включил экранирование html-тега в свой нулевой прототип, а в том, что я дал на него публичную ссылку здесь.

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

Теперь добавлено экранирование.

Отвечу всем любителям дизайна.

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

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

Соберите обратную связь.

И двигаться вперед. Что касается простоты моего проекта.

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

Ребята, а откуда вы знаете, каким был проект до того, как фичи урезали? То, что вы видите, — это прототип, запущенный в производство.

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

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

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

Есть ли у вас примеры реальных приложений, которые не соответствуют этой методологии? Теги: #прототип #веб-разработка #проект #стартап #ruby #занимаюсь пиаром

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.