Skip to Content
The Art of Agile Development
book

The Art of Agile Development

by James Shore, Chromatic
October 2007
Beginner
438 pages
15h 52m
English
O'Reilly Media, Inc.
Content preview from The Art of Agile Development

Great Design

Equating good design with the ease of maintenance is not a new idea, but stating it this way leads to some interesting conclusions:

  1. Design quality is people-sensitive. Programmers, even those of equivalent competence, have varying levels of expertise. A design that assumes Java idioms may be incomprehensible to a programmer who’s only familiar with Perl, and vice versa. Because design quality relies so heavily on programmer time, it’s very sensitive to which programmers are doing the work. A good design takes this into account.

  2. Design quality is change-specific. Software is often designed to be easy to change in specific ways. This can make other changes difficult. A design that’s good for some changes may be bad in others. A genuinely good design correctly anticipates the changes that actually occur.

  3. Modification and maintenance time are more important than creation time. It bears repeating that most software spends far more time in maintenance than in initial development. When you consider that even unreleased software often requires modifications to its design, the importance of creation time shrinks even further. A good design focuses on minimizing modification and maintenance time over minimizing creation time.

  4. Design quality is unpredictable. If a good design minimizes programmer time, and it varies depending on the people doing the work and the changes required, then there’s no way to predict the quality of a design. You can have an informed opinion, but ultimately ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

The Art of Agile Development, 2nd Edition

The Art of Agile Development, 2nd Edition

James Shore, Shane Warden

Publisher Resources

ISBN: 9780596527679Errata Page