A fleet of emerging agile methods is both gaining popularity and generating lots of controversy. Real-world examples argue for (e.g. [4]) and against (e.g. [6]) agile methods. Several leading software engineering experts suggest that synthesizing the two (agile with traditional) may provide developers with a comprehensive spectrum of methods (e.g. [1], [2], [5]), This high-level overview tutorial provides background to understand how agile teams are trying to solve modem software development issues.