Во-первых, почти ничего в ответе @ DXM не соответствует моему опыту с Agile, и особенно с Scrum.
Agile Manifesto утверждает , что в то время как исчерпывающая документация ценен, работает программное обеспечение является более ценным. Таким образом, документация, конечно, не плохая вещь, но она должна быть действительно полезна для создания работающего программного обеспечения.
Индивидуумы и взаимодействия над процессами и инструментами
Рабочее программное обеспечение над всеобъемлющей документацией
Сотрудничество с клиентом в рамках переговоров по контракту
Реагирование на изменения в соответствии с планом
То есть, хотя в элементах справа есть ценность, мы слева оцениваем элементы больше.
Прибивать каждую деталь перед тем, как приступить к кодированию, снова и снова оказывается расточительным, поэтому документация обычно обрабатывается в формате JIT (как раз вовремя). То есть вы документируете то, что на самом деле собираетесь кодировать.
Одним из популярных способов использования Scrum является использование пользовательских историй, которые поддерживаются владельцем продукта и хранятся в журнале невыполненных работ. Журнал ожидания продукта - это достаточно высокоуровневый список всех вещей, которые необходимо сделать для решения, а пользовательская история, как правило, представляет собой удобный способ описания каждой вещи в списке. Пользовательские истории не являются обязательными, но они, кажется, являются хорошим способом не переусердствовать с деталями и стимулировать сотрудничество.
Таким образом, в любом случае, когда история закончена - команда создала, протестировала и развернула что-то, отвечающее критериям приемлемости, история не проверяется, она просто помечается как выполненная в бэклоге - поэтому в бэклоге есть некоторая индикация о том, что было сделано в каждом спринте - истории и связанные с ними моменты. Это то, что позволяет вам рассчитать скорость, и само по себе является ценной документацией.
Все это говорит о том, что пользовательская история может быть всей документацией, необходимой для понимания требования, но, скорее всего, это что-то, что вызывает диалог между заказчиком и командой разработчиков. Таким образом, есть множество вещей, которые вы можете сделать во время этого разговора. Если речь идет о специальной встрече лицом к лицу, как это часто бывает, аналитик / разработчик может (и, возможно, в зависимости от вашей организации, должен) записать все принятые решения и сохранить его где-нибудь, например, вики или хранилище документации. Если это разговор по электронной почте, вы можете сохранить электронные письма. Если это занятие на доске, сфотографируйте доску с помощью мобильного телефона и сохраните ее. Дело в том, что именно эти вещи помогают вам выполнить код и могут помочь вам позже, если вам нужно выяснить, как или почему вы сделали это так, как сделали.
Еще один метод сбора требований - немедленно включить их в контрольные примеры (что, как я полагаю, - то, к чему стремился DXM). Это может быть действительно эффективным, в любом случае вам нужно протестировать каждое требование. В этом случае вы можете эффективно хранить свои требования в своем инструменте тестирования.
Если история завершена (и принята), а затем пользователь меняет свою потребность, тогда вам, вероятно, нужно создать новую историю. Если вы используете вики для своей документации, вы можете связать новую историю с оригинальной, а также связать эту оригинальную историю с новым материалом, чтобы кто-то, глядя на него, знал, что все изменилось. Это хорошая вещь в вики - легко и безболезненно связывать вещи. Если вы используете подход, основанный на тестировании, вы должны либо обновить тестовый пример, чтобы справиться с изменением, либо создать новые тестовые наборы для новой истории, если новые и старые не являются взаимоисключающими.
В конце концов, это зависит от того, что вам нужно. Если главное, чтобы люди быстро набрали скорость, возможно, для кого-то будет хорошей идеей написать входящий документ, чтобы помочь им. Так пусть кто-нибудь сделает это. Как я уже упоминал, Wiki - отличный инструмент для хранения подобных вещей, поэтому вы можете рассмотреть решения Atlassian, которые могут интегрировать Confluence Wiki с Jira и Greenhopper для отслеживания ваших историй / задач / дефектов и управления вашим проектом в целом. Также есть множество других инструментов на выбор.