На этом этапе Заказчик предоставляет нашей компании всю имеющуюся информацию о предстоящем объеме работы, при необходимости, заключение соглашения о конфиденциальности предоставленных данных (NDA).
Вся информация должна быть максимально подробно изложена в развернутом структурированном виде (спецификация или техническое задание). Если у вас отсутствует такой документ, тогда мы можем предложить его разработать на платной основе.
Техническое задание — исходный документ на проектирование программного обеспечения. Техническое задание устанавливает основное назначение разрабатываемого программного обеспечения, его технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации (конструкторской, технологической, программной и т. д.) и её состав, а также специальные требования.
Техническое задание является юридическим документом — как приложение включается в договор между заказчиком и исполнителем на проведение работ и является его основой: определяет порядок и условия работ, в том числе цель, задачи, принципы, ожидаемые результаты и сроки выполнения. Должны быть объективные критерии, по которым можно определить, сделан ли тот или иной пункт работ или нет. Все изменения, дополнения и уточнения формулировок технического задания обязательно согласуются с заказчиком и им утверждаются. Это необходимо и потому, что в случае обнаружения в процессе решения проектной задачи неточностей или ошибочности исходных данных возникает необходимость определения степени вины каждой из сторон-участниц разработки, распределения понесенных в связи с этим убытков. Техническое задание, как термин в области информационных технологий – это юридически значимый документ, содержащий исчерпывающую информацию, необходимую для постановки задач исполнителям на разработку, внедрение или интеграцию программного продукта, информационной системы, сайта, мобильного приложения, портала либо прочего ИТ сервиса.
Почему мы рекомендуем доверить разработку технического задания профессионалам:
Профессионалы проанализируют ваш будущий проект и предложат вам максимально продуктивную схему работы. Например, выпуск прототипа проекта – сэкономит не только ваш бюджет, но и время на проект в целом. Выпуск минимально рабочей версии проекта (MVP) – сэкономит бюджет на проект и ускорит привлечение прибыли.
При написании технического задания чаще всего привлекаются специалисты:
- Бизнес-аналитик – расписывает основу технического задания;
- Программист - архитектор – программист с продолжительным стажем работы, который должен проверить, возможно ли при помощи описанных бизнес-аналитиком технологий, создать программный продукт, нет ли скрытых моментов, которые приведут проект к полной или частичной переделке и увеличению стоимости);
- Дизайнер UI/UX – специалист по интерфейсам, рисует скетчи будущего программного продукта, если это необходимо;
- Тестировщик – тестировщик с продолжительным стажем работы, составляет требования к тестированию будущего программного продукта, перечень платформ, разрешения экранов, нагрузочные тесты и тому подобное;
- Юрист – проверяет законность и обоснованность документа;
- Иные специалисты (технологи, электронщики, и другие специалисты если они требуются)
К чему приводят ошибки в техническом задании (если его разрабатывать самостоятельно):
- Бесконечно разрабатываемый программный продукт, который съест весь бюджет и не будет выпущен;
- Проблемы с приемкой работы, нет конкретных требований, правы все, виноватых нет продукт работает неправильно;
- Поверхностно описанные моменты ведут к значительному увеличению сроков и бюджета;
- Конфликтные ситуации на всех стадиях разработки проекта и судебные издержки (в худшем случае).
На этом этапе с заказчиком согласовывается стоимость работ согласно техническому заданию или спецификации и составу команды, принимающей участие в разработке проекта.
Доступны следующие модели сотрудничества:
Фиксированная цена (fixed price)
Данная модель является одной из двух самых популярных моделей сотрудничества. Наиболее востребована для малого и среднего бизнеса в работе над краткосрочными и среднесрочными проектами. Модель включает в себя точный объем требований, сроки и фиксированный бюджет.
Заказчик определяет набор требований к готовому решению, который, не должен изменится на протяжении всего срока создания конечного продукта. Наша компания, в свою очередь, предоставляет график, подробный план работ и денежную оценку, основываясь на объеме работ и сложности проекта.
Время и материалы (time and material)
Данная модель идеально подходит для долгосрочных проектов с изменяющимися требованиями и неопределенным объемом работ. Если на первых этапах создания проекта нет достаточного объема данных или заказчик хочет получить больше контроля над процессом создания решения, то данная модель помогает обеспечить гибкость, чтобы определять и фиксировать изменения проекта на любой стадии реализации.
Данная модель сотрудничества обеспечивает гибкость размера и объема нагрузки команды разработчиков, задействованных в работе над проектом, оптимизируя время и затраты. Общая стоимость проекта определяется количеством затраченного времени и ресурсов, исходя из количества специалистов и взаимно согласованной часовой ставки для разных категорий работников.
Выделенная команда
Эта модель позволяет заказчикам расширить свою штатную команду за счет специалистов, работающих офсайт. Наша компания выделяет команду из специалистов, предварительно выбранных заказчиком. Команда перенимает нормы и методологии разработки программного обеспечения и управления проектами заказчика. Управление проектом может выполняться как на стороне заказчика, так и из офиса нашей компании. В обоих случаях заказчик имеет полный контроль над жизненным циклом ПО.
На этом этапе со стороны нашей компании комплектуется команда необходимых специалистов. Как правило это менеджер по ведению проекта, Backed программисты, Frontend программисты, UX/UI дизайнер, тестировщики. При необходимости могут быть привлечены иные специалисты, связанные с особенностями проекта.
Весь проект разбивается на этапы (в зависимости от модели сотрудничества) и задачи, которые в свою очередь могут состоять из подзадач. Менеджеру проекта отводится ведущая роль, он следит за своевременностью выполнения задач и балансировкой нагрузки на программистов и других участников проекта.
Даже самые гуру программисты допускают ошибки в своей работе, поэтому на всех этапах разработки необходимо выполнять отладку кода и проводить функциональное тестирование. Это все согласовывается с менеджером по ведению проекта, который в свою очередь следит за выполнением графика и дает заказчику подробные отчеты.
Для управления проектом мы используем JIRA на собственном сервере, Confluence – для документирования и структурирования информации, Bitbucket (на собственном сервере) – для контроля версий программного кода. Так же возможны любые интеграции с сервисами, предоставляемыми заказчиком.
Тестирование проводится на всех этапах разработки проекта и в минимальном соотношении составляет не менее 15% от времени, потраченного на разработку. Чем качественнее выполняется тестирование, тем надежнее программный продукт. Данным этапом нельзя пренебрегать.
На этом этапе подготавливается дополнительная документация по проекту. Проект переносится с тестового сервера на реальный. Происходит публикация мобильных приложений. Происходит базовое наполнение контентом, формирование презентаций, промо-роликов. Происходит обучение персонала заказчика для работы и обслуживания проекта.
В случае если заказчик желает продолжить развитие проекта, и у него отсутствует собственный штат разработчиков, мы готовы оказать последующую поддержку проекта. Это могут быть как разовые задачи, так и выделенная команда с помесячной оплатой. Условия всегда очень индивидуальны.