Iterative development is founded on the recognition that we cannot plan perfectly, that we need an approach that enables us to adapt to and make progress in the face of change. It is basically dynamic planning that incorporates, and even seeks out, new information. While iterative development is not a new concept, it is not particularly well documented. The basic principles of iterative development are the basis of approaches such as Extreme Programming, the Unified Process, and the Rational Unified Process (RUP) and have been introduced in a number of books, but an applicable guide, with specifics on how to actually run an iterative project has not existed. This book is that guide. Using the framework of the Unified Process (UP), Bittner and Spence present a simple, straightforward and practical approach to organizing, estimating, staffing, and managing an iterative project. They provide practices that can be applied to very small projects and yet can be scaled-up to very large programs. While this book is particularly valuable for projects following UP and RUP, the overall management framework presented is free to use a variety of approaches, including Extreme Programming, the Microsoft Solutions Framework or any other iterative and incremental development approach.
Kurt Bittner works for IBM on software development solutions strategy. In a career spanning 24 years, he has successfully applied an iterative approach to software development in a number of industries and problem domains. He was a member of the original team that developed the IBM Rational Unified Process and is a co-author with Ian Spence of Use Case Modeling, published by Addison-Wesley in 2002.
Ian Spence is a chief scientist and principle consultant at Ivar Jacobson Consulting, specializing in the adoption of the Unified Process and the iterative, use-case driven approach that it recommends. He has more than 20 years of experience in the software industry, including more than 10 years of experience in managing and participating in iterative projects. He is currently involved in the development of the next generation of lightweight software development processes and is a co-author with Kurt Bittner of Use Case Modeling, published by Addison-Wesley in 2002.