powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Должно ли задание постановщика быть подробным?
10 сообщений из 10, страница 1 из 1
Должно ли задание постановщика быть подробным?
    #38460456
lead.prog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как найти компромисс между затраченным временем на постановку задачи и детализацией этой постановки?

В идеале у программиста должно быть максимально подробное расписанное задание. Но не каждому руководителю понравится, что на задачу, на реализацию которой требуется часа 4, разрабатывается в течении недели документ страниц в 100, который еще в течении пары дней изучается программистом. Так есть ли какие-то рекомендации (для этой жизни), по соотношению труда аналитика и программиста? Есть ли смысл тратить время на очень подробные постановки?
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38460752
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lead.prog Есть ли смысл тратить время на очень подробные постановки?

Если предполагается дальнейшие сопровождение и модификация (расширение, обновление, доработка, исправление и т. п.), причем с большой вероятностью другими людьми (не авторами разработки) - то да.
Если это разовая поделка (сделали - сдали - забыли) - имхо, нет.
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38468084
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lead.prog,

Для ответа на данный вопрос - надо взять крайности и подсчитать минусы.
Вариант одын - Вы расжовываете полностью всю задачу.

Плюсы:
1) Выполнение задачи можно отложить на неопределённое время (вся инфа есть, носитель информации - кто разжевал - не требуется).
2) Для выполнения задачи требуется только её "закодить". Т.е. эту фазу многие технологии пытаются упразднить, для снижения проф. требований к кодеру.
3) Документация является пасивным консерватизным механизмом, для стабилизации продукта в разрезе модернизации. Как следствие - бОльшая продуманность требований "верхами", глубокая проработка требований-интерфейсов-рамок кодирования.
4) Имея чёткую, подробную документацию на каждый квант - можно чётче подсчитать время выполнения всей задачи, а так-же можно быстро масштабировать направление, ход и порядок выполнения работ.

Минусы:
1) Повышенная ответственность к создателю такого документа. Цена ошибки такого специалиста очень велика. Т.е. такой специалист есть "слабое звено" на предприятии ведущего разработку ПО.
2) Решение задачи будет ограниченно знаниями и потенциалом человека написавшего это задание.
3) Отсутствие полной заинтересованности в процессе разработки кодера (индусский вариант).
4) Отторжение либо долгое согласование найденного решения с другими участниками проекта (читай кодерами). Потеря времени для "загрузки" этого решения кодеру в "мозги". Возврат на разъяснения, дописывание. Потенциально вектор кодера направлен на нахождение ошибок и создание конфликтной ситуации.
5) Создатеь документа должен тратить время на снижение таких проблем как дублирование кода, функционала. Согласовывать или быть в курсе всех технических решений всего проекта в целом.

Возьмём другую крайность.
Данный человек документирует только обязательные условия тех. задания. Описание, способы решения, ноу-хау, поиск оптимального решения - делает(ют) программисты.
Плюсы:
1) При поиске решения используется весь потенциал команды. Очень значительное снижение рисков. Очень стабильный код в плане модификаций.
2) Вся команда в курсе решения. Нет необходимости разжовывать или объяснять почему так. В случае выбывания нескольких человек из коллектива - сам процесс не остановится и не заглохнет.
3) Нет отторжения "чужого решения" - участвуй, сделай лучше, либо подчинись мастерству. Команда работает - знания передаются по горизонтале очень и очень быстро.
4) В решение, поиск самого решения, вносятся знания всего коллектива. Т.к. двигатель прогресса лень - решение будет
сбалансированным. Т.е. снижается опасность накодить то, что не требуется.
5) Умеренность вносится и в процесс документирования решения. Сам описательный процесс, процесс макетирования и создания(можно сюда добавить и первичного юнит тестирования) можно расспаралелить. Что благоприятно сказывается на скорости и качества всего процесса в целом.
6) Найденные решения будут оптимальны, с учётом не только текущих но и будущих проблем (как с логической стороны, так и технической).
7) Рост в своих знаниях и умениях всей команды в целом.

Минусы:
1) Необходимо создавать группы разработки и работать с людьми. Справка: для создании команды(члены которой научатся только слышать друг-друга) уходит от 2 месяцев(как правило).
2) Просто дешёвые "кодеры" не подойдут. Т.е. за доширак не получится.
3) Руководитель группы должен уметь рукамиводить. Т.е. тупое разбиение и перекидывание задач на подчинённых тут не прокатит.


где то так... если ничего не забыл :)
(круглый)
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38468328
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Вариант одын - Вы расжовываете полностью всю задачу.

