powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как по-умному вести документацию?
25 сообщений из 31, страница 1 из 2
Как по-умному вести документацию?
    #38041653
НовыйЯ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот есть Dynamics CRM c кучей дописанного для него.
Есть папка с вордовскими файликами, в которой в хаотичном виде разбросаны ТЗ по разным модулям системы.
Причём по одному модулю может существовать > 5, противоречащих друг другу и вообще не соответствующих текущему варианту реализации бизнес-логики в работающем на данный момент коде.

Как поступают умные людим, чтоб вести соответствие изменений в коде с изменениями в ТЗ?

Заводят файлики с ТЗ в том же TFS'е, а при CheckIn'е прописывают имя файлика с ТЗ и его версей?

А как лучше вести эти самые файлики?

Блин, что-то совсем я запутался...
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38042254
pmle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НовыйЯ,

авторИсходные требования Заказчика часто оформлены в виде документов — ТП, ТЗ, SRS, FS и др.. Такая форма представления требований удобна для согласования и утверждения c Заказчиком, но мало пригодна для других процессов управления требованиями, в ходе которых необходимо решать следующие задачи:

отслеживать влияние изменений требований;

оценивать покрытие требований тестами;

оценивать состав и объем реализованных требований;

связывать конкретные требования с задачами плана работ и отслеживать ход реализации требований;

выявлять конфликтующие исходные и производные требования;

определять область влияния обнаруженных ошибок.

взято из
Подготовка спецификаций требований Заказчика к трассировке
http://edu.reqcenter.pro/?p=627


там есть продолжение.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38042310
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НовыйЯКак поступают умные людим, чтоб вести соответствие изменений в коде с изменениями в ТЗ?
Ну во-первых, при долгой разработке вряд ли имеет смысл поддерживать "актуальное ТЗ" как монолитный документ, сил на это требуется много, а польза невелика. Удобнее работать с серией документов "последовательных изменений" - то есть задания на новые модули, описания изменений в старых.

Во-вторых, умные люди любят использовать трекер, то есть программу, позволяющую описать проект как серию относительно мелких задач и манипулировать этими задачами. Тексты задач в трекере нередко ссылаются на соответствующие пункты ТЗ, в других случаях дополняют и расшифровывают их. Так или иначе, любые изменения в коде делаются только в соответствии с задачей в трекере; это позволяет организовать весь последующий процесс вплоть до документирования сделанных и протестированных изменений (имеется в виду изменение пользовательской документации). Некоторые инструменты предоставляют средства, чтобы связать задачу в трекере и набор изменений, зафиксированный в VCS, но в любом случае никто не мешает писать номер задачи в комментариях к чекину; таким образом всегда возможно увидеть, по какой документации сделаны изменения, а также какие изменения внесены в рамках этой задачи.

В некоторых случаях трекер вообще становится основным "документом ТЗ", то есть основную массу задач начинают писать прямо в трекер, минуя стадию "многолистовых печатных документов".
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38044688
pectopatop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-умному это делается за 1 проход.
Один фулл скан так сказать.

А цикличное перебирание и пережувание документов - кому оно ннафик сдалось?
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38044729
pmle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НовыйЯ,

кстати, в этой статье-участнице конкурса, описана вроде бы похожая на Вашу ситуация http://saturs.ru/index.php?r=block/plain&label=competition-article1.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38045719
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НовыйЯ,

если хочется просто и дешево, то поставьте какую-нибудь wiki (mediawiki или confluence).
Ну а там уже и версионность есть и ссылочная целостность и многое другое.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38046255
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда начинаешь читать всю историю...
Йопт! ни полей, ни даже таблиц таких в БД давно нет! Только где-то в конце, в последних документах, уже ссылаются на невесть откуда взявшуюся, но более-менее актуальную структуру.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38046850
OptiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-хорошему, вся документация (и ТЗ, и спецификации, и пользовательская) должна версионироваться вместе с модулями системы и обновляться в рамках каждого изменения (=изменения версии модуля). На практике это сильно увеличивает трудозатраты на разработку. Зато порядок.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047048
pmle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OptiX,

