Как каждые 4 месяца выпускать 7 связанных продуктов и не поубивать друг другаВыстраивание технологического процесса
Руководитель .NET-отдела в JetBrains. За 14 лет прошел путь от разработчика ReSharper до руководителя отдела. В свободное время - автогонщик в кольце и картинге.
За 15 лет .NET отдел в JetBrains вырос из одного продукта-расширения для Visual Studio 2003 в более полудюжины продуктов, которые разрабатывают более 90 человек. Эти продукты запускаются на разных операционных системах, интегрируются в 5 разных версий студии, имеют общие части и тесно взаимодействуют друг с другом. Релизный цикл также изменился от feature-driven релизов примерно раз в год до регулярных date-driven релизов каждые четыре месяца, не считая багфиксов.
При этом сложность технических задач меркнет на фоне управленческих: необходимо организовать совместную работу над единой кодовой базой нескольких независимых и весьма продуктивных команд, каждой из которых свой продукт интереснее остальных. Кажется, что дальше последует рассказ об успешном применении какой-нибудь аджайл-методологии, но вместо этого мы поговорим о том, как с помощью технических решений можно упорядочить бизнес-процессы и наладить коммуникации между командами.
Я расскажу:
- как нам удаётся сохранять систему стабильной при 900 коммитов ежедневно;
- как и когда билды доставляются пользователям;
- как фичи попадают в продакшн;
- как мы следим за производительностью;
- о том, что ещё хотелось бы сделать.