The first step to project success is accurate estimating and realistic planning. Projects with unrealistic expectations affixed to them are likely to derail at an early stage. This book shows the software practitioner how to effectively estimate and properly plan a project within an agile context. The book's content is suitable for projects using any agile or semi-agile process (such as Extreme Programming, Scrum, Feature Driven Development, Crystal, Adaptive Software Development, DSDM or even the IBM Rational Unified Process). The ideas in this book will work with any iterative development process, which greatly broadens the target audience beyond the traditional agile community. Each chapter is supported by a summary and a set of questions that allows readers to assess their ability to estimate and plan a project. The result is an engaging read with pearls of wisdom that can be applied to the reader's next project.