Jonathan Crossland
Posts: 630
Nickname: jonathanc
Registered: Feb, 2004
|
Jonathan Crossland is a software architect for Lucid Ocean Ltd
|
|
|
|
A point about AgileDesign
|
Posted: Mar 19, 2009 9:39 AM
|
|
|
This post originated from an RSS feed registered with .NET Buzz
by Jonathan Crossland.
|
Original Post: A point about AgileDesign
Feed Title: Jonathan Crossland Weblog
Feed URL: http://www.jonathancrossland.com/syndication.axd
Feed Description: Design, Frameworks, Patterns and Idioms
|
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Jonathan Crossland
Latest Posts From Jonathan Crossland Weblog
|
|
Two comments came through to me regarding AgileDesign. It was pointed out that Agile is a loaded term, and perhaps I should look to rename it. Another aspect mentioned to me in an email, was that Extensible and Agile are probably the same or too similar to be different principles. The thing though, is that my AgileDesign, is exactly "Agile" Design, and although Extensible and Agile are both concerned with change, there is a very important difference between them.
Agile has a few definitions.
Moving lightly, briskly and nimbly
Speed of operations as a result of a request
Dealing with change
Ready to move
You are agile, when you can change quickly and efficiently.
AgileDesign is a principle which highlights the approach design from an agile perspective. This is what comes from using Design Patterns, following good heuristics, and having an agile mind to cope with change better.
In the AgileDesign approach it contains a list of patterns, from TemplateMethod (GoF) to Pair Programming (XP), which are both aids to accomplishing the goal of an AgileDesign.
When you Design a software solution, it is not just about 'how good you are', or how elegant a solution is. It is not about how 'awesome' or not the code is. What is very important is the amount of agility, and where the agility lies.
In Framework texts, you find mention of FrozenSpots and HotSpots (Pree). AgileDesign covers both areas. AgileDesign covers mutable, sometimes even seemingly immutable portions. However, ExtensibleDesign is the adding of something new, and extending. Therefore ExtensibleDesign and AgileDesign are concerned with change, but offer a different set of solutions.
Read: A point about AgileDesign
|
|