Этапы разработки проектов

На данном этапе мы проводим изучение предоставленных заказчиком материалов на предмет понятности целей проекта, сущностей которыми оперирует проект и сферы применения проекта. Так же выстраивается первое взаимодействие с заказчиком при котором мы принимаем решение возможно ли сотрудничество в принципе. Для выполнения работы в срок необходимо качественное представления исходных данных заказчиком и адекватное, понятное и оперативное общение заказчика с представителем компании.

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

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

Это построение внешнего вида веб проекта в схематичной форме которой достаточно для того, чтобы определить основные компоненты интерфейса, их реализацию и расположение. Для решения задачи веб архитектор использует специализированные программные средства для проектирования, прикладывает весь свой наработанный опыт успешной реализации предидущих проектов. Для выполнения данной задачи чётко и в срок в первую очередь важны качественно предоставленные данные по первым 3-м этапам, быстрая реакция на вопросы веб архитектора заказчиком. Чёткое понимание всех процессов и путей достижения целей будущего проекта.

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

Выбор технологии разработки серверной и клиентской частей это процесс выбора оптимального состава инструментов с помощью которых возможно реализовать поставленные задачи. Данный выбор зависит от многих факторов, описание которых формируется на предыдущих этапах, например, высокие нагрузки на проект highload, большой объём данных, отзывчивость и построение интерфейса, скорость реакции системы, двунаправленная связь клиент-сервер, наличие готовых библиотек решающих ключевые задачи. Для выполнения данного этапа в срок, необходимы исчерпывающие и хорошо подготовленные данные всех предыдущих этапов, грамотный системный архитектор, качественно проведённый информационный поиск по существующим технологиям, анализ технической документации по каждой из технологий, анализ проблем связанных с использованием технологий на практике и мн. др.

Техническое задание (также — техзадание, ТЗ) — технический документ (спецификация), оговаривающий набор требований к системе и утверждённый как заказчиком/пользователем, так и исполнителем/производителем системы. Такая спецификация может содержать также системные требования и требования к тестированию.

Техническое задание позволяет:

  1. исполнителю — понять суть задачи, показать заказчику «технический облик» будущего изделия, программного изделия или автоматизированной системы;
  2. заказчику — осознать, что именно ему нужно;
  3. обеим сторонам — представить готовый продукт;
  4. исполнителю — спланировать выполнение проекта и работать по намеченному плану;
  5. заказчику — требовать от исполнителя соответствия продукта всем условиям, оговорённым в ТЗ;
  6. исполнителю — отказаться от выполнения работ, не указанных в ТЗ;
  7. заказчику и исполнителю — выполнить попунктную проверку готового продукта (приёмочное тестирование — проведение испытаний);
  8. избежать ошибок, связанных с изменением требований (на всех стадиях и этапах создания, за исключением испытаний).

В зависимости от ожиданий заказчика существует три альтернативы для выбора шаблона Технического задания. Если заказчик требует оформления документации в соответствии с государственным стандартом, выбор делается в сторону стандарта ГОСТ 34.602-89. Подготовка Технического задания по ГОСТ 34.602-89 требует значительных временных затрат.

Если поставлены сжатые сроки подготовки ТЗ и заказчик не требует оформления документации в соответствии с государственным стандартом, то можно использовать шаблон технического задания по стандарту IEEE Std 830. Стандарт IEEE Std 830 предполагает, что детальные требования могут быть обширными и не существует оптимальной структуры для всех систем. По этой причине, стандартом рекомендуется обеспечивать такое структурирование детальных требований, которое делает их оптимальными для понимания. Стандартом рекомендуются различные способы структурирования детальных требований для различных классов систем.

Для достижения результата выполнения этапа в срок необходимо хорошее владение PM-м всех составляющих проекта от исходных данных, до методов реализации и требований к web системе в целом. Представлять все детали разработки проекта от начала до конца.