так затраты на порядок снижают затраты на устранение ошибок, в итоге порядок часто оказывается дешевле
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047132
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmleтак затраты на порядок снижают затраты на устранение ошибок
Да не сказал бы. Если у нас есть актуальное ТЗ (1000 страниц), и мы хотим внести в него изменения (новый модуль - 50 страниц, изменения старых модулей - 5 раз по 10 страниц), никто не будет читать изменённую версию документа, это нереально. Если задание на новый модуль ещё можно вписать в тысячестраничный документ и работать с ним, то разбросанные странички с поправками не будет читать никто и никогда; вся реальная работа - проработка, согласование с заказчиком, постановка задач исполнителям - будет идти с "маленькими документами изменений". Таким образом, внесение потом этих изменений в "полное актуальное ТЗ" - это отдельная работа, во время которой могут быть и будут сделаны свои, отдельные ошибки. Мало того; поскольку это полное ТЗ практически никто и никогда не будет читать, эти ошибки останутся очень надолго, до тех пор, пока кто-то с большим удивлением не попробует разобраться "как же оно" и не сравнит его текст с реальной системой.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047151
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerникто не будет читать изменённую версию документа, это нереально. Если задание на новый модуль ещё можно вписать в тысячестраничный документ и работать с ним, то разбросанные странички с поправками не будет читать никто и никогда; вся реальная работа - проработка, согласование с заказчиком, постановка задач исполнителям - будет идти с "маленькими документами изменений".

Я, возможно, чего-то не понимаю, но использование Version Control для документации означает, что у нас есть документ (скажем "Текущее ТЗ"), который поддерживается в актуальном состоянии. Читать его целиком, разумеется, никто не будет. В случае необходимости "маленькие документы изменений" нам как раз инструменты Version Control сделают.

Те работа должна выглядеть как
Коммит в ТЗ/требования -> коммит в код/описывающую его документацию (одновременно! В одном коммите.), который это реализует.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047291
OptiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Inkelyadsoftwarerникто не будет читать изменённую версию документа, это нереально. Если задание на новый модуль ещё можно вписать в тысячестраничный документ и работать с ним, то разбросанные странички с поправками не будет читать никто и никогда; вся реальная работа - проработка, согласование с заказчиком, постановка задач исполнителям - будет идти с "маленькими документами изменений".

Я, возможно, чего-то не понимаю, но использование Version Control для документации означает, что у нас есть документ (скажем "Текущее ТЗ"), который поддерживается в актуальном состоянии. Читать его целиком, разумеется, никто не будет. В случае необходимости "маленькие документы изменений" нам как раз инструменты Version Control сделают.
Тут немного не об этом. На практике исполнитель (=разработчик) на вход получает не многостраничный ТЗ от аналитика, а "маленький документ изменений" (чаще в виде задачи в Jira), где расписаны требования и краткие пожелания по дизайну, если нужно.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047293
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadЯ, возможно, чего-то не понимаю, но использование Version Control для документации означает,
Ну в первую очередь оно означает, что в репозитории лежат бинарные файлы, с которыми особо ничего не сделаешь. Я наверняка чего-то не понимаю, но я, например, никогда не слышал об инструменте, который позволил бы мне сравнить две версии Visio-диаграммы и показать различия между ними :)

InkelyadВ случае необходимости "маленькие документы изменений" нам как раз инструменты Version Control сделают.
Ну, допустим, сделают (хотя я бы посмотрел на процесс в деталях). Дальше этот файл везём или высылаем заказчику, он вносит правки. Что делаем дальше? Запускаем совсем хитрую тулзу, которая по изменениям "маленького документа изменений" мержит изменения в основной документ? C учётом того, что его в то же время редактировали другие люди?

