Основна частина цього полягає в тому, що відповідальність кодера полягає у створенні коду, який працює і заповнює вимогу. Для цього потрібен певний спосіб мислення - "Код, який я пишу, робить те, що належить робити".
Змішати обов'язки кодера означає, що кодеру зараз потрібно вводити інші набори мислення для інших видів діяльності, однак, як кодер, важко неможливо, щоб повністю розлучитися з цим настроєм.
Відповідальність тестера полягає в пошуку помилок і місцях, де функціональність відхиляється від необхідної функціональності. Для цього потрібна думка "Код порушений, і я дізнаюся як".
Так само бізнес-аналітик намагається визначити вимоги, які клієнт насправді задає. Це вимагає іншого мислення: "програма не працює таким чином, але повинна".
Для того, щоб кодер працював у будь-якому іншому потенціалі, існує обґрунтована ймовірність того, що настрій розуму вступить у конфлікт і кодер виконає підпункт:
- Coder / QA - "Код працює ідеально, і я вже закодований, щоб обробляти всі можливі способи, я думаю, що це може зламати його".
- Coder / BA - «Код повинен працювати так, як я хочу, і це були б акуратні речі, які слід додати до них, про які клієнт не думав.
Це не означає, що кожен кодер сприйнятливий до цих проблем (я зустрічав деякі дуже обдаровані типи кодерів / QA ... хоча не для коду, який вони написали).
Це стосується і команди розвитку. Поєднання обов'язків та пов'язаних з ними думок цих обов'язків для команди розробників ставить під загрозу кінцевий продукт (код).