On Nov 5, 2010, at 12:42 PM, lprefonta...@softaddicts.ca wrote:

> That's why the large consulting organizations typically fail...

I agree with most of your points.  So let me address the one point which was 
the original subject of the thread...

>> The primary point I was making was that each new technology introduces 
>> overhead
>> in development, maintenance and operations.  Therefore it should be included 
>> only
>> if the benefit is compelling when compared to the change in costs associated 
>> with
>> a team who can develop, maintain and operate a system that uses the 
>> technology.
> 
> Exactly what I have been saying earlier in this thread. Pick the proper 
> tool...
> if a project was developed faster with it then guess what, the maintenance 
> cost
> will be following the same trend.

I once had a very senior database developer take a set of requirements and 
deliver to me a solution that used a specialized database framework called 
Queues.  Work was prepared, placed on the queue in the database, and a client 
later took the work off the queue and performed it.  It took a few weeks to 
deliver the solution.  It did everything it was supposed to do.

But then the need changed slightly.  We needed to resumbit work sometimes, or a 
portion of the work.  We needed some work to be more important than other work. 
 We wanted to tune the submission of work so we didn't pile up on a resource 
that was obviously not functional (e.g. a server that was straining or 
completely down).

It turned out that for many reasons, the Queues framework was simply not 
designed to handle these variations on our original problem.  After spending a 
lot of money and time trying to force the solution to work, we ended up 
throwing the whole thing away and using a simple table to store our work.

Queues caused the product to be delivered perhaps 50% faster.  But maintaining 
the product was a nightmare.

Our database developer was a very senior resource.  He had spent his entire 
career mastering the toolsets he used to deliver the product I asked from him.  
But it took all the cleverness of this senior resource to create a solution.  
The rest of my team were not as versed in that database platform and its 
frameworks as this developer.  We did not have enough cleverness on the team to 
maintain the very clever tool he had created.


This is why the proliferation of toolsets, including languages and major 
frameworks, is at best a necessary evil.  Additional technologies add overhead 
and they add risk.  This is why people want to keep the technology stack short 
and sweet.  This is why speed of development does not trump everything else, 
and why speed of delivery is not a perfect corollary to ease of maintenance or 
operation.

steven

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to