InkelyadТе работа должна выглядеть как Коммит в ТЗ/требования -> коммит в код/описывающую его документацию (одновременно! В одном коммите.), который это реализует.
Мм... эта идеальная модель представляется мне технологически проблематичной и организационно нереальной.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047387
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerНу в первую очередь оно означает, что в репозитории лежат бинарные файлы, с которыми особо ничего не сделаешь. Я наверняка чего-то не понимаю, но я, например, никогда не слышал об инструменте, который позволил бы мне сравнить две версии Visio-диаграммы и показать различия между ними :)

Если поставить себе такую задачу, то можно выбрать себе текстовые форматы хранения исходников документации.

А документирование в Visio как раз тем и плохо, что эти файлы сравнить нельзя.

softwarerНу, допустим, сделают (хотя я бы посмотрел на процесс в деталях). Дальше этот файл везём или высылаем заказчику, он вносит правки. Что делаем дальше? Запускаем совсем хитрую тулзу, которая по изменениям "маленького документа изменений" мержит изменения в основной документ? C учётом того, что его в то же время редактировали другие люди?

Отсылаем заказчику линк на весь документ с правками в GoogleDocs (или на наш частный эквивалент). Пускай правит. Заодно увидит и то, что другие люди наредактировать успели.

Но вообще да, в переносе изменений заказчика в VC и заключается проблема.
Ничего, пригодного для использования нормальными людьми, нет.

softwarerМм... эта идеальная модель представляется мне технологически проблематичной и организационно нереальной.
Зависит от. Та часть, которая "в коммите должен быть код и изменения в документацию" при известном желании реализуема.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047417
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OptiXТут немного не об этом. На практике исполнитель (=разработчик) на вход получает не многостраничный ТЗ от аналитика, а "маленький документ изменений" (чаще в виде задачи в Jira), где расписаны требования и краткие пожелания по дизайну, если нужно.
А аналитик нигде не ведет "текущее ТЗ" что ли? Если ведет, то оно о должно лежать в VC.

А то, что идет исполнителю уже из него генерируется. В виде "Сделать <ссылка на страничку соответствующего коммита в Web интерфейсе VC>".
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047467
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadЕсли поставить себе такую задачу, то можно выбрать себе текстовые форматы хранения исходников документации.
Если поставить задачу, то можно, конечно, и не такое :) Но это уже стопроцентный сигнал задуматься, стоит ли игра свеч. Признаться, я даже уверен в ответе на этот вопрос.

InkelyadОтсылаем заказчику линк на весь документ с правками в GoogleDocs (или на наш частный эквивалент).
Заказчик в грубой матерной форме просит дать нормальный doc-файл, в котором нет ничего лишнего. Напоминаю ещё раз: он совершенно не собирается читать тысячестаничное ТЗ и/или искать в нём нужные страницы. Ему нужно согласовать изменение на десять страниц, и именно их он хочет увидеть. А ещё он заказывает музыку. Во всяком случае заказчики, согласные работать с ТЗ в виде diff-а текстовых файлов, встречаются нечасто

InkelyadЗависит от. Та часть, которая "в коммите должен быть код и изменения в документацию" при известном желании реализуема.
Эта задача не самоцель. Вопрос не в том, можно ли её реализовать, а в том, сколько это будет стоить и насколько приблизит настоящие цели. Это отдельная большая тема... честно говоря, не готов сейчас развивать её во всей полноте, поэтому ограничусь довольно очевидной констатацией: документация, не соответствующая реализации, есть бесполезный мусор. С течением времени документация склонна в такой мусор превращаться. Чем больше документация по объёму/детализации, чем меньше она задействована в процессе разработки и чем больше пишется по факту - тем дороже стоит поддержание её в более-менее адекватном состоянии, соответственно тем резоннее звучит вопрос "а нужна ли нам такая документация за такую цену". Ответ, разумеется, зависит от деталей проекта, причём как от задачи, так и от команды.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047469
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadА аналитик нигде не ведет "текущее ТЗ" что ли?
А разве у нас не принято читать то, на что, по идее, отвечаешь? 13487408 , первое предложение.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047493
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerА разве у нас не принято читать то, на что, по идее, отвечаешь? 13487408 , первое предложение.
Прошу прощения, за несколько дней успел потерять контекст обсуждения.

