Friday, November 20, 2009

Change? Earthquake!

Think about those moments when a program need to go "multi". By "multi" I mean, for example: multi-language, multi-tasking, multi-enterprise, multi-datafield, multi-userlevel, ... or even adding a new field in one form...

A typical work flow for a highly probable expansible project:
  1. You design a solution
  2. Then a future need appears
  3. Then what to do? a) adapt new solution to old one (maybe turns legacy)
  4. or b) redesign old solution to include new one (maybe a lot of work)
This seems like a big deception when I look at those buzzwords like "Agile Development", "OOA&D", although "Extreme Programming" seems more tied to the principle that has always worked since those old binary programming days.

What is the feeling we have when an application needs to evolve or scale? A total earthquake!!

A colossal redesign only to add a feature that sounds so simple when it is said. This fact alone can be said to be related to the main feature of programming: a program will change, or it will die. All possibilities of Change is what will keep programming alive for many years to come.

The only really useful ability a programmer needs to improve, are his abilities to find and replace inside tons of code. It really pays off.

No comments:

Post a Comment