Синтез любопытных статей, который позволяют с высоты птичьего полета, под широким углом зрения, окинуть взором весь процесс создания сайта.
Этапы:
1. Постановка целей и задач.
— oзнакомление c общими целями и задачами проекта…….
Каждой цели можно поставить в соответствие одну или несколько конкретных задач с количественно оцениваемыми результатами;
— oзнакомление с содержанием (контентом) в соответствии с целями проекта;
— детальный анализ данных, построение логической диаграммы входящих-выходящих данных;
— утверждение платформы, используемых языков программирования;
— предварительное планирование трудовых ресурсов (обсуждается наличие и квалификация специалистов), также определяется наличие специалистов по поддержке проекта после сдачи его заказчику.
Так, например, возможно, заказчик не предполагал высокого уровня квалификации сотрудника, ответственного за поддержку проекта, или напротив – предполагалось, что такой специалист будет, и обучение его работе с проектом проводится по ходу разработки проекта – следовательно, указывается на уровень сложности интерфейса, наличие групп пользователей (администратор – специалист – каждый входящий…)
— общие рекомендации по срокам исполнения проекта
— определение стороны, ответственной за публикацию и продвижение проекта в сети. В случае, если это входит в задачи разработчиков, разрабатывается заранее приблизительный план маркетинговой кампании.
2. Разработка структуры проекта
Согласно общей концепции проекта, поставленным целям и задачам определяется структура web-проекта, а именно:
— структура данных, определение связей между таблицами базы данных, структуры передачи данных из внешних источников;
— определение уровня автоматизации обработки данных, разработка структуры управления данными;
— проводится спецификация форм и порядок их появления;
— структура пользовательского интерфейса: пункты меню и элементы навигации, необходимые уровни вложенности;
— разработка эскизов дизайна проекта (количество вариантов утверждается заранее).
3. Планирование
— oпределение основных «технологических этапов» разработки проекта (т.н. контрольные точки);
…Cложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут быть разделены на подсистемы, и т.д., вплоть до самого низкого уровня….
…Когда мы начинаем анализировать сложную программную систему, в ней обнаруживается много составных частей, которые взаимодействуют друг с другом различными способами, причем ни сами части системы, ни способы их взаимодействия не обнаруживают никакого сходства. Это пример неорганизованной сложности… Эксперименты психологов показывают, что максимальное количество структурных единиц информации, за которыми человеческий мозг может одновременно следить, приблизительно равно 7±2.
— Разбиение крупных технолигических этапов на логические подэтапы конкретных задач;
— oпределение трудоемкости каждого подэтапа работ и планирование ресурсов для их успешной реализации (рассчитывается необходимое кол-во человеко-дней, исходя из необходимого для реализации поставленных задач времени и находящихся в распоряжении трудовых ресусов). При этом некоторые работы могут вестись параллельно, что сокращает общую длительность разработки проекта;
— oпределение общей трудоемкости проекта (исходя из которой будет определяться его стоимость) а также общего срока разработки;
4. Утверждение сроков исполнения проекта.
— cроки определяются по контрольным точкам – т.е. сколько требуется человеко-дней на исполнение каждого технологического этапа проекта;
— cогласование с заказчиком общей продолжительности проекта. При необходимости сокращения сроков проекта производится корректировка планирования — перераспределение трудовых ресурсов (если это возможно технологически) с целью сокращения общей длительности проекта.
5. Разработка.
— дизайн: художественное и техническое решение. Создание оригинального стиля сайта: цветовое решение, изготовление элементов оформления, баннеров, графических элементов;
— программирование: создание программных элементов;
— pеализация навигации в рамках утвержденной модели проекта;
— базовое информационное наполнение;
6. Тестирование.
— oтладка работы веб-проекта. Поиск и исправление ошибок, оптимизация. В результате должен быть получен корректно работающий проект с соблюдением всех необходимых функциональных характеристик. Кроме этого в процесс тестирования может так же включаться обучение специалистов, обслуживающих информационное наполнение портала. Подготовка документов по пользованию сайтом. Практика показывает, что малоподготовленные пользователи вероятнее всего найдут «слабые места» в проекте, некорректности, неточности и не безупречные с т.зр. usability,
===========
Разработка интернет проектов
У такой организации есть две основы. Первая — это единство решений и целостность всего проекта, что обеспечивает проектировщик. Вторая основа — это команда исполнителей тесно связанная друг с другом. В работу команды не вмешивается никто, кроме проектировщика, поэтому команда независима от сторонних решений и указаний.
Проектировщик
Ключевая роль в такой схеме определена проектировщику, который ответственен за проект от начала и до конца перед заказчиком. Поскольку проектировщик несет эту ответственность он же, является главным разработчиком и в курсе всех деталей проекта, так как сам и разрабатывает этот проект. Пишет спецификации, документации, технические задания, определяет сроки исполнения и составляет команду проекта. Его обязанность знать: каковы начальные ресурсы проекта, каковы задачи и цели проекта, а также что необходимо получить в результате.
Еще одна обязанность проектировщика это коммуникация с командой проекта. Работа проектировщика донести до каждого кто работает над проектом то, что требуется получить, языком понятным участникам проекта. Если проектировщик ставит задачу перед программистом, то ему необходимо это объяснить с точки зрения программиста. Соответственно если ставит задачу дизайнеру, то объяснить цели и задачи проекта, так чтобы это было понятно дизайнеру. Все люди разные, специальности тоже разные и они накладывают свою специфику. Дизайнеру будет удобно, если проектировщик при разговоре скажет о цвете в RGB палитре, а html-верстальщику в HEX.
Дизайнер создает макеты, интерфейсы и любое другое визуальное, графическое представление проекта.
Верстальщик
В обязанность верстальщика входит: html-разметка, css, написание небольших клиентских скриптов, xml-разметка.
Программист
Работа программиста — это серверное и клиентское программирование, взаимодействие программ с базами данных.
Тестировщик
Используя инструменты тестирования проекта — тестировщик выявляет ошибки в проекте и соответствие проекта конечным требованиям.
Писатель
Писатель отвечает за текстовое наполнение проекта. А если точнее — за контент, поэтому в его обязанность может входить подборка фотоматериалов к тексту, например, совместно с дизайнером проекта.
Менеджер проекта
Менеджер проекта отвечает за финансовые вопросы и за обсуждение проекта с заказчиком. В обязанности менеджера проекта входит: представление заказчику сделанной работы, объяснение заказчику принятых решений в реализации. Менеджер проекта обеспечивает связь между заказчиком и проектировщиком. С командой проекта менеджер не пересекается и не может давать им никаких указаний и поручений.
Процесс работы
Начальная стадия проекта
На первой стадии проекта идет обсуждение начальных задач и целей проекта. В этом участвуют: заказчик, менеджер проекта и проектировщик. На этом этапе обсуждаются: сроки проекта, финансовые затраты, ресурсы проекта, а также выносятся все решения и требования к проекту для перехода к составлению спецификаций и к проектированию.
Менеджер проекта общается с заказчиком от начальной стадии и до полной реализации проекта. Проектировщик только на начальной стадии и после сдачи проекта. В процессе работы проектировщик и заказчик не взаимодействуют. Если такое взаимодействие необходимо, то проектировщик передает информацию через менеджера проекта. Поэтому любые административные вопросы, переписка с заказчиком, общение по телефону в процессе работы над проектом — это обязанность менеджера. Это обусловлено тем, что проектировщику необходимо заниматься непосредственно проектированием, а не «связями с общественностью».
Проектирование и креативная часть проекта
Перед проектированием и постановкой задач для исполнителей проекта, необходимо создать и уяснить идею проекта. Для этого наилучшим вариантом может быть совещание и обсуждение проекта всеми участниками команды от проектировщика до тестировщика. Каждый участник может высказывать свое видение проекта, путь реализации каких-либо задач и генерировать идеи. Окончательное решение принимает проектировщик.
На этой стадии могут возникать интересные и живые споры по проекту, в которых команда почувствует коллектив и уже вольется в процесс. Также очевидный плюс коллективного обсуждения в том, что все участники еще до реализации будут введены в курс дела. При подобном обсуждении принятая идея проекта становится близкой всем участникам команды.
После утверждения идеи, проектировщик приступает к составлению спецификаций и требований к проекту. В процессе этой работы проектировщик взаимодействует с командой, находя лучшие решения в реализации каждой задачи.
Реализация проекта
После того как завершено проектирование и поставлены задачи каждому участнику, команда приступает к реализации проекта.
Во время работы над проектом все участники взаимодействуют друг с другом. Основные связи это:
1. Совместная работа дизайнера и верстальщика.
2. Совместная работа программиста и верстальщика
3. Взаимодействие тестировщика с программистом и верстальщиком.
4. Взаимодействие писателя с верстальщиком и дизайнером.
Каждый выполняет свою работу, согласовывая ее с другими участниками по выше перечисленным связям.
Это помогает избегать распространенных ситуаций в работе, которые приводят к несогласованности и к «испорченному телефону» на выходе. К примеру, часто на практике верстальщик получает уже полностью готовый дизайн-макет. При версте макета из-за того, что некоторые спорные или тонкие решения в дизайне не были изначально согласованы с дизайнером, верстальщик вынужден изменять или реализовывать задачу неэффективным, нелогичным или ресурсоемким путем. В той же ситуации окажется программист, получивший уже сверстанный макет. Некоторые программные решения могут требовать согласованных решений на стадии верстки, но так как подобного согласования с верстальщиком не было, то программист вынужден либо опять же изменять верстку, либо применять в программе неуместные методы, только лишь для обхода этой несогласованности. В итоге дизайнеру останется только удивляться тому, что результат совсем не похож на первоначальный дизайн-макет. И в этом случае нет виноватых среди исполнителей, все делали свою работу, есть неправильная организация исполнителей и неправильное обеспечение их взаимодействия.
Кроме взаимодействия между участниками, команда в целом постоянно согласовывает свою работу с проектировщиком, который по мере необходимости координирует работу как в целом над проектом, так и в отдельной работе каждого исполнителя. Проектировщик в процессе работы вносит необходимые изменения и корректировки в проект, основываясь на той информации, которая поступает через менеджера проекта от заказчика. Эти две обязанности проектировщика помогают сохранить целостность проекта и выполнить его в точности по спецификациям и первоначальным требованиям.
Технический дизайнер
Работа технического дизайнера в подготовке графических и фотоматериалов. А также в обрисовке единообразных элементов дизайна по разработанным стандартам или шаблонам. В обязанность технического дизайнера входит и обновление графических материалов в уже работающем проекте.
Флеш-технолог
Флеш-технолог создает мультимедиа на основе разработанных дизайнов и стандартов.
3D-моделлер разрабатывает модели и 3D элементы дизайна.
Скрипт-кодер
Совместно с верстальщиком разрабатывает клиентские скрипты для обеспечения интерактивности, динамики интерфейсов или каких-либо других технических решений в проекте.
Технический писатель
При тесном взаимодействии с проектировщиком и программистом составляет документации и справку проекта.
Языковед
Взаимодействуя с программистом, занимается поиском наиболее эффективных и уместных решений в используемом языке программирования.
Специалист по базам данных
Разрабатывает структуры баз данных и решает задачи по эффективному взаимодействию программ с базами. В частности составляет запросы к базам, используемые в дальнейшем программистом.
Группа поддержки проекта
Работает с корреспонденцией и занимается сервисным обслуживанием проекта.
Координатор, редактор проекта
Организует деятельность группы поддержки или же редактирует и координирует контент проекта.
Администратор сообществ
Администратор или модератор сообществ занимается поддержкой, модерированием и развитием форумов проекта.
====================
Основные положения ТЗ на разработку технической части web-сайта:
Положение 1. Регистрация домена
Выбор и регистрация доменного имени.
Положение 2. Применение технологий
Определяются технологии, на основе которых будет изготовлена программная часть сайта.
Положение 3. Использование программных модулей на сайте
Выбираются модули для использования на сайте. Форум, галерея, новости и др.
Положение 4. Тестирование сайта
Тестирование программной части сайта (работоспособность движка), тестирование сайта на предмет удобства пользования (отношение пользователей к сайту). Определяется схема выполнения услуги.
Положение 5. Обслуживание сайта
Моменты технического обслуживания сайта.
Основные положения ТЗ на разработку внешнего вида web-сайта:
Положение 1. Цель создания сайта
Идея сайта и причины его создания.
Положение 2. Характеристика предполагаемой аудитории сайта
Проводится расследование на предмет личностных характеристик и качеств и предпочтений целевой аудитории сайта. Опрос целевой группы посетителей.
Положение 3. Выбор бизнес-модели сайта
Обуславливает особенности внешнего вида, назначение, структуру и верстку сайта. Примеры бизнес-моделей: сайт информационный портал, сайт Интернет магазин, имиджевый корпоративный сайт и др.
Положение 4. Отличительные особенности и функциональные возможности сайта
Определяются коммерческие и структурные преимущества сайта на фоне аналогов и сайтов конкурентов.
Положение 5. Выбор стиля оформления сайта
С учетом специфики и назначения сайта определяется его внешний вид и схема верстки. Стандартные стили Интернет сайтов: табличный стиль, бионический стиль, техно-стиль, стиль пиксельный дизайн и др.
Положение 6. Структура сайта, система навигации по сайту
Структура главной страницы и внутренних страниц. Определяется согласно преследуемым целям и задачам.
Положение 7. Правила использования фирменного стиля на сайте
Оговариваются правила использования фирменного стиля.
Положения ТЗ на продвижение web-сайта в сети Интернет:
Положение 1. Раскрутка
Способы раскрутки. Сроки достижения результатов.
Положение 2. Рекламная кампания
Изготовление и размещение баннеров, статей и других рекламных материалов.
Специальные положения ТЗ на разработку web-сайта:
Положение 1. Бюджет сайта
Рассчитывается смета на спектр услуг по разработке и продвижению сайта.
Положение 2. Особенности ведения работ по сайту
В этом пункте оговариваются особые моменты, связанные со спецификой разработки сайта. Конфиденциальность, сроки выполнения работ, варианты взаимодействия сторон в процессе работы, варианты решения спорных вопросов и др.
=======================
Примечания:
Рост затрат на создание/приобретение материалов не должен быть для вас неожиданностью. Хорошие материалы стоят дорого. Эти затраты включают в себя их создание, лицензирование и объединение. Число людей и организаций, вовлекаемых иногда в процесс очистки прав, может оказаться очень большим, а на сам процесс может уйти уйма времени. Убедитесь, что ваш бюджет и прогнозы расходов явно принимают это в расчет. Лучше всего решение вопросов с правами и оплату всех сопутствующих расходов переложить на плечи клиента, если только вы не являетесь экспертов в области авторских прав. В «старые добрые времена» Web-а с вопросами прав было все проще. Сегодня же это настоящий бизнес, и его следует принимать всерьез любому коммерческому web-проекту.
Не берите на себя юридическую ответственность за сайт. Если только вы не профессионал-юрист, который зарабатывает себе на жизнь консультациями по вопросам интеллектуальной собственности, не принимайте на себя никакой юридической ответственности, которая может быть связана с web-сайтом вашего клиента. Как менеджер проекта, вы должны разбираться в этих проблемах, знать о них и делать так, чтобы эти вопросы были закрыты, но на вас не должны перекладывать всю ответственность за эти вопросы. Юридические вопросы могут оказаться очень сложными, особенно когда пересекаются права нескольких субъектов. В спецификации проекта вы должны явно указать, что решение всех юридических вопросов и связанные с ними расходы возлагаются на клиента.
Не дайте себя вовлечь в создание содержимого для сайта. Иногда создавать содержимое для сайта, писать для него тексты и рисовать иллюстрации весело и приятно. Однако, как менеджер проекта большую часть своего времени вы должны следить за другими и управлять их работой, проверять, выполняется ли она в срок, планировать дальнейшие шаги. Если вы слишком глубоко погрузитесь в процесс создания содержимого для сайта, вы рискуете потерять вид общей картины, кроме того, вы рискуете заняться тем, к чему у вас нет способностей!
Требуйте поставки материалов как можно раньше, и предполагайте, что они прибудут с опозданием и не в том формате. Материалы, данные вас с опозданием, не те материалы, или вообще их отсутствие — содержимое сайта единственная самая главная головная боль разработчиков, работающих с клиентами. Не остается ничего иного, как планировать в графике столько времени в запас, сколько возможно, чтобы приноровится к неизбежным проблемам, связанным с задержанными материалами. Очень четко оцените, как на вашу работу повлияете задержка с наполнением сайта. Определите, какие материалы и данные вам необходимы в первую очередь, какие из них формируют важнейшую часть вашего проекта, и какие из них должны храниться в самом сложном формате (например, данные в базе данных). Убедитесь, что спецификации, описывающие формат материалов, согласованы с клиентом и полностью ему понятны.
Подумайте о том, какую мелочь вы можете добавить к сайту, и сообщите клиенту о том, что вы сделали. Для добавления этих мелких штрихов воспользуйтесь своими глубочайшими знаниями о Web. Пример пиктограмм для закладки Channel5 и специальная страница с сообщением об ошибке — это только два примера того, что можно сделать. Персональные настройки сайта под каждого пользователя, более полное использование электронной почты также могут открыть широкую дорогу для мелких, но эффективных дополнительных «вкусностей». Убедитесь, что ваш клиент знает о том, что вы сделали; в противном случае он может даже и не оценить этого.