InfoQ

News

Adopting Simple Design

Posted by Amr Elssamadisy on May 13, 2008 07:51 AM

Community
Agile
Topics
Object Oriented Design,
Design
Tags
Adoption

Kim Gräsman asked a simple but thought-provoking question to the extremeprogramming Yahoo! group:

Hello all,
It seems incremental design has become a theme (if implicit) on the
list these past weeks -- does anyone have good references to reading
on incremental design?

Good question.  There were some good recommendations made.  Here are some of them:

The question then morphed into a discussion about adopting incremental design:

I'm just thinking about this in the abstract, I don't have an actual
question really, but it seems to me getting a team started with
incremental design can be difficult, and I've talked to people who
have tried without much success. So I think I'm trying to better
understand the practice before misguidedly attempting to use it.

To answer the question about how to adopt incremental design well, the age-old question of what IS good design reared it's head.  This, of course, resulted in advice that was all over the map.  One interesting point of view was presented by Ron Jeffries:

I believe that by most people's lights, a "good design"
automatically turns out to be evolvable. IOW, faced with a design
that is thought to be good, but not evolvable, we can quickly come
up with a design which is similar in essence, "better", and
evolvable. The making it "better" will make it more evolvable
without working directly toward that property.

But, one notable gap in the discussion was that the "how do I adopt incremental design?" was never directly addressed even though that seemed to be the main topic for a large part of the discussion.  The group came at the issue from different angles but never directly.  Is it difficult for us to discuss adoption?  Or is it so obvious that we don't need to address it directly?

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

No comments

Reply

Exclusive Content

An Overview of the eXo Platform

Mestrallet and Grall cover the eXo platform, the Portlet 1.0 (JSR 168) and 2.0 (JSR 286) specs, eXo Web 2.0 Portal, JSR 286 Inter-portlet communication, eXo JCR and eXo Enterprise Content Management.

The Top 10 Ways to Botch Enterprise Java Application Scalability and Reliability

Purdy discusses Java scaling, performance vs scaling, rewriting frameworks, databases, bottlenecks, abstractions, disaster recovery, one-size-fits-all architecture, big JVM heaps and network failures.

Building Scalability and Achieving Performance: A Virtual Panel

Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.

Domain-Driven Design in an Evolving Architecture

Mat Wall and Nik Silver explain how their has been using Domain-Driven Design in an evolving and Agile environment, at high traffic news site guardian.co.uk.

Avi Bryant on DabbleDB, Smalltalk and Persistence

In this interview, Avi Bryant talks about the Smalltalk web framework Seaside, DabbleDB, using Smalltalk images for persistence instead of an RDBMs, GemStone and more.

Book Review: Agile Adoption Patterns, A Roadmap to Organizational Success

With Agile adoption, context is everything: this book offers patterns and tools to help determine which practices most contribute to meeting your organization's goals.

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.