Похоже, что компания A объединилась с компанией B и имеет два компонента программного обеспечения, которые делают то же самое, но были закодированы отдельно.
Если это так, мой совет не совмещать их вообще (как вы говорите, это разные технологии. Хотя это и не невозможно, вы потратите на это немало денег).
Мой совет - выбрать один (самый стабильный / большинство функций / лучше разработанный, список критериев такой же, как ваша рука). Затем выберите нужные функции из другой и внедрите их в ту, которую вы выбрали (при условии, что дизайн, который вы выбрали, позволяет это, следовательно, «дизайн» является критерием).
Откажитесь от другого (что касается разработки, возможно, вам все равно придется его поддерживать).
EDIT:
Определение «лучший проект» означает разные вещи для разных людей.
Пользователи увидят лучший проект, который позволит им выполнить свою задачу максимально быстрым и эффективным способом.
Две команды разработчиков могут хорошо видят лучший проект как тот, над которым они работали. В зависимости от своего опыта они могут также отдать предпочтение проекту, в котором реализована «крутая» технология, независимо от потребностей конечного пользователя.
Руководство отдаст предпочтение любому политически выгодному проекту.
Для меня заманчиво сказать вам, что именно конечные пользователи могут выиграть или проиграть в результате этого решения; но также стоит отметить, что программное обеспечение, которое является «лучшим» для ожиданий пользователя, вполне может быть худшим с точки зрения дизайна / кодирования. Итак, спросите себя:
1) Что лучше всего подходит для пользователей?
2) Какой проект был реализован с большим вниманием, тщательностью и дизайном?
3) Сколько времени, по моим оценкам, займет перенос объектов из A в B или B в a?
4) Учитывая имеющиеся ресурсы для разработки, что будет более / менее сложно разрабатывать? У меня больше кодеров C #, чем кодеров C / C ++? Каков относительный опыт команд разработчиков? Как я могу получить эту информацию?
5) Должен ли я разделить команду между разработкой выбранного продукта и обслуживанием старого продукта, или я должен привлечь всю команду к обоим? (Как упомянуто ниже, команда по техническому обслуживанию будет первой, кто будет искать новые рабочие места. Вы могли бы избежать этого, позволив всем разработчикам работать над обоими проектами, но это связано с собственными проблемами).
6) Какой проект имеет больше всего документации? Если бы я нанял нового разработчика, какой проект он смог бы набрать в скорости быстрее? Какая документация по продукту актуальна?
7) Как лучше всего не давать руководителям принимать это решение, сохраняя при этом их восприятие?
Как я уже сказал, это большой вопрос и включает в себя даже больше факторов, чем я перечислил здесь, не в последнюю очередь внутреннюю политику обеих компаний, которая выходит за рамки ответа здесь, учитывая, что мы не знаем (или все равно:)) вопросы, связанные с этим.