Здравствуйте, Shmj, Вы писали:
S>Хочу детально поднять этот вопросАвтор: Vlad_SP
Дата: 30.07.22
.
S>Чел. ответственно заявляет — кодирование это 15% а вот "сбор, систематизация и анализ требований" — это основная часть работы.
Уточни у того кто заявляет какие артефакты на выходе этого процесса он рассматривает, чтобы в говорили об одном и том же.
S>Согласны с этим или нет? Что по вашему опыту?
По моему опыту если взять любой длинный проект, среднюю дневную продуктивность программистов в строках кода поделить на количество строк кода в проекте, то получится как раз около 15%.
Чем делают программисты 85% времени? Видимо этот самый "сбор, систематизация и анализ требований".
S>То с чем я сталкивался — никто не проводил детального анализа до написания кода. Система обычно известна в общих чертах, примерно что хотят получить на выходе. Могут нарисовать и попытаться с умным видом описать детали — в при соотнесении с реальностью все рушится как карточный домик.
S>И только когда идея получает выражение в коде — только тогда появляются четкие вопросы, осознаются реальные проблемы и ищутся пути решения.
Потому что многие считают, что для анализа нужна более низкая квалификация, чем для написания кода. Средний ценник системного или бизнес-аналитика ниже ценника программиста.
По факту такой анализ требует больше знаний, умений и навыков, чем программирование.
По этому фактически анализом и систематизацией по большей части занимаются сами программисты теми средствами, которыми владеют.
S>Т.е. по сути никто не тратит основное время на некую работу перед кодированием. Да и каков будет результат этой работы? UML-диаграммы и нарисованные в виде квадратиков алгоритмы?
Этот вопрос надо задавать не сообществу, а тому кто делает утверждение.
Я, например, считаю что до начала кодирования нужно проектирование интерфейсов. С артефактами в виде интерактивных прототипов UI, для пользовательского UI, или коллекцией запросов в Postman для будущего веб-сервиса. Естественно эти прототипы должны быть не просто художеством в вакууме, а согласованы с программистами, которые их будут делать. Наличие заранее подготовленных таких артефактов, по моему опыту, помогает сократить время на написание кода до 10 раз.
А если никто заранее этого сделать не может, то идем итерационным путем — делаем прототип, получаем фидбек, переделываем. Схемы, диаграммы и длинные текстовые описания не помогают.