1.4. The Context for This Book

As I mentioned in the Preface, the guidelines in this book are presented in the context of the development of a system for a CD rental store. This development follows an agile process, which is a composite of iterative and incremental processes. Along the way, we encounter situations that are typical in the creation of a system, especially interactions with clients. We start with a set of requirements that are expressed in use cases. Complete details of each use case are not filled in until each use case is being implemented.

A preliminary analysis of the entire system is performed and an overall architecture is formed. The overall architecture is the big picture. It does not contain every detail of every class. After filling in the details for the first set of requirements, the solution is designed in detail and implemented. For waterfall programmers, it might seem as though we are coding too early. For extreme programmers, this might seem like overanalysis. I prefer such an intermediate approach. It is important to deliver a working system to the user early in the development cycle, but the system should fit into the overall solution to the problem.

AGILE DEVELOPMENT

Agile development is like lightweight backpacking. Lightweight backpackers carry much less equipment than regular backpackers do. Therefore, they can travel quicker and expend less energy.

Lightweight backpackers also are more experienced than regular backpackers. They carry only ...

Get Prefactoring now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.