There is a misunderstanding of Scrum and other processes and frameworks that anyone that follows the “rules” will be successful. Simply write some code in a two week Sprint and show it at the Sprint Review and magically all problems disappear. The people that believe this are missing a few key points. 1) Creation of complex software takes skilled people. 2) Leadership is required (notice I am not saying management is required). 3) Both the leaders and team members must be willing to admit they were wrong for continuous improvement to take hold. I used to make the assumption as it relates to the first one that leaders understood they needed talented people to build software. I was wrong. To go back to my opening premise, many leaders think process can replace skill. This is like taking a group of high-school students, putting them in a hospital operating room and saying, “OK, self-organize and perform brain surgery on this patient!” Try as they might, without the proper training, experience, coaching and knowledge all you will end up with is dead bodies. The moral of the story is put skill before process. If you have a team member or members that lack the skill to write loosely coupled, refactorable, unit-testable code you have three options, train them, move them to another team where they have skill alignment or fire them. Don’t kid yourself into thinking there are other options.