У нас не заставляют, а зря... Потом с такой херью написанной другими сталкиваешься, что лучше бы уж документацию писал... и читал, вон у нас в системе поддержки полфункционала в одном файле... причём написавший эту муть года как три уволился, а я до сих пор XSS-ы нахожу.
Да, так как это неотъемлемая часть процесса разработки ПО. Под написанием документации в данном случае я имею ввиду:
1. Составление требований к системе на основании требований заказчика
2. Написание прецедентов (Use Cases)
3. При разработке архитектуры - диаграммы классов, последовательности, взаимодействия, ER-диаграммы (если есть БД) с подробными комментариями.
4. Куча сопутствующих документов - взаимосвязи между отдельными частями ПО, используемые данные, возможные значения определенных параметров
5. Подробное комментирование кода (на основании комментариев потом автоматом генерируется документация) - назначение классов, свойств, методов и их параметров, зависимости
Естественно что не все члены команды пишут каждый документ, но обязательно проводится peer review с их участием по каждой новой ревизии документа.
На все то выделяется время в плане проекта, причем не маленькое.
В результате сам процесс разработки становится довольно простым. Удается избежать многих сложностей - не приходится менять архитектуру в конце проекта или судорожно добавлять новую функциональность. Кроме того упрощается поддержка, не возникает проблем если поддержкой придется заниматься людям, не участвовашим в разработке.
з.ы. если же Вы имели ввиду составление руководства пользователя - то для этого есть специальные люди (которые в крайнем случае будут просто консультироваться с программистами)
Нас не заставляют. Пытаюсь убедить начальство, что это жизненно необходимо. Так что радуйся, иначе бывает гораздо хуже, поверь мне.