На данном этапе мы проводим изучение предоставленных заказчиком материалов на предмет понятности целей проекта, сущностей которыми оперирует проект и сферы применения проекта. Так же выстраивается первое взаимодействие с заказчиком при котором мы принимаем решение возможно ли сотрудничество в принципе. Для выполнения работы в срок необходимо качественное представления исходных данных заказчиком и адекватное, понятное и оперативное общение заказчика с представителем компании.
После анализа исходных данных возможно сформулировать задачи которые необходимо решать. И определить с помощью функциональных требований условия при которых данные задачи могут быть в принципе эффективно решены. На данном этапе максимально важно с помощью двунаправленного диалога заказчик-исполнитель определить объём задач, назначение задач и условия при которых задачи могут быть решены.
Для того, чтобы сделать качественный проект отражающий все особенности бизнеса заказчика, необходимо смоделировать или чётко описать бизнес архитектуру процессов. Определить основные показатели проекта, например, скорость достижения при помощи веб проекта конечной цели к которой стремится пользователь. Для создания бизнес архитектуры необходимо проанализировать все особенности взаимодействия с системой сотрудников компании заказчика, чётко описать все задачи которые должен решать проект, все процессы которые должны присутсвовать при достижении конечной цели. Для выполнения данной задачи вовремя и в срок конечно важную роль играет взаимодействие с сотрудниками компании заказчика, которые должны чётко и однозначно описать все вышесказанные сущности и донести их до веб архитектора. В свою очередь веб архитектор на основании своего опыта обязан предусмотреть и даже оптимизировать процессы взадимодействия с будущим веб проектом. Смоделировать все возможные состояния и пути решения поставленных задач.
Это построение внешнего вида веб проекта в схематичной форме которой достаточно для того, чтобы определить основные компоненты интерфейса, их реализацию и расположение. Для решения задачи веб архитектор использует специализированные программные средства для проектирования, прикладывает весь свой наработанный опыт успешной реализации предидущих проектов. Для выполнения данной задачи чётко и в срок в первую очередь важны качественно предоставленные данные по первым 3-м этапам, быстрая реакция на вопросы веб архитектора заказчиком. Чёткое понимание всех процессов и путей достижения целей будущего проекта.
Функциональная спецификация это документ описывающий как должен работать проект из чего он состоит и какие задачи какими событиями и действиями решаются. В результате приходит понимание из чего будет состоять проект, какой сложности будет проект, какие задачи будет решать проект, как будет работать проект. Для разработки данного этапа необходимо понимание веб архитектором всего проекта целиком, опытные знания реализации веб проектов и технические особенности внедрения той или иной технологий. Для сдачи проекта в поставленные сроки необходимо правильно поставить эти сроки, т.к. задача требует планомерной, постоянной работы описывающей функционирования проекта целиком.
Выбор технологии разработки серверной и клиентской частей это процесс выбора оптимального состава инструментов с помощью которых возможно реализовать поставленные задачи. Данный выбор зависит от многих факторов, описание которых формируется на предыдущих этапах, например, высокие нагрузки на проект highload, большой объём данных, отзывчивость и построение интерфейса, скорость реакции системы, двунаправленная связь клиент-сервер, наличие готовых библиотек решающих ключевые задачи. Для выполнения данного этапа в срок, необходимы исчерпывающие и хорошо подготовленные данные всех предыдущих этапов, грамотный системный архитектор, качественно проведённый информационный поиск по существующим технологиям, анализ технической документации по каждой из технологий, анализ проблем связанных с использованием технологий на практике и мн. др.
Техническое задание (также — техзадание, ТЗ) — технический документ (спецификация), оговаривающий набор требований к системе и утверждённый как заказчиком/пользователем, так и исполнителем/производителем системы. Такая спецификация может содержать также системные требования и требования к тестированию.
Техническое задание позволяет:
В зависимости от ожиданий заказчика существует три альтернативы для выбора шаблона Технического задания. Если заказчик требует оформления документации в соответствии с государственным стандартом, выбор делается в сторону стандарта ГОСТ 34.602-89. Подготовка Технического задания по ГОСТ 34.602-89 требует значительных временных затрат.
Если поставлены сжатые сроки подготовки ТЗ и заказчик не требует оформления документации в соответствии с государственным стандартом, то можно использовать шаблон технического задания по стандарту IEEE Std 830. Стандарт IEEE Std 830 предполагает, что детальные требования могут быть обширными и не существует оптимальной структуры для всех систем. По этой причине, стандартом рекомендуется обеспечивать такое структурирование детальных требований, которое делает их оптимальными для понимания. Стандартом рекомендуются различные способы структурирования детальных требований для различных классов систем.
Для достижения результата выполнения этапа в срок необходимо хорошее владение PM-м всех составляющих проекта от исходных данных, до методов реализации и требований к web системе в целом. Представлять все детали разработки проекта от начала до конца.
Это блок схема графического отображения структуры сущностей проекта, их типов и взаимосвязей. Только в результате составления которой становится понятно где будут находится те или иные данные в проекте, как они будут взаимосвязаны между собой. Косвенно покажет какой объём работы по проекту должен быть осуществлён. Для выполнения работы в срок необходимо участие высококвалифицированного специалиста: системного архитектора.
Веб-дизайнер компонует спроектированную логическую структуру веб-страниц, продумывает наиболее удобные решения подачи информации, а также занимается художественным оформлением веб-проекта. Дизайн веб-проекта это не просто предложения по оформлению будущего сайта, а создание Вашего будущего ресурса, который будет помогать развивать ваш бизнес и привлекать все больше клиентов. Поэтому совместная работа дизайнера, менеджера и заказчика всегда приводит к наилучшим результатам: понять цели, функциональность, предпочтения и как результат — высокие потребительские свойства и эстетическое качество. Для качественного выполнения данной работы необходим всесторонний обзор информации, связанной с дизайн-проектом. По результатам этапа составляется описание проекта или, как его принято называть, "брифа". В описании проекта содержатся сведения о клиенте, ситуация на рынке, цели проекта, целевая аудитория, план выполнения дизайн-проекта.
Чтобы результат соответствовал ожиданиям в срок необходимо качественное выполнение этапа создания ТЗ а именно, подробно описаны требования к проекту в разделе дизайн, с указанием общих сведений, целей, функций, которые должен решать проект, стиль, согласованной цветовой палитры, шрифтов, тематика, количество цветов, графики и т.д. Со стороны заказчика до начала работ над данным этапом должны быть предоставлены все возможные материалы, при наличии фирменного стиля, все материалы по нему. Дизайнер должен чётко понимать объём работ, порядок и сроки их выполнения, оперативно коммуницировать и обсуждать все вопросы с руководителем проекта и разработчиками.
Различные проекты требуют чётко подобранную команду подходящую под реализацию именно текущего решения. В команде разработки должен быть полный состав сотрудников владеющих всеми технологиями внедряемыми на проекте. Но даже полностью собранная команда грамотных специалистов очень часто не могут решить поставленные задачи, т.к. важнейшую роль так же играет организация работы команды. Организация взаимодействия между специалистами, последовательности действий, организация рабочих процессов каждого участника проекта. Для выполнения данной задачи в срок необходима компетенция опытного CTO который подберёт и спланирует работу команды технически, психологически подходящих сотрудников.
Для того, чтобы разработать качественный проект в срок за оптимальное время необходимо разбить проект на определённые логические периоды и расположить в правильном порядке. Для выполнения данной задачи точно и в срок, необходим очень хороший опыт CTO, системного архитектора, руководителя отдела разработки, Team Leader-а.
Чтобы выпустить действительно качественный продукт необходимо проводить тестирование всех составных частей проекта, событийных моделей, разных браузеров и разрешений экранов. Для этого необходимы в зависимости от размера проекта тестировщик или команда тестировщиков которые построят событийные модели, опишут последовательность действий и создадут планы тестирования по которым и будут следовать. Для выполнения данной задачи вовремя и в срок необходима чёткая оценка сложности проекта, объёма работ по составлению данных планов и соответственно организация работы необходимого количества тестировщиков.
Подготовка “рабочих серверов” заключается в установке и настройке серверного оборудования на хостинге или в дата центре. Организация коммуникаций к серверному оборудованию, установка и настройка операционных систем и программного обеспечения. Для выполнения данного этапа в зависимости от объёма нужен один или несколько опытных системных администратора которые обладают всеми необходимыми знаниям по установке и настройке программно-аппартаного обеспечения проекта.
После разработки проекта часто его необходимо развернуть уже на серверах заказчика. При этом если в среде разработки допускаются упрощения в виде геонераспределённых серверах, допускается не разделять сервер БД и веб приложения и т.д. То на этапе размещения проекта на “рабочие сервера” необходимо полностью развернуть необходимую структуру, сети, геораспределённую систему или кластер серверов для распределения нагрузки. Для выполнения задачи вовремя и в срок конечно же нужно заранее чётко определить предполагаемые нагрузки на сервера и заранее в ТЗ описать задачи по использованию веб проекта в “рабочем режиме”.
Во время работы проекта всегда возникают новые задачи, вопросы в качестве реализации той или иной функции, уточнения механизмов работы веб проекта. Для того чтобы работа с проектом была комфортной необходимо постоянное техническое сопровождение работающего проекта. Качественное выполнение данной задачи зависит от организации службы технической поддержки, компетенции сотрудников технической поддержки и конечно же времени реакции и ответа на вопросы от пользователей веб проекта.