a concept of "agility" as an attribute of business organizations arose in response to the requirements of the modern business to operate in predictable ways even in the face of extreme complexity. in particular, software development organizations have developed a specific set of techniques known as agile methods to address the problems of changing requirements, uncertain outcomes due to technological complexity, and uncertain system dynamics due to overall system complexity. some of the ideas that have shaped thinking in the agile community arose from the studies of complexity science and the notion of complex adaptive systems (cas).