На днях тут была интересная дискуссия по поводу того, что в СКРАМ команде приложение может очень быстро стать все более и более монструозным. Это вызвано тем, что явного архитектора нет, все члены команды могут приложить свои силы в разных частях приложения. В итоге целостная картинка теряется, появляются крайне экзотические решения.
Ведь еще часто на старте архитектуры детальной нет, так что все экспериментируют в меру своих сил:)
При этом даже если и есть человек, который больше других понимает в архитектуре, то у него очень быстро не будет времени следить за всем.
Возникае вопрос, как этого избегать…
Варианты такие:
1. Выделенный архитектор, который всех “бьет по рукам” и учит жизни - но будет ли это Скрам?
2. Регулярные ревью архитектуры всей командой и последующий рефакторинг
3. Ведение документа с текущей архитектурой, где все добавляют свою новую функциональность и этот докумен регуляно отсматривается либо командой, либо выделенным экспертом
4. Каждый разработчик в начале работы над таской делает рефакторинг вокруг и улучшает архитектуру - но ведь тут опять много зависит от квалификации, да и как в этом случае оценивать задачу, ведь рефакторинг трудно оценить точно
Вот такой получился набор решений. Лично мне кажется неплохим набор из 2 + 3 + 4 (при этом объем рефакторинга для 4 определяется на этапе описания задач по результатам ревью архитектуры и набора тасков)
А Вы как думаете?