Pull to refresh

Концепция web-проекта или почему мы убиваем свои идеи?

Reading time 7 min
Views 55K
Ежедневно десятки людей загораются идеей создать нечто своё, реализовать свой web-проект. В большинстве случаев все эти начинания ни к чему не приводят. Как не удивительно, основной причиной провала проекта служит отсутствие или недоработаность концепции.
В этой статье рассмотрены анализ успешности «зелёных» web-проектов, причины их провалов и методика написания концепции проекта. Статья рекомендуема для прочтения всем людям, решившим создать свой web-проект впервые.

Для начала немного статистики…


Важный момент: В статье речь идёт о первых или «зелёных» проектах, которые делают люди не имеющие должного опыта в их реализации.
Сразу скажу, откуда Я взял эти цифры – это моя личная статистика за 1,5 года. Я сам ранее занимался разработкой и реализацией крупных web-проектов для одной российской корпорации, поэтому испытываю профессиональный интерес ко всем новым идеям, которые можно встретить на просторах сети.
В анализе участвовало на момент написания данной статьи 54 проекта. Среди идей проектов встречаются и банальные социальные сети и браузерные MMORPG, ничем не отличающиеся от других, и действительно стоящие и инновационные экземпляры. Но давайте перейдём к цифрам, они сами скажут за себя.
Замечание: доли округлены, статистика представлена в виде среза по 54 проектам, мой собственный проект в статистике не участвует.

Какое состояние проекта на текущий момент?
image
Активно развивающихся проектов, с более-менее сложенной командой, ровно один (2%). Данный проект существует около года.
Проектов, которые, то работают, то простаивают по тем или иным причинам – 3 (6%). Один из них в таком «вялом» режиме находится уже почти полтора года. Несмотря на низкую скорость развития этих проектов, сказать, что они провалены и не развиваются, нельзя.
Остальные полсотни проектов (92%) «умерли» (проект не реализовался или у него нулевая посещаемость) по разным причинам.

По какой причине был закрыт проект?
image
4 проекта (7%) действуют. Я привел их в этой диаграмме для получения среза по всем проектам.
У 12 проектов (22%) нет своей идеи. Эти проекты копируют существующие web-проекты с некоторыми изменениями. Среди них социальные сети, много браузерных игр и несколько онлайн-сервисов.
15 проектов (28%) не сумели создать команду или автор проекта не сумел найти людей готовых воплотить задумку в жизнь. Максимальное развитие данных проектов заканчивалось на организации сайта проекта, обычно очень корявого.
5 проектов (9%) были закрыты по причине отсутствия денег на развитие. По крайне мере, так уверяют авторы.
Остальные 18 web-проектов (34%) «канули в лету» по неизвестной мне причине. Авторы этих проектов на попытки связаться с ними никак не реагируют.
В принципе всё предсказуемо, но перейдём к следующему вопросу.

Имеется ли у проекта адекватно оформленная концепция?
image
Адекватно оформленная концепция есть только у 1 проекта (2%). И угадайте, в каком состоянии находится этот проект? Он активно развивается.
У остальных концепция либо крутится в уме автора, либо выражена в 5-10 предложениях.
Думаю тут и без комментариев всё понятно. Корень зла найден… Теперь предстоит обрубить его и рассказать, что же такое концепция проекта.

Что такое концепция?


Концепция (от лат. conceptio — понимание, система) — определённый способ понимания (трактовки, восприятия) какого-либо предмета, явления или процесса; основная точка зрения на предмет; руководящая идея для их систематического освещения. (Wikipedia)
Говоря по-простому, концепция ­– это система опорных точек построения готового продукта, документально описанная и позволяющая достичь результата без дополнительных данных. Это идея проекта и инструкция, как воплотить эту идею в жизнь, записанная на бумаге или другом носителе информации.
Что бы избежать лишней писанины, Я подготовил шаблон концепции web-проекта. Естественно, Вы можете изменить его под свои нужды. Я, лично, оформляю концепцию по старинке, то есть на бумаге. Например, текущий мой проект выглядит так:
image
Конечно, концепция проекта — это понятие абстрактное, строящиеся на уровне структуры и идей. Концепция, по своей природе, не должна содержать ничего лишнего, но она тесно переплетена с технической реализацией. Для работы с такой идеальной концепцией нужно хорошее знание технической базы. У людей, которые впервые решили создать свой web-проект, таких знаний обычно нет, поэтому в моём варианте концепции Вы встретите многие критические технические моменты, на которые следует обратить внимание.

Содержание концепции web-проекта с описанием отдельных пунктов


Название проекта
Тут всё понятно. Как корабль назовёшь, так он и поплывёт.

Цель проекта
Вспоминаем дипломную работу в институте и пишем нечто подобное. Это необходимо для четкого понимания того, для чего этот проект затевался. Напомню, цель отображает желаемый результат. Например: создание и реализация браузерной MMORPG «Кирпичи», получения дохода от рекламы и продажа проекта.

Задачи проекта
Аналогично предыдущему, вспоминаем диплом. Это нужно для понимания того, как этот проект осуществить. Напомню, задачи отображают действия, которые необходимо проделать для достижения результата. Например: исследовать рынок браузерных MMORPG, разработать программный код, протестировать сервис.

