В настоящее время я работаю над окончанием обучения «Разработка программного обеспечения», в рамках которого мне приходится разрабатывать сложное программное обеспечение индивидуально во внешней компании. Все это должно быть сделано структурированным образом, создавая все соответствующие документы.
Для этого проекта я выбрал работу со стандартными документами IEEE: Документ о требованиях к программному обеспечению (SRS), Документы об архитектуре программного обеспечения (SAD) и Документ о разработке программного обеспечения (SDD). Хотя в школе этому учили иначе, я решил создать SDD после разработки (а не до). Я рассуждаю так:
Компания, в которой я прохожу стажировку, дала мне инструкцию для создания сложного программного обеспечения, удовлетворяющего определенному набору требований, экспериментальным путем. Из-за степени свободы, которую они дали мне в определении проекта, почти ничего заранее не определено, и лучше всего с этим можно столкнуться, экспериментируя в процессе разработки. Кроме того, я создаю программное обеспечение индивидуально , и никто другой в компании не получит никакой выгоды, если я сделаю этот дизайн программного обеспечения заранее. Выполнение этого заранее будет стоить мне много времени, чтобы изменить его позже, так как я могу быть уверен, что с неопределенностью в проекте, дизайн, который я делаю заранее , должен будет сильно измениться . Это кажется мне контрпродуктивным.
Это хорошее обоснование для создания SDD после разработки? Если нет, было бы какое-нибудь хорошее оправдание для этого?
Изменить: Причина создания SDD впоследствии будет для будущих разработчиков продолжить проект. Я не смогу закончить весь проект в мой выпускной период, поэтому другим разработчикам придется продолжить работу с текущей базой кода.