
Статья написана на основании многолетнего опыта проектного управления в IT. Цель написания – помощь в организации процесса разработки со стороны заказчика. Здесь я постараюсь ограничиться описанием достаточно типичных проектов: корпоративных сайтов, информационных порталов, интернет-магазинов, каталогов, промо-сайтов, сервисов (развлечения, общения, обработки и хранения данных), web-based CRM систем и прочего.
Помимо того, что мы рассмотрим здесь, в сложных, масштабных проектах могут быть добавлены этапы разработки уникальной архитектуры БД, проектирование специфических серверов, закупки железа и размещения его на хостинговых площадках, установки серверного ПО. Сейчас я решил не останавливаться на этих моментах. Надеюсь, что, в случае такой необходимости, у вас будет надёжный специалист, который напомнит вам об этих сторонах дела.
Я думаю, для заказчика важно выделить следующие этапы:
Качественно организованный сбор требований вашей организации к будущему проекту важен для достижения цели. Выделите ключевые отделы вашей организации и сотрудников, которым особенно важно присутствие компании в Сети. Обойдите их с вопросами:
Соберите данные требования в единый документ. Соберите совещание, огласите результаты своего исследования. Примите решение о расстановке приоритетов. Назначьте специалиста, ответственного за проект. Постарайтесь получить общее видение (описание) сайта и его структуры, утверждённое руководством.
Написание техническое задания – важнейшая часть проекта. Этот документ должен вобрать в себя как можно более полное и подробное описание сайта. Важно понимать, что вы не сможете бесплатно добавлять новые функции, не включённые в ТЗ, после оценки стоимости по этому документу.
Техническое задание понадобится вам на каждом этапе проекта: для оценки стоимости, обнаружения подводных камней в вашей системе, контроля исполнения. Рекомендуется также подписать ТЗ в качестве приложения к договору.
Структура сайта. Как правило, она может быть представлена в виде многоуровневого "дерева", например:
- Главная страница (о компании)
- Услуги компании
- Каталог статей
- Обзоры рынка
- Индустрия набирает обороты
- Дефицит кадров
- Лидеры инвестируют в IT
- Публикации о компании в прессе
- Компания N далеко опережает конкурентов
- История успеха N
- Интервью с руководителями
- IT CEO: Инновационные методы управления в IT
- HR менеджер: Распределение ресурсов в условиях дефицита кадров
- Marketing CEO: Наше будущее – за интернет-сервисами!
- Пресс центр
- Регистрация журналистов для проведения интервью
- Фирменный стиль компании N
- Изображения для использования в прессе
- Контакты
Описания всех типичные объектов, которые будут использоваться в рамках вашего веб-приложения или сайта. Фактически, если вы достаточно компетентны, на этом этапе вы уже можете проектировать базу данных. Например, я делаю это так:
Статья
- id [auto_increment]
- Название [строка текста, до 150 знаков]
- Принадлежность к рубрике [связь с рубрикой]
- Сопроводительная фотография [файл изображения, 100х200 px]
- Вступительный абзац [текстовое поле]
- Содержимое [HTML WYSIWYG редактор]
- Рейтинг [число от 0 до 10]
- Автор [текстовая строка]
- Источник [текстовая строка]
- URL источника [URL]
Комментарий к статье
- id [auto_increment]
- Связь со статьёй [id статьи]
- Дата публикации [DD.MM.YY HH:MM]
- Автор [id пользователя]
- Текст комментария [текст, до 2000 знаков]
Функции сайта вы можете описать своими словами, например:
Внешний вид сайта можно описать, дав примеры с пояснениями, например:
На этом этапе исполнитель задаст вам вопросы по составленному вами техническому заданию. Это может занять некоторое время, на протяжении которого вы будете отвечать на задаваемые вопросы и корректировать ТЗ. Зачастую эти функции на себя берут сами разработчики. Выгода для вас – вы получаете готовое техническое задание. Выгода для разработчиков – возможность сгладить острые углы, влияющие на сложность технической реализации. Согласование ТЗ – самое лучшее время для того, чтобы задать все взаимные вопросы.
Далее исполнитель должен предоставить вам коммерческое предложение, включающее смету и сроки реализации, например:
| Работа | Срок (дней || часов) | Стоимость (руб) |
| Разработка дизайна (3 варианта эскиза главной страницы + разработка вторичных страниц на основе выбранного варианта) | ||
| Вёрстка | ||
| Программирование: управление статичными страницами | ||
| Программирование: новостная лента с возможностью подписки по RSS и E-mail | ||
| Программирование: форма обратной связи | ||
| Программирование: регистрация пользователей и личный кабинет | ||
| Программирование: каталог статей с рейтингом и возможностью комментирования | ||
| Программирование: система статистики (динамика прироста аудитории, популярные материалы сайта, поисковые запросы, свойства аудитории) | ||
| Программирование: интернет-магазин | ||
| Программирование: фото галерея | ||
| Программирование: Блоги | ||
| Написание руководства для пользователей | ||
| Написание руководства для администратора | ||
| Финальное тестирование, размещение и запуск |
Числа в пустых ячейках будут зависеть от следующих факторов:
Очень важно своевременное предоставление необходимых в работе материалов. Обычно срок предоставления материалов прописан в договоре, так что следите за этим внимательно: если по вине заказчика срок разработки будет растянут – исполнитель логически освобождается от обязательств по соблюдению конечного срока разработки.
К тому же, к запуску сайта все его активные разделы должны быть наполнены актуальной информацией, ведь очередной плохой старт в Сети никому не будет интересен.
К материалам могут относиться:
Перед началом разработки внимательно проверьте свои требования. Требования должны быть тщательно сформулированы, чтобы не потерять время и не вносить потом платные правки.
разработка дизайна
Очень поможет список сайтов, на которые вы готовы ориентироваться, с пояснениями о том, что именно вам понравилось. Вот так могут выглядеть такие итерации на примере ZDR.ru. Вы должны заранее продумать, сколько различных типов страниц будет на вашем сайте, а также обговорить с исполнителем, сколько из них будет отрисовано дизайнером. В идеале каждый тип страницы должен быть нарисован для вёрстки – это повысит качество проекта.
Теперь вы можете немного расслабиться: самую важную работу заказчика – составление максимально подробного, грамотного ТЗ и подготовку необходимых материалов – вы выполнили. Теперь вы можете наблюдать за процессом разработки вашего сайта со стороны в режиме онлайн.
На этом этапе самое важное – контроль исполнения и тщательное документирование задач, ошибок и изменений. Разработчик будет предоставлять вам готовые области сайта, вы должны будете либо одобрять сделанную работу, либо своевременно предоставлять нужные комментарии. Если вы одобрили этап и исполнитель перешёл к следующему – часто вы уже не сможете бесплатно вносить в него изменения. Например, если исполнитель предоставил дизайн, вы одобрили его, и он был свёрстан – замена картинки может привести к повторным расходам на вёрстку.
Для всех участников проекта будет выгодно использование системы учёта задач и отслеживания ошибок. Я использую в своей работе «Mantis».
Задача этого этапа – убедиться, что продукт соответствует подписанному ТЗ.
Вы будете иметь доступ к тестовому хосту с полностью рабочей копией вашего сайта. Попробуйте воспользоваться каждой функцией сайта, представьте себя на месте пользователя.
Для размещения на хостинге и запуска проекта вам могут понадобиться следующие данные:
Доступ к хостингу:
Доступ к панели регистратора домена
Спасибо за то, что вы дочитали до этого места. Проводя черту, хочу сказать, что выполнение этих правил позволит вам существенно снизить риски провала проекта, что существенно важно в такой индустрии, как веб разработка.
Все права на содержимое страницы принадлежат автору. Копирование без ссылки на источник запрещено.