все что разрабатывается в пределах компании, разрабатывается
или потому, что люди самовлюбленные и хотят написать именно, что свое
или просто не знают, что есть альтернатива
или просто есть свободное время и хочется поиграться
или уже существующие фреймворки или инструменты, могут решить какую-то задачу автоматизации
Верно, но отчасти: если продукт - это вэб-сайт, вэб-портал, более-менее стандартное приложение, вэб-сервис, типовое рабочее место клерка - да, тут без сомнения, надо начинать с поиска готовых фреймворков.
Но вот если приложение относится к какой-то специфичной предметной области - оказывается, что или надо несколько фреймворков срастить в некоего монстра Франкенштейна, или, ещё хуже, фреймворки плюс самобытные утилы от соответствующего вендора. А если это плагин типа коннектор "легаси система -> современная система", тут и восе без C++ бывает не обойтись (не верите? MAPI32).
У нас же продукты (кроме кастомных скриптов и тулов) всяко живут от нескольких месяцев: продукт рождается с нуля (крайне редко), покупается известный фришный (очень редко) или коммерческий (довольно редко), или передаётся из другого офиса (да тоже редко), или аутсорсится из другого офиса (тоже редко :)). Потом его согласовывают с продакт менеджментом, причёсывают, делают тренинги для сейлзов и саппорта, готовят следующие версии. Постепенно набирается фидбек от полевых инженеров - у нас же только крупные кастомеры, а они не бросаются смотреть любую новую версию от каждого вендора, они назначают, скажем, неделю в году на это.
Вот так, в круговороте продукта может и родиться фреймворк. В основном, для автоматизации своих же ежедневных действий. И никакой скрам не в силах помешать - всегда же надо тасочку для познавания какого-то там не ведомого API взять, для оборачивания API, для автоматизации какой-то задачи и т.д.
Надо сказать, бывают и самовлюблённые авторы - имея трёх пользователей своего фреймворка, бегут выкладывать на гитхаб, чтобы вес мир в лице трёх-пяти пользователей со всего мира узнал про них. Бывает, как ступенька к достижению цели (вот как я, например). Или не знают, что есть альтернатива, которая добавляет 10% покрытия, но не имеет 10% процентов нужного покрытия, которое уже покрыто своим кодом (и чё тогда делать??).
Наиболее смышлёное начальство уже поняло, что в качестве движков юнит, интегр. и акцептанс тестов надо использовать сторонние фреймворки (можно фришные). Теперь начинает просекать, что самопальные фреймворки надо прополоть, чтобы выжили только те, что могут использоваться в нескольких продуктах. Ну и т.д.