in business, projects can be complex with uncertain outcomes and goals that can change over time. traditionally these issues were dealt with by planning experts that would attempt to pre-determine every possible detail prior to implementation; however, in many situations, even the most carefully thought out projects will be impossibly difficult to manage. agile techniques, originating from the software development community, represent an alternative approach to the classic prescriptive planning approaches to management. the main focus of agile methods is to address the issues of complexity, uncertainty, and dynamic goals, by making planning and execution work in parallel rather than in sequence to eliminate unnecessary planning activity, and the resulting unnecessary work.