Могли бы вы поделиться хорошим техническим заданием на разработку сайта/веб-приложения?
=========================================================================================

 Здравствуйте!  

Очень хочется посмотреть на пример хорошего, годного технического задания на разработку сайта, однако в интернетах либо "вода", либо неудовлетворительные реальные примеры. Если вы где-то видели хорошее ТЗ, или у вас есть такое из собственной практики (и его можно показать на публике), буду очень благодарен за ссылку/файл. 

 Хорошее техническое задание -- очень обтекаемый термин. "Хорошим" можно было бы назвать техническое задание, отвечающее некоторым требованиям. А вот уже эти требования в зависимости от масштаба разрабатываемого продукта, методологии разработки, заказчика/исполнителя и других факторов могут сильно отличаться.  
  

Так, например, если вы работаете с государственным или окологогосударственным заказчиком/исполнителем, весьма вероятно, вам придётся подготовить ТЗ в соответствии с требованиями ГОСТ-19 и 34 (в особенности ГОСТ 34.602-89 и ГОСТ 19.201-78), которые предполагают создание очень формальных и подробных документов.  
  

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

Для какой-нибудь дизайнерской разработки (стиль, лого, графика), когда велика изначальная неопределённость, что же требуется сделать, лучшим вариантом может являться вообще достаточно общий бриф.  
  

Резюмируя: определитесь с требованиями к ТЗ, а, отталкиваясь от них, уже можно искать какие-то варианты. 

 Никогда не видел объемного и всеохватывающего ТЗ. Обычно это макет и куча правок к нему. 

 посмотри мое. Хорошее или плохое сам реши.  

<https://vk.com/doc399047259_464509206> 

 Хорошее техническое задание для конкретного проекта - это результат хорошей работы специалиста управляющего проектом.  

Залогом хорошего ТЗ является:  

1) Работа на этапе лида  

2) Встречи и сбор максимально необходимой информации  

3) Обследование бизнес-процессов заказчика  

4) Предварительное техническое обследование всех возможных проблемных моментов  

5) Прототипирование - Мокапы, если там будет пару квадратиков, то скорее всего вас будет ждать фиаско  

6) Терминология понятная заказчику с визуализацией позволяющей максимальной вероятностью однозначно воспринимать результат этапов (работы)  

7) Подготовка необходимых приложений к ТЗ (Смета (перечень работ), Календарный план работ, Перечень макетов страниц, Гарантийные обязательства (подробно) и т.д.)  

8) предварительное обследование внешних сервисов для интеграций  

и т.д.  

9) Написание ТЗ  

10) Правильная оценка проекта  

Вот когда вы хотя бы это сделаете, тогда можете смело свое ТЗ назвать хорошим. 

 На самом деле, тз должно быть лаконичным и простым. Чтобы можно было легко понять назначение экранов/блоков/функций и их взаимосвязь. Этого достаточно, чтобы начать писать спеку.   
  

Но саму спецификацию, где все экраны и бизнес-процессы декомпозированы до уровня классов/объектов, архитектуры бд, third-party решений и методов api, не напишет никто, кроме техлида или разработчика. А только это можно назвать хорошим ТЗ, которое взял и пилишь код.   
  

Поэтому вопрос вряд ли имеет удовлетворяющий вас ответ. 

 Хороший план по подготовке ТЗ описан в [моём блоге](https://bit.ly/2Zi7QM9).  
**1. План создания технического задания (ТЗ)  

2. Этапы проектирования сайта**  
![%25D0%2592%25D0%25B5%25D0%25B1-%25D1%258](https://3.bp.blogspot.com/-Zmr7EXKo2I8/VY5IuyyaIvI/AAAAAAAAArY/5RYEpx3FFcw/s1600/%25D0%2592%25D0%25B5%25D0%25B1-%25D1%2581%25D0%25B0%25D0%25B9%25D1%2582-%25D1%2581-%25D0%25BD%25D1%2583%25D0%25BB%25D1%258F.jpg) 

 ТЗ вместо ТЗ подойдёт.  

Если реализуете такой веб-сервис, можете считаться юниор-программистом.  

[https://docs.google.com/document/d/1yk5kt1oV4278Lo...](https://docs.google.com/document/d/1yk5kt1oV4278LojQeZvSuSsiNdG0nNzcnIy29K0UXK8/) 

 Несколько моментов  

1) Нужно описать все принципиальные позиции, которые входят и не входят в разработку: например многоязычность или поддержка старых браузеров могут стать неприятной неожиданностью  

2) Вопрос на сколько подробно нужно описывать каждый блок -- открытый, иногда достаточно так, иногда прикладываются скриншоты, важно описать полезное действие  

3) Намного проще заложить на 10-20% больше в бюджете проекта на непредвиденные хотелки заказчика, чем прописывать все детали до последней запятой и потом все равно ссориться с заказчиком так как все учесть не возможно  
  

Пример краткого ТЗ для сайта-одностраничника, описание блоков приведено не полностью, написано по уже утвержденному дизайну.  
  
**В стоимость разработки сайта входит**  
* Разработка дизайна
* Верстка, включая мобильную версию
* Программирование и настройка функциональных блоков
* Создание видео-руководства по наполнению сайта контентом
* Подключение статистики (Гугл-аналитика, Яндекс-метрика при предоставлении кодов счетчиков клиентом)
* Помощь в подборе доменного имени
* Регистрация домена на имя клиента
* Настройка доменной почты
* Оплата домена в зоне ru на 1 год
* Оплата хостинга на 1 год
* Все доступы к сайту и хостингу передаются клиенту после приемки работы и полной оплаты

  
  
**Технические данные проекта**  
* Тип сайта: одностраничник
* Движок сайта: WordPress
* Язык сайта: русский
* Верстка: адаптивная, сайт корректно работает на мобильных устройствах
* Поддержка старых браузеров: старые браузеры не поддерживаются
* SEO: установка модуля Yoast SEO

  
  
**Описание функциональных модулей**  
  
**Шапка сайта**  
* Шапка сайта фиксируется при прокрутке
* Возможность поменять подпись и логотип
* Возможность поменять телефон
* Возможность добавить пункты меню
* Формат мобильного меню: «гамбургер»

  
  
**Верхний слайдер**  
* Автоматическая прокрутка слайдов
* Количество слайдов 1-5
* Возмжность управлять текстом и фотографиями каждого слайда

  
  
**Блок о компании**  
* Возможность задать заголовок
* Возможность изменить текст
* Возможность изменить цвет подложки
* Возможность изменить положение текста (слева или справа)
* Возможность задать фотографии