Моделирование (дизайн) - самая важная часть каждого проекта.
Фактически, с течением времени мы жертвуем производительностью, чтобы получить более высокий уровень дизайна.
Почему .NET Framework популярен (по сравнению со старыми инструментами)? В большинстве случаев его библиотеки являются обертками над традиционными API Win32, что является пустой тратой производительности, вместо этого он обеспечивает лучший дизайн, который облегчает изучение и использование.
Поэтому, если ваш проект имеет хороший дизайн, его будет легко понять, разработать, отладить, поддерживать и расширять.
Другой пример - сам ООП, который имеет классы, интерфейсы ... и кучу вызовов конструктора / деструктора. Концепции ООП заимствованы из психиатрии и того, как человек видит мир.
Вот два разных понятия:
1) Методология проектирования
2) Методология управления проектом
Их много, и я не назову ни хорошего, ни плохого. Каждый из них соответствует сценарию.
Что касается методологии проектирования, то я предпочитаю DDD (Domain Driven Design), так как он отображает терминологию и концепции отраслевого домена. Поэтому, если у вас есть проблема с решением, что делать, если произошло A-> B-> C, просто вы можете спросить специалиста в области, и он скажет, что они делают в реальном мире. DDD хорош для достаточно старых отраслей, которые обладают накопленной мудростью. Я не буду больше писать о дизайне, так как мы не знаем о проекте.
Методологии управления проектами (например, гибкие) - это способ построения здания по карте (дизайн). Целью управления проектами является оптимальное использование ресурсов (время, деньги, человеческие ресурсы ...). Это делается через структуру разбивки работ и делает работу как можно более параллельной. Наиболее известная методология управления проектами - это традиционная методика, в которой мы делаем все по порядку, как это делают инженеры-строители (фундамент, конструкция, стены ...). Это было хорошо на протяжении многих веков, вплоть до последних десятилетий (индустрия программного обеспечения), поскольку в традиционном управлении проектами вы знаете, где вы находитесь, куда хотите идти и как туда добраться. Таким образом, вы можете купить свою мебель для дома, который еще есть!
Индустрия программного обеспечения претерпела очень быстрые изменения в инструментах и методах, потому что она была новой, и на тысячах неудачных проектов не было основано ни одной лучшей практики. Много раз, когда проект начинался, у него были изменения из-за изменений в разработке инструментов и структур. Другим источником изменений является масштаб проекта (куда идти). Программное обеспечение является нематериальным продуктом, поэтому вы легко попадете в ловушку оценки времени. Для разработки программного обеспечения наилучшей практикой являются итерационные методологии.
Итеративные методологии предполагают работающее неполное решение, которое вы сделаете более полным на следующей итерации, а не нерабочее частично завершенное. Это требует временных затрат, вместо этого вы уверены, что решение работает и, если возникнут какие-либо проблемы, вы обнаружите их на ранних стадиях. Вот почему у нас есть ночные сборки!