Но вот как раз с
вряд ли имеет смысл поддерживать "актуальное ТЗ" как монолитный документ

я и не согласен. Последовательность "Получил/утвердил хочушку заказчика" -> вписал ее в "Текущее ТЗ" -> нагенерировал задач в трекере вида "сделать то, что описано в изменении ТЗ <номер коммита>" не выглядит уж очень трудоемкой.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047534
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Inkelyadя и не согласен. Последовательность "Получил/утвердил хочушку заказчика" -> вписал ее в "Текущее ТЗ" -> нагенерировал задач в трекере вида "сделать то, что описано в изменении ТЗ <номер коммита>" не выглядит уж очень трудоемкой.
Трудоёмкость, да ещё на пальцах - вопрос, конечно, спорный. Даже бесконечно спорный :) У меня на самом деле к этой последовательности больше другая претензия - связанная с тем, что результат этого процесса (то есть "текущее тз") никто не будет толком читать и использовать. А следовательно - это производство той самой мусорной, дезориентирующей документации. С этим можно в определённой степени бороться, например, обязать тестировщиков принимать задачи согласно именно этому "монолитному тз" - но это опять же довольно существенные дополнительные траты. А вопрос "ради чего" как висел, так и висит.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047838
MyNiGoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer"текущее тз" никто не будет толком читать и использовать. А следовательно - это производство той самой мусорной, дезориентирующей документации. [...] А вопрос "ради чего" как висел, так и висит.
ребята, как же так. Буквально сейчас имею ситуацию, что требования фактически ведутся в Jira в виде багов, запросов на фичи, тасков и т.п. Пришел новый сотрудник, ему нужно знакомиться с системой, а собрать описание функционала какого-нибудь модуля невозможно, потому что оно раскидано по сотням тикетов в Jira. Я считаю, что вести актуальное описание системы в монолитном документе необходимо . Версионирование такого документа - признак хорошего тона, но является делом вкуса.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047842
pmle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MyNiGoosoftwarer"текущее тз" никто не будет толком читать и использовать. А следовательно - это производство той самой мусорной, дезориентирующей документации. [...] А вопрос "ради чего" как висел, так и висит.
ребята, как же так. Буквально сейчас имею ситуацию, что требования фактически ведутся в Jira в виде багов, запросов на фичи, тасков и т.п. Пришел новый сотрудник, ему нужно знакомиться с системой, а собрать описание функционала какого-нибудь модуля невозможно, потому что оно раскидано по сотням тикетов в Jira. Я считаю, что вести актуальное описание системы в монолитном документе необходимо . Версионирование такого документа - признак хорошего тона, но является делом вкуса.

правильнее - вести требования в базе, а документ генерировать при необходимости иначе замучаетесь на управлении изменениями.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38047847
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyNiGooБуквально сейчас имею ситуацию, что требования фактически ведутся в Jira в виде багов, запросов на фичи, тасков и т.п. Пришел новый сотрудник, ему нужно знакомиться с системой, а собрать описание функционала какого-нибудь модуля невозможно,
Пришёл новый сотрудник - и в случае монолитного документа он как раз и огребёт все ошибки, которые в него заложены. Просто потому, что за два года, прошедших с предыдущего существенного изменения модуля - он первый, кто это читает - и вполне вероятно, последний. При этом практически наверняка куча мелких изменений таки прошла "через таски в джире" не затронув этого монолита, поэтому, натыкаясь на расхождение написанного в ТЗ и наблюдаемого в реальности, этот новый сотрудник не сможет решить, то ли это ошибка, то ли неизвестная ему и неописанная деталь.

Монолитный документ... раз ушла речь зашла о личном опыте, год назад я наблюдал такой "монолитный документ ТЗ". Высшей точкой бардака была упомянутая в нём функция - про которую никто не знал, кто и зачем её вписал, никто толком не понимал, как она должна работать (и ТЗ этого не расшифровывало), никто не мог высказать хотя бы обоснованное мнение, что же там должно происходить - но заказчик собирался принимать проект "по пунктам", и чтобы сдать, её надо было сделать. В итоге сделали практически пустую кнопку с правильным названием, так и сдали. Думаю, с тех пор её никто и не нажимал.

