« Stress | Main | Bachelor Party »

August 27, 2003

Flexibility

One of the things that people using Extreme Programming talk about is not making planning for future expansion of features when creating something.

The argument is something like this: 'adding extra flexibility to allow for future features adds complexity and should be avoided. Objects should be simple enough that adding something later is simple if needed.'

The problem with this is that, in the case that's biting me in the ass at work, that the object in question wasn't made generic enough to begin with. There was a specific decision made about this object that made it's functionality very specific and inflexible.

So, of course, now I come along and need to use this object, but, you guessed it, I will have to either make massive changes or sub-class the object, because it was not made flexible to begin with.

Now I can see that the problem isn't with the 'keep it simple' principle of Extreme Programming, but rather with that idea getting corrupted with the idea that to keep it simple it needs to be specific. In doing so you kill the very flexibility that the 'keep it simple' approach makes inherent.

Posted by ed at August 27, 2003 1:33 PM

Trackback Pings

TrackBack URL for this entry:
http://weblogs.litmusgreen.com/mt-tb.cgi/268

Comments

Post a comment




Type the characters you see in the picture above.


Remember Me?