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

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

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

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

Общая доска пожеланий в программе позволит увидеть бэклог по всем направлениям разработки, увидеть зависимости и нестыковки, синхронизировать действия всех команд.

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

Матрицы трассировки помогут проконтролировать и поддержать целостность реализуемой функциональности в ядре и кастомизированной версии

Если вы не смогли найти рецепт для решения вашей задачи, то просто напишите нам или позвоните, мы проведем для вас бесплатное демо возможных вариантов ее решения.


Еще интересные статьи на эту тему: