The variety of agile methods and their similarity could be a problem for software engineers to select a single or a number of methods and to properly execute them in a project. A pattern describes a problem, which typically occurs under certain circumstances and a basic approach to solve it providing opportunities to adapt the solution to the problem. The agile patterns, described herein, are based on the principles and practices of the best known agile methodologies. While individual practices included in any of these methods vary, they all have particular objectives and related to them activities. Therefore, every pattern is described as to show the core solution to a particular problem. Special attention is paid to the rationale for applying the agile patterns: what are the business drivers to adopting them; in what cases do they bring benefits; how could they be introduced in an organization.