Friday, March 31, 2006

Software Development Process

Well, GP team knows that we need to convert the current (old) UFO to the so-called new look-and-feel UFO. I personally think the new look-and-feel sucks big time. It is confused, complicated and filled with superfluous configuration. Yeah, one of the statements got repeated time after time at the company is "configurable". True, it's only configurable after *you* spending weeks on writing codes for the damned configurations which is mostly in XML format.

I made an estimate of 6 to 8 weeks for the conversion. And remember at the same time, we all have to take the new release development cycle into consideration. Also we have to take into account that the new UFO will "contribute" a tons of pleasingly surprise sweet bugs!!! We encounter about 2 - 4 so far during the trial period.

This reminds me of one of the most basic principle in software development: new features or enhancements must be backward compatible with the old codes. If you cannot make it compatible with the old codes then please don't coin it with the same name as the old framework, only different by the version number.

Should I quote one of the famous quote of software development principle in its parody:
"Human brain should be open for extension but close for modification"

If all fail, this is what depicts the reason of that failure:

6 comments:

Anonymous said...

I feel you pain but I must warn you to be careful what you post. You never know who might come across this.

Anonymous said...

Don't listen to that last post ! This is the frigging United States of America ! Freedom of speech baby ! You say what you want to say dont be intimidated by anyone.

Doug said...

Should we check this into CVS? :-D

Anonymous said...

I fear there will be some repercussions as a result of this blog. For your career and your safety please revove it !

Tom Marking said...

I believe it is impossible to do such backward compatibility without versioning at the component level.

The UI files in question have no version number associated with them. Thus, how would any system distinguish an old UI file from a new UI file? Without an explicit version number this is very hard to do.

Versioning takes some foresight including the ability to see at the beginning of the project that the software produced will be modified several times. Backward compatibility must be built in from the beginning, not added on later. Just my 2 cents.

Anonymous said...

seems like your company screwed up a little bit. Trust me, it happens everywhere