Участники проекта
В этом пункте ФИО всех, кто участвует в создании проекта. Совет на будущее: используйте свои реальные ФИО, так как иначе потом трудно доказать, что, например, «Зафорд Библброкс», который писал программный код это Вы.

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

Логотип и девиз
Тут тоже всё понятно.

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

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

Целевая аудитория
Опишите людей, для которых пишется проект. Например: продавцы леса города Биробиджан.

Техническая часть
  • Сервер и расширения. Например, Apache 2.2+
  • Серверный язык и расширения. Например, PHP 5+
  • СУБД. Например, MySQL 5+
  • Ожидаемая посещаемость. Надо четко понимать, сколько народа сможет обслуживать ваш сервис без тормозов. Например, 3000 человек в день.
  • Трафик. Тут всё просто. Количество людей в день умножаем на средний вес страницы и получаем объём трафика в день.


Общая часть
  • Кодировка. Опишите основные кодировки, используемые в вашем проекте. Совет: используйте кодировку utf-8.
  • Сжатие. Будут ли файлы сжиматься при отправке клиенту.
  • Минимизация. Будут ли файлы минимизироваться (вырезаться лишние пробелы и комментарии) при перенесения на рабочий сервер.
  • Фильтр входящих данных. Очень важно определить в начале какие данные мы будем принимать от клиента. Например, только буквы русского и латинского алфавита, цифры, знаки =_&
  • Ограничение доступа. Опишите директории проекта, к которым доступ пользователям запрещен. Например, доступ к директории scripts запрещён для всех пользователей, кроме root.
  • Правила названий. Даже если Вы пишете проект один, то вначале определите, как будете называть модули, файлы, функции и переменные. Например, для функций использовать нижнее подчеркивание, для переменных выделение заглавными буквами.
  • Правила комментирования. Например, заголовок функции в /* */, разделение функций при помощи /--/
  • Способы взаимодействия разработчиков. Например, icq.

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

Серверная часть
В этом пункте описываются все критические настройки серверной части. Я выделяю следующие:
  • magic_quotes
  • register_globals
  • allow_files


Клиентская часть:
  • Фреймворки и плагины. Например, JQuery
  • Doctype. Например, strict
  • Поддерживаемые браузеры. Например, IE7+, Opera 9+, FF 3.5+
  • Поддерживаемые ОС. Например, только Windows
  • Поддержка телефонов
  • CSS. Например, всё до css3
  • Разрешение экрана клиента. Например, выше чем 1024*768. Прошу обратить внимание на этот пункт. О нём обычно вспоминают в конце работы, когда видят свой «разъехавшийся» сайт.
  • Тип изображений. Например, Jpeg и Gif. Благодаря IE, этот пункт нужно тоже учитывать.

Следующие пункты можете не заполнять, если не понимаете, что это значит.
  • Ajax
  • Делегирование событий
  • CSS Sprites
  • CSS3PIE

СУБД
Относительно СУБД, Я выделяю только одну критическую настройку:
  • Доступность InnoDB

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

Концепт-арт проекта
Здесь приводятся эскизы всех страниц проекта, а не только первой. У меня это выглядит примерно так:
image

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

В заключение


Может получиться, что документации будет не один листок бумаги (у моего текущего проекта 38 листов А4) и писать Вы её будете очень долго (Я писал 2 месяца), но оно этого стоит. Концепция – это ваша опора на пути к реализации вашего проекта. Помните: отсутствие концепции ­– это «убийство» вашей идеи.
И напоследок, общие советы и дополнительные статьи по тематике управления проектами:

Общие советы по написанию концепции:

  • Используйте уникальную идею.
  • Не копируйте и не пользуйтесь ресурсами конкурентов. Иначе получите клон чужого проекта.
  • Используйте свои настоящие ФИО. Почему – описано выше.
  • Пишите по-русски, правильно, с соблюдением семантики языка. Особенно, пункты с описанием проекта. Помните: незнание русского языка очень отрицательно сказывается на бизнесе.
  • Общайтесь с людьми, представляющими интерес для Вас и вашего проекта. Собирайте их контакты, наводите про них справки. Возможно, Вам придётся воспользоваться их услугами.
  • Читайте необходимую литературу, расширяйте свой кругозор. Совет: читайте «с маркером», то есть выделяйте важные части.
  • Составьте дневник проделанной работы. Он позволит четко осознать скорость выполнения работы.
  • Составьте журнал сделанных ошибок. Сэкономит время от повторного наступания на одни и те же грабли.
  • Составьте журнал найденных «багов». Записывайте туда всё, что Вам не нравиться в проекте, а потом исправляйте.
  • Составьте журнал идей. Записывайте туда все, даже безумные, идеи относительно проекта.
  • Тестируйте проект на целевой аудитории.


Дополнительные статьи по тематике «Управление проектами»

Если моё видение концепции web-проекта показалось Вам несколько сумбурным, то можете ознакомиться с несколькими статьями по близкой тематике. Статьи посоветованны хабраюзерами TheFaSTeR, seorez, Napolsky — большое им спасибо.

Update 09.01.11 1:53 Для избежания лишних споров, добавил абзац текста с ответом почему мой шаблон концепции в такой форме.
Update 09.01.11 9:10 В конце статьи добавил абзац текста с ссылками на статьи по управлению проектами. Спасибо хаброюзерам за комменты.
Tags:
Hubs:
+97
Comments 131
Comments Comments 131

Articles