Why do agile teams have difficulty managing non-functional requirements?
I will state a working hypothesis: There are two reasons why agile teams seem to have difficulty managing non-functional requirements. 1. When people first adopt agile development, they tend to approach it from a process-centric perspective. They expect an agile methodology — DSDM, XP, AgileUP, or what-have-you — to present yet another process cookbook for them to follow. This is not a failing on their part; all previous approaches to software development have, indeed, been cookbook processes for us to follow. It takes a bit of experience with agile methods to begin to grok the implications of the people over process emphasis stated in the Agile Manifesto. Many development teams don’t grasp the fact that accountability for getting the requirements (all the requirements) right falls to them, and there is no other role and no formal process step to handle it for them. Agile values and principles do not spell out any particular technique for fulfilling that responsibility, other than to c