Почему не стоит экономить на разработке документации?
До сих пор в отечественном IT-бизнесе достаточно часто приходится слышать: «Сделали бы добротное ПО, а документацию какую-нибудь уже приложим потом». Давайте посмотрим, так ли это на самом деле.
Плохо разработанная техническая (проектная) документация имеет резкое негативное свойство: документация такого качества будет только сбивать с толку ваших разработчиков, которые в процессе доработки программного обеспечения будут все больше путаться и допускать все больше ошибок, что может привести к весьма неприятным и печальным последствиям.
Причем эти последствия весьма многозначительны: какая-то часть разработчиков просто не будет читать такую документацию, полагаясь на свой опыт и интуицию, другая часть засыплет вас множеством вопросов, на которые вы сами не знаете ответов. В результате может сложиться ситуация, когда будет проще создать документацию заново с нуля, чем разбираться в существующей. Иными словами:
Причина №1: Скупой платит дважды – этот закон работает и здесь.
Когда вы создаете программный продукт для конечных пользователей, сопроводительная (эксплуатационная) документация особенно важна. Если люди не смогут узнать, как работает ваш продукт, этот продукт не будет иметь пользователей в принципе, и будет совершенно не важно, насколько замечательный продукт вы создали. Поэтому:
Причина №2: Есть замечательный продукт – должна быть замечательная документация.
Но это только вершина айсберга. Вы можете разработать качественную техническую документацию, но ей никто не будет пользоваться. Не верите? Зря, ведь многие пользователи после первого ознакомления с документацией повторно открывают ее с одной лишь целью: получить ответ на вопрос «Как сделать X (How to X)?». Иными словами, подавляющему числу пользователей совершенно не интересно листать весь документ, чтобы получить ответ на возникший вопрос – они хотят получить ответ на свой вопрос сразу, без промедлений (вспомните Stack Overflow). Поэтому многим проще сразу отказаться от вашего продукта и попробовать другой, в котором все сразу будет понято. Конечно, вы можете сказать «пользователи просто ленивы», но сути это не меняет, поэтому вы всегда должны об этом помнить. Итак:
Причина №3: Время ваших пользователей ограничено – цените время своих клиентов.
Наконец, давайте посмотрим правде в глаза: да, помимо документации у вас есть миллион вещей в процессе разработки программного продукта. Однако если вы по этой причине будете откладывать написание документации до крайностей, то документация уже не сможет быть такой прекрасной. Почему? Потому что любая книга по мотивации вам скажет: самый-самый восторг люди испытают при старте нового проекта, именно на это время приходится больше всего сил и желаний. Более того, это дает дополнительный бонус: вы полноценно представляете и фиксируете картину своего продукта до начала разработки (реализации), что позволяет поддерживать нужный курс и избежать множество ошибок. Отсюда:
Причина №4: Не откладывайте на потом то, что можно сделать сейчас – начинайте разработку документации незамедлительно.
Таким образом, разработка по-настоящему эффективной технической документации требует не меньше ресурсов и внимания, чем непосредственно разработка (кодинг) программного обеспечения. Поэтому:
Причина №5: Всегда уделяйте внимание вопросу разработки документации – не жалейте времени и ресурсов на вопрос документирования.
Однако вы всегда можете сэкономить свое время и нервы, делегировав разработку технической документации нам. Ведь, согласитесь, не всегда стоит познавать все тонкости китайского языка, чтобы только перевести инструкцию к вашей новой технике – не так ли?