Как начать разработку, если нет ТЗ
Техническое задание – важнейший документ в разработке программного обеспечения. Грамотно составленное ТЗ защищает интересы как заказчика, так и разработчиков. Оно служит для решения возможных недоразумений и является гарантом получения полноценного продукта.
Однако на практике редко случается так, что заказчик самостоятельно составляет полное и правильное ТЗ. Бывает и так, что у заказчика его и вовсе нет. В таких случаях компания или разработчик могут взять на себя составление такого документа. А уже после его согласования начинаются работы по разработке ПО. Тем не менее, реальные условия подобного сотрудничества зачастую далеки от идеальных. Иногда заказчику требуется начать разработку срочно, и на составление ТЗ времени практически нет.
Задача
Наша команда получила заказ на разработку мобильного приложения с требованием уложиться в крайне сжатые сроки. При этом заказчик не предоставил техническое задание. Несмотря на то, что такие условия разработки крайне далеки от желаемых, наша команда взялась за разработку, поскольку проект был интересен с технической точки зрения. А также он предоставлял возможность поработать в новом и перспективном направлении.
Суть проекта
Заказчик хотел перенести весь функционал своего веб-приложения на мобильные платформы. А именно – разработать приложения для iOS и Android. Таким образом, отправной точкой для разработки стало изучение возможностей веб-приложения и макетов, разработанных дизайнером заказчика.
Начало работы
Менеджер проекта, тесно сотрудничая с заказчиком и дизайнером, а также с разработчиками, приступил к составлению начального ТЗ. Так мы согласовали основные концепции и далее двигались в правильном направлении. По макетам экранов был определён и описан основной функционал. Для уточнения особенностей бизнес логики поддерживалась связь с заказчиком, а некоторые вопросы уточнялись у дизайнера. В минимальные сроки был составлен первый вариант технического задания. Он позволил начать реализацию описанного функционала.
Гибкая разработка
Гибкие методологии разработки, оправдывая свое название, позволяют вести разработку при отсутствии чётких требований на начальном этапе. В данном случае, в процессе планирования следующего цикла разработки, требования дополнялись, уточнялись и согласовывались с заказчиком и командой разработчиков. Таким образом, постепенно формировалось более полное и актуальное ТЗ.
Стоит отметить, что подобный подход к разработке имеет как положительные так и отрицательные стороны. Среди плюсов можно назвать:
- возможность максимально быстро приступить к разработке, а следовательно, выпустить продукт в сжатые сроки;
- упрощённый процесс добавления нового функционала, поскольку ТЗ формируется на протяжении всей разработки.
Однако, такой подход не зря считается нежелательным. Среди главных проблем стоит отметить:
- отсутствие целостного понимания готового продукта. Это, в свою очередь, приводит к появлению неочевидных связей между отдельными задачами. В результате появляются сложности в тестировании и высокая вероятность возникновения ошибок;
- необходимость находиться в постоянном контакте с заказчиком;
- если над проектом работают сразу несколько команд, их координация становится затруднительной, поскольку нет эталона для оценки качества выполненных работ.
Подводя итоги
Таким образом, в случае, когда заказчик не предоставляет техническое задание, стоит учитывать все нюансы такого подхода. В частности, наш опыт работы над проектом без ТЗ говорит о том, что успешное завершение такого заказа в оговорённые сроки возможно только при умелом менеджменте и постоянном общении с заказчиком. А также – при готовности находить компромисс. В противном случае, заказчик может получить не тот продукт, что ожидал. А разработчик может оказаться в ситуации, когда все доработки и устранение ошибок придётся проводить за свой счёт.
Остались вопросы? Пишите нам!