1.4. The Context for This Book

 <  Day Day Up  >  

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 the essential items ”the ones they absolutely need to complete the trip. Skill, knowledge, and experience complete the picture. They know how to camp to keep warm with the least amount of shelter. They know where water is located so that they can carry less water with them.

It takes a good deal more skill and experience to be an extreme lightweight backpacker. One needs to be able to fashion essential items from the materials found in nature.

On the other hand, heavyweight backpackers tend to feel they need to carry all the equipment necessary for any situations they might encounter. Their equipment gives them security. However, it also slows them down.


 <  Day Day Up  >  


Prefactoring
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
ISBN: 0596008740
EAN: 2147483647
Year: 2005
Pages: 175
Authors: Ken Pugh

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net