Clean Ruby is a book that describes how we can write cleaner and easy-to-maintenance code against our typical complicated system requirements. Our code easily gets complicated along with the progress of development. It's caused by a gap between our mental model and the code structure. The book maintains that DCI helps us to fill in the gap by usecase driven designing.
In recent years, I've been interested in that problem, and in these months, I found some hints in DCI and leaning it. This book provides us comparatively simple explanation of DCI and why it's needed. Although the book is still in beta status, it's already worth reading, I think. I recommend those who want to know about DCI read the book. It's short enough to read thorough in some hours.