This concise easy-to-follow textbook presents the crucial issues in software engineering using the agile approach to software development – one of the mainstream paradigms for the management of software projects and one that is being applied more and more extensively. Global principles are presented with detailed practices that can be easily implemented by readers, providing a comprehensive understanding of the important elements of agile software development methods. The authors highlight and integrate technical, social, cognitive and managerial aspects of software development processes in this unique book based on their refreshingly updated software engineering methods course. Features: Contains many learning tools such as: chapter overviews, objectives and summaries, study questions, chapter-end reflective exercises, a solid introductory chapter, etc. Discusses the delivery of software projects on time and within budgets by using the agile software development environment Considers the customer, as well as the other roles, in agile software development environments Looks at measures to control and monitor the software development process Investigates the impact of agility on the organization level Examines software development processes and environments from a managerial perspective Emphasizes the wider context of each topic to software engineering This complete textbook offers a reader-friendly approach to the topic. Written primarily for advanced undergraduates, this clear foundation course will also be useful for instructors and practitioners looking for a thorough grounding on the subject. Both authors teach different courses at the Technion Israel Institute for Technology in which they inspire and apply the agile approach. In addition, both authors coach agile teams in the software industry.