Der grundlegende Teil dazu ist, dass der Codierer dafür verantwortlich ist, Code zu erstellen, der funktioniert und die Anforderung erfüllt. Dies erfordert eine bestimmte Denkweise: "Der Code, den ich schreibe, macht das, was er tun soll."
Um die Verantwortlichkeiten des Kodierers zu mischen, muss der Kodierer nun andere Einstellungen für andere Aktivitäten eingeben. Als Kodierer ist es jedoch schwierig, sich vollständig von dieser Einstellung zu trennen.
Der Tester ist dafür verantwortlich, Fehler und Stellen zu finden, an denen die Funktionalität von der erforderlichen Funktionalität abweicht. Dies erforderte die Einstellung von "Der Code ist kaputt und ich werde herausfinden, wie."
Ebenso versucht ein Business Analyst, die Anforderungen zu identifizieren, nach denen der Kunde tatsächlich fragt. Dies setzt eine andere Denkweise voraus: "Die Anwendung funktioniert nicht so, sollte es aber."
Damit ein Codierer in einer dieser anderen Funktionen arbeiten kann, besteht eine angemessene Wahrscheinlichkeit, dass die Einstellungen in Konflikt geraten und der Codierer unter folgenden Bedingungen arbeitet:
- Coder / QA - "Der Code funktioniert einwandfrei, und ich habe bereits codiert, um alle erdenklichen Probleme zu lösen."
- Coder / BA - "Der Code sollte so funktionieren, wie ich es möchte, und dies wären nette Dinge, die der Kunde nicht gedacht hat.
Dies soll nicht heißen, dass jeder Codierer für diese Probleme anfällig ist (ich habe einige sehr begabte Codierer- / QA-Typen getroffen ... allerdings nicht für Code, den sie geschrieben haben).
Dies gilt auch für das Entwicklungsteam. Das Mischen der Verantwortlichkeiten und der damit verbundenen Denkweisen dieser Verantwortlichkeiten für ein Entwicklungsteam gefährdet das Endprodukt (den Code).