Использовать трекер, безусловно, стоит, но вести в нём всю документацию по достаточно крупному проекту - конечно, нельзя. Напомню то, о чём я говорил выше - задачи в трекере, по крайней мере связанные с достаточно существенными требованиями, должны ссылаться на постановку, при необходимости расшифровывать и дополнять её. Но для этого совершенно незачем иметь постановку в виде монолита; удобнее всего держать её в вики. И "новый сотрудник" при этом довольно легко входит в проект. Может быть не так хорошо, как в случае "монолит на блюдечке", но с гораздо меньшими затратами, нежели требуется на поддержание монолита в адекватном состоянии.

И напомню ещё раз, всё зависит от проекта. Для проекта в 5 разработчиков и проекта в 500 разработчиков требуется разный уровень документированности. Для заказной системы под конкретного заказчика требуется другой уровень документации, нежели для тиражируемого продукта. Итп.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38048047
DPH3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, softwarer прав.

Разных стратегий сочетания Jira и Confluence (эээ, т.е. issue-tracker и wiki-system, но линейка от Atlassian уже давно практически корпоративный стандарт) можно придумать дофига и они сильно зависят от процессов в конкретной компании.

Например, если все сделано более менее стандартно и есть цепочка "задача-бизнесанализ-UC" (в вики), на основе UC формируются работы в Jira и правка UC всегда находит отображение в Jira, то вполне можно иметь и текущее состояние системы (например, при сдаче релиза в beta-testing копировать соответствующие UC в отдельную иерархию) и управление изменениями (история изменения соответствующего UC).
Да и по истории "задачи" обычно понятно, а зачем сделана такая-то "кнопочка".

Но, честно говоря, мне ни разу не приходилось выяснять, "а зачем сделана данная кнопочка и реально ли она нужна". При наличии вопросом обычно выяснялось, что если не понятно "а нафига", значит - не нужна :)
Да и трекинг изменений в реальности ни разу не требовался :)

Впрочем, мой опыт работы с проектами где-то до D50 по Фаулеру (т.е. над проектом работает до 50 человек, проект не критической сложности).
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38048093
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadsoftwarerНу в первую очередь оно означает, что в репозитории лежат бинарные файлы, с которыми особо ничего не сделаешь. Я наверняка чего-то не понимаю, но я, например, никогда не слышал об инструменте, который позволил бы мне сравнить две версии Visio-диаграммы и показать различия между ними :)

Если поставить себе такую задачу, то можно выбрать себе текстовые форматы хранения исходников документации.

А документирование в Visio как раз тем и плохо, что эти файлы сравнить нельзя.

Модели рисуем в PowerDesigner. Репозиторий общий обеспечивает он же. Модели требований с импортом и экспортом в мсофис обеспечивает он же. Сравнение моделей (схем в том числе) обеспечивает. Расширяемость супер. Стоит дорого :(.
...
Рейтинг: 0 / 0
Как по-умному вести документацию?
    #38048196
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer При этом практически наверняка куча мелких изменений таки прошла "через таски в джире" не затронув этого монолита, поэтому, натыкаясь на расхождение написанного в ТЗ и наблюдаемого в реальности, этот новый сотрудник не сможет решить, то ли это ошибка, то ли неизвестная ему и неописанная деталь.

softwarerНо для этого совершенно незачем иметь постановку в виде монолита; удобнее всего держать её в вики.
Так вики тоже страдает той проблемой, что в первой цитате озвучена. Ее же тоже в актуальном состоянии поддерживать надо.

И текущее состояние вики - это и есть тот самый "монолит" под VC. Только не в виде
исходников документации + система контроля версий, а в виде базы данных + вики-движок.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как по-умному вести документацию?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]