У Scrum чи agile немає поняття "чіткого архітектурного бачення"!
Я давно був архітектором, і мені зрозуміло, що для того, щоб мати архітектурне бачення, потрібно мати чітке уявлення про майбутні вимоги. Оскільки в більшості випадків вимоги зовсім не зрозумілі, не має сенсу мати фіксований зір.
Необхідно мати архітектуру, яка достатньо адаптована до мінливих вимог. Іншими словами, все змінюється, і змінюється архітектура - я не виступаю за "м'яку" архітектуру, яку можна переналаштувати. Я говорю про те, щоб визнати, що архітектура, яка є сьогодні, буде застарілою незабаром і її потрібно буде змінювати, тому ніхто не повинен "одружуватися" з нею.
Колективне володіння кодом означає, що кожен повинен - теоретично - мати можливість що-небудь змінити. Це потрібно розуміти як "протилежність силосу". Іншими словами, на місці може бути бар'єр для навичок, що є нормальним і очікуваним - не кожен є досвідченим DBA, який може точно налаштувати запити SQL, щоб навести приклад - але з цього не випливає, що лише DBA може рука оптимізувати запити. Буде "експерт з доменних функцій", який може допомогти іншим людям стати досвідченими, але завдання все одно повинні покластися на всіх.
Наприклад: якщо я є експертом у галузі доменних функцій "A", я все-таки очікую, що хтось інший буде працювати над функцією "A", але я, мабуть, проконсультуюсь, коли значні зміни повинні відбутися або люди потребують допомоги. Особливість "A", безумовно, не була моєю особливістю. Це буде особливість, яку я добре знаю. Мені буде цікаво дізнатися ще багато особливостей, а інших людей зацікавити цю особливість.
У синтезі: архітектура розробляється та переробляється декілька разів розробниками по мірі появи та зміни вимог. Очікується, що всі мають внести будь-які необхідні зміни відповідно до своїх навичок та знати, коли звернутися за допомогою. Немає довгострокового бачення архітектури, оскільки ми довіряємо людям і не довіряємо вимогам .