nv3
Арноль, вы имеете дело с одним из самых сложных вопросов в каждом крупном проекте. Нет никакого общего рецепта, которому можно было бы следовать. Для каждого проекта вы должны найти свой собственный способ справиться с этими вещами. Вот несколько соображений для вас, чтобы обдумать:
- Большим количеством компонентов управлять сложнее, чем небольшим. Тем более с точки зрения разработчиков. Хорошая система управления версиями и автоматическая среда сборки вам очень помогут. Но больше с точки зрения распределения. Чем больше компонентов может быть установлено независимо на сайте заказчика, тем сложнее будет обработка версий и проблемы совместимости.
- Существует множество способов организации компонента: коллекция исходных файлов, библиотека объектов, библиотека динамических ссылок, полностью независимый исполняемый файл (процесс)... Определите в каждом конкретном случае, что лучше для проекта, взвесив все за и против.
- Вам понадобится набор правил, как поддерживать совместимость между всеми вашими компонентами. И вся команда должна будет жить по этим правилам. Это иногда самая трудная часть для разработки и реализации.
- Некоторые сторонние компоненты могут быть доступны в исходном коде, другие-только в виде объектной библиотеки или DLL. Как вы собираетесь управлять версиями в любом случае? Есть ли у этих компонентов свои собственные установщики или они могут быть интегрированы в вашу собственную платформу установки и обновления?
Требуется многолетний опыт, чтобы справиться со всеми этими вещами эффективно и последовательно. Очень трудно дать вам более конкретный совет, не зная более подробной информации о вашем проекте. Но вы можете извлечь пользу из чтения хороших книг по управлению проектами и методологии.
Удачи вам!