As I have mentioned before, I attended a breakfast talk by Steve McConnell ( entitled “Legacy of Agile Software Development”. During the talk, Steve skipped over the section of the slides labeled “Agile Practices That Tend to be Problematic”. I grabbed the slides after the presentation to see what he had to say.

Note: Steve is not necessarily saying these are bad — just that the teams his company has evaluated, these practices have not provided the value that they promise.


  • System Metaphor – Least understood practice
  • On-Site Customer – Difficult to achieve
  • Collective Code Ownership – Uneven code quality and sometimes results in lack of ownership.
  • Pair Programming – Sweet spot between junior and senior programmer
  • Refactoring – Good practice whose name is used to cover up bad behavior