Кросс-функциональное лидерство и поиск настоящей проблемы на стыке разработки и инфраструктуры.
Пользователи нашей самописной CRM-системы массово жаловались на сильные помехи при звонках. Отделы начали перекидывать ответственность друг на друга: инфраструктура предлагала закупить новые гарнитуры и компьютеры, а разработка утверждала, что с кодом всё в порядке. Проблема повисла в воздухе.
Я не стал тратить бюджет бизнеса на слепую закупку оборудования и взял расследование инцидента на себя. Зная, что протокол SIP плохо работает через NAT, я перевел тестовые номера на Zoiper. Звук пошел идеально. Это сразу отмело гипотезу о плохих гарнитурах.
Далее я привлек сетевого инженера. Мы сделали захват трафика и увидели задвоение пакетов. Оказалось, телефонию засунули в Docker-контейнер, хотя она должна была работать на отдельном сервере. Инфраструктура пыталась починить конфигурации, но безуспешно.
В итоге я выдвинул финальную продуктовую гипотезу: проблема в среде исполнения (браузерах). Мы провели A/B тест софтофонов на базе WebRTC в разных браузерах.
Гипотеза подтвердилась. В Яндекс Браузере обработка WebRTC отрабатывала намного стабильнее, чем в Chrome/Edge, и помехи исчезли. Мы не поменяли ни строчки кода и не купили ни одной новой гарнитуры. Мы просто локализовали проблему и нашли самое дешевое из возможных решений.