Плюсы:
1) Выполнение задачи можно отложить на неопределённое время (вся инфа есть, носитель информации - кто разжевал - не требуется).
2) Для выполнения задачи требуется только её "закодить". Т.е. эту фазу многие технологии пытаются упразднить, для снижения проф. требований к кодеру.
3) Документация является пасивным консерватизным механизмом, для стабилизации продукта в разрезе модернизации. Как следствие - бОльшая продуманность требований "верхами", глубокая проработка требований-интерфейсов-рамок кодирования.
4) Имея чёткую, подробную документацию на каждый квант - можно чётче подсчитать время выполнения всей задачи, а так-же можно быстро масштабировать направление, ход и порядок выполнения работ.Тут некоторое лукавство: подразумевается, что эти плюсы относятся к проекту, а на самом деле они относятся только к кодированию.

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

В итоге фаза кодирования становится простой и дешёвой, но есть опасность, что разработчики, ведущие разработку проекта, но отделённые от написания кода (теперь разрабатывающие в ворде), будут вести разработку менее эффективно, чем при использовании традиционного способа.
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38468381
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Руководитель группы должен уметь рукамиводить. Т.е. тупое разбиение и перекидывание задач на подчинённых тут не прокатит.Ну вот опять, руководитель группы раскидывает неизвестно откуда взявшиеся задачи :-)

Допустим, была группа: руководитель, 3 разработчика-эксперта, 5 хороших разработчиков, пара кодеров-стажёров, которые в состоянии написать метод класса по подробной спецификации.

Руководитель получал функциональные требования, гуру по ним делали общую структуру, классы, модели данных, писали ответственный код, среднячки писали остальной код, что попроще отдавали стажёрам.

Привели всё к варианту 1.

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

Профит то в чём? В ворде ведь разрабатывать будет сложнее - исходники программы в современных средствах разработки - это самодокументируемая вещь, все объекты связываются в момент разработки, подсказки, списки ошибок и предупреждений при изменении объекта, от которого что то зависит. А тут аткого не будет, будут папки с тысячами документов.
А экономии нету, эти кодеры и так мало получают, что на них экономить? А с остальными участниками проекта всё осталось по прежнему, ничего из перечисленных изначально плюсов.
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38470471
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lead.progКак найти компромисс между затраченным временем на постановку задачи и детализацией этой постановки?

Серебрянной пули нет.

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

Думаю, предыдущие участники обсуждения привели уже массу примеров...
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38470473
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЮВlead.prog Есть ли смысл тратить время на очень подробные постановки?

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

Не так однозначно.
Для этих целей также можно сделать спецификацию уже РЕАЛИЗОВАННОГО разработчиками, а не писать постановку.
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38470486
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0lead.prog,

Для ответа на данный вопрос - надо взять крайности и подсчитать минусы.
...

С изложенными фактами согласен.
С отнесением к категориям "плюсы и минусы" - не согласен.
Для каждого проекта выбираем: этот факт противоречит или нет целям и требованиям проекта .
После чего уже оцениваем: плюс этот или минус, и какой его вес...
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38470494
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПрофит то в чём? В ворде ведь разрабатывать будет сложнее - исходники программы в современных средствах разработки - это самодокументируемая вещь, все объекты связываются в момент разработки, подсказки, списки ошибок и предупреждений при изменении объекта, от которого что то зависит. А тут аткого не будет, будут папки с тысячами документов.
А экономии нету, эти кодеры и так мало получают, что на них экономить? А с остальными участниками проекта всё осталось по прежнему, ничего из перечисленных изначально плюсов.

alexeyvg, не перегибайте, в современном инструментарии аналитика должен быть не только Word.
Excel более компромиссный вариант.

А если, например, аналитик возьмёт Sybase PowerDesigner, так границу по обязанностям проводи как угодно:
пусть аналитик делает модели данных с той степенью детализации, которая требуется для проекта, и с тем уровнем компетентности, который имеет.

Разработчик тем же инструментом, и с того уровня детализации, коорый предоставил аналитик, доведёт мродель до уровня "сгенерируй схему данных в СУБД". Отаке :).
...
Рейтинг: 0 / 0
Должно ли задание постановщика быть подробным?
    #38470986
pmle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На мой взгляд это три разные задачи - обеспечить полноту спецификации, детализацию спецификации и распределить работы по ее созданию между ролями в группе.

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

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

Также, чем выше требования по надежности, безопасности и т.п., тем детальнее должна быть выполнена проработка связей между требованиями. Т.е. детализацию определяет еще и класс создаваемой системы.

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

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

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

Естественно такой подход требует дисциплины и желания сделать хорошо и, понятно, что это не работа в Word, т.к. можно было бы повеситься проворачивать такие штуки в документо-ориентированной среде типа Word или Wiki. В случае Word/Wiki действительно, очень много времени уходит на чтение спецификации и восстановление по ней связей между требованиями, т.е. получение ответа на вопрос "зачем/почему" занимает неприемлемо много времени, что и приводит в дальнейшем к позиции "быстрее переписать".
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Должно ли задание постановщика быть подробным?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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