Recognizing Software Metaphors

Chris Wood has a great blog post on Software Development Metaphors.

He lists a set of software metaphors under broad categories like:

Traditional Software Development Metaphors

  1. Software Development as a Factory
  2. Software Development as Engineeing
  3. Software Development as Model/Architecture
  4. Software Development as Workflow Process

Radical Software Development Metaphors:

  1. Software Development as Craft
  2. Software Development as Game Playing
  3. Software Development as Composition
  4. Software Development as Learning/Experimentation/Invention

Chris points out that different shops have different metaphors and sometimes switching metaphors may be required.

if you want to evangelize a new software development methodology (for example, those who are trying to evangelize the use of XP in a traditional RUP organization) starting with a discussion around metaphors and basic understanding of software development might help the discussion, especially with non-technical users.

This is a good post. My current job is  Teaching Software to beginners and building experimental prototypes. So my interest is more in Software as Learning/Experimentation/Invention.  The radical models may be more appealing to beginners and small teams.

If you are a startup, you may start with one metaphor and will switch metaphors as you grow. It will be nice to see what metaphors most of the Web 2.0 companies use.

Advertisements

Please Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s