Это блок схема графического отображения структуры сущностей проекта, их типов и взаимосвязей. Только в результате составления которой становится понятно где будут находится те или иные данные в проекте, как они будут взаимосвязаны между собой. Косвенно покажет какой объём работы по проекту должен быть осуществлён. Для выполнения работы в срок необходимо участие высококвалифицированного специалиста: системного архитектора.

Веб-дизайнер компонует спроектированную логическую структуру веб-страниц, продумывает наиболее удобные решения подачи информации, а также занимается художественным оформлением веб-проекта. Дизайн веб-проекта это не просто предложения по оформлению будущего сайта, а создание Вашего будущего ресурса, который будет помогать развивать ваш бизнес и привлекать все больше клиентов. Поэтому совместная работа дизайнера, менеджера и заказчика всегда приводит к наилучшим результатам: понять цели, функциональность, предпочтения и как результат — высокие потребительские свойства и эстетическое качество. Для качественного выполнения данной работы необходим всесторонний обзор информации, связанной с дизайн-проектом. По результатам этапа составляется описание проекта или, как его принято называть, "брифа". В описании проекта содержатся сведения о клиенте, ситуация на рынке, цели проекта, целевая аудитория, план выполнения дизайн-проекта.

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

Чтобы результат соответствовал ожиданиям в срок необходимо качественное выполнение этапа создания ТЗ а именно, подробно описаны требования к проекту в разделе дизайн, с указанием общих сведений, целей, функций, которые должен решать проект, стиль, согласованной цветовой палитры, шрифтов, тематика, количество цветов, графики и т.д. Со стороны заказчика до начала работ над данным этапом должны быть предоставлены все возможные материалы, при наличии фирменного стиля, все материалы по нему. Дизайнер должен чётко понимать объём работ, порядок и сроки их выполнения, оперативно коммуницировать и обсуждать все вопросы с руководителем проекта и разработчиками.

Этап состоит из описания набора управляющих элементов проекта (кнопок, ссылки и других контроллов), описание правил и рекомендаций по оформлению контента на сайте. Если разрабатывается адаптивный дизайн, описывается поведение элементов при разных разрешениях страницы. Сетка - модульная сетка. интерлиньяжная сетка Компоновка страниц - зонирование, навигация, header, footer Шрифтовая схема - принцип верстки текстов Цветовая схема - кодирование, зонирование Элементы интерфейса - кнопки, ссылки, переключатели, поля ввода и т.д. Графика - иконки, иллюстрации Фотографии - размер, ресурсы, обработка Анимация Интерактив Если разрабатывается адаптивный дизайн, описывается поведение элементов при разных разрешениях страницы. Начинается работа с создания дизайна, обычно в графическом редакторе. Дизайнер создаёт один или несколько вариантов дизайна, в соответствии с техническим заданием. При этом отдельно создаётся дизайн главной страницы, и дизайны типовых страниц (например: статьи, новости, каталог продукции). Собственно «дизайн страницы» представляет собой графический файл, слоеный рисунок, состоящий из наиболее мелких картинок-слоев элементов общего рисунка. При этом дизайнер должен учитывать ограничения стандартов html (не создавать дизайн, который затем не сможет быть реализован стандартными средствами html). Исключение составляет Flash-дизайн. Количество эскизов и порядок их предоставления оговаривается с проект-менеджером. Также менеджер проекта осуществляет контроль сроков. В процессе участвует арт-директор, который контролирует качество графики. Этап также заканчивается утверждением эскиза заказчиком. Для выполнения данного этапа должны быть предоставлены все необходимые материалы со стороны заказчика, вовремя согласованы со стороны заказчика: цветовая составляющая, шрифты, графические предпочтения и др. технические требования, согласованный прототип, согласованное техническое задание, согласованная структура сайта, описание функциональной спецификации. Основополагающим фактором выполнения работы качественно и в срок является опыт дизайнера в построении интерфейсов, навыки ux/ui дизайна. Необходимость грамотно планировать своё время работы над проектом, заранее прорабатывать все ньюансы и детали проекта.
Графика интерфейсов, это элементы интерфейса (меню, кнопки, значки, списки и т. п.), исполнены в виде графических изображений. Логика поведения, проработка юзабилити, анализ контакта с потенциальным покупателем, по­вышением эффективности, продуктивности, проработка «удобство применения», «дружественность и простоту при пользовании», «практичность» интерфейса. Правила, согласно которым совокупность действий пользователя должно привести к необходимой реакции устройства и выполнения требуемой задачи. Дизайнер должен максимально полно изучить цели проекта, понять цели проекта, знать целевую аудиторию, знать задачи, которые должен решать проект. Для соблюдения сроков и ожиданий заказчиков, важна организационная составляющая каждого из предыдущих этапов, коммуникационная составляющая в компании, внутренние совещания со специалистами разных направлений и сфер деятельности от веб архитектора, системного архитектора до разработчиков проекта, причём детально по каждой задаче. В техническом задании должно быть описаны: цели, аудитория, задачи, концепция дизайна понятным для сотрудника способом, а не просто для отметки. Должен привлекаться специалист по usability в компании. Должны быть проработаны все событийные модели поведений, реакций, состояний системы. В результате появляются схемы событий и состояний, раскадровки.
Данный этап предполагает создание кода веб-страницы с помощью соответствующего языка разметки. Оформление ранее созданного кода страницы с помощью встроенных средств языка разметки, либо же с помощью каскадных таблиц стилей. Верстальщик использует следующее ПО: Текстовый редактор или редактор HTML для написания и редактирования кода графическая программа для так называемой «нарезки» графического макета, полученного верстальщиком от веб-дизайнера. Процесс создания вёрстки начинается с «нарезки» графической картинки на отдельные рисунки, из которых впоследствии складывает html-страницу. В результате создаётся код, который можно просматривать с помощью браузера. А типовые страницы впоследствии будут использоваться как шаблоны. Для достижения результата и соответствия его ожиданиям в срок, важны все детали подготовки технических требований, согласованный прототип, согласованное техническое задание, согласованная структура сайта, описание функциональной спецификации. Мастерство верстальщика с хорошим опытом работы, знания всех необходимых frontend frameworks, владением навыков javascript программирования, jquery, css3, html5, кросбраузерности.

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

