On Fri, October 7, 2005 2:33 pm, [EMAIL PROTECTED] said:
> Hi Frank,
>
>    Here's the thing about technology, it *evolves*... and it comes as
> really odd that you *belive* that people introduce new technology
> solution, architecture, design changes, to just make them more
> market-able!!.

It's not so much what I believe as I have seen a number of people who do
exactly that.  They are just trying to pad their resumes and not thinking
about what solutions properly fit the requirements.  I'm not talking about
making a bad decision by the way, everyone does that on occassion.  I'm
talking about people that are constantly looking for situations to apply
new technologies to, not because it will make things better but because
they want to gain experience with those technologies.

Gaining experience is a good goal, doing so with no vision of what makes a
good solution isn't :)

>    Further
>       - it is not a bad thing to continously evaluate the solution/approach to
> see how well it could handle anticipated changes, scale to
> new/additional/changed requirements...

If your talking about evaluation with each new project that comes along, I
absolutely agree.  What I'm talking about being a problem though is taking
an existing application that is solid and robust and does everything it is
required to do, and deciding to redo major parts of it just because some
"better" technology comes along.

>From a technology standpoint, you always run the risk of making things
worse when you refactor.  That's not to imply that you shouldn't refactor,
just that doing it on a whim to play with a new toy isn't the best
motivation.

>From a business standpoint, why incur a risk that you don't have to?  I
have seen time and again where an application that worked well was deemed
"old", whatever that means, and was redone, and the result was worse.  If
you have a requirement that the application can't meet in its current
form, *then* it is of course appropriate to rework it.  But in the absence
of such a requirement it seems to me very hard to justify that risk.

>       - if you want you can always develop your apps for any particular
> platform say DOS or Win 3.1 (just to name some of the non-*nixes!) and
> then worry about the GPFs blowing the fuse!! ;), or, perhaps worry about
> the database getting corrupted (I have actually seen this!!), when, say
> the application's data grows substantially over time... or any other
> factors necessitating the change..too many to list them all..

Again, if the requirements change, so to the application may have to, and
so to may the underlying technology have to.  I don't have any problem
with this, as long as it's not taken to the extreme... I've seen cases
where people say "ok, we need to add X to the application to meet this new
goal, so while we're at it let's add Y and Z because it scratches an
itch".  X is good, Y and Z aren't.

Maybe that's how I should put it... change for the sake of "scratching a
technological issue" isn't (usually) a good thing.  Change for the sake of
meeting a new requirement is.

>    The point is that the applications need to grow and be adapted to
> "changes", in innumerous ways possible, which impact it's
> usability/stability/maintainability/...
>
>    I have seen OO Perl/CGI application written for three people grow to a
> user base of 600 in 3 years, at which point it just wasn't cutting it,
> as well as changes were much harder to make, taking more time, and to
> maintain bugs, at that point it was retired and redesigned from ground
> up and implemented in the latest and greatest technology known at that
> time (aka J2EE...)

And I wouldn't say there's anything wrong with that :)  But think of this
scenario... what if after 3 MONTHS someone decided that wow, J2EE is all
the rage, let's rewrite this application because we want to get J2EE
experience.  Would that be OK?

For you as a technology person it may be, but probably not for the
business, and IT is here to service the business, not the other way around
:)  I see people forgeting that all the time too.

>   I have an analogy, perhaps it's just like, after a while it's just *too
> much* to keep patching up an old car..it's much simpler to just get a
> brand new one instead (perhaps to avoid worrying about the
> gas(money!?)-guzzling monster, which sits in the mechanic's garage more
> than in your garage!)!!! ;-)

Let's not talk about mechanics... sore subject around these parts right
now :)

I get your analogy of course though.  Especially since I just bought a new
car recently because my old one was too expensive to keep running.

But what if this week, after having my new car for a month or so, I decide
that the '06 model is cool and I want it, even though the car I have now
is doing the job just fine and has some headroom to keep doing fine for a
while.  Good idea or not? :)

>    So there you have it... again it's getting into the philosophical zone
> and way-off topic!, so I'd leave it at this... In summary, I'm not
> saying that your methodology/approach is wrong, just that it helps to
> keeps ones eyes and ears open! and anticipate and be *open* to
> ideas/changes and change is not necessarily a bad thing.

If that's your underlying thesis, I in no way disagree :)

Here's my closing argument :) ...

Anyone still doing QuickBASIC programming because that's what they are
comfortable with is probably not open-minded enough.

Anyone that still has a QuickBASIC program that is chugging along just
fine that the business depends on and yet wants to rewrite it from the
ground up using JSF, Hibernate, Spring and run it on Websphere tied in
with LDAP, unless they can prove that there will be a substantial gain
from the effort, is probably just trying to make their resume look better,
and I would have a problem with that if I was their superior.

(and before anyone says it, yes, there is obviously benefit in usual
technologies you can hire people to support, a problem you might have if
you keep using that QuickBASIC app... that *may* be justification enough
to make the change, but it's at least debatable because I can probably
find any reasonably capable programmer and have them supporting that QB
app in short order at as reasonable level, so that justification might not
be as strong as you would think initially... as I said though, this is all
debatable)

>    Regards,
>
>    Dharmendra
> ps: have a good day!

You as well! :)  And thanks for input, I think these philosophical
discussions, regardless of where you come down on them, are always
valuable, if just to hear how other people approach things.

Frank

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to