Так сложилось, что практически во всех компаниях, где я работал (а это были и маленькие фирмы, и стартапы, и даже корпорации), часто практиковали какие-то подходы к управлению разработкой, но по факту ситуация выглядела так.
Разработчикам закидывают много разных задач и даже проектов “в параллель”. Часто довольно плохо понятно, ЧТО и КАК надо сделать. Ты долго разбираешься: и хорошо ещё, если есть какая-то актуальная документация, и не надо пытаться понять, то ли в доке ошибка, то ли ты тупой. А еще мир не идеален и регулярно что-то где-то ломается, а разработчиков, которые писали тот код, давно уже нету. Давать какие-то оценки сроков в таком формате практически нереально, а начальство уже нарисовало дедлайны и запуски, — и ходит недовольное.
Бизнес в свою очередь часто не понимает, что происходит по задачам, и старые таски теряют актуальность. Так что он приносит новые, которые, конечно, нужны прямо здесь и сейчас. Ничего личного, просто ИТ-отдел очень дорогой и бизнес пытается добиться максимальной окупаемости расходов на разработку. Как умеет.
При этом, интересный факт, - обе стороны обычно понимают, что для комфортной работы нужны нормальные процессы, рефакторинг, уменьшение техдолга. И даже всеми руками за это! Но продолжают копить баги, взаимное недовольство, за которым следуют увольнения — и снижение желания работать у тех, кто остается.
Как разработчику мне всегда жилось довольно некомфортно в таких условиях и хотелось сделать так, чтобы можно было спокойно работать. Поэтому я шел общаться с коллегами и с бизнесом, и если мы признавали, что есть проблема с текущими процессами, я пробовал что-то менять. Формальный ок от всех получен, и дальше начинается самое интересное.