Для того, чтобы разработать качественный проект в срок за оптимальное время необходимо разбить проект на определённые логические периоды и расположить в правильном порядке. Для выполнения данной задачи точно и в срок, необходим очень хороший опыт CTO, системного архитектора, руководителя отдела разработки, Team Leader-а.

Чтобы выпустить действительно качественный продукт необходимо проводить тестирование всех составных частей проекта, событийных моделей, разных браузеров и разрешений экранов. Для этого необходимы в зависимости от размера проекта тестировщик или команда тестировщиков которые построят событийные модели, опишут последовательность действий и создадут планы тестирования по которым и будут следовать. Для выполнения данной задачи вовремя и в срок необходима чёткая оценка сложности проекта, объёма работ по составлению данных планов и соответственно организация работы необходимого количества тестировщиков.

Подготовка “рабочих серверов” заключается в установке и настройке серверного оборудования на хостинге или в дата центре. Организация коммуникаций к серверному оборудованию, установка и настройка операционных систем и программного обеспечения. Для выполнения данного этапа в зависимости от объёма нужен один или несколько опытных системных администратора которые обладают всеми необходимыми знаниям по установке и настройке программно-аппартаного обеспечения проекта.

После разработки проекта часто его необходимо развернуть уже на серверах заказчика. При этом если в среде разработки допускаются упрощения в виде геонераспределённых серверах, допускается не разделять сервер БД и веб приложения и т.д. То на этапе размещения проекта на “рабочие сервера” необходимо полностью развернуть необходимую структуру, сети, геораспределённую систему или кластер серверов для распределения нагрузки. Для выполнения задачи вовремя и в срок конечно же нужно заранее чётко определить предполагаемые нагрузки на сервера и заранее в ТЗ описать задачи по использованию веб проекта в “рабочем режиме”.

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